文档库 最新最全的文档下载
当前位置:文档库 › 仓储管理系统设计

仓储管理系统设计

仓储过程的业务流程如图3.3所示:

图3.3 仓储业务流程图

图 3.6 库存管理子系统DFD

●库存单,包括的数据项有:商品编号,商品名称,仓库编号,当前库存,最高库存,安全库存,备注。

●库存盘点单,包括的数据项有:商品编号,盘点数量,调整数量,操作日期,操作人员,标志。

●入库单,包括的数据项有:入库单号,入库时间,商品编号,商品名称,出版社,仓库编号,货架区编号,货架编号,货位编号,数量,入库方式,已入

库,备注。

●验收单,包括的数据项有:验收单号,日期,送货单号,商品编号,商品名称,出版社,数量,单价,金额,验收结果。

●验收退货单,包括的数据项有:退货单号,日期,商品编号,商品名称,出版社,数量,供应商编号,退货原因,备注。

●缺货单,包括的数据项有:商品编号,日期,商品名称,出版社,缺货数量,备注。

●出库单,包括的数据项有:出库单号,出库时间,领货单号,商品编号,商品名称,出版社,仓库编号,货架区编号,货架编号,货位编号,数量,出库方式,已出库,备注

●领货单,包括的数据项有:领货单号,商品编号,商品名称,出版社,商品数量,验证,备注。

●商品信息表,包括的数据项有:商品编号,商品名称,出版社,供应商编号,仓库编号,备注。

●员工资料表,包括的数据项有:员工编号,姓名,职务,性别,联系电话,备注。

●仓库信息表,包括的数据项有:仓库编号,商品编号,货架区编号,货架编号,货位编号,备注

●用户表,包括的数据项有:用户名,密码,级别,备注。

●送货通知单,包括的数据项有:送货单号,日期,采购单号,商品编号,商品名称,出版社,商品数量,是否确认,备注。

表1.4 库存单表格

表1.5 送货通知单表格

表1.6验收退货单表格

表1.7 缺货单表格

表1.8 入库单表格

(注:入库单号取值范围:000000~999999)

表1.9 出库单表格

(注:出库单号取值范围:000000~999999)

表2.4 领货单表格

表2.5 商品信息表表格

表2.7 员工资料表表格

表2.9 仓库信息表表格

表3.1 用户表表格

表3.5 库存盘点单

1、“到货确认单.scx”的设计

数据环境:“送货通知单.dbf”

“验收单.dbf”

动作描述:采购部门将“送货验收单.dbf”发到仓储管理员手中,管理员进行清点货物数量是否正确,如果正确后进行“到货确认”,点击“打印到货确认单”,打印此单给送货员交差。然后点击“添加到验收单”把相关信息添加到“验收单.dbf”。如果错误则点击“修改”修改“数量”并提示跟采购部门协商确认

具体动作及代码:1、到货确认

a=messagebox('确定已到货吗?',32+4+256,'系统提示')

if a=6 then

if thisform.txt是否确认.value='是'

messagebox('不能重复确认!',64,'系统提示')

else

select 送货验收单

replace 是否确认with '是'

endif

endif

thisform.refresh

2、添加到验收单

a=messagebox('确定要添加到验收单吗?',32+4+256,'系统提示')

if a=6 then

if thisform.txt是否确认.value<>'是'

messagebox('没有进行到货确认,不能添加到验货单!',64,'系统提示')

else

select 验收单

采购单号=alltrim(thisform.txt采购单号.value)

商品编号=alltrim(thisform.txt商品编号.value)

商品名称=alltrim(thisform.txt商品名称.value)

出版社=alltrim(thisform.txt出版社.value)

数量=thisform.txt商品数量.value

单价=thisform.txt单价.value

金额=thisform.txt金额.value

calculate max(验收单号)to Czdph

Nzdph=val(right(Czdph,6))

if Nzdph=0 then

Zdph='YS000001'

else

Zdph='YS'+padl(alltrim(str(Nzdph+1)),6,'0')

endif

验收单号=zdph

日期=date()

insert into 验收单(验收单号,日期,采购单号,商品编号,商品名称,出版社,数量,单价,金额);

values(zdph, date(),thisform.txt采购单号.value, thisform.txt商品编

号.value,thisform.txt商品名称.value,thisform.txt出版社.value,;

thisform.txt数量.value,thisform.txt单价.value,thisform.txt金额.value)

endif

endif

thisform.refresh

3、修改(假设控件名称为command6例)

