欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    企业设备管理系统.docx

    • 资源ID:14506082       资源大小:143.10KB        全文页数:17页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    企业设备管理系统.docx

    1、企业设备管理系统第 4 章 企业设备管理系统 公司经常需要采购一些设备,用以满足公司正常运营的需要,采购回来的设备不能堆 放在库房里就不管了,谁想用的时候就去拿,谁想换的时候就去换。这样,公司的设备恐 怕会越来越少,公司正常的运营就会受到影响。因此,需要对公司的设备进行库存管理, 保证设备借出和归还有序,还要能查到设备的借出情况。企业设备管理系统正好能满足这 个需求,它提供了对设备库存、设备借出、设备归还和设备统计信息的管理。4.1系统设计 系统设计是系统开发最为关键的一环,良好的系统设计需要把握系统的需求,并合理 地划分功能模块。企业设备管理系统的系统设计还需要把握一个关键点,就是明确设备的

    2、 惟一性,尽管设备可能一模一样,但是也应该区别开来,因为我们的借出、归还以及借出 历史的统计都是要具体到某一个设备的,需要对每一个设备赋予不同的设备编号,通常会 制作标签贴在设备上,这恐怕是库房管理员常做的工作,设备编号的方式可以根据公司具 体决定。4.1.1功能描述 企业设备管理系统包括设备库存管理、设备借出归还管理和设备统计信息管理,详细 的功能描述如下。1.设备库存管理 设备库存管理包括新设备入库、修改设备信息和陈旧设备的库存清理。新设备入库是 对新采购的设备进行入库的操作。修改设备信息是对入库设备的名称、购买人、入库时间、 设备说明等信息的修改。库存清理,是清理库存中不能再用的设备。2

    3、.设备借出归还管理 设备借出归还管理包括设备借出管理和设备归还管理。对于设备借出管理,如果设备 已经借出,要提示用户谁借走了设备。当借出成功的时候,需要在列表中显示借出人、借出时间和借出设备信息,如果归还成功,还需要显示设备归还时间。3.设备统计信息管理 设备统计信息管理包括对设备借出历史信息、设备使用频率信息和未归还设备列表信 息的管理。设备借出历史统计显示了一个设备所有的借出历史,便于跟踪设备的使用情况 如果设备出现问题,还可以顺藤摸瓜,查到谁有可能把设备弄坏了,从而找到设备损坏的 原因,便于及时修理。设备使用频率统计提供了设备借出次数的统计信息,如果一个设备 借出的非常频繁,那么企业可以

    4、考虑多购买这种设备,从而提高公司的效率。未归还设备 列表提供了尚未归还的设备信息,企业可以知道借出设备的使用情况。4.1.2功能模块设计从上面的功能描述中,可以把企业设备管理系统分为 3 个模块:设备库存管理、设备 借出归还管理和设备统计信息管理。在每一个模块下又提供了更为具体的功能。详细的企 业设备管理系统的功能模块图,如图 4-1 所示。图4-1 系统功能模块图4.2数据库设计与实现数据库设计的一个巧妙之处就是表的数量不能太多,逻辑层次也不能太多;否则 统的升级和维护将会非常困难。4.2.1数据库需求设计通过对系统功能的分析,企业设备管理系统需要包含以下数据库信息。1.设备信息包括设备编号

    5、、设备名称、设备描述、设备入库时间、设备购买人、设备借出状 设备借出ID 。2.设备借出信息包括设备借出ID、设备编号、借出人、借出时间和归还时间。4.2.2数据库表的设计通过数据库的需求,可以创建以下数据表。1.设备信息表(devicenfo_tab)表4-1 设备信息表字段名称数据类型可否为空device_code VARCHAR2(24) device_name VARCHAR2(24) description VARCHAR2(1000) oper_date DATE NOT NULL buyer VARCHAR2(24) NULL Len d_status INTEGER NULL

    6、len d_id INTEGER NULL 无设备信息表包含了设备的一些基本信息,还包括设备的借出信息,设备的库存管理和 设备的借出归还管理都需要操作这个数据表,表的结构见表 4-1。约束条件说 明NOT NULL 主键设备编号,要惟一NOT NULL 无设备名称NULL 无设备描述无设备入库时间无设备购买人无设备借出状态设备借出ID,借出ID是惟一的但可以为空2.设备借出信息表(device_lendnfo_tab)设备借出信息表包含了设备的借出和归还信息,设备借出、设备归还,以及统计信息 的管理都需要用到这个数据表,表的结构见表 4-2。表4-2 设备借出信息表字段名称数据类型可否为空约束

    7、条件说 明lend_id INTEGER NOT NULL 主键 借出 ID , ID 值从系列中获取 ) device_code VARCHAR2(24) NOT NULL 外键 (device_info_tab) 设备编号 borrower VARCHAR2(24) NOT NULL 无 借出人 borrow_date DATE NULL 无 设备借出时间 return_date DATE NULL 无 设备归还时间4.2.3数据库表的创建利用第3章中讲述的方法创建表空间 dbdevice和数据库用户 dbdevice,其中数据库用户的密码为 dbdevice,选择的默认表空间为 dbde

    8、vice。创建企业设备管理系统的所有数据表的 SQL 语句如下:-创建设备信息表CREATE TABLE device_info_tab( device_code VARCHAR2(24) NOT NULL, device_name VARCHAR(24) NOT NULL, description VARCHAR(1000) NULL, oper_date DATE NOT NULL,buyer VARCHAR2(24) NULL, lend_status INTEGER NULLCHECK (lend_status IN (0, 1), lend_id INTEGER NULL);-添加设

    9、备编号主键ALTER TABLE device_info_tabADD ( PRIMARY KEY (device_code) ) ;-创建设备借出信息表CREATE TABLE device_lend_info_tab( lend_id INTEGER NOT NULL, device_code VARCHAR2(24) NOT NULL, borrower V ARCHAR(24) NOT NULL, borrow_date DATE NULL, return_date DATE NULL);-添加借出 ID 主键ALTER TABLE device_lend_info_tabADD (

    10、PRIMARY KEY (lend_id) ) ;-添加设备编号外键ALTER TABLE device_lend_info_tabADD ( FOREIGN KEY (device_code)REFERENCES device_info_tab ) ;-创建可以递增的系列号供 lend_id 使用CREATE SEQUENCE seq_lend_id INCREMENT BY 1 START WITH 1 NOMAXV ALUE NOMINVALUE NOCYCLE;利用 Oracle SQLPlus WorkSheet 工具执行上述的 SQL 语句从而创建数据库表。需要说明的是,在打开 O

    11、racle SQLPIus Worksheet 的Oracle Enterprise Manager 登录”窗口的时候,需要在“用户名”文本框中输入企业设备管理系统的用户名 dbdevice,在“口令”文本框中输入用户密码 dbdevice,在“服务”文本框中输入数据库的本地服务名 ORADB,选择连接方式 Normal,登录成功后,再运行上述的 SQL语句。4.3系统的实现完成了系统功能模块的设计和数据库表的创建后,就可以创建一个企业设备管理系统。4.3.1创建应用程序运行Visual C+,选择File|New命令,弹出 New对话框。从 Projects列表中选择 MFC AppWiza

    12、rd(exe)向导,在 Location 文本框中选择项目工程的目录“ ,在Project name文本框中输入工程文件的名称 DeviceDBS,单击 OK按钮,进入 MFCAppWizard - Step 1页面,从应用程序的类型中选择 Dialog based选项,从语言列表中选择“中文仲国)(APPWZCHS.DLL) ”,单击 Finish按钮,DeviceDBS对话框的应用程序创建宀完毕。4.3.2创建主对话框的界面主对话框的布局如图 4-2所示。其中包括设备库存管理、设备借出归还管理和设备统计信息管理3个部分。图去:“企W设希口冒照腴”対沂杠3.设备库存管理控件类型、ID及说明见

    13、表 4-3。 表4-3 设备库存管理控件列表控件类型 ID 属 性 变量或函数Group Box IDC_STATIC 设备库存管理 Label IDC_STATIC 设备编号 无Label IDC_STATIC 购买人Label IDC_STATIC 入库时间Group Box IDC_STATIC 设备信息 无List Control IDC_LIST_DEVICE 无 列表框控件类型变量 m_listDevice4.设备借出归还管理 控件类型、 ID 及说明见表 4-4 。表 4-4 设备借出归还管理控件列表控件类型 ID 属 性 变量或函数Group Box IDC_STATIC 设备

    14、借出归还管理 无Label IDC_STATIC 请输入借书人 无Edit Box IDC_EDIT_BORROWER 无 CString 类型变量 m_strBorrowerLabel IDC_STATIC 请选择设备名称 无Combo Box IDC_COMBO_NAME 无 列表框控件变量 m_comboName ,CString 类型变 量m_strSelectedNameLabel IDC_STATIC 请选择设备编号 无Combo Box IDC_COMBO_CODE 无 列表框控件变量 m_comboCode , CString 类型变 量m_strSelectedCodeBut

    15、ton IDC_BTN_LEND 借出 函数 OnBtnLend () 处理设备借出管理Button IDC_BTN_RETURN 归还 函数 OnBtnReturn () 处理设备归还管理Group Box IDC_STATIC 借出信息 无List Control IDC_LIST_LEND 无 列表框控件类型变量 m_listLend5.设备统计信息管理 控件类型、 ID 及说明见表 4-5 。 表 4-5 设备统计信息管理控件列表 控件类型 ID 属 性 变量或函数Group Box IDC_STATIC 设备统计信息管理 无Button IDC_BTN_LEND_LIST 设备借出历

    16、史统计 函数 OnBtnLendList () 处理设备借出 历史统计Button IDC_BTN_FREQUENCY_LIST 设备使用频率统计 函数 OnBtnFrequencyList () 处理设备使用频率统计Button IDC_BTN_LENT_DEVICE 未归还设备列表 函数 OnBtnLentDevice () 处理未归 还设备统计Button IDC_SYS_EXIT 退出 函数 OnSysExit() 处理系统退出代码 主对话框类名称为 CDeviceDBSDlg ,资源 ID 为 IDD_DEVICEDBS_DIALOG ,对话框 名称为“企业设备管理系统” 。主界面用

    17、到了两个列表框控件分别显示设备信息和借出信息。 需要为这两个列表框控件添加显示的列,从而显示相应的数据信息。为了代码设计的清晰, 在 CDeviceDBSDlg 类中定义了一个 InitControl 私有函数负责添加控件的显示列, InitControl 函数的代码如下:void CDeviceDBSDlg:InitControl()/设置列表框控件扩展风格DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES |LVS_EX_HEADERDRAGDROP | LVS_EX_ONECLICKACTIV ATE | LVS_EX_UN

    18、DERLINEHOT;m_listDevice.SetExtendedStyle(dwExStyle);m_listLend.SetExtendedStyle(dwExStyle);/初始化设备信息列表框控件m_listDevice.InsertColumn(0, 设备编号 ,LVCFMT_CENTER,80); m_listDevice.InsertColumn(1, 设备名称 ,LVCFMT_CENTER,80);m_listDevice.InsertColumn(2, 设备入库时间 ,LVCFMT_CENTER,140);m_listDevice.InsertColumn(3, 设备购买

    19、人 ,LVCFMT_CENTER,80);m_listDevice.InsertColumn(4, 设备描述 ,LVCFMT_CENTER,200);/初始化议题列表框控件ID,LVCFMT_CENTER,80);m_listLend.InsertColumn(0, 借出m_listLend.InsertColumn(1, 设备编号 ,LVCFMT_CENTER,80); m_listLend.InsertColumn(2, 设备名称 ,LVCFMT_CENTER,80);m_listLend.InsertColumn(3, 借出人 ,LVCFMT_CENTER,80); m_listLend

    20、.InsertColumn(4, 设备借出时间 ,LVCFMT_CENTER,140);m_listLend.InsertColumn(5,设备归还时间 ,LVCFMT_CENTER,140);在 OnInitDialog 函数末尾处添加 InitControl 函数的调用,这样系统在启动的时候,就 可以看到已添加显示列的列表框控件。4.3.3显示数据到界面上 当系统启动之后,可以将数据库中的数据显示到界面上,需要处理数据库的连接和显 示数据到界面上的两个过程。1. 数据库的连接 数据库的连接需要 3 个参数: ODBC 数据源名称、数据库用户名称和数据库用户密码。其中数据源名称为 ORADB

    21、,数据库用户的名称和密码均为 dbdevice。考虑到读者配置的数据源和用户名可能不一样,可以从配置文件中获取这些参数信息,配置文件的格式如下: General数据库数据源 =oradb数据库用户 =dbdevice数据库密码 =dbdevice把这段文字保存为 DeviceDBS.ini 文件,可以根据读者自己配置的数据源、数据用户 和密码修改文件中的相应设置,并把 DeviceDBS.ini 文件放在 DeviceDBS.exe 运行程序的 同一目录下。在 CDeviceDBSDlg 类中定义了一个私有类型的 ConnectDB 函数,处理数据库的连接, 代码如下:void CDevice

    22、DBSDlg:ConnectDB()char szPath255;/获取应用程序完全路径:GetModuleFileName(NULL,szPath,255); CString strFileName = szPath;/ 获取所在的目录名称strFileName.Delete(strFileName.ReverseFind( )+1,strFileName.GetLengt h ()-strFileName.ReverseFind( -)1);/构造配置文件的完全路径strFileName += DeviceDBS.ini;TCHAR sz101;memset(sz,0,sizeof(TCH

    23、AR)*101);/获取配置文件中数据库数据源的值 ,如果没有 ,默认值为 oradb),_T(dbdevice),sz,100,strFileName);CString strPwd(sz);/创建连接字符串CString strConnect; strConnect.Format(DSN=%s;UID=%s;PWD=%s,strSource,strUser,strPwd); /打开数据库的连接 ,并且捕获异常TRY m_db.OpenEx(strConnect,CDatabase:noOdbcDialog);CATCH(CDBException,ex)AfxMessageBox (ex-m

    24、_strError);AfxMessageBox (ex-m_strStateNativeOrigin);AND_CATCH(CMemoryException,pEx)pEx-ReportError();AfxMessageBox (memory exception);AND_CATCH(CException,e)TCHAR szError100;e-GetErrorMessage(szError,100);AfxMessageBox (szError);END_CATCHInitCtrlData();函数 ConnectDB 利用系统的 GetPrivateProfileString 函数从

    25、文件中获取数据库的配置参数, GetPrivateProfileString 函数的原型如下:DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefault,LPTSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName);其中第1个参数是 Section的名称,对应 DeviceDBS.ini文件中的 General,即中括号所包含的内容 General;第2个参数是键的名称,如 DeviceDBS.ini文件中的“数据库数据源”、“数据库用户

    26、”和“数据库密码” ;第 3 个参数是默认值,如果没用成功获得键值,那 么就取 lpDefault 代表的数据;第 4 个参数是保存键值的缓冲区;第 5 个参数是缓冲区的 大小;第 6 个参数是文件的完全路径。由于第 6 个参数需要获取文件 DeviceDBS.ini 的完全路径,因而需要利用系统的GetModuleFileName 函数先获取应用程序 DeviceDBS.exe 所在的路径 (因为 DeviceDBS.ini文件和应用程序 DeviceDBS.exe 在同一目录下 ),然后构造配置文件 DeviceDBS.ini 的完全 路径。当从文件中获取到数据库配置参数之后,就可以创建数

    27、据库连接字符串,利用CDatabase 的 OpenEx 方法打开数据库的连接,并处理数据库的异常。2. 显示数据到界面上 连接数据库之后,需要把数据库中的设备信息显示到设备信息列表框控件中,并刷新 借出归还管理中的设备名称和设备编号两个列表框中的显示数据。因而在 CDeviceDBSDlg类中定义了一个 InitCtrlData 私有函数,负责显示这些数据。同时还定义一个RefreshComboNameData 函数,根据数据库的最新数据刷新借出归还管理中的两个列表框 的数据。在对设备信息添加、修改和删除之后都需要调用 RefreshComboNameData 函数来 更新列表框中的显示数据

    28、。同时还需要定义两个分别把数据插入到列表框控件中的函数, 分别为: InsertDeviceInfoItem 和 InsertLendInfoItem 。在连接数据库成功之后,不需要显示 借出信息,因为比较多,也不是很重要,只需在借出和归还成功之后显示借出信息。在 DeviceDBSDlg.h 文件中添加这 4 个私有函数的定义,代码如下:/从数据库获取设备信息并更新到控件中void InitCtrlData();/更新设备名称和设备编号列表框的信息void RefreshComboNameData();/向设备信息控件中添加信息void InsertDeviceInfoItem(CStrin

    29、g code, CString name, CString date, CStringbuyer, CString description);/向借出信息控件中添加借出信息void InsertLendInfoItem(int id,CString code,CString name,CString borrower,CString lendDate,CString returnDate); 向设备信息列表框控件中添加设备信息的函数是 InsertDeviceInfoItem ,代码如下: void CDeviceDBSDlg:InsertDeviceInfoItem(CString code

    30、, CString name, CString date, CString buyer, CString description) / 获取当前的记录条数 .int nIndex = m_listDevice.GetItemCount();LV_ITEM lvItem;lvItem.mask = LVIF_TEXT ;lvItem.iItem = nIndex; /行数lvItem.iSubItem = 0;lvItem.pszText = (char*)(LPCTSTR)code; / 第一列/在最后一行插入记录值 .m_listDevice.InsertItem(&lvItem);/设置该

    31、行的其他列的值 .m_listDevice.SetItemText(nIndex,1,name);m_listDevice.SetItemText(nIndex,2,date);m_listDevice.SetItemText(nIndex,3,buyer);m_listDevice.SetItemText(nIndex,4,description);向借出信息列表框控件中添加借出信息的函数是 InsertLendInfoItem ,代码如下:void CDeviceDBSDlg:InsertLendInfoItem(int id,CString code,CSt name,CString borrower,CString lendDate,CString returnDate)/获取当前的记录条数 .int nIndex = m_listLend.GetItemCount();LV_ITEM lvItem;lvItem.ma


    注意事项

    本文(企业设备管理系统.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开