某公司办公用品管理系统课程_第1页
某公司办公用品管理系统课程_第2页
某公司办公用品管理系统课程_第3页
某公司办公用品管理系统课程_第4页
某公司办公用品管理系统课程_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

48/48餐管理系统摘要本设计的越野车公司办公用品管理系统是为了更好,更方便的让公司办公办公用品的采购发放等信息。此系统主要包括用品采购,用品管理,报表查询,参数设置,系统管理等几个大模块。每个大模块又分成了几个小的模块,此系统的与众不同之处在于其拥有强大的报表查询打印统计功能,运用了rdlc作为报表开发报表。rdlc具有方便性和灵活性的特点,能开发出各种不同形式的报表。使用rdlc这也大大降低了程序的开发成本。在开发此系统时首先对所要设计的容作了详细的准备,分析系统功能,确定基本框架。再建立相应数据库表结构,最后再开始编码。系统功能的实现,大大提高了公司办公用品管理的合理性以与效率性。经过分析,我们使用MICROSOFT公司的MicrosoftVisualStudio2010作为开发工具和SqlServer2005作为数据库,使用其中的c#语言作为编程语言。MicrosoftVisualStudio提供了非常方便的编程方式.c#作为一门面向对象的编程语言,总结起来其主要特点可以是,简单、现代、面向对象、类型安全、版本控制、兼容、灵活。关键词:越野车公司办公用品管理系统;办公用品管理系统;Off-roadvehicles,officesuppliesmanagementsystemAbstractThedesignofoff-roadvehicles,officesuppliesmanagementsysteminordertobetterandmoreconvenientforthecompany'sofficeofficesuppliesprocurementissuedinformation.Thissystemmainlyincludestheprocurementofsupplies,suppliesmanagement,reports,queries,parametersettings,systemmanagement,andseveralothermodule.Eachmoduleisdividedintoseveralsmallmodules,thissystemuniqueisitspowerfulreportqueryprintstatisticalfunctions,usingrdlcreportdevelopmentreport.rdlchasthecharacteristicsoftheconvenienceandflexibility,abletodevelopvariousformsofstatements.Userdlcalsogreatlyreducethedevelopmentcostsoftheprogram.Firstinthedevelopmentofthissystemtodesignthecontentsofdetailedpreparation,analysisofsystemfunctionstodeterminethebasicframework.Thecorrespondingdatabasetablestructure,andfinallystartcoding.Realizationofsystemfunctions,greatlyimprovingtherationalityandefficiencyofthecompany'sofficesuppliesmanagement.Afteranalysis,weusetheMICROSOFTCORPORATIONMicrosoftVisualStudio2010asadevelopmenttoolandtheSqlServer2005database,usethec#languageasaprogramminglanguage.ProvidesaveryconvenientwaytoprogramminginMicrosoftVisualStudioC#asanobject-orientedprogramminglanguage,summedupitsmainfeaturescanbesimple,modern,object-oriented,type-safe,versioncontrol,compatibleandflexible.Keywords:off-roadvehiclecompanyofficesuppliesmanagementsystem;officesuppliesmanagementsystem;第一章绪论31.1研究背景31.1.1信息系统的概念31.1.2信息系统的重要性41.2办公用品管理信息系统51.3本课题研究意义6第二章系统开发相关技术介绍62.1c#概述62.3SQLSERVER2005概述72.4开发工具的和运行环境8第三章系统分析93.1需求分析93.1.1系统整体需求93.1.2具体功能需求103.1.3系统开发目标113.2系统可行性分析123.2.1技术可行性123.2.2操作可行性123.2.3社会可行性12第四章系统设计与编程实现134.1系统概要设计134.2数据库设计144.3登陆模块模块(界面设计,同时给出关键代码)184.3.1登陆184.4采购计划模块194.4.1填写计划204.4.2审批计划214.5用品管理模块224.5.1用品入库224.5.2用品领用254.5.3用品库存查询294.6报表查询模块304.6.1入库报表查询304.6.2领用报表查询314.7系统管理324.7.1用户管理324.7.2密码修改36第五章系统测试385.1测试环境385.2测试方案395.3测试结果396结束语45参考文献47致47第一章绪论1.1研究背景1.1.1信息系统的概念从技术角度对信息系统的定义是:为了支持组织决策和管理而进行信息收集、处理、存储和传递的一组相互关联的组成部分。除了支持决策、协调和管理,信息系统还可以帮助经理和员工们分析问题,观察复杂的事情和创造新产品。管理信息系统是一个一体化系统或集成系统,这就是说管理信息系统进行企业的信息管理是从总体出发,全面考虑,保证各种职能部门共享数据,减少数据的冗余度,保证数据的兼容性和一致性。具有统一规划的数据库是管理信息系统成熟的重要标志,它象征着管理信息系统是经过周密的设计而建立的,它标志着信息已集中成为资源,为各种用户所共享。数据库有自己功能完善的数据库管理系统,管理者数据的组织、数据的输入、数据的存取,使数据为多种用户服务。管理信息系统用数学模型分析数据,辅助决策。只提供原始数据或者总结综合数据对管理者来说往往感到不满足,管理者希望直接给出决策的数据。为得到这种数据往往需要利用数学模型,例如联系于资源消耗的投资决策模型,联系于生产调度的调度模型等。模型可以用来发现问题,寻找可行解、非劣解和最优解。在高级的管理信息系统中,系统备有各种模型,供各种不同的子系统使用,这些模型的集合叫模型库。管理信息系统的概念是发展的。最初许多倡议者设想管理信息系统是一个耽搁的高度一体化系统,它能处理所有的组织功能。也有一些人怀疑,再先进的计算机系统能否解决定义不清楚的管理判断过程。随着时间的推移,这种高度一体化的单个系统显得过于复杂,并难以实现。管理信息系统的概念转向各子系统的联合,按照总体计划、标准和程序,根据需要,开发和实现一个个子系统。这样,一个组织不是只有一个包罗万象的大系统,而是一些相关的信息系统的集合。有些组织所用的信息系统可能只是相关的小系统,它们均属于管理信息系统的畴,但不是管理信息系统的全部,例如:(l)统计系统(2)数据更新系统(3)状态报告系统(4)数据处理系统(5)办公自动化系统(6)决策支持系统1.1.2信息系统的重要性80年代以前,经理们一般不需要太多有关组织信息是怎么样收集、处理和传递的,并且很少涉与到技术。信息本身没有被认为是公司的重要资产。管理过程被认为是面对个人艺术而不是遍布各地的全球性协调过程。而如今没有哪个经理敢忽视其组织是如何处理信息的。如今信息系统受到管理者的重视有两个方面的原因。一是信息技术的广泛应用己深入到组织的基本活动中,信息技术对组织的生存和繁荣越来越大;二是企业对信息系统的投资像其资美国微软公司一样成为企业经营的必要条件,而且在这方面的投资比例呈现上升的趋势。对资产的管理本来就是经理的天职。在中国步入市场经济时代,企业对信息技术应用的动力由政府旨意转向市场驱动,企业对信息技术的投资来源由国家财政大蛋糕转变为企业自己的钱柜。经理人员只有熟悉有关信息系统的知识,才能使在这方面的投资获得预期的回报。世界围发生的三种巨变改变了经营环境。第一是全球经济的出现和壮大;第二是工业经济和社会向基于知识和信息服务的经济转化;第三是企业的转变。(1)全球经济的出现美国经济增长率不断提高依靠进出口,欧洲和亚洲的发达工业经济增长也是这样。对外贸易,包括进口和出口,占美国提供商品和服务的25%还多,对像日本和德国这样的国家其比例还要高。将来这个百分比还将增长。今天和未来企业的成功取决于其全球经营能力。世界工业经济的全球化极大的增加了信息对企业的价值,并提供了交换机的经营机遇。当今,信息系统为企业提供了全球贸易和管理所需要的通信和分析能力。为了协调世界围的分销网络,像嫩肤(NuskinInternational)这样的公司不得不开发全球信息系统来跟踪订单、发货和付款,与分销商和供货商联络,一天24小时在不同的环境中经营,满足国与国际管理报表的需要。简而言之,管理相距遥远的跨国公司是经营上主要的挑战,它需要强大的信息系统配合。全球化和信息技术给国企业带来了新的威胁:由于全球通信和管理系统能可靠的获得价格和质量的信息,如今顾客一天24小时能在世界围市场上求得生存和发展。因此企业需要强大的信息系统和通信系统。(2)工业化经济的转变美国、日本、德国和其它主要工业大国正经历第三次经济革命。在第一次革命中,美国于1890年已从殖民园地变为能供养世界大量人口的农业巨人。在第二次革命,美国于1920年从19世纪的农业社会变为头等工业强国。在目前正进行的第三次革命中,美国正把自身转变为知识服务和信息服务经济。知识和信息革命发生于20世纪之交,并且己逐渐加速。以美国为例,到1976年,工作在办公室里的白领工人数量超过了农场工人、服务工人和制造业中蓝领工人的数目。今天大多数人不再在农场或工厂里工作而是就业于销售、教育、保健、银行、保险公司和律师业;他们也提供复印、计算机软件或送货这类商业服务。这类职业主要涉与新知识和信息的使用、传播或创造。事实上,知识和信息工作现已明显创造了美国国生产总值的60%,使用了全部劳动力的55%。在知识和信息经济中,信息技术和信息系统变得十分重要。比方说,在像金融,保险和房地产这样的服务业中,信息技术在投入的资本构成上超过70%。这意味着对许多经理,或许多大多数经理来说,关于信息技术的决策将是为通常的投资决策。由于雇员的生产率取决于为之服务的信息系统的质量,所以关于信息技术的管理决策对企业的繁荣和生产是至关重要的。此外,越来越大的信息技术能力使具有巨大经济价值的新型技术成为可能。信用卡,包裹快递和遍地世界的定票系统都是新信息技术的例子。提供新型服务的信息和信息技术己成为企业和其经理们的关键战略资源。(3)企业的转变经营环境中第三个主要的变化是组织和管理的性质上的。组织和管理转变的可能性己经存在。有些企业已经开始利用这些新的可能性。企业的目的是体现利润。根据资源成本低于产品和服务价格的原则,企业靠生产产品和提供服务来创造价值因而盈利。管理的用途是做计划,是组织,协调和领导企业的成员来取得获利的价值创造。信息技术已经改变了企业的创造价值的方式,改变了经理们的管理方法。传统的企业曾是,并且现在仍是等级森严,集权的,有明确的专业人员构成的组织结构,它主要依靠固定的一套标准工作程序来提供规模生产的产品(或服务)。企业的新形式是扁平的(等级较少),分权的,通才人员的灵活组成,他们依靠实时(接近随时)信息来提供竟适合专门市场或顾客的,规模化定植产品和服务。但这种新型组织还没有形成,正处于演变阶段。不管怎样,发展方向是明确的,没有信息技术这一发展方向也许将是不可非议的。传统的管理集团过去和现在都依赖正式计划,僵化的分工,正式的规章和借助忠诚来保证企业的正常运转。新型经理依靠非正式的承诺和网络(不靠正式计划)来设立目标,以任务组工作方式灵活的安排个人和集体,以一切为客户的原则协调员工活动,借助专业技能和知识来取保企业的正常运转。同样的,仍然是信息技术使这种管理方式具有可能。信息技术导致组织变化,这种变化使企业比过去更加依赖雇员个人的知识,学习和决定。1.2办公用品管理信息系统随着改革和经济发展,我国企业的市场意识和对市场的适应能力增强,企业管理水平不断提高,但与国际企业相比仍然存在较大差距,随着公司的不断发展和壮大,公司办公用品的采购和使用的需求量越来越大,而如何合理的管理这一系列工作中的流程呢?于是我们的办公用品管理系统就应运而生了,其主要特点如下:(1).用品的采购审批,大大的降低了公司因用品计划的不合理以带来了不必要的损失,从数量和金额上控制用品的采购,减少了以往在采购中的一些人为的因素而给企业带来的损失.(2).用品的入库领用,能很浅析的知道企业办公用品的库存量,用品的使用地方。(3).库存的查询以与库存的报警,能让企业负责用品采购的人员,提前的知晓所需用品是否还有库存,以便于在与时使用用品的时候带来时间来的节约。(4)报表的统计打印,能清楚知道办公用品的历史采购,历史信用消耗记录,以方便企业对用品的管理的决策起到参考作用。1.3本课题研究意义现阶段,虽然许多用品管理系统能够实现信息化管理,但我国一些企业仍然停留在传统的管理方式,即以、与书信形式为主要联络手段,人工处理日常业务,例如采购计划,采购,领用,统计等。这种落后的管理方式造成低效率、高成本,更重要的是管理层对关键信息的掌握力不从心。而相关企业的信息化大多只限于会计电算化、办公自动化等初级阶段。随着企业规模的扩大和业务的发展,原有的管理模式无法实现企业部之间与时的传递信息,难以与时反馈企业的运转情况,无法辅助管理人员掌握确实的企业办公用品情况和制定合适的采购计划。因此,开发一套新的基于C/S模式的越野车公司办公用品管理系统具有很高的实用价值和重要意义。第二章系统开发相关技术介绍2.1c#概述C#是Microsoft公司设计的一种编程语言。它松散地基于C/C++,并且有很多方面和Java类似。Microsoft是这样描述C#的:“C#是从C和C++派生来的一种简单、现代、面向对象和类型安全的编程语言。C#(读做‘Csharp’)主要是从C/C++编程语言家族移植过来的,C和C++的程序员会马上熟悉它。C#试图结合VisualBasic的快速开发能力和C++的强大灵活的能力。”由于.NET与以前的技术有着极大的差异,微软特意为.NET平台开发了一种新的编程语言--C#(读做"CSharp")。C#的核心语法和Java的语法很相似。然而,并不能说C#抄袭了Java。C#和Java都属于C语言系列(包括C、ObjectiveC、C++等),它们有类似的语法。正如Java在许多方面是C++的提炼版一样,C#也可以视为Java的提炼版。实际上,C#的许多语法结构与VB6.0和C++的很多方面都有渊源。例如,与VB6类似,C#支持正式的类型属性(property)的概念(与传统的获取方法和设置方法相反),且支持方法带有不定数目的参数(使用参数数组)。与C++类似,C#允许重载运算符,且支持创建结构、枚举和回调函数(使用委托)。C#3.0引入了各种函数式语言(如LISP或Haskell)中的很多结构。此外,由于LINQ的出现(见第14章和第24章),C#支持很多编程结构,在编程语言中显得非常独特。尽管如此,C#的核心始终受到C系列语言的影响。C#是多种语言的混合体,因此它像Java一样语法简洁,像VB6一样使用简单,像C++一样功能强大和灵活(C#没有像C++那样麻烦的位操作)。以下是C#核心特征的一部分,其部分特点也是其他支持.NET的程序语言所共有的特征。不需要指针!C#程序通常不需要直接对指针进行操作(尽管在绝对必要时也能自由地进行底层操作)。垃圾收集器能够自动管理存。因此,C#不支持delete关键字。类、接口枚举、结构和委托都有正式的语法结构。具有与C++类似的功能,可以简单地重载运算符为自定义类型(例如,不需要操心确保"返回*this以能够")。支持基于特性的编程。这种方式的开发允许我们注释类型与其成员来进一步限定其行为。随着.NET2.0的发布(大约在2005年),C#编程语言得到了更新以支持很多花哨的东西,主要是以下几项。构建泛型类型和泛型成员的能力。使用泛型,我们可以构建非常高效的并且类型安全的代码,在和泛型项交互的时候可以定义很多"占位符"。支持匿名方法,它允许我们在任何需要委托类型的地方提供联函数。很多委托事件模型的简化,包括协变、逆变以与方法组转换。使用partial关键字跨多个代码文件定义单个类型的能力(或者如果有必要的话,可以作为存中的表示)。你也可能猜到了,.NET3.5为C#编程语言(更确切地说是C#3.0)增加了更多功能,包括如下特性。支持强类型的查询(就像LINQ,即集成查询语言),可用于和各种形式的数据进行交互。支持匿名类型,它允许我们建模一个类型的"形"(shape)而不是其行为。使用扩展方法扩展既有类型功能的能力。包含了Lambda运算符(=>),它可以进一步简化.NET委托类型的使用。新的对象初始化语法,它允许我们在对象创建时设置属性的值。关于C#语言,要理解的最重要的一点可能是,它生成的代码只能在.NET运行库中执行(你不能用C#来构建本机的COM服务器或非托管的Win32API应用程序)。正式的说法是,这种必须在.NET运行库下执行的代码称为托管代码(managedcode)。这些包含托管代码的二进制单元可以称为程序集(assembly)(程序集的详情稍后在1.5节中再讲)。反之,不能直接在.NET运行库承载(host)的代码称为非托管代码(unmanagedcode)。2.3SQLSERVER2005概述本系统将采用MicrosoftSQLServer2005作为系统的DBMS支撑,SQLServer2005是能够支持企业级关系型数据库的管理系统,它能与Windows操作系统紧密集成,具有方便易用的图形管理界面,其用户界面风格与Windows一样非常友好。SQLServer2005在存储大容量数据方面,在数据的安全性和完整性方面,在分布式处理等都是适合于企业级应用的。而其相对Oracle,DB/2等大型数据库来说,学习更为容易,应用成本也相对较低。采用SQLServer2005+ASP.NET开发本系统是一个较为理想的组合。SQLServer2005的新特点:动态的自我管理:SQLServer2005运行时动态配置运行环境,优化并简化了许多服务器配置选项,可随用户增多或者减少动态地请求追加或者释放资源,并可随数据的增减自动改变数据库大小。丰富的管理工具:SQLServer2005提供了许多数据库系统管理工具。系统管理员可以在运行SQLServerEnterpriseManager的中央控制台上,管理和监视服务器运行性能和企业数据库。可编程的管理:SQL分布式对象可用于编写应用程序,这就可以使应用程序数据包透明地将SQLServer2005嵌入应用程序中。也可以使用SQL-DMO为不同站点的通用的管理任务建立应用程序。可能收缩性和高可能性:SQLServer2005数据库引擎可以几乎所有Windows平台上运行,是可管理上千万个用户的大型数据库。同时其还具有动态自我调解的特性,能有效地在笔记本或者PC上运行。支持数据仓库:SQLServer2005支持数据仓库。系统访问Internet集成:SQLServer2005与其他产品一起为Internet或Intranet系统形成一个稳定的安全的数据存储;可为运行在IIS下的Web应用程序提供一个高性能的数据存储服务;此外,SQLServer2005数据库引擎还包括了对XML的本地支持,Transact-SQL结果可以作为XML文档返回给使用OLEBD和ADOAPI的应用程序,XML文档还可以添加到SQLServer2005中。综上所述,在开发本系统时,采用SQLServer2005作为数据库管理系统。2.4开发工具的和运行环境在开发工具上,我选择VisualStudio.NET。VisualStudio.NET是一套完整的开发工具,用于生成ASPWeb应用程序、XMLWebservices、桌面应用程序和移动应用程序。VisualBasic.NET、VisualC++.NET、VisualC#.NET和VisualJ#.NET全都使用一样的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NETFramework的功能,此框架提供对简化ASPWeb应用程序和XMLWebservices开发的关键技术的访问。VisualStudio.NET是用于快速生成企业级ASP.NETWeb应用程序和高性能桌面应用程序的工具。VisualStudio包含基于组件的开发工具(如VisualC#、VisualJ#、VisualBasic和VisualC++),以与许多用于简化基于小组的解决方案的设计、开发和部署的其他技术。VisualStudio支持Microsoft.NETFramework,该框架提供公共语言运行库和统一编程类;Winform.NET使用这些组件来创建C#应用程序.C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQLServer。客户端需要安装专用的客户端软件。C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。该运行环境的规定是保证本需求说明的功能得到实际真正体现的基础。(1)服务器端运行环境支持软件服务器端软件:Windows2005Server或更高版本的操作系统,推荐Windows2003EnterpriseEdition数据库系统:SQLServer2005或更高版本的数据服务器Web服务器:MicrosoftIIS6.0.NETFrameworkv1.1或更高版本的Web应用支持(2)用户端PC软件Windows98或更高版本操作系统(安装有IE5.0以上版本)或其它98年以后发布的带有Internet浏览器软件的图形UI操作系统操作系统:windows,Linux等(3)开发环境:操作系统:Win7EnterpriseEdition开发工具:MicrosoftVisualStudio.NET2010,AdobePhotoshopCS数据库系统:MicrosoftSqlServer2005CPU:IntelPentium(R)42.8CHz存:1GB第三章系统分析3.1需求分析3.1.1系统整体需求从总体上看,本系统需要为不同的业务人员提供不同的操作功能。一般用户主要是负责对办公用品进行采购计划制定,以与对办公用品的领用,只需要登陆上报采购计划以与对自己需要使用的办公用品进行领用,其操作流程如下图所示:图3.1普通用户登陆系统操作图管理员可以对用品的采购入库,库存查询,库存报警参数设置,报表统计查询,用品入库管理流程如下:图3.2用品入库流程图相关决策人员可以查看用品报表。最后,系统管理员需要对整个系统的人员进行管理,可以增加、删除用户,修改用户信息,调整角色权限等等。用户管理的基本流程如下:图3.3用户管理基本流程3.1.2具体功能需求(1)用品采购计划当某些用品库存不足的时候,就需要对应这些用品进行采购.采购计划由各部门人员登陆系统进行计划的添加,主要包括用品的编号、用品名字、规格、数量、金额等。相关的管理人员再登陆系统对用品计划进行审核。(2)用品信息管理当有新用品入库时,应能够与时的录入用品的基本信息,主要包括用品品编号、用品品名称、用品单价、用品的库存量。当用品被领用出去时,应能够与时对该用品的库存量进行修改。如果某种药品不再生产或者被禁止销售,则需要对该品种药品信息进行删除,以减轻数据库的运行负担,提高处理速度。(3)用品领用主要提供给用品需求人员进行方便快捷的领用操作。用品领用过程中,领用人员首先需要了解该用品库存是否足够,当库存不足的时候就会提示当前库存已经不足了,不能领用,然后提醒相关人员进行用品的采购。(3)报表查询主要对用品采购领用情况进行查询。生成相应的统计报表。并且可以对其理行统计,查询打印等。(4)报警参数设置主要对用品库存的报警值进行相关的设置,当库存的用品达到这个值时,就会提醒当前库存不足。(5)系统管理系统管理功能对于任何计算机系统来说都是必备的且十分重要的。根据本系统的功能特点,由于需要对不同的人员给予不同的权限,所以需要实现角色权限管理功能。系统还需要对所存在的用户进行管理,包括删除已经辞退的员工账户,或者修改某个员工账户的角色以适应员工职务的更改。3.1.3系统开发目标(1)节约传统模式下企业对用品管理所损耗的大量人力物力资源,提高企业办公用品采购使用与管理的精确度,与时性,有效性。本系统能减少很多不必要的资源浪费,不用象以前那样用冗余的纸式的管理,大大节省了企业开支。并且,计算机的存储与快速查询功能大大提高了大量药品管理的效率,避免了人工操作所容易出现的错误。(2)方便快速操作,精减人员,节约开支。方便快速的操作,可提高企业管理的效率,又减少因工作的冗余出现的错误。与此同时,信息化的系统可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为企业节约了开支,为企业的快速发展减轻了负担。3.2系统可行性分析3.2.1技术可行性本系统采用C/S体系结构。利用Winform.NET4.0技术开发,以MicrosoftVisualStudio2010作为开发平台,采用MicrosoftSQLServer2005数据库来对数据库进行开发与设计,所以在技术上是可行的。3.2.2操作可行性系统采用MicrosoftVisualStudio2010加SQLServer2005其稳定性很强。从用户的角度来讲,系统可单机安装,要求用户计算机的配置低,系统界面简洁易懂,十分方便。所以,系统有较强的操作可行性,无须更多的专业培训,只要普通的管理人员就可以胜任。3.2.3社会可行性本系统的开发成本和运维成本都不高,然而该系统的应用可以使得企业办公用品听管理工作过程实现信息化,成倍的提高工作效率和工作质量,节约大量人力成本和管理成本,对企业的发展起到十分有力的推进作用。故该系统具备很强的社会可行性。第四章系统设计与编程实现4.1系统概要设计本系统总共划分为5个模块:采购计划、用品管理、报警参数设置和报表查询,系统管理。如下图所示:图4.1系统总体功能模块图采购计划分为二块:一块是制定计划,二是审批计划。其中制定计划,由各部门普通人员进行计划的添加,也可以删除计划,然后由企业相关的管理人员对计划进行审核。用品管理分为三块:用品入库、用品领用、用品库存查询,用品入库是对新到用品进行统一入库,当是以前库存里面没有的就直接添加到库存。如果是以前已有的用品就只需要更新库存,此块为管理员所有。用品领用,用户根据自身需求对相关用品进行领用,普通用户和管理员都可以操作,只是普通用户不能删除用品领用信息。用品库存查询,此块可以查询到用品的库存情况,库存不足的用品系统会用红色显示其信息,管理员可以操作这一功能。报警参数设置:设置用品库存的报警值,当用品达到这一报警值后,就自动提示库存已经不足。报表查询模块,根据条件对采购领用数据库进行查询、统计打印。报表中列出用品详细采购信息以与领用总量、等情况,以便于进行企业分析决策。系统管理模块又分为二个子模块:用户管理、密码修改。因为系统并不允许公开注册,所以添加用户模块用于为新员工根据其职能类型添加系统账号。用户管理是对系统中的所有账号进行管理,可以修改账号的属性,甚至对其进行删除。系统管理模块为系统管理员所特有。4.2数据库设计数据库设计是所有管理信息系统中的重要环节,本系统也不例外。为了使得越野车公司办公用品管理系统中各部分的数据一目了然、避免冗余,必须对系统的数据库进行E-R图设计。本系统中,主要的实体是计划、用品入库、库存、领用、用户和参数设置。分别列出对应的E-R图如下:计划计划自动id自动id时间状态时间状态用品名用品名计划人金额数量规格计划人金额数量规格图4.1计划E-R图入库操作人用品名单价数量规格自动id时间编号入库操作人用品名单价数量规格自动id时间编号图4.2入库E-R图用品名数量规格自动id库存用品名数量规格自动id库存编号编号金额金额图4.3库存E-R图时间状态用品名数量规格自动id领用时间状态用品名数量规格自动id领用领用人领用人图4.4领用E-R图用户名自动id用户用户名自动id用户权限权限登陆名密码登陆名密码图4.5用户E-R图报警参数报警参数参数参数图4.6报警参数根据以上E-R图,可以方便的进行数据表的设计。(1)计划表Plan,包含的属性有ID,材料名字、规格、数量、金额、计划人、计划时间。计划表如表3.1所示:表3.1计划表Plan序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是是否2MaterialNamevarchar1000是材料名称3Specificationvarchar1000是规格4Quantityfloat80是数量5Moneydecimal92是金额6Peoplevarchar500是申请人7Statusvarchar500是'未审核'状态8Timdatetime83是getdate时间(2)用户表User,包含的属性为用户id,登录名,密码,员工名和角色。如表3.2所示:表3.2用户表User序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是是否2UserNamevarchar5000是3UserLoginvarchar5000是4UserPassvarchar5000是5UserRolevarchar500是'管理员'(3)库存表Stock,属性有:id,操作人、编号、名称、价格、库存数量、入库时间、,详见表3.3。表3.3库存表Stock序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是是否2Codevarchar500是用品编号3MaterialNamevarchar1000是用品名称4Specificationvarchar1000是规格5Quantityfloat80是数量6UnitPricesdecimal92是单价(4)入库表Storage,包含属性:id、编号、单价、数量、时间等,如表3.4所示:表3.4入库表Storage序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是是否2Codevarchar500是用品编号3MaterialNamevarchar1000是用品名称4Specificationvarchar1000是规格5Quantityfloat80是数量6UnitPricesdecimal92是单价7Peoplevarchar500是操作人员8Timdatetime83是getdate(5)领用表Consuming,包含属性:id、编号、数量、时间等,如表3.5所示:表3.5领用表Consuming序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是是否2Codevarchar500是用品编号3MaterialNamevarchar1000是用品名称4Specificationvarchar1000是规格5Quantityfloat80是数量6ConsumingPeoplevarchar500是领用人7Timdatetime83是getdate(6)参数表AlarmSet,包含属性:参数,如表36所示:表3.6参数表AlarmSet序号列名数据类型长度小数位标识主键允许空默认值说明1Alarmint40是报警参数4.3登陆模块模块(界面设计,同时给出关键代码)对用户登陆进行验证,判断登陆用户是管理员还是一般用户.4.3.1登陆如图4.7所示:图4.7登陆页面此块的关键代码如下:if(txtLogin.Text.Trim()==""){MessageBox.Show("用户名为空!");return;}if(txtPass.Text.Trim()==""){MessageBox.Show("密码为空!");return;}Data.DUserbll=new越野车公司用品管理系统.Data.DUser();DataTabledt=bll.GetList("UserLogin='"+txtLogin.Text.Trim()+"'andUserPass='"+StrMd5(txtPass.Text.Trim())+"'").Tables[0];if(dt.Rows.Count!=0){this.Close();UserName=dt.Rows[0]["UserName"].ToString();UserID=int.Parse(dt.Rows[0]["ID"].ToString());Pass=dt.Rows[0]["UserPass"].ToString();role=dt.Rows[0]["UserRole"].ToString();this.DialogResult=DialogResult.Yes;}else{MessageBox.Show("用户或者密码错误!");txtPass.Text="";return;}4.4采购计划模块采购计划管理,主要是对采购进行计划填写,对计划进行审核。4.4.1填写计划如图4.8所示:图4.8采购计划操作人员在此模块上录入相应的数据点击保存后就可以将相应数据增加到计划表中,这里同时也可以修改查删除计划数据。其关键代码如下:privatevoidbind(){DataTabledt=DBUtility.DbHelperSQL.Query("select*from[Plan]wherePeople='"+Login.UserName+"'").Tables[0];dataGridView1.AutoGenerateColumns=false;dataGridView1.DataSource=dt;}if(txtName.Text.Trim()==""){MessageBox.Show("用品名不能为空");return;}if(txtQuantity.Text.Trim()==""){MessageBox.Show("数量不能为空");return;}if(txtMoney.Text.Trim()==""){MessageBox.Show("金额不能为空");return;}DBUtility.DbHelperSQL.ExecuteSql("Insertinto[Plan](MaterialName,Specification,Quantity,Money,People)values('"+txtName.Text+"','"+txtSpecification.Text+"','"+txtQuantity.Text+"','"+txtMoney.Text+"','"+txtPeople.Text+"')");MessageBox.Show("添加成功");bind();4.4.2审批计划如图4.9所示:图4.9审批计划操作人员在此模块对上报的用品计划数据进行审核。其关键代码如下:privatevoidbind(){DataTabledt=DBUtility.DbHelperSQL.Query("select*from[Plan]whereStatus='未审核'").Tables[0];dataGridView1.AutoGenerateColumns=false;dataGridView1.DataSource=dt;}foreach(DataGridViewRowgvindataGridView1.Rows){if(gv.IsNewRow)return;if((bool)gv.Cells[7].FormattedValue){DBUtility.DbHelperSQL.ExecuteSql("update[Plan]setStatus='通过'whereID="+gv.Cells[6].Value+"");}}MessageBox.Show("审核成功");bind();4.5用品管理模块4.5.1用品入库通过主菜单进入用品管理模块,然后点击用品入库。如图4.10所示:图4.10用品入库此块的关键代码如下:privatevoidbind(){DataTabledt=DBUtility.DbHelperSQL.Query("select*from[Storage]").Tables[0];dataGridView1.AutoGenerateColumns=false;dataGridView1.DataSource=dt;}privatevoidbutton2_Click(objectsender,EventArgse){if(txtCode.Text.Trim()==""){MessageBox.Show("编号不能为空");return;}if(txtName.Text.Trim()==""){MessageBox.Show("用品名不能为空");return;}if(txtQuantity.Text.Trim()==""){MessageBox.Show("数量不能为空");return;}if(txtUnitPrices.Text.Trim()==""){MessageBox.Show("单价不能为空");return;}DBUtility.DbHelperSQL.ExecuteSql("Insertinto[Storage](Code,MaterialName,Specification,Quantity,UnitPrices,People)values('"+txtCode.Text+"','"+txtName.Text+"','"+txtSpecification.Text+"','"+txtQuantity.Text+"','"+txtUnitPrices.Text+"','"+txtPeople.Text+"')");DataTabledt=DBUtility.DbHelperSQL.Query("select*from[Stock]whereCode='"+txtCode.Text+"'").Tables[0];if(dt.Rows.Count>0){DBUtility.DbHelperSQL.ExecuteSql("update[Stock]setQuantity=Quantity+"+txtQuantity.Text+"whereCode='"+txtCode.Text+"'");}else{DBUtility.DbHelperSQL.ExecuteSql("Insertinto[Stock](Code,MaterialName,Specification,Quantity,UnitPrices)values('"+txtCode.Text+"','"+txtName.Text+"','"+txtSpecification.Text+"','"+txtQuantity.Text+"','"+txtUnitPrices.Text+"')");}MessageBox.Show("添加成功");bind();}privatevoidbutton1_Click(objectsender,EventArgse){if(dataGridView1[0,dataGridView1.CurrentCell.RowIndex].Value.ToString()!=""){MessageBoxButtonsbuttons=MessageBoxButtons.YesNo;DialogResultresult;result=MessageBox.Show(this,"是否删除当前数据!","警告!",buttons);if(result==DialogResult.Yes){DataTabledt=DBUtility.DbHelperSQL.Query("select*from[Stock]whereCode='"+txtCode.Text+"'").Tables[0];if(dt.Rows.Count>0){if(decimal.Parse(dt.Rows[0]["Quantity"].ToString())<decimal.Parse(dataGridView1[3,dataGridView1.CurrentCell.RowIndex].Value.ToString())){MessageBox.Show("不能删除,当前入库数据已经被出库!");return;}}DBUtility.DbHelperSQL.ExecuteSql("deletefrom[Storage]whereID="+dataGridView1[6,dataGridView1.CurrentCell.RowIndex].Value+"");DBUtility.DbHelperSQL.ExecuteSql("update[Stock]setQuantity=Quantity-"+dataGridView1[3,dataGridView1.CurrentCell.RowIndex].Value+"whereCode='"+dataGridView1[0,dataGridView1.CurrentCell.RowIndex].Value+"'");MessageBox.Show("删除成功!");bind();}}}4.5.2用品领用通过主菜单进入用品管理模块,然后点击用品领用,如图4.11所示:图4.11用品领用此块提供对用品进行领用的操作,输入用品编号,点击查询就可以查询出库存中的用品,然后点击领用就可以完成用品的领用,同时也可以删除领用数据。其关键代码如下:privatevoidbutton2_Click(objectsender,EventArgse){if(txtCode.Text.Trim()==""){MessageBox.Show("编号不能为空");return;}if(txtName.Text.Trim()==""){MessageBox.Show("用品名不能为空");return;}if(txtQuantity.Text.Trim()==""){MessageBox.Show("数量不能为空");return;}if(txtConsumingPeople.Text.Trim()==""){MessageBox.Show("领用人不能为空");return;}DataTabledt=DBUtility.DbHelperSQL.Query("select*from[Stock]whereCode='"+txtCode.Text+"'").Tables[0];if(dt.Rows.Count>0){if(decimal.Parse(dt.Rows[0]["Quantity"].ToString())<decimal.Parse(txtQuantity.Text)){MessageBox.Show("当前领用数量大于库存数量!");return;}DBUtility.DbHelperSQL.ExecuteSql("Insertinto[Consuming](Code,MaterialName,Specification,Quantity,ConsumingPeople)values('"+txtCode.Text+"','"+txtName.Text+"','"+txtSpecification.Text+"','"+txtQuantity.Text+"','"+txtConsumingPeople.Text+"')");DBUtility.DbHelperSQL.ExecuteSql("update[Stock]setQuantity=Quantity-"+txtQuantity.Text+"whereCode='"+txtCode.Text+"'");bind();MessageBox.Show("领用成功!");}else{MessageBox.Show("仓库不存在当前编码的用品!");return;}}privatevoidbutton3_Click(objectsender,EventArgse){if(txtCode.Text.Trim()==""){MessageBox.Show("请输入编号!");return;}DataTabledt=DBUtility.DbHelperSQL.Query("select*from[Stock]whereCode='"+txtCode.Text+"'").Tables[0];if(dt.Rows.Count>0){if(decimal.Parse(dt.Rows[0]["Quantity"].ToString())>0){DataTabledtt=DBUtility.DbHelperSQL.Query("select*from[AlarmSet]").Tables[0];if(decimal.Parse(dt.Rows[0]["Quantity"].ToString())<=decimal.Parse(dtt.Rows[0][0].ToString())){MessageBox.Show("当前库存数量已经小于或等于预警库存,请与时采购!");}txtName.Text=dt.Rows[0]["MaterialName"].ToString();txtSpecification.Text=dt.Rows[0]["Specification"].ToString();txtQuantity.Text=dt.Rows[0]["Quantity"].ToString();}}else{MessageBox.Show("不存在此编号的物品!");return;}}privatevoidbutton1_Click(objectsender,EventArgse){if(Login.role!="管理员"){MessageBox.Show("只有管理员才能操作!");return;}if(dataGridView1[0,dataGridView1.CurrentCell.RowIndex].Value.ToString()!=""){MessageBoxButtonsbuttons=MessageBoxButtons.YesNo;DialogResultresult;result=MessageBox.Show(this,"是否删除当前数据!","警告!",buttons);if(result==DialogResult.Yes){DBUtility.DbHelperSQL.ExecuteSql("deletefrom[Consuming]whereID="+dataGridView1[5,dataGridView1.CurrentCell.RowIndex].Value+"");DBUtility.DbHelperSQL.ExecuteSql("update[Stock]setQuantity=Quantity+"+dataGridView1[3,dataGridView1.CurrentCell.RowIndex].Value+"whereCode='"+dataGridView1[0,dataGridView1.CurrentCell.RowIndex].Value+"'");MessageBox.Show("删除成功!");bind();}}}privatevoidbind(){DataTabledt=DBUtility.DbHelperSQL.Query("select*from[Consuming]").Tables[0];dataGridView1.AutoGenerateColumns=false;dataGridView1.DataSource=dt;}4.5.3用品库存查询通过主菜单进入用品管理模块,然后点击库存查询,如图4.12所示:图4.12用品库存查询此块提供对用品进行库存情况进行查询。其关键代码如下:privatevoidbutton1_Click(objectsender,EventArgse){DataTabledt=DBUtility.DbHelperSQL.Query("select*from[Stock]whereCodelike'%"+textBox1.Text+"%'orMaterialNamelike'%"+textBox1.Text+"%'orSpecificationlike'%"+textBox1.Text+"%'").Tables[0];dataGridView1.AutoGenerateColumns=false;dataGridView1.DataSource=dt;}privatevoidStock_Load(objectsender,EventArgse){DataTabledt=DBUtility.DbHelperSQL.Query("select*from[Stock]").Tables[0];dataGridView1.AutoGenerateColumns=false;dataGridView1.DataSource=dt;}privatevoidd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论