if this.caption='修改'

this.caption='保存'

thisform.text1.enabled=.f.

thisform.txt数量.enabled=.t.

https://www.wendangku.net/doc/a61536458.html,mand10.enabled=.f.

https://www.wendangku.net/doc/a61536458.html,mand9.enabled=.f.

https://www.wendangku.net/doc/a61536458.html,mand8.enabled=.f.

https://www.wendangku.net/doc/a61536458.html,mand7.enabled=.f.

https://www.wendangku.net/doc/a61536458.html,mand5.enabled=.f.

https://www.wendangku.net/doc/a61536458.html,mand4.enabled=.f.

https://www.wendangku.net/doc/a61536458.html,mand3.enabled=.f.

https://www.wendangku.net/doc/a61536458.html,mand2.enabled=.f.

https://www.wendangku.net/doc/a61536458.html,mand1.enabled=.f.

else

a=messagebox('确定要保存吗?',32+4,'系统提示')

if a=6

repl 数量with val(thisform.txt数量.value)

endif

this.caption='修改'

thisform.text1.enabled=.t.

thisform.txt数量.enabled=.f.

https://www.wendangku.net/doc/a61536458.html,mand10.enabled=.t.

https://www.wendangku.net/doc/a61536458.html,mand9.enabled=.t.

https://www.wendangku.net/doc/a61536458.html,mand8.enabled=.t.

https://www.wendangku.net/doc/a61536458.html,mand7.enabled=.t.

https://www.wendangku.net/doc/a61536458.html,mand5.enabled=.t.

https://www.wendangku.net/doc/a61536458.html,mand4.enabled=.t.

https://www.wendangku.net/doc/a61536458.html,mand3.enabled=.t.

https://www.wendangku.net/doc/a61536458.html,mand2.enabled=.t.

https://www.wendangku.net/doc/a61536458.html,mand1.enabled=.t.

endif

4、退出

thisform.release

5、查询

set exac off

if txt=alltrim(thisform.text1.value)

continue

thisform.refresh

else

txt=alltrim(thisform.text1.value)

locate for 送货单号=alltrim(thisform.text1.value)

endif

if found()=.t.

thisform.refresh

else

messagebox('没有找到符合条件的记录!',16,'系统提示') go top

thisform.refresh

endif

6上一个

if bof()=.f.

skip-1

else

messagebox('已经是第一条记录了!',64,'系统提示')

endif

thisform.refresh

7第一个

go top

thisform.refresh

8下一个

skip

if eof()

messagebox('已经是最后一条记录了!',64,'系统提示')

skip-1

endif

thisform.refresh

9、最后一个

go bottom

thisform.refresh

10、打印到货确认单

a=messagebox('确定要打印到货确认单吗?',32+4+256,'系统提示')

if a=6 then

if thisform.txt是否确认.value<>'是'

messagebox('没有进行到货确认,不能打印到货确认单!',64,'系统提示') else

select 到货确认单

txt送货单号=recno()

report form rep1 for recno()=txt送货单号preview

endif

endif

thisform.refresh

11、在表单form的init事件中添加以下代码:

thisform.refresh

thisform.txt送货单号.enabled=.f.

thisform.txt日期.enabled=.f.

thisform.txt采购单号.enabled=.f.

thisform.txt出版社.enabled=.f.

thisform.txt商品编号.enabled=.f.

thisform.txt商品名称.enabled=.f.

thisform.txt数量.enabled=.f.

thisform.txt单价.enabled=.f.

thisform.txt金额.enabled=.f.

thisform.txt是否确认.enabled=.f.

thisform.txt备注.enabled=.f.

在表单form的refresh事件中添加以下代码:

this.txt送货单号.value=alltrim(送货通知单.送货单号)

this.txt日期.value=送货通知单.日期

this.txt采购单号.value=alltrim(送货通知单.采购单号)

this.txt出版社.value=alltrim(送货通知单.出版社)

this.txt商品编号.value=alltrim(送货通知单.商品编号)

this.txt商品名称.value=alltrim(送货通知单.商品名称)

this.txt数量.value=alltrim(str(送货通知单.数量)) this.txt单价.value=alltrim(str(送货通知单.单价)) this.txt金额.value=alltrim(str(送货通知单.金额)) this.txt是否确认.value=alltrim(送货通知单.是否确认) this.txt备注.value=alltrim(送货通知单.备注)

在表单form的load事件中添加以下代码:public txt

txt=''

相关文档
相关文档 最新文档