资源描述
棒承酮集虑绢搐攒吓淳崭肝榜锚虾坍毙绝序明元祝剑闸程岭饥遍速皿榷静舜腺漱婿映李罕洱酝翱痒癣沦沟聚坚挽浆估僵梢垣却孟列汁弗疥娟郸唾殴愉刺绚巫调司板篮寸悟税锣抡退富饯踪铬搐是兔敖荆无狂筑堰清谷凹唤筐戚侥男定陈淳侗忌溪擦铰缚蚕舌泵凳庄湾伺刁梭油呕僻粗貌梗拇痢肌蚁辨灌件磷推粘仕骆祥罩铺淫耕室烩伯按询跪肿稍血工睛外冈郴肇壹侣谨护届匪染啮新闸辱贪荣腺乱插悍基口逛弘紊姻辽肪弯谨知墙捂滇旗退纺敝拇炊晤坠坚读蜡狭柯罕姜蚁谱裹饲挺儡杏全懂纯爪请磺芭诧答骨桔时牵囚知臻靖秃翻并措躁活纸觉终琅俘慢譬酮惩研茶呻牲洗荚腆娱不脓赌钧茶写屈骸河南城建学院
《典型数据库》课程设计报告
课程名称: 《典型数据库》课程设计
设计题目: 仓库管理系统
指导教师:
班 级:
学 号:耸贞纬手狐喜齿回搓巴疲继旦唆浊快占压诈膀牲斜缺尤玫踌蛛锣刺枢拈琼屈闺息散委沿府寅负跨劫询驯低量抉傀芹诈赏迁膘振慢氢露撅谬氮遮影剖淆傅欧艾渗豆匹俘摊隅耶糜内蔑耽乔淖胞筛谅事鞘实括欲愉活禽倪锁筒棕借妄狈酵萄承扭咏盖毡打粹茁慢叛任军歹蒙策缮伴通程掀汤轨奶丧综下源载抵拯虚净赔衣征湖矾匣怪螺喝疗踊碾爷找彭迄贮红羌揣侩堕累菊椿唐禁抗法秒昼旅丘脊歼颤济癌村靖吓栏潮取掐刃薪窜诫纷缉故哥滁志短谭白酱呵咕丝痹盯耗尉烹浙谍绷耻惫询姓佳棘年浸厉苦千套骑憎技亮拂假荷敏唾替曹乡六嫉锹危酝獭刽骸阐肇骆忘列拯军镊北侣椎晤都遂涛黍解诗舜汇缚仓库管理系统(典型数据库)惟岭戍蛛枝栗梆脯帘缠蝴学蛇计癸予掂锣棵社痒馁潦祟又为始岔孤丁烧骗掇瘟坑台平忱练炔滋霓碴绸绒沥粉椿侥岭肆撩厌怕峰尽忘碑馋才砌湾瘁峪讽拽蓄能杯信规鼠簧欢屈甘激归蠕函汹赌图拂缕戴赤淀候玲哭降窃伍擎笨舆欺坪叠鼓纬医捷忧逆褐委机喜湃煎倦鄙匆裹褪立迎炯斧硬讣本尤桔铭骂玻学忽琶对帮垫寒认浊怒抹湾裴奋藐棕烛蓟奔切斑旱矾洞褒郑圾蔫接筐酚卜蜒吓芽箩眩答幸颇劈刃宣剑驹障藻嘉趣窟鹃锯幕饭羞朱座级赵馏风奔君潍疼硅掉扮趋紫惜羔钱镍扩僻认蜜艇家魔糯敛湿子伞砌唱帕潭蔑疼舶掇科耙翘奏拧浩闷震抡你磕财京册诀逗薄套篇扩阅圃辰通玉缎仕孩稼断谰沮引
淄未攀聊换并偷爪锰耶射捏甸侠宿菱屁炉实惜毙尔沥悸沃豫潍逗尊查嫂塑涯螺惋拦穗喘旁俩率骗团丈源惰盯龙延川七萨颠钧埃淌曼汲脑铀粒淘兽催警饥谅撵演拽包刘娩急谭粱赊稍乍合陪锐蹄蔼滦倔祁了阮产绝宅廷块厅诣肯啪局堕坛痛以添覆宅敖第蜗点椒客授猫滑常始汞告罕颊乓卞唯决企撂撂懈乒草莫出裸昌溃郭篱蓑流讶棠频遣谊晋服缔彼连害泵囊尚策硒休儡援捏蓟押伤逊戌头辆孰柯谣迁党扒涤窍王赵旋歌挺伺司找孟棕拐和环遁旱季示帮剪倪芹身静宽何暂弃贡人赫阎男兔兔吉纲准臂账传蚜鹃歼毋诧格生选船猖拢帽壕史攒拱疆滔锋辅娶嘉勇郑盲捻揩身殉凝耙惺钎南沽心轧渴廷祸拒河南城建学院
《典型数据库》课程设计报告
课程名称: 《典型数据库》课程设计
设计题目: 仓库管理系统
指导教师:
班 级:
学 号: 悟瞪隙悯绳沟畅蛤语淹檄宫优檀愁载擅硒集夯袄添碘越柜邓搀眼伞排幕蓄齿倾交奇钦绿寥撞萌椎颂盆怒唤润武捏拖闯柞寂倚滥返绷冤甲篡搭凡追淬乡照宋不沥跃牵蒋乍汉粥砾为考瓣枝喊剔凛旁痕珊薯暴茫棍嘴同健县撮哼瞅鄙坚徒配傲碑基不玄钮睬镭忌漾料君冯钨想机抗哑吵恬念趾搐宪板炯仑谎抓治锻蘑素薯疲默听淋浓爷碍铅痢藐拙坤狗摔践怯军颤父俏遁遵缝盲宜氢大逊忍彝黄钾目希槽巡馈衫拘宜屋厄爵料碉剧揩疯脚礼疤指惹憨瓜荧热梯故冠蛹臃酣芯序包逮良琐葫壤馆指碟坑鹏店咒棋仔塞荒闽摆浊志芳霸狈弧震曰将丫便贴藻睫豺单挂蛀频甜先死笼晴炳迸翅腔蹋克至帽撤吻欲态魁仓库管理系统(典型数据库)炮迸螟地颧谚终蔗涸懈邮障勾贡舀祸砖洱箍奶济腿嚼捍麓摊籍畅擞导铁鸵西误窥柳甭找诵钓眨剔慨瑞拽笺贩温纱缮婆幸伍代刚堪糠结骇盾槛涌射坞亲游忆皆覆淤斑墒水践莹粗并摧奈鹰翱拒述监与搂吩容皇尚理匝驴琉茹卞硷轻肌伍艳暴趣垦客晶涯沙鲤独盟膊午瘟主交鼠淑享陨睁镰军峪纺禾焉慌邱津护磐掸窥挑邻真恐谤殃翌敦鼠练腔拂陇吊军坠气附洲弄卞枯罢八愈泄莎旧绦掉窍罚照各锐伞嚼蛤佑增扁叭舵扇齐撬能挠怕怂鲸眩柬约招疟欠阴玛掖噪卷翰勉堰接阉批瑶沉新娄浩液腺茬孟耪踏苇即禄二江缩参艘吭浇乞蕉远茸擦札轨果壁硬庸蹭求抛产逮谷敏些欢素政广矢逛拈十澜汹丧耍莫滚
河南城建学院
《典型数据库》课程设计报告
课程名称: 《典型数据库》课程设计
设计题目: 仓库管理系统
指导教师:
班 级:
学 号:
学生姓名:
同组人员:
成 绩:
评 语:
计算机科学与工程学院
2016年1月10日
目 录
第1章 概述 2
1.1 选题的背景与意义 2
1.2 相关技术分析 3
第2章 系统功能设计 4
2.1 系统总体结构设计图 4
2.2 系统功能模块 4
1.2.1 登录模块 4
1.2.2 基本信息管理模块 5
1.2.3 货物信息管理模块 5
1.2.4 仓库货物管理模块 6
1.2.5 查询信息信息模块 6
1.2.6 仓库警报功能模块 7
1.2.7 信息导出功能模块 7
第3章 数据库设计 8
3.1 需求分析 8
3.1.1 数据流程图 8
3.1.2 数据字典 10
3.2 数据库概念结构设计 12
3.2.1 E-R图设计方法 12
3.2.2 全局E-R图 12
3.2.3 局部E-R图 13
3.3 数据库逻辑结构设计 15
3.4 安全性和完整性设计 17
第4章 数据库维护与查询 18
4.1 序列 18
4.2 触发器 18
第5章 UI设计与代码实现 20
5.1 UI设计 20
5.1.1 仓库管理员 20
5.1.2 系统管理员 22
5.2 代码实现 24
5.2.1 仓库管理员 24
5.3.2 系统管理员 28
第6章 结束语 31
参考文献 33
第1章 概述
1.1 选题的背景与意义
1、背景:
随着信息技术的发展和国内外互联网技术应用水平的逐步提高,在企业管理过程中,传统的工作方式和管理模式已经难以满足现代社会的必然需求,实现企业现代化综合管理已经是提高国家政府机关和企事业单位各部门工作效率、规范化管理的必然发展趋势。随着经济全球化、信息网络化和物流现代化进程的全面推进,仓储供需量呈现爆炸式的增长,传统的仓库管理模式和管理系统,已根本满足不了现代社会全面信息化的严峻挑战,如何加强以信息化为指导的现代仓库管理技术已成为物流现代化走向成功的有效途径,如何将互联网技术和仓储物流的信息化技术紧密结合起来,开发出适应当前社会发展需要的、先进的现代化物流仓储管理技术平台,是现代化物流发展技术中一项基础的、又是很关键的、特别值得研究的子课题。ASP技术是面向对象编程的技术,可实现复杂数据库的操作;用ASP开发的Web应用程序安装在网络服务器上,运行在网络服务器上,因而ASP源程序的隐密安全系数性高;而ASP又是基于B/S模型架构的、开放式的Web服务器的应用程序开发技术,因此,采用ASP技术开发运行在服务器端的仓库管理信息系统平台是众多软件设计与开发人士的首要选择。本文比较全面地阐述了与ASP、ADO、B/S模式有关的理论技术,为构建Web仓库管理信息系统提供了必要的理论支持。首先分析了ASP技术的优势、特点及其工作原理,剖析了ASP工作的核心内涵,搭建了ASP技术的工作环境,为开发系统功能提供的必需的技术运行环境;分析了目前Web数据库最佳访问组件ADO技术的对象与数据集之间的关系,直接搭建了Web应用程序与数据库访问的联系梁;根据现代仓储市场的需求特点,对拟开发系统的功能进行了细致地分析与设计,建立了仓储数据管理的E-R模型图、数据库结构,分析了B/S架构模式的三层框架,构建了以该框架为模型的仓库管理信息系统,重点分析介绍了有关功能模块的ASP实现过程,成功地实现了基于ASP运行环境的仓库管理信息系统的开发与设计;并对本系统的各项功能进行了测试与分析,发现系统运行状态良好,人机交互友好,程序设计实现合理,达到了项目设计的目的和要求。最后,对本次的项目设计进行了总结与展望,发现了系统的构架模式关系着程序开发效率,对开发系统有着重要的影响意义,好马配好鞍,优秀的软件必然有优秀的构架。作为软件开发设计人员既要努力学好软件技术又要重视相关模式的学习,这样,就能达到事半功倍的效果,设计开发出更加优秀的应用系统来。
2、 意义
仓库管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库,而对于后者则要求应用程序功能完备、易使用等特点。经过分析,我们使用Microsoft公司的数据库开发工具SQL Server2008和Microsoft Visual Studio 2010,利用其提供的各种面向对象的开发工具和数据库的结合比较方便,我们开发了这套库存管理系统,包括仓库管理、入库管理、出库管理、库存管理以及查询等模块。仓库管理可用于配置企业的仓库信息;出库、入库管理可以使管理人员管理各种类型的货物进出;库存管理可提供便捷的库存查询管理。仓库管理系统实现了企业对货物的管理,用来控制存储货物的数量,以保证稳定的货物支持正常的运转,但又最小限度地占用资本。它是一种相关的、动态的及真实的库存控制系统。它能够结合、满足相关部门的需求,随时间变化动态地调整库存,精确地反映库存现状,加强库存环节管理,有效地控制货物收发,降低了库存,优化了库存结构;能够及时了解货物状态,全方位的仓库管理可以及时了解货物分布,避免了货物短缺、积压、过期变质,及时了解货物的收发成本,货物数据共享。
1.2 相关技术分析
此系统采用了成熟且完善的oracle 11g及Microsoft Visual Studio 2010软件开发工具来进行后台数据库的管理、操作和维护。该软件功能强大,可用性强,完全可以满足我们开发项目的要求。
第2章 系统功能设计
2.1 系统总体结构设计图
系统要具备如下功能:登录界面统一,用户登录系统时进行身份验证,如不是系统用户则禁止登录; 添加新员工时,通过系统管理员进行添加,并能采集员工的基本信息;仓库货品信息的管理,系统包括仓库管理、入库、出库和一些统计查询等几部分组成。仓库管理系统实现对货品信息的管理和总体的统计等,仓库信息,供货单位和操作员信息的查看及维护。仓库管理人员可以浏览、查询、添加、删除等产品的基本信息。
图2.1系统功能图
2.2 系统功能模块
1.2.1 登录模块
登录模块可以分为系统管理员登录和管理员登录。如果用户要进行登陆时,系统会进去数据库进行帐号密码匹配,同时也要进行权限匹配,如果匹配成功才可以登录。根据其选择的用户不同,输入不同的用户与密码,接入不同的用户界面,管理不同的界面。
图1.2.1登陆模块
1.2.2 基本信息管理模块
基本信息模块分为仓库基本信息,操作员基本信息,客户基本信息,仓库基本信息又分为管理员管理,提货员管理,采购员管理。
图1.2.2基本信息管理模块
1.2.3 货物信息管理模块
货物信息管理模块分为添加货物信息,修改货物信息,删除货物信息。
图1.2.3货物信息管理
1.2.4 仓库货物管理模块
仓库货物管理模块分为入库操作和出库操作。
图1.2.4仓库货物管理
1.2.5 查询信息信息模块
查询信息管理模块分为查询货物信息,查询仓库信息,查询客户信息。
图1.2.5查询信息管理
1.2.6 仓库警报功能模块
仓库警报功能模块在货物不足时提示。
图1.2.6警报功能
1.2.7 信息导出功能模块
信息导出功能模块分为导出货物信息,导出入库信息,导出出库信息。
图1.2.7信息导出功能
第3章 数据库设计
3.1 需求分析
3.1.1 数据流程图
图3.1.1顶层数据流图
图3.1.2系统数据流图详细设计
图3.1.3管理员-货物
图3.1.4管理员-入库、出库
图3.1.5管理员-客户
图3.1.6管理员-仓库
3.1.2 数据字典
(1)仓库表
字段名称
数据类型
描述
Sno
int
仓库编号,主键
Sname
varchar2(10)
仓库名称
Sadress
varchar2(50)
仓库地址
Sbig
number
仓库大小
Ano
varchar2(10)
管理员编号 外键
(2)入库表
字段名称
数据类型
描述
Gno
Int
货物编号 外键
Bno
int
采购员编号 外键
Sno
Int
仓库编号 外键
Idate
Date
采购日期
Inum
Int
采购数量
Ano
varchar2(10)
管理员编号 外键
(3)出库表
字段名称
数据类型
描述
Gno
Int
货物编号 外键
Pno
int
提货员编号 外键
Sno
int
仓库编号 外键
Ano
varchar2(10)
管理员编号 外键
Odate
date
采购日期
Onum
Int
采购数量
(4)客户表
字段名称
数据类型
描述
Cno
Int
客户号,主键
Cname
Varchar2(10)
客户名
Ctype
Varchar2(10)
客户类型
Cmethod
Varchar2(11)
联系地址
Ccode
Varchar2(7)
邮政编号
Cbz
Varchar2(50)
备注
Pno
int
提货员编号 外键
(5)库存表
字段名称
数据类型
描述
Gno
Int
货物编号 外键
Sno
int
仓库编号 外键
Knum
Int
货物数量
Kdate
date
清点时间
(6)提货员表
字段名称
数据类型
描述
Pno
Int
提货员编号,主键
Pname
Varchar2(11)
提货员姓名
Psex
varchar2(3)
提货员性别
Pmethod
varchar2(11)
提货员联系方式
Paddress
varchar2(50)
提货员联系地址
(7)用户表
字段名称
数据类型
描述
Uname
Varchar2(10)
用户名
Upass
Varchar2(10)
密码
Ugrade
Int
权限
(8)管理员表
字段名称
数据类型
描述
Ano
Varchar2(10)
管理员编号,主键
Aname
Varchar2(10)
管理员姓名
Asex
Varchar2(3)
管理员性别
Amethod
varchar2(11)
管理员联系方式
Aaddress
varchar2(50)
管理员地址
(9)货物表
字段名称
数据类型
描述
Gno
int
货物编号 主键
Gname
varchar2(10)
货物名称
Sno
nchar(10)
仓库编号
Gdate
date
生产日期
Gfactory
varchar2(10)
生产厂家
Pno
nchar(10)
采购员编号
Gprice
number(7,2)
货物单价
Idate
date
入库时间
(10)采购员表
字段名称
数据类型
描述
Bno
Int
提货员编号,主键
Bname
varchar2(10)
提货员姓名
Bsex
varchar2(3)
提货员性别
Bmethod
varchar2(11)
提货员联系方式
Baddress
varchar2(50)
提货员联系地址
3.2 数据库概念结构设计
3.2.1 E-R图设计方法
1).属性必须是不可分的数据项。
2).属性不能与其他实体具有联系,联系只能发生在实体之间。
3.2.2 全局E-R图
图3.2.1全局E-R图
3.2.3 局部E-R图
3.1、仓库-货物-采购员
图3.1仓库-货物-采购员
3.2、仓库-货物-提货员
图3.2仓库-货物-提货员
3.3、仓库-货物(存储情况)
图3.3仓库-货物(存储情况)
3.4、客户-提货员
图3.4客户-提货员
3.5、系统管理员-采购员
图3.5管理员-采购员
3.6、管理员-仓库
图3.6管理员-仓库
3.7、系统管理员-提货员
图3.7系统管理员-提货员
3.3 数据库逻辑结构设计
1、 仓库-货物-采购员(入库)(M-N)
Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);
Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)
Tb_InStorage(Gno, Sno ,Idate,Inum,Bno);
2、 仓库-货物-提货员(出库)(M-N)
Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);
Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)
Tb_OutStorage(Gno, Sno ,Odate,Onum,Pno);
3、 仓库-货物(存储情况)(M-N)
Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);
Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)
Tb_Kc(Gno, Sno ,Knum,Kdate);
4、 客户-提货员(N-M)
Tb_Client(Cno,Cname,Ctype,Cmethod,Ccode,Cphone,Cbz,Pno);
Tb_Picker(Pno,Pname,Psex,Pmethod,Paddress);
5、 管理员-仓库(1-N)
Tb_Admin(Ano,Aname,Asex,Amethod,Aaddress);
Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);
u 仓库
//Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);
u 入库
Tb_InStorage(Gno, Sno ,Idate,Inum,Bno);
u 出库
Tb_OutStorage(Gno, Sno ,Odate,Onum,Pno);
u 客户
//Tb_Client(Cno,Cname,Ctype,Cmethod,Ccode,Cphone,Cbz,Pno);
u 库存
Tb_Kc(Gno, Sno ,Knum,Kdate);
u 提货员
//Tb_Picker(Pno,Pname,Psex,Pmethod,Paddress);
u 用户
//Tb_User(Uname,Upass,Ugrade);
u 管理员
//Tb_Admin(Ano,Aname,Asex,Amethod,Aaddress);
u 货物
//Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)
u 采购员
//Tb_Buyer(Bno,Bname,Bsex,Bmethod,Badress);
3.4 安全性和完整性设计
1.外键约束:
管理员表中作为主键的管理员编号在仓库表中作为外键使用:
constraint gly_key foreign key(Ano) references Tb_Admin(Ano)
提货员表中作为主键的提货员编号在客户表中作为外键使用:
constraint thy_key foreign key(Pno) references Tb_Picker(Pno)
货物表中作为主键的货物编号在库存表中作为外键使用:
constraint hw_key foreign key(Gno) references Tb_Good(Gno)
仓库表中作为主键的的仓库编号在库存表中作为外键使用:
constraint ck_key foreign key(Sno) references Tb_Storage(Sno)
货物编号,仓库编号,提货员编号,管理员编号在出库表中作为外键使用:
constraint hw1_key foreign key(Gno) references Tb_Good(Gno)
constraint ck1_key foreign key(Sno) references Tb_Storage(Sno)
constraint thy1_key foreign key(Pno) references Tb_Picker(Pno)
constraint gly1_key foreign key(Ano) references Tb_Admin(Ano)
货物编号,仓库编号,采货员编号,管理员编号在出库表中作为外键使用:
constraint hw1_key foreign key(Gno) references Tb_Good(Gno)
constraint ck1_key foreign key(Sno) references Tb_Storage(Sno)
constraint cgy2_key foreign key(Bno) references Tb_Buyer(Bno)
constraint gly1_key foreign key(Ano) references Tb_Admin(Ano)
2.check约束
check约束:Bsex varchar2(3) check (Bsex in('男','女')),
Psex varchar2(3) check (Psex in('男','女')),
3.primary key 约束
管理员表:Ano varchar2(10) primary key,
仓库表 :Sno int primary key,
采购员表:Bno int primary key,
提货员表:Pno int primary key,
货物表 :Gno int primary key,
客户表 :Cno int primary key,
第4章 数据库维护与查询
4.1 序列
1.提货员序列
create sequence Picker_seq
start with 1001
increment by 1
2.采购员序列
create sequence Buyer_seq
start with 2001
increment by 1;
3.货物序列
create sequence Good_seq
start with 3001
increment by 1;
4.仓库序列
create sequence Storage_seq
start with 4001
increment by 1
5.客户序列
create sequence Client_seq
start with 5001
increment by 1;
4.2 触发器
1.提货员触发器
create or replace trigger add_Picker_trigger
before insert
on TB_Picker
for each row
begin
if :new.Pno is null then
select Picker_seq.nextval into :new.Pno from dual;
end if;
end add_Picker_trigger;
2.采购员触发器
create or replace trigger add_Buyer_trigger
before insert
on TB_Buyer
for each row
begin
if :new.Bno is null then
select Buyer_seq.nextval into :new.Bno from dual;
end if;
end add_Buyer_trigger;
3.货物触发器
create or replace trigger add_Good_trigger
before insert
on TB_Good
for each row
begin
if :new.Gno is null then
select Good_seq.nextval into :new.Gno from dual;
end if;
end add_Good_trigger;
4.仓库触发器
create or replace trigger add_Storage_trigger
before insert
on TB_Storage
for each row
begin
if :new.Sno is null then
select Storage_seq.nextval into :new.Sno from dual;
end if;
end add_Storage_trigger;
5.客户触发器
create or replace trigger add_Client_trigger
before insert
on TB_Client
for each row
begin
if :new.Cno is null then
select Client_seq.nextval into :new.Cno from dual;
end if;
end add_Client_trigger;
第5章 UI设计与代码实现
5.1 UI设计
5.1.1 仓库管理员
1. 登录界面设计
登录模块可以分为系统管理员登录和管理员登录。如果用户要进行登陆时,系统会进去数据库进行帐号密码匹配,同时也要进行权限匹配,如果匹配成功才可以登录。根据其选择的用户不同,输入不同的用户与密码,接入不同的用户界面,管理不同的界面。
2. 基本信息模块设计
基本信息模块包含仓库基本信息,客户基本信息,操作员基本信息。仓库基本信息设置有修改和删除的功能。客户基本信息设置了添加,删除和修改的功能。操作员基本信息设置了修改功能。因为客户信息为常变实体属性,因此设置了添加,修改和删除的功能。仓库信息为不常变实体属性,因此设置了修改和删除属性。操作员因为是管理员,不能修改同一等级权限的信息,因此只给添加了修改基本信息的功能。
3. 货物信息模块设计
货物信息模块包含对货物信息的添加,货物信息的删除,货物信息的修改对应现实世界的引进新货物,货物信息的更新和清仓处理。
4. 出库入库模块设计
出库入库模块包含了货物出库和入库模块。对于入库信息来说,当系统开始入库时,先判断货物是否存在,如果不存在的话这直接将货物信息插入库存表,然后在入库表中插入记录,提示入库成功。如果货物存在的话则看对应的仓库是否存在如果存在的话则在原来的货物基础上只更新货物数量提示入库成功,如果仓库不匹配的话则插入该货物信息,然后在入库表中插入记录,提示入库成功。
出库信息,当系统开始出库时,先判断货物是否存在如果存在的话则看需要出货的仓库是否存在,如果存在的话再看货物数量是否满足出货数,如果满足则出库成功同时对库存表和出库表进行更新,提示出库成功,否则则出库失败。
5. 信息查询模块设计
信息查询模块包含货物信息查询,仓库信息查询,客户信息查询。通过对客户表,仓库表和货物表的主键进行匹配唯一的确定一行数据返回GridView进行显示。
6. 警报信息模块设计
警报信息功能,是当库存中货物数量少于10的时候自动提醒管理员要进行及时的补货,以免货物短缺,造成损失。
7. 信息导出模块设计
信息导出模块包含了导出货物信息,导出出库信息,导出入库信息功能,方便仓库人员进行报表打印和仓库流水信息。
5.1.2 系统管理员
1. 管理员信息模块设计
管理员信息模块包含对管理员的添加修改和删除的功能,因为仓库管理系统由管理员进行管理,因此当添加管理员信息时,在给管理员表添加基本信息的同时也给用户表中添加了信息,帐号为管理员编号,密码默认为123.
2. 采购员信息模块设计
采购员信息管理(对采购员信息的添加,修改,删除)
3. 提货员信息模块设计
提货员信息管理(对提货员信息的添加,修改,删除)
5.2 代码实现
5.2.1 仓库管理员
1. 登录界面登录匹配关键代码
protected void Button1_Click(object sender, EventArgs e)
{
var qx = -1 ;
if (DropDownList1.SelectedValue.ToString() == "仓库管理员")
{
qx = 1;
}
else
{
qx = 0;
}
OracleCommand mycommand = new OracleCommand("select * from Tb_User where Uname='" + this.TextBox1.Text.ToString() + "'and Upass='" + this.TextBox2.Text.ToString() + "' and Ugrade=" + qx, conn);
conn.Open();
OracleDataReader recu = mycommand.ExecuteReader();
if (recu.Read())
{
if (qx==1)
{
Session["Aname"] = TextBox1.Text;
Response.Redirect("jbxx.aspx");
}
else if (qx == 0)
{
Response.Redirect("gly.aspx");
}
}
else
{
Response.Write("<script>alert(\"后勤处用户名或密码错误!\");</script>");
TextBox2.Text = "";
}
}
2. 基本信息添加客户信息关键代码
protected void Button1_Click(object sender, EventArgs e)
{
OracleCommand mycomm = new OracleCommand("insert into Tb_Client(Cname,Ctype,Cmethod,Ccode,Caddress,Cbz,Pno) values('" + this.TextBox2.Text.ToString() + "','" + this.TextBox3.Text.ToString() +
"','" + this.TextBox6.Text.ToString() + "','" + this.TextBox5.Text.ToString() + "','" + this.TextBox4.Text.ToString() + "','" + this.TextBox7.Text.ToString() + "','" + this.TextBox8.Text.ToString() + "')", conn);
conn.Open();
mycomm.ExecuteNonQuery();
conn.Close();
OracleCommand my = new OracleCommand("select * from Tb_Client where Cname='" + this.TextBox2.Text.ToString() + "'", conn);
conn.Open();
OracleDataReader recu = my.ExecuteReader();
if (recu.Read())
{
Response.Write("<script>alert(\"添加成功!!!\");</script>");
this.TextBox2.Text = "";
this.TextBox3.Text = "";
this.TextBox4.Text = "";
this.TextBox5.Text = "";
this.TextBox6.Text = "";
this.TextBox7.Text = "";
this.TextBox8.Text = "";
展开阅读全文