物流信息系统.docx
- 文档编号:27206244
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:38
- 大小:707.07KB
物流信息系统.docx
《物流信息系统.docx》由会员分享,可在线阅读,更多相关《物流信息系统.docx(38页珍藏版)》请在冰豆网上搜索。
物流信息系统
经济与管理学院《物流信息系统》课程设计报告
题目《物流信息系统》课程设计报告
姓名学号
专业年级
指导教师职称
2013年06月11日
目录
一、课程设计的序言-----------------------------------------------------------4
二、课程设计的内容和步骤---------------------------------------------------4
三、课程设计的总结及个感想-----------------------------------------------37
一、设计的序言
设计目的
《物流信息系统》课程设计为学生提供了一个既动手又动脑,独立实践的机会。
培养学生“物流信息系统”课程所学知识的综合应用,分析和解决企业物流信息系统实际问题的能力。
设计要求
由教师布置课程设计的思路,提供设计资料,学生根据资料,结合企业物流系统的相关知识,对资料进行深入分析,独立完成物流信息系统课程设计。
设计内容:
1.根据企业库房需求进行分析。
2.利用VFP进行软件设计。
三、课程设计的过程及类容
运行VF,新建表,保存到桌面,新建文件夹中,取名kfgl
2、在kfgl数据库中新建表systen(.dbf),五个字段:
fzr、bgy、jhy、cly、mima,其标题分别为:
负责人、保管员、计划员、材料员、密码。
3、新建表main(.dbf):
ckbhc(10),rqd(8),qcmcc(16),ggxhc(20),lbc(6),dwc(4),djn(8,2),pzbhc(10),rksln(8,2),rkjen(10,2),cksln(8,2),ckjen(10,2),gcmcc(30),bzc(6),clyc(6),bgyc(6),jhyc(6),llrc(6),fzrc(6),lhc(6),ytc(20),quc
(2),jiac
(2),haoc
(2),kuc
(2)。
其标题分别为:
出库编号,日期,器材名称,规格型号,类别,单位,单价,凭证编号,入库数量,入库金额,出库数量,出库金额,工程名称,班组,材料员,保管员,计划员,领料人,负责人,料号,用途,区,架,号,库。
说明:
c-字符型;d-日期型;n-数值型,括号内为字节长度,逗号后面的数值为几位小数。
4、新建表grgjk(.dbf):
ckbhc(10),rqd(8),qcmcc(16),ggxhc(20),lbc(6),dwc(4),djn(8,2),cksln(8,2),ckjen(10,2),bzc(6),jhyc(6),llrc(6)。
其标题分别为:
出库编号,日期,器材名称,规格型号,类别,单位,单价,出库数量,出库金额,班组,计划员,领料人。
完成后
(四)建立工具栏
1、点击“文件”——“新建”按钮,选择“类”,出现新建类对话框。
2、类名输入‘kuf’,派生于选择‘toolbar’,存储于:
“f:
\新建文件夹\kuf.vcx”,按‘确定’按钮,出现类设计器。
3、跟建立表单一样,如图5-2,
出现如图的编辑器
(五)建立logo表单
(1)表单logo,titlebar为0-关闭,height=115,width=222。
(2)Label1的caption为“欢迎使用库房管理软件”,透明,楷体,12号,黄色。
(3)Label2的caption为“输入密码”,透明,黑体,12号,绿色。
(4)Label3的caption为“软件作者:
齐鲁石化公司检修公司机泵车***8,白色。
(5)文本框的Name为txtpassword,passworchar为‘*’。
(6)计时器timer1,interval=200。
(7)命令按钮ok,确定。
(8)命令按钮cancel,退出。
其click过程:
thisform.release
Cleaevent
(六)表单system
(1)表单的“caption”为“基本信息”,“windowtype”为1-模式。
(2)建立标签“label1~label5”、文本框“text1~text5”和命令按钮“command1”。
(3)右击表单选择“数据环境”
(4)填加表systen.dbf。
(5)、text1~text5的“controlsource”分别选择systen.fzr、systen.jhy、systen.cly、systen.bgy、systen.mima。
(6)、label1~label5的caption为:
负责人、计划员、材料员、保管员、密码。
(7)、command1.cilck为:
thisform.release。
(8)、text5的“inputmask”为:
“XXXXXX”,“passwordchar”为:
“*”。
(七)表单rkd(入库单)
(1)、我们用一些标签和线条建立(如图6-3)表单rkd,你可以根据自己单位的情况设计。
其“titlebar”为:
0-关闭。
(2)、建立多个文本框(由于我在设计时进行过修改,删掉了一些文本框,所以现在不连续),其“backstyle”为:
0-透明、“bordercolor”为:
0-无
其“controlsource”分别为:
text9为bgy1,text12为fzr1,text17为cly1,其它的均与其name相同
(3)、组合框combo2,“bordercolor”为:
0-无(没有“0-无”这个选项,同上),“controlsource”为cbo1,“rowsource”为:
“钢材,管件,配件,工器具,量具,杂品,消耗品,油料,劳保,阀门”,“rowsourcetype”为:
1-值。
(4)、命令按钮command1(确定)的click过程为:
tis=messagebox("保存入库单?
",4+64,"提示窗口")
iftis=6
if!
used("main")
use main
else
selemain
endif
APPEND BLANK
repl lb withcbo1
repl rqwithdate()
repl pzbh withtext4
repl gcmc withtext5
repl ytwithtext6
repl lhwithtext13
repl qcmcwithtext19
repl ggxh withtext20
repl dwwithtext7
repl rkslwithtext8
repl dj with text10
repl rkje with text11
repl jhy with text23
repl bgy with bgy1
repl fzr with fzr1
repl llr with cly1
use
text20=""
text13=""
text4=""
text8=0.00
text10=0.00
text11=0.00
text1=year(date())
text2=month(date())
text3=day(date())
bo2.setfocus
thisform.refresh
endif
(5)、命令按钮command2(退出)的click过程:
use
thisform.release
(6)、表单form1的init过程:
publictext1,text2,text3,text4,text5,text6,text7,text8,text10,text11,;
text19,text20,text23,cbo1,text9,text13
text5=""
text6=""
text7=""
text13=""
text17=""
text19=""
text20=""
text23=""
text12=""
text9=""
text4=""
text8=0.00
text10=0.00
text11=0.00
text1=year(date())
text2=month(date())
text3=day(date())
cbo1=""
bo2.setfocus
(7)、表单form1的destroy过程:
releasetext1,text2,text3,text4,text5,text6,text7,text8,text10,text11,;
text19,text20,text23,cbo1,text9,text13
操作说明:
根据公司的出库单逐项填写,器材类别我是根据我们车间的实际分的,你可以修改,填完后按确定按钮,将提示你是否保存,按退出按钮关闭表单。
(八)出库单ckd
(1)、文本框text2的“dateformat”为:
‘14-汉语’;“tapstop”(如下图:
)为:
‘.F.假’;“value”为:
‘=date()’。
其他略。
(2)、建立表格Grid1。
右击Grid1选择生成器选择main表,选定如下字段:
qcmc、ggxh、dw、dj、cksl、ckje、lb,按确定按钮。
(3)、修改表格Grid1。
“deletemark”为:
‘.F.-假’;“recordmark”为:
‘.F.-假’;“recordsource”为:
(无)(去掉‘main’);“scrollbars”为:
‘2-垂直’。
Combo1的“rowsource”为:
‘一班,二班,三班,四班,五班,六班,办公室’;“rowsourcetype”为:
‘1-值’。
(4)、表单的init过程:
publicbz1,bh1,llr1
*建立临时表ls
creatcursorls(ckbhc(10),rqd(8),qcmcc(16),ggxhc(20),dwc(4),;
djn(8,2),cksln(8,2),ckjen(10,2),gcmcc(30),bzc(6),;
ytc(20),clyc(6),bgyc(6),jhyc(6),llrc(6),fzrc(6),lbc(6))
withthisform.grid1
.recordsource='ls'
.column1.controlsource='ls.qcmc'
.column2.controlsource='ls.ggxh'
.column3.controlsource='ls.dw'
.column4.controlsource='ls.dj'
.column5.controlsource='ls.cksl'
.column6.controlsource='ls.ckje'
.column7.controlsource='ls.lb'
endwith
(5)、打印按钮的cilck过程:
bz1=bo1.value
bh1=allt(thisform.text5.value)
llr1=allt(thisform.text6.value)
selels
messagebox('请用B5纸!
',16,'提示信息')
REPORTFORMckdan.frx TOPRINTER
thisform.refresh
其中ckdan.frx为出库单报表,在后面会介绍。
(6)、保存按钮的cilck过程:
bz1=bo1.value
bh1=allt(thisform.text5.value)
rq1=date()
llr1=allt(thisform.text6.value)
gcmc1=allt(thisform.text3.value)
yt1=allt(thisform.text4.value)
*检查输入是否有效
selels
countfor!
deleted()tozs
ifzs=0
messagebox('至少要有一条记录才能保存!
',16,'提示信息')
return
endif
ifempty(bz1)
messagebox('请填写班组',16,'提示信息')
return
endif
locatforls.cksl=0
iffound()
messagebox('请填写数量',16,'提示信息')
return
endif
*加入到正式表中
gotop
dowhile!
eof()
insertintomain(ckbh,rq,qcmc,ggxh,dw,dj,cksl,ckje,gcmc,yt,llr,jhy,lb,bz);
value(bh1,rq1,ls.qcmc,ls.ggxh,ls.dw,ls.dj,ls.cksl,ls.ckje,gcmc1,ls.yt,llr1,jhy1,ls.lb,bz1)
ifallt(ls.lb)="工器具"
insertintogrgjk (ckbh,rq,qcmc,ggxh,dw,dj,cksl,ckje,llr,jhy);
value(bh1,rq1,ls.qcmc,ls.ggxh,ls.dw,ls.dj,ls.cksl,ls.ckje,llr1,jhy1)
endif
skip
enddo
zap
(6)、退出按钮的cilck过程:
tt=0
thisform.release
(7)、Grid1下的Column1下的Text1的DblClick过程:
doformqcmx
selels
this.value=main.qcmc
withthisform.grid1
.column2.text1.value=main.ggxh
.column3.text1.value=main.dw
.column4.text1.value=main.dj
.column5.text1.value=0
.column6.text1.value=0
.column7.text1.value=main.lb
endwith
thisform.refresh
thisform.grid1.column5.text1.setfocus
thisform.refresh
(8)、Grid1下的Column5下的Text1的LostFocus过程:
ifthis.value>cksl1
ss=allt(str(cksl1))
messagebox('开票数量不能大于库存数量'+ss,16,'提示信息')
thisform.grid1.column5.text1.value=0
thisform.grid1.column5.text1.setfocus
retu
endif
thisform.grid1.column6.text1.value=ls.cksl*ls.dj
thisform.grid1.refresh
(9)、Grid1的rightcilck过程:
selels
dotjia.mpr &&调用tjia菜单
thisform.grid1.refresh
thisform.grid1.setfocus
操作说明:
右击表单的表格Grid1,出现快捷菜单条,选择“填加一条”单击,表格中增加一条空白记录,双击器材名称的文本框调出“器材明细表”表单(下一课介绍)。
在“器材明细表”中选择要出库的器材,退出“器材明细表”,这时“器材名称”、“规格型号”、“单位”、“单价”等自动填加到表格中,你填上出库数量,回车,如果你填加的数值大于库存量,会弹出一个“提示信息”窗口,提示你:
“开票数量不能大于库存数量xx”。
如果数值符合要求,回车后自动填加金额。
你可以根据以上的操作过程填加多项,也可以选中某一条右击删除它,在未保存之前还可以右击恢复所有被删除的项目。
填齐其它选项,就可以打印了,按保存按钮填写的器材就出库了。
(九)器材明细表表单qcmx.scx
(1)建立标签(按其caption内容):
“在上面的文本框中输入”,“器材名称或规格型号”,“库存数量:
”,“库存金额:
”,“器材明细表”,“库”,“区”,“架”,“号”,“器材名称:
”,“规格型号:
”,“单位:
”,“单价:
”。
(2)
(2)建立文本框:
ku,qu,jia,hao,qcmc,ggxh,dw,dj(以上文本框的controlsource分别为:
“main.+其名”),text7,text8,text10。
(3)(3)建立命令按钮command1~5
(4)建立表格Grid1,右击选择“生成器”,选择表main的如下字段:
rq,qcmc,ggxh,rkbh(前面设置的表main里没有rkbh字段),rksl,rkje,ckbh,cksl,ckje,lb。
其它属性在这里就不一一介绍了。
(5)form1.init:
tbs.hide &&在运行此表单时隐藏快捷图标
publiccksl1 &&定义全局变量
(6)form.destroy:
tbs.show &&在关闭此表单时显示快捷图标
(7)text10.interactivechange:
locateforallt(qcmc)=allt(this.value)
iffound()
gorecn()
thisform.refresh
else
locateforallt(this.value)$allt(ggxh)
iffound()
gorecn()
thisform.refresh
endif
endif
说明:
当你在文本框text10中输入字或数时,开始在器材名称和规格型号中查找与其值相同或相近的器材显示出来。
(8)command1.click:
mand2.enabled=.t.
mand5.enabled=.t.
if!
RECN()=1
skip-1
else
go1
this.enabled=.f.
mand4.enabled=.f.
endif
thisform.refresh
(9)command2.click:
mand1.enabled=.t.
mand4.enabled=.t.
if!
eof()
skip1
else
gobottom
this.enabled=.f.
mand5.enabled=.f.
endif
thisform.refresh
(10)command3.click:
THISFORM.RELEASE
(11)command4.click:
mand2.enabled=.t.
mand5.enabled=.t.
go1
this.enabled=.f.
mand1.enabled=.f.
thisform.refresh
(12)command5.click:
mand1.enabled=.t.
mand4.enabled=.t.
gobottom
this.enabled=.f.
mand2.enabled=.f.
thisform.refresh
(13)grid1.refresh:
thisform.grid1.recordsource="selemain.rq,qcmc,ggxh,pzbh,rksl,rkje,ckbh,cksl,ckje,lbfrommainintocurstemp;
whereallt(qcmc)==allt(thisform.qcmc.value).and.allt(ggxh)==allt(thisform.ggxh.value)"
seletemp
sumrksltosl1
sumcksltosl2
sumrkjetoje1
sumckjetoje2
cksl1=sl1-sl2
thisform.text7.value=sl1-sl2
thisform.text8.value=je1-je2
selemain
(十)浏览修改表单llxg.scx
(1)、建立选择按钮组Optiongroup1。
ButtonCount=3...
(2)、建立选择按钮组Optiongroup2。
ButtonCount=11...
(3)、建立表格Grid1。
DeleteMark=‘.F.-假’;RecordSourceType=‘0-表’。
(4)、建立形状Shape1、Shape2,选择背景颜色。
(5)、建立组合框Combo1。
ControlSounrce=‘rq1’;RowSounrce=‘selectrqdistinctfrommainintocursorcombo1’;RowSounrceType=‘3-SQL语句’。
(6)、建立组合框Combo2。
ControlSounrce=‘rq2’;RowSounrce=‘selectrqdistinctfrommainintocursorcombo2’;RowSounrceType=‘3-SQL语句’。
(7)、建立组合框Combo3。
ControlSounrce=‘bz1’;RowSounrce=‘一班,二班,三班,四班,五班,六班,办公室’;RowSounrceType=‘1-值’。
(8)、建立Command1。
Caption=‘修改’;command1.click:
doformxgmain。
(9)、建立Command2。
Caption=‘打印’;command2.click:
messagebox('请用A4纸!
',16,'提示信息')
DOCASE
CASETHISFORM.OPTIONGROUP1.VALUE=1
THISFORM.OPTIONGROUP1.option1.click()
reportformdymain.frxtoprinter &&打印报表dymain
CASETHISFORM.OPTIONGROUP1.VALUE=2
THISFORM.OPTIONGROUP1.option2.click()
reportformdyrk.frxtoprint
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 物流 信息系统