1、仓库管理系统目 录一、系统定义1二、需求分析1三、系统设计5四、详细设计8五、课程设计总结14六、参考文献14七、附录15一、 系统定义仓库管理系统是通过入库业务、出库业务、仓库调拨、库存调拨和虚仓管理等功能,综合批次管理、物料对应、库存盘点、质检管理、虚仓管理和即时库存管理等功能综合运用的管理系统,有效控制并跟踪仓库业务的物流和成本管理全过程,实现完善的企业仓储信息管理。该系统可以独立执行库存操作,与其他系统的单据和凭证等结合使用,可提供更为完整全面的企业业务流程和财务管理信息。二、需求分析因为一个软件系统本质上就是一个信息处理系统,它通过输入的数据信息决定应该执行哪一部操作,而且系统必须处
2、理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远影响,所以,必须分析系统的数据要求,这是软件需求分析的一个重要任务。在数据库系统中,系统的数据流图是非常重要的。在一个企业的内部,各个部门之间的整体合作和数据对象的处理流程都可以通过数据流图表现出来。本系统的数据流图分为管理员数据流图和一般用户数据流图,这两个数据流图可以清晰的表示出系统内部的数据处理过程。在一般用户数据流图中,一般用户只具有登录系统进行入库、出库、借出、调库、退库、归还和查询的权限。为了商业机密着想,不为一般用户设立其他权限。在管理员数据流图中,管理员登陆系统以后可以对一般用户进行添加或删除操作。另外,
3、管理员可以进行员工信息修改,管理员还可以对产品字典进行操作,而且,管理员对供货商信息录入、生产厂家信息及客户信息等需要保密的工作也同样有操作权限。(二)系统逻辑模型1数据流图: 2数据字典三、系统设计(一)概念结构设计(二)逻辑结构设计供货商信息图表客户信息图表盘点信息图表操作员信息表出库信息图表退库信息图表(三)子模块划分及功能概述四、详细设计(一) 开发平台及工具 开发工具 Microsoft Visual C+ 6.0 DBMS: Microsoft SQL Server 2000(二) 存储过程及触发器GetAllUser函数GetAllUser函数的主要作用是从czy表中获取所有操作
4、员的用户名。在该函数的代码中,首先设置TADOQuery组件的Connection属性,连接到数据库jbda然后添加查询操作员名称的SQL语句并执行该语句,最后将所有操作员的用户名称加到Result变量中。DBConnection函数DBConnection函数的主要作用是设置与数据库ckgl、jbda对应的数据库连接组件的数据库连接字符串,并激活这些连接。在该函数的代码中,首先建立与数据库ckgl、jbda对应的数据库连接组件,然后设置这些组件数据库连接字符串,最后激活这些连接。GetPWDConnect函数GetPWDConnect函数的主要作用是判断登录用户输入的用户密码是否正确,如果密
5、码正确,则设置与该登录用户对应的用户权限字符串。在该函数的代码中,首先初始化用户权限字符串,然后设置搜索用户选择的登录用户名称信息资料的SQl语句,接着判断输入的登录用户密码时候正确,如果密码正确,则最后正确设置与该登录用户对应的用户权限字符串。GetAllRecord函数GetAllRecord函数的主要作用是在TabName所指的jbda数据库表中获得FieldName所指的字段值列表。在该函数的代码中,首先设置查询组件的Connection属性,使其连接到数据库jbda,然后设置SQL查询语句并运行,最后将符合条件的记录的FieldName字段值添加到result变量中。GetChang
6、ePwd函数GetChangePwd函数的主要作用是修改登录用户的用户密码。在该函数的代码中,首先设置查询组件的属性,使其连接到数据库jbda,然后添加修改密码的SQL语句并执行该语句,最后提交所作的修改。在执行修改密码的过程中,如果系统出现异常,将设置函数返回值为false,并取消所做的修改。UpdateKc函数UpdateKc函数的主要作用是根据货物单价的大小,添加或修改该物品记录中货物类别、货物规格和货物数量等字段的值。在该函数的代码中,首先设置查询组件的属性,使其连接到数据库ckgl,然后判断该物品的单价是否为0。如果货物单价为0,则添加在kc表中搜索是否有与此物品具有相同规格、相同类
7、别和相同存储仓库的物品的SQL语句,否则添加在kc表中搜索是否有与此物品具有相同规格、相同类别、相同单价、相同产地和相同存储仓库的物品的SQl语句。接着执行SQL语句,在接着根据找到符合查询条件的货物记录与否,分别添加新的货物信息或修改货物记录数量字段的值,最后提交所作的添加或修改。在执行提交所作的添加或修改语句过程中,如果系统出现异常,将设置函数返回值为false。Sjbf函数Sjbf函数的主要作用是备份数据库jbda和ckgl。Sjhf函数Sjhf函数的主要作用是恢复数据库jbda和ckgl。在该函数的代码中,首先初始化函数返回值为false,然后断开与数据库jbda、ckgl的连接,最后
8、恢复数据库jbda和ckgl。UpdateLog函数UpdateLog函数的主要作用是将用户在仓库管理系统中的操作信息存入操作日志(log)表中。其中操作信息包括操作人员、操作日期和操作内容。字符串资源设计字符串资源中主要包括了系统中经常用到的字符串变量,如数据连接字符串、数据备份或恢复成功后的提示信息字符串、操作出现异常时的提示字符串和输入的用户密码不正确时的提示字符串等等。程序代码如下:resourcestring AppTitle = 仓库管理系统; DBConnectionString = Provider=Microsoft.Jet.OLEDB.4.0; + Password=;Da
9、ta Source=%s; + Persist Security Info=True; SaveError = 保存数据中发生错误,请重试!; FTPFailMsg = FTP站点连接不成功,请稍后重试!; AbnormityError = 操作中异常出错,请重试!; UserNameIsEmptyError = 用户名为空,请重输!; NotExistsUser = 用户名不存在,请重新输入!; PassWordError = 输入%s密码不正确,请重试!; PassWordNotSame = 两次密码输入不一致!; SendPrompt = 确认将报告单报送%s吗?; GDateForma
10、t = YYYYMMDD; DateTimeFormat = YYYY-MM-DD HH24:MI:SS; GSptStr = _#$%; NotFound = 没有找到符合条件的!; NotExistPrt = 打印模板文件%s不存在,请检查!; NotSaveInf = 是否保存对%s内容的更改?; DBConnectFail = 无法与数据库服务器连接,请查看%s!; ChnagePwdSuccess = %s的密码修改已经修改,请记住新密码!; UserNameIsEmpty = 请选取用户再进行%s操作!; SelLocation = 选取备份数据位置; SjbfComplete =
11、 数据备份完全无损完成!; SjhfComplete = 数据恢复完全无损恢复!; ReLogon = 您需要重新登陆系统吗?; CloseInf = 你真的退出仓库管理系统吗?; NoFind = 对不起,没有找到相关数据!; ErrCondition = 请检查您所选取的条件!;(四) 界面设计 登陆界面: 操作员档案管理面: 基本档案管理界面: 基本档案管理界面: 入库管理界面五、课程设计总结六、参考文献1. Visual C+ .net 2003程序设计 何炜等 冶金工业出版社 P247-2612. 数据库系统概论(第三版) 萨师煊等 高等教育出版社七、附录 部分源代码 / Machi
12、ne generated IDispatch wrapper class(es) created by Microsoft Visual C+/ NOTE: Do not modify the contents of this file. If this class is regenerated by/ Microsoft Visual C+, your modifications will be overwritten.#include stdafx.h#include datalist.h/ Dispatch interfaces referenced by this interface#
13、include picture.h#include font.h/ CDataListIMPLEMENT_DYNCREATE(CDataList, CWnd)/ CDataList properties/ CDataList operationsBOOL CDataList:GetLocked() BOOL result; InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); return result;void CDataList:SetLocked(BOOL bNewValue) static BYT
14、E parms = VTS_BOOL; InvokeHelper(0x1, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue);CString CDataList:GetBoundText() CString result; InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result;void CDataList:SetBoundText(LPCTSTR lpszNewValue) static BYTE parms = V
15、TS_BSTR; InvokeHelper(0x2, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue);CString CDataList:GetBoundColumn() CString result; InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result;void CDataList:SetBoundColumn(LPCTSTR lpszNewValue) static BYTE parms = VTS_B
16、STR; InvokeHelper(0x4, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue);long CDataList:GetMousePointer() long result; InvokeHelper(0xfffffdf7, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); return result;void CDataList:SetMousePointer(long nNewValue) static BYTE parms = VTS_I4; Invoke
17、Helper(0xfffffdf7, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);CPicture CDataList:GetMouseIcon() LPDISPATCH pDispatch; InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); return CPicture(pDispatch);void CDataList:SetMouseIcon(LPDISPATCH newValue) static BYTE pa
18、rms = VTS_DISPATCH; InvokeHelper(0x6, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);void CDataList:SetRefMouseIcon(LPDISPATCH newValue) static BYTE parms = VTS_DISPATCH; InvokeHelper(0x6, DISPATCH_PROPERTYPUTREF, VT_EMPTY, NULL, parms, newValue);BOOL CDataList:GetIntegralHeight() BOOL resul
19、t; InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); return result;void CDataList:SetIntegralHeight(BOOL bNewValue) static BYTE parms = VTS_BOOL; InvokeHelper(0x7, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue);long CDataList:GetMatchEntry() long result; InvokeHelper(0
20、x8, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); return result;void CDataList:SetMatchEntry(long nNewValue) static BYTE parms = VTS_I4; InvokeHelper(0x8, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);VARIANT CDataList:GetSelectedItem() VARIANT result; InvokeHelper(0x9, DISPATCH_PROP
21、ERTYGET, VT_VARIANT, (void*)&result, NULL); return result;short CDataList:GetVisibleCount() short result; InvokeHelper(0xa, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL); return result;CString CDataList:GetText() CString result; InvokeHelper(0xb, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, N
22、ULL); return result;void CDataList:SetText(LPCTSTR lpszNewValue) static BYTE parms = VTS_BSTR; InvokeHelper(0xb, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue);CString CDataList:GetListField() CString result; InvokeHelper(0xc, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return
23、result;void CDataList:SetListField(LPCTSTR lpszNewValue) static BYTE parms = VTS_BSTR; InvokeHelper(0xc, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue);COleFont CDataList:GetFont() LPDISPATCH pDispatch; InvokeHelper(DISPID_FONT, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL)
24、; return COleFont(pDispatch);void CDataList:SetRefFont(LPDISPATCH newValue) static BYTE parms = VTS_DISPATCH; InvokeHelper(DISPID_FONT, DISPATCH_PROPERTYPUTREF, VT_EMPTY, NULL, parms, newValue);BOOL CDataList:GetEnabled() BOOL result; InvokeHelper(DISPID_ENABLED, DISPATCH_PROPERTYGET, VT_BOOL, (void
25、*)&result, NULL); return result;void CDataList:SetEnabled(BOOL bNewValue) static BYTE parms = VTS_BOOL; InvokeHelper(DISPID_ENABLED, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue);unsigned long CDataList:GetBackColor() unsigned long result; InvokeHelper(DISPID_BACKCOLOR, DISPATCH_PROPERTYGE
26、T, VT_I4, (void*)&result, NULL); return result;void CDataList:SetBackColor(unsigned long newValue) static BYTE parms = VTS_I4; InvokeHelper(DISPID_BACKCOLOR, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);unsigned long CDataList:GetForeColor() unsigned long result; InvokeHelper(DISPID_FORECO
27、LOR, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); return result;void CDataList:SetForeColor(unsigned long newValue) static BYTE parms = VTS_I4; InvokeHelper(DISPID_FORECOLOR, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);BOOL CDataList:GetMatchedWithList() BOOL result; InvokeHelper(0
28、xf, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); return result;long CDataList:GetAppearance() long result; InvokeHelper(0x10, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); return result;void CDataList:SetAppearance(long nNewValue) static BYTE parms = VTS_I4; InvokeHelper(0x10, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);BOOL CDataList:GetRightToLeft() BOOL result; InvokeHelper(0xfffffd9d, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); return result;void C
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1