课程大作业――仓库管理子系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程大作业――仓库管理子系统
目录
一、课题介绍 (2)
二、系统分析和设计思想 (4)
1.数据库设计 (5)
2.程序结构总体设计 (9)
三、脚本代码 (10)
四、小结 (38)
一、课题介绍
商品进销存管理系统——仓库管理子系统,主要用来执行公司内商品的出库入库,进行库房盘点,并向公司领导汇报,接受公司领导的库房查询。库房的管理在整个公司是非常重要的,公司的所有产品都在库房里,如果库房管理不当,将给公司造成很大损失。所以本软件可帮助库房管理员很好的管理库房,可使库房管理信息化,有效提高库房的管理水平。
库房管理子系统业务流程:
入库管理:采购员采购商品后到仓库管理员处办理如库手续,仓库管理员根据采购单对商品进行检验,确认后会生成入库单,再允许商品入库。
出库管理:销售业务员到仓库管理员处办理出库手续,仓库管理员根据订购单对仓库中的商品库存量等信息进行校对,确认后,生成出库单,再允许商品出库。
分工组成结构树见下图:
业务协作流程见下图:
该系统可供各公司使用,它主要是用来对公司的库房进行管理的系统,它主要有2 部分组成,记录模块和查询模块。各部分的功能如下:
1. 管理模块具体包括以下几个功能模块:
入库管理:入库管理是仓库管理员根据采购单对商品进行检
验,确认后会生成入库单,再允许商品入库。
出库管理:出库管理是仓库管理员根据订购单对仓库中的商
品库存量等信息进行校对,确认后,生成出库单,
再允许商品出库。
库房盘点:库房盘点是库房管理员将仓库中的所有商品分类,
再对商品的数量等进行盘点,如有亏损记录下信
息,并修改原库房盘点表。
2. 查询模块具体包括以下几个功能模块:
查询库存:当库房管理员要了解仓库中商品的数量等有关信
息时,可以通过查询库存检索出相关信息。
查询入库单:通过时间及类型的分类,可以把近期入库的商
品的信息检索出来。
查询出库单:通过时间段及类型的分类,可以把近期出库
的商品的信息检索出来。
查询盘点记录:通过商品类别的分类,将各种商品的盘点
情况显示出来。
二、系统分析和设计思想
库房管理子系统是由两个模块组成:管理模块和查询模块。管
理模块主要用来管理商品出库入库和库房盘点的工作。查询模块主要用来对库存、入库单、出库单、盘点记录进行查询。
1.数据库设计:主要由7个表和2 个视图组成。
表名称代码
入库单内容intoItems
出库单内容OutItems
入库单putStorage
商品product
出库单OutStorage
盘点记录inventory
入库单(Inwarehouse)
说明:记录当前库存地点上商品的数量与金额,由系统根据库存活动自动计算并产生
入库单明细(Initem)
说明:记录针对一个具体库存地点的每一次入库的物资内容,必
出库单(outwarehouse)
说明:记录针对一个具体库存地点的每一次出库,必须拥有物资
出库单明细(outitem)
说明:记录针对一个具体库存地点的每一次出库的物资内容,必
盘点表(inventory)说明:
对库内商品进行盘查核对
列命名列名称列描述类型与长度可否为
空主
键
外键索
引
有
效
值
invDate盘点日
期盘点日期DATETIME
否
commNum盘点商
品盘点商品
编号
CHAR(8)
invAccountQuantity帐面库
存数量帐面库存
数量
FLOAT
invRealQuantity实际库
存数量实际库存
数量
FLOAT
invCause盈亏原
因盈亏原因
VARCHAR(100
)
invChecker盘点人盘点人CHAR(6)
2.程序结构总体设计
库房子系统的HIPO图,如下所示:
三、脚本代码
1.应用程序对象、主窗口与主菜单的设计
应用程序对象的脚本代码如下:
(1)应用程序全局变量:u_comused g_com // 定义u_comused类型的对象
(2)应用程序open事件脚本:
environment lenv_env// holds environment information
string ls_startupfile, sname,scode, corp, sdir, slog // holds name of start-up file
Int li_app
//Get the environment information
if( GetEnvironment(lenv_env) <> 1 ) then
MessageBox( "Application:Open", &
"Unable to get environment information.~nHalting..." ) halt
end if
if lenv_env.ScreenHeight<>600 or lenv_env.ScreenWidth<>800 then messagebox("提示信息","请将分辨率设置为800*600")
end if
// 创建用户对象实例
g_com= CREATE u_comused
// 得到路径和单位名称
sname=".\business.ini"
sdir=ProfileString(sname,"application", "exedir","")
g_com.uf_setDir(sdir)
corp=ProfileString(sname,"application","单位名称","")
g_com.uf_setCorp(corp)
Open(w_login)
(3)主窗口W_main界面
(4)主菜单m_customer
本子系统有一名为m_warehouse 的主菜单。