版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、福 建 工 程 学 院课程设计课 程: 数据库应用课程设计 题 目: 仓库管理系统 专 业: 信息管理与信息系统 班 级: 座 号: 姓 名: 2012年 6 月 24 日 目录一系统定义二需求分许 (1)功能需求 (2)用户需求三数据流图四、系统设计 1、概念结构设计 2、逻辑结构设计 3、系统功能模块图 4、其它设计图形工具五、详细设计六、系统实现与测试1、开发平台和工具选择2、系统测试七、课程设计总结一、系统定义 具有一定规模的公司或商店都需要为自己公司或商店里的货物进行管理,仓库管理系统就是为了管理货物而开发的数据库软件。仓库管理系统是企业日常经营管理中十分重要的一个组成部分,它包括日
2、常的销售出库、产品入库、盘点等业务。仓库管理系统帮助企业的仓库管理员对仓库物品的入库、出库、盘点等操作进行全面的控制和管理,达到提高仓库控制精度、降低仓库量,提高客户服务水平,保证生产经营活动顺利进行的目的。二、需求分析(1)功能需求 该系统主要分为四大功能:、一般用户功能、管理员功能、信息安全功能还有报表功能。1). 一般用户功能:查询库存信息、查询出库信息、查询入库信息、修改本用户密码。2). 信息安全功能:人员权限区分、事件记录、数据警告、计划备份、即时备份、数据恢复;3). 管理员功能:确认添加及修改产品入库信息、产品出库信息、库存信息,查询库存信息、盘点等功能。(2)用户需求根据用户
3、需求,该系统应该实现以下功能:1). 进、出库管理。对进、出库信息进行记录。2).查询功能。仓库管理对查询要求高,通过主菜单记录当前操作用户的用户编号,保证了对进、出库信息录入负责人的确认。 3). 由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。4). 许多重复性的工作,都可由计算机去执行,从而使管理人员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的工作。5).还包括根据月份对出入库报表的打印。以及授权功能。三数据流图1.数据流图1)顶层数据流图:出/入库信息处理出库信息处理订货单库存信息处理入
4、库信息处理仓库管理员成品库仓库管理系统仓库管理员商家2)第一层数据流图:订货单产品入库、出库、库存信息产品库存信息表产品出库信息表产品入库信息表入库信息出库信息仓库管理员1.产品入库信息管理2.产品出库信息管理3.产品库存信息管理仓库管理员商家入库信息出库信息3)第二层数据流图:产品入库信息管理细化: 入库单不合格单据合格的入库单1.2入库产品入库信息表1.3调整单据1.1检验仓库管理员产品出库信息管理细化:四、系统设计1、概念结构设计画出系统E-R图1nmn仓库管理管理员库存 产品购买商家1m2、逻辑结构设计将E-R图(或其他概念设计图)转换为具体的DBMS对应的关系模式。人员(人员编号,人
5、员名称,住址,电话)产品(产品编号,产品名称,产品数量,产品规格)入库(入库编号,入库时间,入库数量)出库(出库编号,出库时间,出库数量)3、系统功能模块图画出系统功能模块图,并对子模块功能进行详细说明。仓库管理管理员职工人员管理物料管理进仓管理出仓管理物料报表出入库报表出入库查询报表查询4、其它设计图形工具特别提示:允许用其他分析、设计工具。在此补充在设计过程中采用的其它设计工具图形。五、详细设计 主要的表。一 物料信息表create database studbon primary( name='studata', filename='d:dbstudat.mdf&
6、#39;, size=3mb,filegrowth=3mb) log on(name='stulog', filename='d:dbstulog.ldf', size=1mb, maxsize=10mb, filegrowth=10%)use studb gocreate table xg0301worker(pno char(5) primary key, pname char(10), birth datetime, sex char(5), id char(20), home char(10), dizhi char(50), tele char(20)
7、, secret char(5), zhiwei char(10), quanxian char(25), beizhu char(20) )二 员工信息表use studbgocreate table xg0301wuliao(wno char(10) , rkbh char(6) primary key, wname char(15), guige char(20), danwei char(10), kucun int, beizhu char(20)三 入库信息表use studbgocreate table xg0301ruku( rkdh int , rkrq datetime,
8、wno char(10), wname char(10), people char(10), shuliang int, beizhu char(20), primary key(wno)四 出库信息表 use studbgocreate table xg0301chuku( ckdh int , ckrq datetime, wno char(10), wname char(10), people char(10), shuliang int, beizhu char(20), primary key(wno)六、界面设计一:登录界面:分别设置了两个职位,管理员和职工。登入后界面不一样。登录
9、代码如下:var auth_desc:string;begin with adoquery1 do begin close; sql.Clear; sql.Add('select quanxian from xg0301worker'); sql.Add('where pno='''+edit1.Text+''' and secret='''+edit2.Text+''''); open; auth_desc:=adoquery1.fieldbyname('q
10、uanxian').AsString; if adoquery1.RecordCount<=0 then begin showmessage('输入的密码错误或者用户名不存在!请重新输入!'); end else begin if strpos(pchar(auth_desc),'1')<>nil then xg0301_jiemian.N1.Enabled:=true else xg0301_jiemian.N1.Enabled:=false; if strpos(pchar(auth_desc),'2')<&g
11、t;nil then xg0301_jiemian.N2.Enabled:=true else xg0301_jiemian.N2.Enabled:=false; if strpos(pchar(auth_desc),'3')<>nil then xg0301_jiemian.N3.Enabled:=true else xg0301_jiemian.N3.Enabled:=false; if strpos(pchar(auth_desc),'4')<>nil then xg0301_jiemian.N4.Enabled:=true els
12、e xg0301_jiemian.N4.Enabled:=false; if strpos(pchar(auth_desc),'5')<>nil then xg0301_jiemian.N5.Enabled:=true else xg0301_jiemian.N5.Enabled:=false; if strpos(pchar(auth_desc),'6')<>nil then xg0301_jiemian.N6.Enabled:=true else xg0301_jiemian.N6.Enabled:=false; if strpos(
13、pchar(auth_desc),'7')<>nil then xg0301_jiemian.N7.Enabled:=true else xg0301_jiemian.N7.Enabled:=false; if strpos(pchar(auth_desc),'8')<>nil then xg0301_jiemian.N17.Enabled:=true else xg0301_jiemian.N17.Enabled:=false; if strpos(pchar(auth_desc),'a')<>nil the
14、n xg0301_jiemian.N11.Enabled:=true else xg0301_jiemian.N11.Enabled:=false; if strpos(pchar(auth_desc),'b')<>nil then xg0301_jiemian.N16.Enabled:=true else xg0301_jiemian.N16.Enabled:=false; if strpos(pchar(auth_desc),'c')<>nil then xg0301_jiemian.N9.Enabled:=true else xg0
15、301_jiemian.N9.Enabled:=false; if strpos(pchar(auth_desc),'d')<>nil then xg0301_jiemian.N10.Enabled:=true else xg0301_jiemian.N10.Enabled:=false; if strpos(pchar(auth_desc),'e')<>nil then xg0301_jiemian.N14.Enabled:=true else xg0301_jiemian.N14.Enabled:=false; if strpos(p
16、char(auth_desc),'f')<>nil then xg0301_jiemian.N15.Enabled:=true else xg0301_jiemian.N15.Enabled:=false; xg0301_root.Hide; xg0301_jiemian.Show; end; end;二:主界面当登录者为管理员时,主界面如下:当登陆者为职工时,主界面如下:三:人员管理界面刷新人员代码;adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('select * from xg0301wo
17、rker'); adoquery1.open;增加人员代码:if (combobox1.Text='')and (edit1.Text ='') and (edit2.Text='')and (edit4.Text='')and (edit5.Text='')and (edit6.Text='')and (edit7.Text='')then begin showmessage('请把信息添加完整!'); exit; end; adoquery1.close;
18、 adoquery1.sql.clear; adoquery1.sql.add('insert into xg0301worker(pno,pname,birth,sex,id,home,dizhi,tele,beizhu) values('''+edit1.Text +''','''+edit2.Text+ ''','''+datetimetostr(date()+''','''+combobox1.Text +
19、9;'','''+edit4.Text+ ''','''+edit5.Text+ ''','''+edit6.Text+ ''','''+edit7.Text+ ''','''+edit8.Text+ ''') '); adoquery1.execsql;showmessage('信息添加成功');删除人员代码:ado
20、query1.close; adoquery1.sql.clear; adoquery1.sql.add('delete xg0301worker where pno='''+edit1.Text +''''); adoquery1.execsql; showmessage('删除成功!'); 根据编号姓名查询人员代码:with ADOQuery1 dobegin if radiogroup1.ItemIndex=0 then begin close; sql.Clear; sql.add('select
21、* from xg0301worker where pno='''+edit3.Text+''''); open; end else begin close; sql.Clear; sql.add('select * from xg0301worker where pname like '''+'%'+edit3.Text+'%'+''''); open; end; edit1.Text:=fieldbyname('pno').
22、AsString; edit2.Text:=fieldbyname('pname').AsString; combobox1.Text:=fieldbyname('sex').AsString; datetimepicker1.DateTime:=fieldbyname('birth').AsDateTime; edit4.Text:=fieldbyname('id').AsString; edit5.Text:=fieldbyname('home').AsString; edit6.Text:=fieldbyna
23、me('dizhi').AsString; edit7.Text:=fieldbyname('tele').AsString;四:物料管理界面刷新物料代码:adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('select * from xg0301wuliao'); adoquery1.open;增加物料代码:if (combobox1.Text='')and (edit3.Text ='') and (edit2.Text='')and
24、 (edit4.Text='')and (edit5.Text='')and (edit6.Text='')and(edit1.Text='')then begin showmessage('请把信息添加完整!'); exit; end; adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('insert into xg0301wuliao(wno,rkbh,wname,guige,danwei,kucun,beizhu) values('
25、''+combobox1.Text +''','''+edit1.Text +''','''+edit2.Text+ ''','''+edit3.Text +''','''+edit4.Text+ ''','''+edit5.Text+ ''','''+edit6.Text+ ''
26、;') '); adoquery1.execsql; showmessage('信息添加成功');end;删除物料代码:adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('delete xg0301wuliao where rkbh='''+edit1.Text +''''); adoquery1.execsql; showmessage('删除成功!');五:入库界面 添加新单号代码:vari:integer;begin
27、 with ADOQuery1 do begin close; sql.clear; sql.add('select max(rkdh) dh from xg0301ruku'); open; end; i:=ADOQuery1.fieldbyname('dh').asinteger; edit1.Text:=inttostr(i+1);添加新记录代码:beginif (edit1.Text ='') and (edit2.Text='')and (edit3.Text='')and (edit5.Text=
28、9;')then begin showmessage('请把信息添加完整!'); exit; end; adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('insert into xg0301ruku(rkdh,wno,rkrq,wname,people,shuliang,beizhu) values('''+edit1.Text +''','''+combobox2.Text+ ''',''
29、;'+datetimetostr(date()+''','''+edit5.Text +''','''+combobox1.Text+ ''','''+edit2.Text+ ''','''+edit3.Text+ ''') '); adoquery1.execsql; showmessage('入库成功');end;六:出库界面添加新单号代码:va
30、ri:integer;begin with ADOQuery1 do begin close; sql.clear; sql.add('select max(ckdh) dh from xg0301chuku'); open; end; i:=ADOQuery1.fieldbyname('dh').asinteger; edit1.Text:=inttostr(i+1);添加新记录代码:vari,j:integer;beginwith adoquery1 do begin close; sql.Clear; sql.Add('select kucun f
31、rom xg0301wuliao'); sql.Add('select shuliang from xg0301chuku') ; open; end; i:=ADOQuery1.fieldbyname('kucun').asinteger; j:=strtoint(edit2.Text); if(j>i) then showmessage('出库数量超过库存数量,请重新确认!') else begin with adoquery1 do begin active:=true; close; SQL.Clear; sql.add(&
32、#39;insert into xg0301chuku(ckdh,wno,ckrq,wname,people,shuliang,beizhu) values('''+edit1.Text +''','''+combobox2.Text+ ''','''+datetimetostr(date()+''','''+edit5.Text +''','''+combobox1.Text+
33、''','''+edit2.Text+ ''','''+edit3.Text+ ''') '); execsql; showmessage('出库成功'); end;end;end;procedure Txg0301_chuku.Button5Click(Sender: TObject); vari:integer;begin with ADOQuery1 do begin close; sql.clear; sql.add('select m
34、ax(ckdh) dh from xg0301chuku'); open; end; i:=ADOQuery1.fieldbyname('dh').asinteger; edit1.Text:=inttostr(i+1);七:出入库查询界面入库查询代码with ADOQuery1 dobegin if radiogroup1.ItemIndex=0 then begin close; sql.Clear; sql.add('select * from xg0301ruku where wno='''+combobox1.Text+'
35、;'''); open; end else if radiogroup1.ItemIndex=1 then begin close; sql.Clear; sql.add('select * from xg0301ruku,xg0301wuliao where xg0301ruku.wname='''+combobox2.Text+''' and xg0301wuliao.wno=xg0301ruku.wno'); open; end else if radiogroup1.ItemIndex=2 then
36、 begin close; sql.Clear; sql.add('select * from xg0301ruku where rkrq>='''+formatdatetime('yyyy-mm-dd',datetimepicker1.DateTime)+''' and rkrq<='''+formatdatetime('yyyy-mm-dd',datetimepicker2.DateTime)+''''); open; end else
37、 begin close; sql.Clear; sql.add('select * from xg0301ruku'); open; end;出库查询代码:with ADOQuery1 dobegin if radiogroup1.ItemIndex=0 then begin close; sql.Clear; sql.add('select * from xg0301chuku where wno='''+combobox1.Text+''''); open; end else if radiogroup1.I
38、temIndex=1 then begin close; sql.Clear; sql.add('select * from xg0301chuku,xg0301wuliao where xg0301chuku.wname='''+combobox2.Text+''' and xg0301wuliao.wno=xg0301chuku.wno'); open; end else if radiogroup1.ItemIndex=2 then begin close; sql.Clear; sql.add('select *
39、from xg0301chuku where ckrq>='''+formatdatetime('yyyy-mm-dd',datetimepicker1.DateTime)+''' and ckrq<='''+formatdatetime('yyyy-mm-dd',datetimepicker2.DateTime)+''''); open;八:物料统计界面物料进出仓统计代码:with ADOQuery1 dobeginclose;sql.Clear
40、;sql.add('select wname,wno,sum(shuliang) count1');sql.Add('from xg0301ruku');/sql.Add('where xg0301wuliao.wno=xg0301ruku.wno' );sql.add('where rkrq>='''+formatdatetime('yyyy-mm-dd',datetimepicker1.DateTime)+''' and rkrq<=''
41、9;+formatdatetime('yyyy-mm-dd',datetimepicker2.DateTime)+'''');sql.add('group by wname,wno');open;with ADOQuery2 dobeginclose;sql.Clear;sql.add('select wname,wno,sum(shuliang) count1');sql.Add('from xg0301chuku');/sql.Add('where xg0301chuku.wno=xg0
42、301wuliao.wno');sql.add('where ckrq>='''+formatdatetime('yyyy-mm-dd',datetimepicker1.DateTime)+''' and ckrq<='''+formatdatetime('yyyy-mm-dd',datetimepicker2.DateTime)+'''');sql.add('group by wname,wno');open;九:
43、根据月份打印入库表界面打印代码: with ADOQuery1 dobegin close; sql.Clear; sql.Add('select * from xg0301ruku where rkrq like '''+'%'+edit1.Text+'%'+''''); open;十:根据月份打印出库表界面打印代码:with ADOQuery1 dobegin close; sql.Clear; sql.Add('select * from xg0301chuku where ckrq
44、like '''+'%'+edit1.Text+'%'+''''); open;十一:授权进入界面授权代码:var auth_desc:string;begin with adoquery1 do begin close; sql.Clear; sql.Add('select * from xg0301worker'); sql.Add('where pno='''+combobox1.Text+''' and pname='&
45、#39;'+edit1.Text+''''); open; end; if adoquery1.RecordCount-1>=0 then begin xg0301quanxian.Label1.Caption:='员工'+adoquery1.Fields0.AsString+'权限设置' auth_desc:=adoquery1.Fields10.AsString; if strpos(pchar(auth_desc),'1')<>nil then xg0301_qxxz.CheckBo
46、x1.Checked:=true else begin xg0301_qxxz.CheckBox1.Checked:=false end; if strpos(pchar(auth_desc),'2')<>nil then xg0301_qxxz.CheckBox2.Checked:=true else begin xg0301_qxxz.CheckBox2.Checked:=false end; if strpos(pchar(auth_desc),'3')<>nil then xg0301_qxxz.CheckBox3.Checked
47、:=true else begin xg0301_qxxz.CheckBox3.Checked:=false end; if strpos(pchar(auth_desc),'4')<>nil then xg0301_qxxz.CheckBox5.Checked:=true else begin xg0301_qxxz.CheckBox5.Checked:=false end; if strpos(pchar(auth_desc),'6')<>nil then xg0301_qxxz.CheckBox11.Checked:=true el
48、se begin xg0301_qxxz.CheckBox4.Checked:=false; xg0301_qxxz.CheckBox6.Checked:=false; end; if strpos(pchar(auth_desc),'7')<>nil then xg0301_qxxz.CheckBox6.Checked:=true else begin xg0301_qxxz.CheckBox8.Checked:=false; xg0301_qxxz.checkbox10.Enabled:=false; xg0301_qxxz.checkbox9.Enabled:
49、=false; xg0301_qxxz.checkbox7.Enabled:=false; xg0301_qxxz.checkbox12.Enabled:=false; end; if strpos(pchar(auth_desc),'8')<>nil then xg0301_qxxz.CheckBox13.Checked:=true else xg0301_qxxz.CheckBox13.Checked:=false; if strpos(pchar(auth_desc),'1')<>nil then xg0301_qxxz.Check
50、Box1.Checked:=true else xg0301_qxxz.CheckBox1.Checked:=false; if strpos(pchar(auth_desc),'2')<>nil then xg0301_qxxz.CheckBox2.Checked:=true else xg0301_qxxz.CheckBox2.Checked:=false; if strpos(pchar(auth_desc),'3')<>nil then xg0301_qxxz.CheckBox3.Checked:=true else xg0301
51、_qxxz.CheckBox3.Checked:=false; if strpos(pchar(auth_desc),'4')<>nil then xg0301_qxxz.CheckBox5.Checked:=true else xg0301_qxxz.CheckBox5.Checked:=false; if strpos(pchar(auth_desc),'a')<>nil then xg0301_qxxz.CheckBox4.Checked:=true else xg0301_qxxz.CheckBox4.Checked:=false
52、; if strpos(pchar(auth_desc),'b')<>nil then xg0301_qxxz.CheckBox6.Checked:=true else xg0301_qxxz.CheckBox6.Checked:=false; if strpos(pchar(auth_desc),'c')<>nil then xg0301_qxxz.CheckBox7.Checked:=true else xg0301_qxxz.CheckBox7.Checked:=false; if strpos(pchar(auth_desc),&
53、#39;d')<>nil then xg0301_qxxz.CheckBox12.Checked:=true else xg0301_qxxz.CheckBox12.Checked:=false; if strpos(pchar(auth_desc),'e')<>nil then xg0301_qxxz.CheckBox9.Checked:=true else xg0301_qxxz.CheckBox9.Checked:=false; if strpos(pchar(auth_desc),'f')<>nil then
54、xg0301_qxxz.CheckBox10.Checked:=true else xg0301_qxxz.CheckBox10.Checked:=false; xg0301_qxxz.show; xg0301quanxian.Close; end else begin showmessage('该员工编号不存在!请输入正确的员工代码!');end;十二:授权选择界面授权确定代码:var auth:string;begin if (checkbox1.Checked=true) then auth:=auth+'1' if checkbox2.Checked=t
55、rue then auth:=auth+'2' if checkbox3.Checked=true then auth:=auth+'3' if checkbox5.Checked=true then auth:=auth+'4' if checkbox11.Checked=true then auth:=auth+'6' if checkbox4.Checked=true then auth:=auth+'a' if checkbox6.Checked=true then auth:=auth+'b' if checkbox8.Checked=tr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年小学营养餐供应承包协议样本一
- 2024年安全施工质量保证协议
- 2024售后技术服务合同范本
- 2024年国际基础设施工程协议模板版B版
- 2024工程转包合同范本
- 湖南省邵阳市2023-2024学年高二生物上学期期中试题含解析
- 2024年城市智能交通系统建设项目合同
- 2024员工自愿退养经济补偿合同版B版
- 2024年人力资源服务企业专属劳动协议样本版
- 2024年外贸代理业务抽成协议模板一
- 汉文专业的职业生涯规划书
- 美容外科注射美容技术操作规范2023版
- 《燃气燃烧器》课件
- 小学道德与法治-《特殊关爱助我成长 》教学设计学情分析教材分析课后反思
- 植入式静脉给药装置(输液港)-中华护理学会团体标准2023
- 高考语文复习:作文主题训练周虽旧邦其命维新
- 《中华人民共和国国歌》优质课件
- 零工派工单(可用)
- 《计调实操》课件-项目一:计调概论
- chinese chess中国象棋介绍
- 护理质量改善优秀案例ppt
评论
0/150
提交评论