1、 设备采购报表的生成。 在库存管理中加入最高储备和最低储备字段,对仓库中的物资设备实现监控和报警。 企业各部门的物资需求的管理。 操作日志的管理。 仓库管理系统的使用帮助。1、4系统功能模块设计 在系统功能分析的基础上,结合Visual C+程序编制的特点,得到如图1-1所示的系统功能模块图。图1-1 系统功能模块图 2、数据库设计2、1数据库需求分析在仔细调查企业仓库物资设备管理过程的基础上,得到本系统所处理的数据流程如图1-2所示:图1-2 数据流程图本实例设计的数据项和数据结构如下: 设备代码信息,包括的数据项有设备号、设备名称。 现有库存信息,包括的数据项有设备、现有数目、总数目、最大
2、库存和最小库存。 设备使用信息,包括的数据项有使用的设备、使用部门、数目、使用时间和出库时状态等。 设备采购信息,包括的数据项有采购的设备、采购员、供应商、采购数目和采购时间等。 设备归还信息,包括的数据项有归还设备、归还部门、归还数目、归还时间和经手人等。 设备需求信息,包括的数据项有需求的部门、需求设备、需求数目和需求时间等。2、2数据库概念结构设计本实例根据上面的设计规划出的实体有库存实体、入库实体、出库实体、采购实体、还库实体和需求实体,各实体的E-R图及其关系描述如下:图1-3 库存实体E-R图图1-4 入库实体E-R图 图1-5 出库实体E-R图图1-6 部门需求实体E-R图图1-
3、7 还库实体E-R图图1-8计划采购实体E-R图图1-9实体和实体之间的关系E-R图2、3数据库逻辑结构设计在上面的实体以及实体之间的关系的基础上,形成数据库中的表格和各个表格之间的关系。仓库管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表1-1 设备代码表device_code 列名数据类型可否为空说明codeVARCHAR2(6)NOTNULL设备号(主键)nameVARCHAR2(20)NULL设备名称 表1-2 设备入库表device_in设备号in_dateDATE NOTNULL入库时间(主键)provider供应商 telenoVARCH
4、AR2(10)供应商电话in_numberNUMBER(6) NULL入库数量 price价格 buyer采购员 表1-3 设备出库表device_outdepartment使用部门out_date出库时间(主键)out_stateNUMBER(1)出库状态out_person经手人out _number出库数量 taker领取人 usage用途 表1-4 现有库存表devicenow_number现有库存high _number最大库存low _number最少库存total _number总数 表1-5 部门需求表device_need部门名称need _number需求数量begin_d
5、ate需求开始时间end_date需求结束时间 表1-6 设备还库表device_returnreturn_date还库时间(主键) keeper仓库管理员 return_ number归还数量 return_date归还人 表1-7 操作日志表 howdodo_user操作员do_whatVARCHAR2(40)操作内容do_date操作时间 表1-8 设备采购计划表device_wantbuytotal_number总库存max_numberbuy_number购买数量buy_date计划采购时间(主键)3、数据库结构的实现4、创建应用程序(1) (1) 选择“FileNew”中的“新建项
6、目”选项卡中“MFC AppWizard(exe)”,设置合适的目录和项目名,比如“E:Project”目录下的“DMS”项目。(2) (2) 创建一个对话框应用程序(“Dialog Based”),单击“Next”按钮。(3) (3) 由于在这个项目中将要使用ADO,所以在MFC AppWizard的第二步,需要选中“Automation”选项,使应用程序能够支持自动化对象。如图1-10所示(4) (4) 单击“Finish”按钮结束项目的创建。主对话框名为CDMSDlg。(5) (5) 项目创建完毕后,在头文件stdafx.h中加入下面4行:#import“c:programfilesco
7、mmonfilessystemadomsado15.dll”no_namespace(”EOF”,”adoEOF”)#include”icrsint.h”inline void TESTHR(HRESULT x)if FAILED(x)_com_issue_error(x);#define DATEFMT Cstring(“%s”)5、操作日志模块的设计(1)写日志模块 图1-10 使应用程序支持自动化先定义一个名为ClogMngr的类/LogMngr.h/定义一个Log管理器class CLogMngr public: CLogMngr(); virtual CLogMngr(); bool
8、 AddLog(LPCSTR op); void Setup(_ConnectionPtr cnnt, CString& user) m_DBCnt = cnnt; m_user = user; protected: _ConnectionPtr m_DBCnt; CString m_user;下面是ClogMngr:AddLog内部实现详细过程。/LogMngr.cpp/向数据库中添加Log记录的代码。bool CLogMngr:AddLog(LPCSTR op) CTime tm = CTime:GetCurrentTime(); CString sql_; sql_.Format(INSERT INTO HOWDO (do_user,do_what,do_date) VALUES(%s,%d-%d-%d %d:%d:%d), m_user, op, tm.GetYear(), tm.GetMonth(), tm.GetDay(), tm.GetHour(), tm.GetMinute(), tm.GetSecond(); _bstr_t sql = sql_; t
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1