- 424.50 KB
- 2022-05-17 11:03:57 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
某研究所设备管理系统的开发摘要以研究所的设备管理系统为背景,以研究所设备管理模式为研究对象,开发了设备管理系统。设备管理系统是设备管理与计算机技术相结合的产物,根据系统的功能需求分析与定义的数据模式,分析了应用程序的主要功能和系统实现的主要技术。系统主要包括后台数据库的开发和前端应用程序的开发两个方面。考虑了当前设备管理的相关问题,探讨了系统实现的主要相关技术:如数据库技术、C#等。该系统考虑了实际开发的设备管理系统的开发环境、系统流程,主要完成设备类型管理、设备查询、设备档案管理、用户类型管理、用户档案管理,设备征订,设备借用,设备罚款,设备归还以及相应的数据修改,添加,修改等功能。关键词:管理系统;设备流通;设备管理;用户管理
TheDesignandImplementationoftheEquipmentManagementSystemforInstituteofInformationSecurityAbstractBasedontheprojectoftheequipmentmanagementsystem,takingtheenterpriseequipmentmanagementmodelastheresearchobjects,thecomputer-aidedsystemoftheequipmentmanagementisdeveloped.Theequipmentmanagementsystemissuchasystemthatcombinestheequipmentadministrationmethodwithcomputertechnique.Frombuildingthesystemarchitectureandanalyzingthefunctionrequirementofthesystem,discussedthemainfunctionoftheapplicationprogramandthekeytechniquetoimplementthesystem.Thesystemconsistsoftwoaspects,theestablishmentofdatabaseandthedevelopmentofforegroundapplication.Therelativetechniqueandthemainproblemexistedinthesystemaretakenintoaccount.Thekeytechniquetoimplementthesystem,includingdatabaseandC#isdescribed.Thepracticalsystemenvironmentanddataflowareconsideredindevelopment.Manyfunctionsmodelareimplementedinthesystem,suchasequipmenttypemanagement,equipmentselection,equipmentfilemanagement,usertypemanagement,userfilemanagement,equipmentsubscribing,equipmentborrowing,equipmentpenalty,equipmentreturnandthefunctionoftheverydataimputing,dataappended,datadelete,datamodifyandsoon.KeyWords:Managementsystem;Equipmentcirculator;Equipmentmanagement;Usersmanagement
目录论文总页数:23页1引言11.1设备管理系统概述11.1.1使用设备管理系统的意义11.1.2设备管理系统的种类11.1.3设备管理系统发展趋势11.2设计的背景和意义21.2.1选题来源及设计的意义21.2.2论文主要设计内容22系统功能需求分析和设计要求32.1系统功能需求32.2系统性能要求33系统总体设计33.1系统结构设计33.2数据库设计33.2.1数据库关系E-R图33.2.2用户管理43.2.3设备管理53.2.4流通管理63.3其他设计74系统运行环境与开发环境84.1开发环境84.1.1软件环境84.1.2硬件环境84.2开发平台选择概述84.2.1.NET开发平台84.2.2C#编程语言84.2.3SQL数据库95程序界面及功能设置95.1主界面95.2用户管理115.3设备管理135.4流通管理15
6系统测试20结论20参考文献21致谢22声明23
1引言1.1设备管理系统概述1.1.1使用设备管理系统的意义随着计算机技术的迅猛发展以及Internet进入商业和社会应用阶段,设备的种类、数量越来越多,如何利用先进的网络技术和日新月异的计算机设备来有效地收集、处理这些设备,建立以信息化为核心的管理体制,减轻管理人员和业务人员的数据处理负担,极大地提高设备管理效率和管理手段,己经成为当今社会的潮流。在现代化大型研究所信息化管理体系建设中,设备管理系统被看作是重中之重。因为设备是工厂生产中的主体,随着科学技术的不断发展,生产设备日益机械化、自动化、大型化、高速化和复杂化,设备在现代工业生产中的作用和影响也随之增大,在整个工业生产过程中对设备的依赖程度也越来越高。设备管理的各项制度、流程涉及的点多面广。设备管理系统则是一个以人为主导,利用计算机硬件、软件、网络设备通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以战略竟优、提高效率为目的,支持高层决策、中层控制、基层运作的集成化的人机系统。而设备管理是管理系统的一个子系统,它具有管理信息系统的共性,同时也具有其特殊性。设备是生产的生命线,对研究所正常生产起着决定性的作用。信息安全设备管理已成为现代研究所管理的一个重要组成部分。把信息安全设备管理纳入研究所管理的重要组成部分己经成为一种趋势。设备管理系统(EquipmentManagementSystem)是将信息化了设备技术信息与现代化管理相结合,是实现研究级管理信息化的先导。设备管理软件是设备管理模式与计算机技术结合的产物,设备管理的对象是研究所中各种各样的设备。1.1.2设备管理系统的种类设备管理系统按系统体系结构可分为三类(1)面向工作站(单机)的系统;(2)客户机/服务器(Client/ServerC/S)结构系统;(3)浏览器/服务器(Browser/ServerB/S)结构系统。1.1.3设备管理系统发展趋势第20页共23页
当代设备的技术进步飞快,朝着集成化、大型化、连续化、高速化、精密化、自动化、流程化、综合化、计算机化、超小型化、技术密集化的方向发展。先进的设备与落后的维修能力的矛盾将日益严重地困扰着研究所,成为前进的障碍,对于设备管理现代化的要求也就益迫切。总的说来设备管理系统发展趋势有以下:标准化通用化,智能化,网络化,集成化,实用化。1.1设计的背景和意义1.1.1选题来源及设计的意义本次设计的信息安全研究所的设备管理系统,对设备管理系统进行了研究,并开发了一套设备管理系统。其中工作的重点是系统的设计以及具体代码的实现。本文主要是对设备管理系统的用户与设备管理,设备流通等问题进行设计,通过对本系统的开发和应用可以:1.提高工作效率,缩短管理周期,提高管理效率。利用先进的信息技术来取代过去手工或半手工方式管理的状况,毕竟与过去的手工方式相比计算机在管理方面具备极大的优越性;2.可以使设备管理系统运行得更为方便和快捷,从而为有效降低成本创造条件;3.可以完善管理流程。系统的开发,促使对现行的业务操作流程、管理制度和其他相关基础管理工作进行必要的修改、完善与补充,使之更为合理化、科学化和系统化。因此,本次设计不仅具有理论价值,而且对促进制造设备信息化的发展、推动信息化产业的发展还具有一定的现实意义。1.1.2论文主要设计内容此次设计题目在经过一定的调查和分析的基础上确定了设备管理系统现有的主要业务流程及功能需求,并根据业务流程的特点设计了系统的整体功能框架结构。在系统的开发上采用了当今比较成熟的模式体系。论文共分五章,主要研究内容如下:第一章在介绍设备管理基本概念的基础上,总结了设备管理的含义和意义,设备管理系统的种类,阐述了设备管理存在的问题,指出了设备管理的发展趋势,说明了选题的来源以及设计的意义。第二章介绍了设备管理系统的功能需求分析和可行性研究。第三章介绍了设备管理系统的设计要求,对技术方案选择作了说明,重点阐述了所设计系统的结构和功能。第四章说明了设备管理系统的运行环境和开发环境要求,以是运行实例介绍了设备管理系统主要功能界面,展现了主界面、用户管理等功能界面。第20页共23页
1系统功能需求分析和设计要求1.1系统功能需求设备管理系统的功能只在具体实现上与研究所的设备管理模式密切相关,总体目标主要是管理设备的各种基本属性数据和设备生命周期中的各种技术档案,改变目前设备资料的管理方式,系统完成日常的查询,统计等各种工作,实现资料电子化管理,把技术人员从大量复杂的统计,汇总等各种工作中解脱出来,实时、准确地为管理人员提供各种数据支持,为决策提供依据,减少决策的盲目性,减少失误。具体地,本文主要体现在以下几个方面:1.设备的管理:包括设备的类型、设备的借用时间、设备是否在库、设备的修改、删除及查询的处理等;2.用户的管理:包括用户的姓名,证件,借用日期和归还日期,用户借用设备的权限(这一部分有些功能是预留的待开发功能模块)等操作;3.设备的流通管理:包括设备征订,设备借用,设备归还,逾期清单,设备罚款等操作。1.2系统性能要求在进行系统设计时,必须充分考虑系统的性能需求。主要包括:1.高效性:设备管理的特点是信息量大,而且各部门之间的信息相互关联、相互借用,因而必须采取有效的措施保证系统的高效率。2.可靠性:采用成熟的技术保证系统运行正常。3.灵活性和适应性:不仅体现在对于不同软硬件平台的适应性,而且还包括对于不同管理模式的适应性,例如新增一类设备时,自动适应新设备的相应管理操作,而不必修改程序,不需要修改系统的结构。4.安全性:对不同的用户借用设备的时间和权限进行设置,采取适当的数据库恢复策略,保证系统在遭受意外故障时损失最小。5.正确性:要保证所有数据的安全、唯一、一致性,确保统计结果正确、及时、有效。2系统总体设计2.1系统结构设计根据对系统要求完成的功能,将系统的功能模块设计为如图1所示。2.2数据库设计2.2.1数据库关系E-R图2.2.2用户管理第20页共23页
1.1.1设备管理设备档案信息一般包括:条形码,编号,设备名,类型,是否在库,公司,批号,加工厂,价格,重量,仓库名称等18个信息项,但在设计数据库时,我们要采用关系型数据库,且其他模块的一部分数据要从这数据中取得,因此我们对本模块的数据表设计要认真处理,其从表的设计也要仔细,设计表如下:1.设备信息管理包含所有设备的条形码,编号,设备名,类型,是否在库,公司,批号,加工厂,价格,重量,仓库名称,现存量等,相关设置如表3所示:表3设备信息列名类型长度允许空值列名类型长度允许空值条形码Varchar40是重量Int4是编号(key)Varchar50否仓库名称Varchar200是设备名Varchar200是现存量Int4是类型Varchar100是库存总量Int4是是否在库Varchar100是入库时间Smalldatetime4是公司Varchar100是操作员Varchar20是批号Varchar40是简介Varchar100是加工厂Varchar100是借出次数Int4是价格Money是是否注销Bit1否2.设备类型包含设备的类型编号,类型名称,可借天数,相关设置如表4所示:表4设备类型列名类型长度允许空值类型编号(key)Varchar50否类型名称Varchar100是可借天数Int8是1.1.2流通管理设备征订,设备借用,设备归还,逾期清单,设备罚款等模块的表设计与前面的表相识,而且有一定的联系,并且逾期清单和设备归还公用一张表,以此来清楚看出哪些设备未归还,表如下:1.设备征订包含征订编号,设备编号,订购者,订购者联系方式,订购数量,验收日期,订购单价,订购日期,是否验收,操作员,相关设置如表5所示:表5设备征订第20页共23页
列名类型长度允许空值列名类型长度允许空值征订编号(key)Varchar50否验收日期Smalldatetime4是设备编号Varchar50否订购单价Money是订购者Varchar100是订购日期Smalldatetime4是订购者联系方式Varchar100是是否验收Bit2是订购数量Int8是操作员Varchar20是2.设备归还包含归还编号,设备编号,用户编号,退还押金,归还时间,操作员,确定归还,相关设置如表6所示:表6设备归还列名类型长度允许空值列名类型长度允许空值归还编号(key)Int8否归还时间Smalldatetime4是设备编号Varchar50是操作员Varchar20是用户编号Varchar40是确定归还Bit2是退还押金Money是3.设备借用包含借用编号,设备编号,用户编号,借用时间,应还时间,续借次数,操作员,状态,相关设置如表7所示:表7设备借用列名类型长度允许空值列名类型长度允许空值借用编号(key)Int8否应还时间Smalldatetime4是设备编号Varchar50是续借次数Int8是用户编号Varchar40是操作员Varchar20是借用时间Smalldatetime4是状态Varchar10是4.设备罚款包含罚款编号,设备编号,用户编号,罚款日期,应罚金额,实收金额,是否交款,备注,相关设置如表8所示:表8设备罚款列名类型长度允许空值列名类型长度允许空值罚款编号(key)Int8否应罚金额Money是设备编号Varchar50是实收金额Money是用户编号Varchar20是是否交款Bit2是罚款日期Smalldatetime4是备注Varchar100是1.1其他设计由于设备管理系统涉及工作流、第20页共23页
数据存储等多方面的问题,所以在实现时数据库上采用以设备编号信息为核心,辅以每个环节的流程跟踪和流水账记录;功能上采用以设备管理的流程为基础划分阶段,每个阶段又划分成功能相对独立的若干模块,将功能模块分配给不同操作用户,实现了整个研究所管理系统。在具体实现时,在下述等方面作了考虑:借还设备日期计算的实现:本系统在设备类型管理模块可以设置不同类型的设备借用时间,在设备借用的时候,系统会自动调用当前的时间,以此时间为借设备的时间,然后由当前时间往后延长在类型模块设置的可借用时间为设备归还的时间,在归还时以当前日期与应当归还日期进行比较看是否超期,如果超期责会进行罚款。关于设备限借实现:在设备限借方面,一般系统仅提供了一般设备的限借,系统的灵活性的到了限制,如XXX用户想多借几台设备就无法实现了,更何况一般设备里包含又许多种类型,如交换设备和服务设备等。为了实现系统能灵活地连接,本系统里采用一个表来实现限制。例如现在研究所里就可以对一般设备地借用数量和类型进行限制,研究生可以借7台,教师可以借10台,本科生可以借5台,一般用户只能借1台,而且可以由操作员自行添加与修改借用的数量与类型限制。1系统运行环境与开发环境1.1开发环境1.1.1软件环境本系统程序数据服务安装在WindowsXP操作系统上,采用Sqlserver2005服务数据库,整个程序的开发是在MicrosoftVisualStudio.NET2005下开发的。1.1.2硬件环境CPUCeleron1.5G、内存768M、显卡64M、硬盘80G。1.2开发平台选择概述在这次的毕业设计题目中,选择了.NET开发平台,以及支持该结构的最佳编程语言C#,后台使用SQLserver数据库,下面就对这次的开发平台做一个简单的介绍:1.2.1.NET开发平台.NET是Microsoft的用以创建XMLWeb服务(下一代软件)平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。借助于.NET平台,可以创建和使用基于XML的应用程序、进程和Web第20页共23页
站点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。.net的开发工具主要是VisualStudio.net,现在流行的版本是VisualStudio.net2003,最新是VisualStudio.net2005,本系统采用的就是最新的2005版本。1.1.1C#编程语言C#是一种先进,面向对象的语言,通过C#可以让开发人员快速的建立大范围的基于MS网络平台的应用,并且提供大量的开发工具和服务帮助开发人员开发基于计算和通信的各种应用。由于C#是一种面向对象的开发语言,所以C#可以大范围的适用于高层商业应用和底层系统的开发。即使是通过简单的C#构造也可以各种组件方便的转变为基于WEB的应用,并且能够通过Internet被各种系统或是其他开发语言所开发的应用调用。此外C#还拥有许多其他特性使自己成为最出色的Internet开发工具。例如,XML目前已经成为网络中数据结构传送的标准,为了提高效率C#将允许直接将XML数据映射成为结构。这样的话可以有效的处理各种数据。1.1.2SQL数据库SQLServer是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQLServer的接口。SQLServer是一个关系数据库管理系统,它最初是由Microsoft、SybaseAshton-Tate三家公司共同开发的。SQL(StructuredQueryLanguage,结构化查询语言)是关系数据库的标准语言,是介于关系代数和关系演算之间的一种语言,当然它是一个功能强大的数据库语言。SQL语句可以从关系数据库中获得数据,也可以建立数据库、增加数据、修改数据。SQLserver的特点是OS需求低,网络成本低,功能与速度的显著提高,操作简单,能够集中管理分布式服务器。本次设计就考虑到设备信息管理的实际情况,使用于设备的管理,能够很好的解决管理员与用户的关系。检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高设备管理的效率,也是图书馆的科学化、正规化管理,与世界接轨的重要条件。同时,本系统能够进行全查询、模糊查询等方便的特性。采用本系统能够极大提高了工作人员的工作效率,大大减少了以往出入库流程繁琐,杂乱,周期长的弊端。基于设备管理的全面自动化,可以减少管理中的漏洞,可以节约不少管理开支。第20页共23页
数据库设计是整个程序设计的最关键部分,数据库的设计是否合理,将对数计,而在设计数据库前必需对所要完成的功能进行认真的研究分析,下面介绍数据库逻辑结构设计。1程序界面及功能设置1.1主界面此界面的主要功能是提供所有其他界面的激活功能,界面如图3所示:在这个界面,可以通过连接进入到其他各个功能模块,具体实现如下://----------------------查询MDI子窗体是否存在--------------------------privateboolcheckChildFrmExist(stringchildFrmName){foreach(FormchildFrminthis.MdiChildren){if(childFrm.Name==childFrmName){//用Name判断,如果存在则将他激活if(childFrm.WindowState==FormWindowState.Minimized)childFrm.WindowState=FormWindowState.Normal;childFrm.Activate();图3信息安全研究所设备管理系统主界面returntrue;}}returnfalse;}privatevoidmenuItem2_Click(objectsender,System.EventArgse){//通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个if(this.checkChildFrmExist("ReaderClassify")==true){return;}ReaderClassifynewFrm=newReaderClassify();newFrm.MdiParent=this;newFrm.Show();}在调用其他界面之前,首先要连接数据库。原程序如下:tringstrConn=@"Data第20页共23页
Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|libbook.mdf;IntegratedSecurity=True;ConnectTimeout=30;UserInstance=True";SqlConnectioncn=newSqlConnection(strConn);cn.Open();SqlCommandcmd=cn.CreateCommand();对于数据库来说,Connection对象是唯一与外界沟通的管道,负责应用程序与数据库服务器实际的链接操作,所以所有对数据库做处理的操作,例如Command数据库之间的沟通都必须依赖与Connection对象。Cn的含义是定义了一个变量,用来存放数据库连接所创建的对象。Cn.open()则真正实现了数据库的连接。在对数据库操作完后,一定要用Close方法关闭Connection对象与数据库的链接,使用该方法时会切断Connection对象与数据库之间的传送通道,并且所有依赖该Connection对象的Command对象都会立即被切断关联;在使用Close方法切断Connection对象与数据库之间的链接之后,可以调用Open方法再次打开该对象;如果Connection对象与数据库正在进行事物处理,那么调用Close方法会造成执行上的错误且所有未完全更新的数据将会丢失,同时Command对象也会自动关闭且丢失相关未更新数据。1.1用户管理1.用户类别设置:用户类别设置包括了用户的不同类型,用户类型查询,显示全部用户类型,添加新的用户类型,删除用户类型,用户借设备的各种限制。添加用户类型时,为了减少数据的复杂,如果所添类型在数据库中已有,则不在数据库中重复记录。当然在数据库中如果没有该用户类型就记录该类型到数据库中。添加类型信息包括:用户类型,可借设备数,可借特殊设备数,续借次数,借用范围,如图4所示。具体实现如下:第20页共23页
图4用户类别设置界面if(e.Button.ToolTipText=="新增"){cmOrders.AddNew();txt2.Text="用户类别";txt3.Text="1";txt4.Text="1";txt5.Text="1";SetModifyMode(true);}if(e.Button.ToolTipText=="修改"){SetModifyMode(true);}if(e.Button.ToolTipText=="删除"){DialogResultresult=MessageBox.Show("确认删除?","删除数据",MessageBoxButtons.OKCancel);if(result==DialogResult.OK)if(cmOrders.Count>0){//立即从数据集中删除cmOrders.RemoveAt(cmOrders.Position);da1.Update(dataSet11);}1.用户档案管理:第20页共23页
用户档案管理包括了用户编号,姓名查询,显示全部用户,添加用户信息,删除用户信息。添加一个新的用户信息时,为了减少数据的复杂,如果所添用户信息数据库中已有则不再数据库中重复记录。当然在数据库中如果没有该用户信息则记录该信息到数据库中。添加用户信息包括:编号,姓名,性别,类型,出生日期,有效证件,证件号码,联系方式,登记日期,有限期至,操作员,备注,设备借用次数,特殊设备借用次数,是否挂失,如图5所示:具体实现如下:intmaxID=1;//计算新编号objectresult=cmd.ExecuteScalar();if(result!=System.DBNull.Value){maxID=Convert.ToInt32(result)+1;}intlength=maxID.ToString().Length;switch(length){case1:txt5.Text="000"+maxID.ToString();break;case2:txt5.Text="00"+maxID.ToString();break;case3:txt5.Text="0"+maxID.ToString();break;图5用户档案管理界面case4:txt5.Text=maxID.ToString();break;}cmb2.SelectedIndex=0;//选择默认类型}第20页共23页
1.1设备管理1.设备类别设置:设备类别设置分类按照所属类型进行分类:交换设备,服务器,安全性设备,传输,其他设备。可以进行设备设置,更改设备类型名称,可以借用的天数,类型编号,如图6所示:图6设备类别设置界面具体实现如下:intmaxID=1;//计算新编号objectresult=cmd.ExecuteScalar();//返回查询中返回的第一行第一列if(result!=System.DBNull.Value){maxID=Convert.ToInt32(result)+1;}intlength=maxID.ToString().Length;//数值转字符switch(length){case1:txt3.Text="00"+maxID.ToString();break;case2:txt3.Text="0"+maxID.ToString();break;case3:txt3.Text=maxID.ToString();break;}txt4.Text="1";//设置默认可借天数}2.设备档案管理:第20页共23页
设备档案管理包括了设备类型,查询设备,显示全部设备,添加设备类型,删除设备分类以及设备信息。添加设备时,为了减少数据的复杂,如果所添加设备在数据库中已有则不再在数据库中重复记录。当然在数据库中如果没有该设备就记录该设备到数据库中。添加设备信息包括:设备编号,设备名,类型,是否在库,公司,批号,加工厂,价格,重量,仓库名称,现存量,库存总量,入库时间,操作员,简介,借出次数,是否注销,如图7所示:图7设备档案管理界面具体实现如下:cmOrders=(CurrencyManager)BindingContext[dataSet11,"设备信息"];//设置【加工厂】,【仓库名称】,【类型】三个下拉列表框设置下拉列表setCombo("selectdistinct类型名称from设备类型",cmb1);setCombo("selectdistinct加工厂名称from加工厂",cmb2);setCombo("selectdistinct仓库名称from仓库",cmb3);}intmaxID=1;//计算新编号objectresult=cmd.ExecuteScalar();if(result!=System.DBNull.Value){maxID=Convert.ToInt32(result)+1;}intlength=maxID.ToString().Length;switch(length)//生成新的编码{case1:txt5.Text=""+maxID.ToString();break;case2:txt5.Text="00000"+maxID.ToString();break;case3:txt5.Text="0000"+maxID.ToString();break;case4:txt5.Text="000"+maxID.ToString();break;case5:txt5.Text="00"+maxID.ToString();break;第20页共23页
case6:txt5.Text="0"+maxID.ToString();break;}}1.1流通管理1.设备征订:设备征订可以对已有的设备进行征订,通过设备编号来进行征订,征订编号从以被征订的编号开始算起,依次往后加一位,实现顺序排列,如图8所示。具体实现如下://-----------显示设备编号时同时显示设备名称--------------privatevoidtxt4_TextChanged(objectsender,System.EventArgse){if(txt4.ReadOnly==false||txt4.Text.Trim()==""){return;}//------------调出设备选择窗体,选择设备-------------privatevoidcmb1_DropDown(objectsender,System.EventArgse){cmb1.Text="";//清空原有设备名Selectequipnewfrm=newSelectequip();//调出新窗口选择设备newfrm.Text="双击表格选择设备";newfrm.ShowDialog();txt4.Text=equipID;//读入选择的设备信息图8设备征订界面cmb1.Text=equipName;}//-----------调用储存过程,提交设备征订----------privatevoidbtnSusbribe_Click(objectsender,System.EventArgse){第20页共23页
SqlCommandcmd=cn.CreateCommand();cmd.CommandText="execsf_设备征订";try{cmd.ExecuteNonQuery();dataSet11.设备征订.Clear();//刷新数据集da1.SelectCommand.Parameters[0].Value="%";da1.SelectCommand.Parameters[1].Value="%";da1.Fill(dataSet11);return;}在这个征订界面中还有嵌入了另外一个查询选择界面,从这个选择界面里面可以选择要进行征订的设备,如图9所示:具体实现如下://-------------双击选择设备-----------------privatevoiddataGrid1_DoubleClick(objectsender,System.EventArgse){intcurRow=dataGrid1.CurrentCell.RowNumber;equipSubscribe.equipID=dataGrid1[curRow,0].ToString();equipSubscribe.equipName=dataGrid1[curRow,1].ToString();this.Close();}图9设备选择界面2.设备借用:第20页共23页
设备借用模块用户可以借用需要的设备,管理员输入用户号的条形码或编号,然后系统自动调出用户的信息,操作员再输入设备的编号或条形码就可以得到需要借用的设备。点击确定就可以借用该设备。如果点取消借设备则借设备不成功。如果再输入了设备编号而未确定是否借设备就点击退出,系统会提示有设备正在借用,退出无法保存。相同的设备只能借用一次,如果再次输入同样的设备编号系统会提示此设备以借用。如果输入的编号无对应的设备,系统也会提示,如图10所示。具体实现如下:图10设备借用界面if(rbt1.Checked)//判断根据编号查询用户信息还是根据条形码{cmd.CommandText="selecta.姓名,a.类型,b.设备数量,a.编号from用户信息a,用户类型b"+"where(a.类型=b.类型)and(a.编号=""+txt1.Text.Trim()+"")";}else{cmd.CommandText="selecta.姓名,a.类型,b.设备数量,a.编号from用户信息a,用户类型b"+"where(a.类型=b.类型)and(a.条形码=""+txt1.Text.Trim()+"")";}SqlDataReaderdr=cmd.ExecuteReader();//执行查询,并读入用户数据dr.Read();return;}//--------------按回车借设备---------------privatevoidtxt5_KeyPress(objectsender,System.Windows.Forms.KeyPressEventArgse){if(e.KeyChar==13&&txt5.Text.Trim()!="")//获取与按下键相同的字符{this.borrowequip();//用户借设备}}//------------用户借设备-------------privatevoidborrowequip(){if(this.totalCount>=Convert.ToInt32(txt4.Text.Trim()))//如果借设备达到上限,则不允许再借{MessageBox.Show("已经达到最大借设备数量,请先归还设备后再借设备","借设备数量达到上限",MessageBoxButtons.OK,MessageBoxIcon.Information);第20页共23页
groupBox2.Enabled=false;return;}{cmd.CommandText="select编号,设备名,加工厂,价格,类型from设备信息where编号=""+txt5.Text.Trim()+""";}//计算归还时间intdays=Convert.ToInt32(cmd.ExecuteScalar());DateTimereturnTime=System.DateTime.Now.AddDays(days);//获取当前时间aRow["应还时间"]=returnTime.ToString();tblequips.Rows.Add(aRow);//增加新借设备记录totalCount++;}3.逾期清单:模块的主要功能是看到哪些用户的设备逾期了,如图11所示:具体实现如下:privatevoidOverdueequip_Load(objectsender,System.EventArgse){da1.SelectCommand.Parameters[0].Value="%%";da1.SelectCommand.Parameters[1].Value="%%";da1.SelectCommand.Parameters[2].Value="%%";da1.Fill(dataSet21);}图11逾期清单界面4.设备归还:在设备归还模块中,用户可以归还已经借用的设备,如图12所示。具体实现如下:intoverDays=365*(System.DateTime.Now.Year-rTime.Year)+System.DateTime.Now.DayOfYear-rTime.DayOfYear;//计算过期天数//根据过期天数计算罚金,台实例中定为每天.2元decimalfee=(decimal)0.2*overDays;return(fee);}第20页共23页
图12设备归还界面5.设备罚款:设备罚款模块提供了一个罚款平台,但用户的设备借用逾期时,就会进行相应的罚款,如图13所示。具体实现如下://-----------收取罚款-----------privatevoidbtnPenalty_Click(objectsender,System.EventArgse){if(txt4.Text.Trim()==""){MessageBox.Show("请输入实收罚款金额","输入金额",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}第20页共23页
图13设备罚款界面decimalmoney=Convert.ToDecimal(txt4.Text.Trim());//应收罚款金额stringpenaltyID=dataGrid1[dataGrid1.CurrentCell.RowNumber,0].ToString().Trim();//罚款记录编号1系统测试本系统已经在个人计算机上经过连接测试,数据表测试,系统各个功能模块测试,系统的总体测试,测试结果各项功能均已经或基本达到设计要求。1.所有界面都可以通过主界面来连接,系统中无孤立的界面;2.可以填写各种数据,并提交数据;3.所有操作都是通过管理员来操作,提高了系统的安全性和可维护性;结论本设计实现了设备管理系统,并实现了设备管理系统的总体框架。对系统进行全面的分析,包括系统总体结构、规划、功能分析,数据分析。主要完成了设备类型管理、设备查询、设备档案管理、用户类型管理、用户档案管理,设备征订,设备借用,设备罚款,设备归还以及相应的数据修改,添加,修改等功能。本系统如果深入扩展可以做的规模庞大,数据信息错综复杂。由于在系统开发中主要是数据库设计和界面设计,加之经验不足,有些功能还需要进一步完善。第20页共23页
参考文献[1]方睿,刁仁宏,吴四九.数库原理及应用[M].成都:四川大学出版社,2005.8。[2]赵青松,卿瑞.c#语言与程序设计[M].北京:中国水电出版社,2002.4。[3]郑宇军.c#2.0程序设计教程[M].北京:清华大学出版社,2005.12。[4]王永毅.管理信息系统设计与实现[M].北京:清华大学出版社,2003.5。[5]刘烨,吴中元.c#编程及应用程序开发教程[M].北京:清华大学出版社,2005.12。[6]孙永强,王乔.Visualc#.net应用程序设计[M].北京:清华大学出版社,2005.11。[7]SimonRobinson.c#高级编程[M].北京:清华大学出版社,2005.3。第20页共23页