企业库存管理系统论文_第1页
企业库存管理系统论文_第2页
企业库存管理系统论文_第3页
企业库存管理系统论文_第4页
企业库存管理系统论文_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

企业库存管理系统的设计与实现企业库存管理系统摘 要:科学技术不断进步和经济的不断发展,以及全球化信息网络和全球化市场形成和技术变革的加速,围绕新产品的市场竞争也日趋激烈,企业面临着缩短交货期、提高产品质量、降低成本和改进服务的压力。所有这些都要求企业能对不断变化的市场做出快速反应。作为供应链节点中的一个重要环节,物资管理企业要实现快速地对物资进行收发,必须建立现代化的库存管理系统。用计算机对仓库库存信息进行日常的管理,通过对系统需求分析,从系统设计着手,实现系统各模块,包括输入输出、信息查询、系统维护等功能。库存研究基于信息技术,充分利用管理信息系统、决策支持系统数据库理论与方法,集成物流、资金流、事务流及信息流,对库存管理与控制信息系统的设计进行研究,它对企业减少库存、增加效益、提高竞争力具有重要的意义。但是在系统的动态交互性,及时性,智能性,可靠性和安全性方面还有待提高。关键词:库存管理、ASP.NET、C#、 SQL ServerThe Management System of Stock Based on .NETAbstractNowadays ,withthecontinuousimprovementoftechnologyanddevelopmentofeconomy,aswellastheglobalinformationnetwork,theglobalmarketformingandthetechniquechangingquickly,themarketcompetitionofnewproductsisbecomingmoreandmoreintenselyandenterpriseisfacingthepressureofshorteningthedateofdelivery,improvingthequalityofproduct,cuttingdownthecostandmakingtheservicebetter.Alltheserequestscallforfastreactionofenterpriseovertheverychangingmarket.Asakeypointofsupplychain,materialmanagemententerpriseshouldreceiveanddispatchthegoodsandmaterialsatahighspeed,andmustbuildamodernstockcontrolmanagementsystem.Accordingtothesystemdemandanalysisandbythedesignsystem,wecanachievethefunctionofeverymodule,suchasin-out,informationsearchsystemmaintenance,etc,andusecomputertosupervisedailyinformationofstorage.Inventoryresearchisbasedoninformationtechnology,takingfulluseofmanagementoperatingsystem,DSStheoryandmethods,logistics,fundflow,transactionflowandinformationflow,studyinginventorymanagement.Itplaysaveryimportantroleonreducingstock,increaseprofits,andboostingthecompetitiveness.However,ithassomespacetoenhanceonsystemtrendinteractivity,timeliness,intellectuality,reliabilityandsafety. Key words: Stock Management 、ASP.NET 、C#、SQL Server目 录1.绪 论11.1 课题研究背景及意义11.2 本系统使用的方法和语言11.2.1 统一建模语言UML11.2.2 .NET和C#21.3系统描述31.4 分析方法32.需求收集42.1 业务过程分析42.2 研究领域分析52.2.1 初步用例模型开发 开发系统业务角色62.2.2 开发初步类图62.3 系统需求研究82.3.1 收集系统需求82.3.2开发系统功能包图93系统分析与设计103.1 开发系统用例模型103.2 系统数据库设计113.2.1 数据库需求分析113.2.2 数据库概念结构设计113.2.3数据库逻辑结构设计134.开发系统164.1 编制代码164.2 系统实现164.2.1 用户界面164.2.2 登录动作代码174.3 部分系统界面及功能简介194.3.1企业库存管理系统主界面194.3.2客户信息管理界面194.3.3货品信息管理界面204.3.4货品分类管理界面204.3.5入库单界面204.3.6入库管理主界面214.3.7入库查询主界面214.4系统特色214.4.1用户密码加密存储214.4.2.支持在页面备份数据库225. 部 署24结 束 语25致谢26参 考 文 献261.绪 论1.1 课题研究背景及意义近几年我国企业信息化呈现持续火爆的势头,有专家预测,我国高新技术产业在企业中占据的位置越来越重要。如何提高自己企业的生产和运营效率,成为企业发展中必须考虑的问题。在现在网络飞速发展的背景下,设计库存管理系统来促进企业生产效率的提高也是一个很好的手段。当前形势下,仅仅靠原始的手工管理或简单的单机管理是不够的,商品部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。公司管理者的决策只能依据报表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此,先进的管理思想在商业中实现就成为了一个可望而不可及的目标。公司集团非常急需一套既有先进管理思想又适合国内大商业的在线进销存管理信息系统,作为实现目标和提高现有水平的一种重要手段。库存管理系统是一个公司不可缺少的部分,它的执行对于公司的决策者和管理者来说是很有帮助的, 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。1.2 本系统使用的方法和语言1.2.1 统一建模语言UML 统一建模语言(Unified Modeling Language ,UML)是一种可视化的建模语言,它能让系统构造者用标准的、易于理解的方式建立起能够表达出他们想象力的系统蓝图,并且提供了便于不同人之间有效的共享和交流涉及结果的机制。 UML包括了一些可以相互组合图表的图形元素。由于UML是一种语言,所以UML具有组合这些元素的法规。UML提供了系统设计所需要的多种图,这些图是在用多个视图来展示一个系统,这组视图被称为一个模型(Model)。一个UML模型描述了一个系统需要做什么。同时,UML提供了组织和扩展这些图的方法。关于标准建模语言UML的内容,首先,UML融合了Booch、OMT和OOSE方法中的基本概念,而且这些基本概念与其他面向对象技术中的基本概念大多相同,因而,UML必然成为这些方法以及其他方法的使用者乐于采用的一种简单一致的建模语言;其次,UML不仅仅是上述方法的简单汇合,而是在这些方法的基础上广泛征求意见,集众家之长,几经修改而完成的,UML扩展了现有方法的应用范围;第三,UML是标准的建模语言,而不是标准的开发过程。尽管UML的应用必然以系统的开发过程为背景,但由于不同的组织和不同的应用领域,需要采取不同的开发过程。作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。(1) UML语义描述基于UML的精确元模型定义。(2) UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。 标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义。第一类是用例图,第二类是静态图(Static diagram),包括类图、对象图和包图。第三类是行为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常, 状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。第四类是交互图(Interactive diagram),描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系, 协作图与顺序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择协作图,把这两种图合称为交互图。第五类是实现图( Implementation diagram ),包括构件图和配置图。1.2.2 .NET和C#.NET 是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。 .NET提供了一种新的运行环境即.NET框架,它使得程序员能够更容易、迅速地写出优良、健壮的程序代码,并且能够方便地管理、部署和修改代码,所编写的程序和组件都在该环境中执行。它为程序员提供了一些新功能,例如自动内存管理(垃圾收集)以及更方便地访问所有系统服务。它添加了许多实用功能、例如易于访问因特网和数据库。它还为代码复用提供了一种新的机制一一更易于使用并且比COM更加有效和灵活。.NET框架更易于部署因为它不需要进行注册设置。它还为版本的制定提供了标准化、系统级别的支持。程序员可以在任一种与.NET兼容的编程语言中使用上述全部功能.NET为创建HTML页面提供了一种新的编程模型,称为ASP.NET尽管智能的单机程序仍在不断涌现,但是在不久的将来,大多数因特网通信都会以通用浏览器作为前端,这就要求服务器能够使用HTML语言来构造页面,以便浏览器识别并显示给用户。ASP.NET是一种运行在因特网信息服务(IIS)下的新环境,它使得程序员能够更容易地编写代码来构造基于HTML语言的web页面,供浏览器查看。 ASP.NET提供了一种新的与语言无关的代码编写方式,并将其与web页面请求相关联。它提供了.NET的Web窗体,它是一种与控件交互的事件驱动编程模型、这使得编写web页面变得就像编写普通的VB窗体一样。ASP.NET包含了良好的会话状态管理和安全功能,它比原来的ASP更加健壮,性能也得以提高。.NET提供了Windows窗体,它是一种使用.NET框架编写各种客户程序的新方法。 一个使用XML Web服务的专用客户端应用程序必须提供良好的用户界面。高质量的界面能够提供更佳的用户感受,NET提供了一种新的软件包,它被称为.NET windows窗体这使得程序员能够使用.NET框架轻易地编写出专用的windows客户应用程序。C#是可用于创建要运行在.NET上的应用程序的语言之一,它从C和C+语言演化而来,是Microsoft专门为使用.NET平台而创建的。因为C#是近期发展起来的,所以吸取了以前的教训,考虑了其他语言的许多优点,并解决了它们的问题。使用C#开发应用程序比使用C+简单,因为其语法比较简单。但是,C#是一种强大的语言,在C+中能完成的任务在C#中也能完成,C#中与C+比较高级的功能等价的功能(例如直接访问和处理系统内存),只能在标记为“不安全”的代码中使用。这个高级编程技术是非常危险的(正如它的名称),因为它可能覆盖系统中重要的内存块,导致严重的后果。C#代码常常比C+略长一些。这是因为C#是一种类型安全的语言(与C+不同),一旦为某些数据指定了类型,就不能转换为另一个不相关的类型。所以,在类型之间转换时,必须遵守严格的规则。执行相向的任务时,用C#编写的代码通常比C+长。但C#代码更健壮,调试也比较简单,.NET总是可以随时跟踪数据的类型。在C#中,不能完成如“把4字节的内存放在数据中,并把它解释为x”等的任务。C#只是.NET开发的一种语言,是目前最好的一种语言。C#的优点是,它是唯一为.NET Framework而设计的语言,是移植到其他操作系统上的.NET版本中使用的主要语言。C#能使用.NET Framework代码库提供的每种功能1.3系统描述本系统运用面向对象的编程思想,基于UML对企业库存管理系统进行分析与设计。本文运用UML来分析和描述企业库存管理中所涉及的基本信息管理、商品入库、出库、退货等一系列功能。系统管理包括:数据备份基本数据包括:产品栏目设置、往来单位管理、产品信息管理入库单包括:添加入库单、入库单管理、查询统计出库单包括:添加出库单、出库单管理、查询统计退货单包括:添加退库单、退库单管理、查询统计1.4 分析方法 为了适应开发过程多方面的挑战,不同的组织和不同的应用领域需要采取不同的开发过程才能提高开发效率。我在系统的设计开发中,使用了“快速应用工程指导原则”(Guidelines for Rapid APPLication Engineering),简称GRAPPLE。GRAPPLE的思想并没有脱离以往的UML分析方法RUP(Rational Unified Process, 统一开发过程)。它是一组可以自适应的,灵活的开发思想,可以适应与许多不同组织的软件开发过程,让开发者发挥自己的创造力和好的思想来构建自己的组织。 GRAPPLE由5个段组成,即需求收集,分析,设计,开发,部署。本次的论文,便是以GRAPPLE方法的基本结构、步骤来构架的,由于在软件的构建阶段,设计和分析都可以往返进行直到设计完成,所以在论文中,我将分析与设计合并为一个章节来叙述。之后在设计的基础上使用微软的Visual C#完成系统的实现。2.需求收集2.1 业务过程分析开发一个系统的起点就是获得对客户业务过程的理解,特别是获得使用目标系统的客户的理解。这就需要系统分析员与客户进行充分的交流。首先要在调研的过程中了解到一套业务领域的词汇。“企业库存管理系统”需要实现的功能有主要有:基本数据、入库管理、出库管理、退货管理、系统维护等,可以用下面的业务流程图来表示它们之间的关系:图2-1 系统业务流程此次设计的库存管理系统需要完成的主要功能有:入库管理、出库管理、退货管理、等一系列与业务流程相配套的完整功能。在系统中,主要的业务流通领域词汇有以下几大类:采购计划、入库管理、财务验收、付款处理、出库管理、调价处理、退货管理、查询、商品信息管理的总体活动可以由下图来描述:图2-2 企业库存管理的活动图2.2 研究领域分析现在仍然处在需求收集阶段的概念性分析。这个阶段需要开发出初步的类图、建立和标记类之间的关联,同时填充类的信息。2.2.1 初步用例模型开发用例是由参与者发起的,参与者能够从用例的执行中获得有价值的事物。用例模型的图形表示法很直观。用例用一个椭圆形表示,直立人形图表表示参与者。用例的发起参与者在用例图的左侧,接受参与者在用例图的右侧。参与者的名字放在参与者图表的下方,用例的名字可以放在椭圆形里面也可以放在椭圆形下方。关联线连接参与者和用例,并且表示参与者与用例之间有通信关系。关联线是实现,和类之间的关联线类似。 用例分析的一个好处是它能展现出系统和外部世界之间的边界。参与者是典型的系统外部实体,而用例属于系统内部。系统的边界用一个矩形(里面写着系统的名字)来代表。系统的用例装入矩形之内。参与者、用例和互连线共同组成了用例模型(use case model).下图说明了这些符号:图2-3 用例模型示例图2-4 系统UML用例图 开发系统业务角色 首先,需要确定整个系统的业务角色。业务角色,顾名思义,就是与业务交流的人或物,都可以被称为业务角色。在本管理系统中,大体上可以分为生产厂家、供应商、采购员、销售员、基本操作员、系统管理员这六类业务角色。2.2.2 开发初步类图 系统中的类类图(Class Diagram)描述类和类之间的静态关系。与数据模型不同,它不仅显示了信息的结构,同时还描述了系统的行为。类图是定义其它图的基础。在类图的基础上,状态图、合作图等进一步描述了系统其他方面的特性。对象(Object)与对客观世界的理解相关。通常用对象描述客观世界中某个具体的实体。所谓类(Class)是对一类具有相同特征的对象的描述。而对象是类的实例(Instance)。建立类模型时,应尽量与应用领域的概念保持一致,以使模型更符合客观事实,易修改,易理解和易交流。类描述一类对象的属性(Attribute)和行为(Behavior)。在UML中,类的可视化表示为一个划分成三个格子的长方形(下面两个格子可省略)。图1中,运动员就是一个典型的类。类的获取和命名:最顶部的格子包含类的名字。类的命名应尽量用应用领域中的术语,应明确、无歧义,以利于开发人员与用户之间的相互理解和交流。类的获取是一个依赖于人的创造力的过程,必须与领域专家合作,对研究领域仔细地分析,抽象出领域中的概念,定义其含义及相互关系,分析出系统类,并用领域中的术语为类命名。一般而言,类的名字是名词。图2-5 运动员类图示例系统中包含的类: 用户(ShUser)、客户(ShCorp)、供应商(ShCorp)、部门(ShDept)商品(ShProuct)、商品类型(ShClass)、仓库(ShStoreHouse)、入库单表头(ShBill)、入库单表体(ShBillList)、出库单表头(ShBill)、出库单表体(ShBillList)、退货单表头(ShBill)、退货单表体(ShBillList) 类之间的关系在这个阶段,对开发出来的初步类图中的类,根据其意义来分成一些组。人组成的一组: 用户(ShUser)、客户(ShCorp)、供应商(ShCorp)、部门(ShDept)物品组成的一组:商品(ShProuct)、商品类型(ShClass)、仓库(ShStoreHouse)生成的单据组成的一组:入库单表头(ShBill)、入库单表体(ShBillList)、出库单表头(ShBill)、出库单表体(ShBillList)、退货单表头(ShBill)、 退货单表体(ShBillList) 构建系统类图在完成了初步类图的构建之后,需要建立和标记出类之间的关联。具体的表述关联的方法策略是:先从几个类开始,找出与这个类存在关联的其他类,然后再寻找另外一组类与其他类的关联,直到穷尽了所有的类为止。下面先介绍一下类之间常用的几种关系以及他们的概念:关联关系:关联(Association)表示两个类之间存在某种语义上的联系。角色:关联两头的类以某种角色参与关联。关联类:一个关联可能要记录一些信息,可以引入一个关联类来记录。聚集和组成:聚集(Aggregation)是一种特殊形式的关联。聚集表示类之间的关系是整体与部分的关系。聚集可以进一步划分成共享聚集(Shared Aggregation)和组成。继承关系:人们将具有共同特性的元素抽象成类别,并通过增加其内涵而进一步分类。继承(Generalization)定义了一般元素和特殊元素之间的分类关系。在UML中,继承表示为一头为空心三角形的连线。如图2-8中,将User进一步分为common user, administrator和business user,使用的就是继承关系。依赖关系: 有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。图2-6 系统UML类图2.3 系统需求研究2.3.1 收集系统需求在对一个系统的开发中,必须集中考虑用户的需求,这个步骤需要开发出系统的功能包图,每个包应代表系统的一个功能模块。包:将许多类集合成一个更高层次的单位,形成一个高内聚、低耦合的类的集合。UML中这种分组机制叫包(Package)。任何模型元素都运用包的机制。如果没有任何启发性原则来指导类的分组,分组方法就是任意的。在UML中,最有用的和强调最多的启发性原则就是依赖。包图主要显示类的包以及这些包之间的依赖关系。有时还显示包和包之间的继承关系和组成关系。2.3.2开发系统功能包图现在可以开发出系统功能包图如图2-11。在图2-11中,“系统”包由“界面”包和“单据”包和“使用者”包组成。这里称它们为系统包的内容。当不需要显示包的内容时,包的名字放入主方框内,否则包的名字放入左上角的小方框中,而将内容放入主方框内。包的内容可以是类的列表,也可以是另一个包图,还可以是一个类图。图2-7系统功能包图3系统分析与设计3.1 开发系统用例模型用例能够帮助系统开发者理解系统的预期行为,因而是一个强有力的工具,它能够帮助开发者从用户的观点收集需求。用例是一个强有力的工具,当使用UML可视化的表达出这些概念后,用例甚至会变得更加强大。可视化可以向用户显示用例,他们可以提供更多的信息。实际生活中用户常常知道的比他们清楚表达出来的要多:用例能够帮助用户解决这个问题。另外,可视化的表达形式允许将用例图和其他种类的图结合起来。系统分析过程中的一个目标是产生一组用例。此想法是要对用例进行分类整理,以便于引用。这些用例代表着用户对系统的观点。当要对系统升级时,用例目录可以作为进一步收集升级需求的基础。 图3-1 系统UML用例图3.2 系统数据库设计3.2.1 数据库需求分析用户的需求具体体现在各种商品信息的提供、保存、更新和查询以及商品出入库的输入、保存、查询等方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。1)用户为管理员用户;2)管理员用户登陆后可进行货物信息及厂商信息、客户信息等的维护,以且货物入库、货物出库、货物退货及统计信息的维护;经过系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:1) 用户信息包括数据项:用户编码、用户名、用户密码、所属部门、联系电话2)部门信息包括数据项:部门编码、部门名称3)供应商信息包括数据项:供应商编码、供应商名称、联系人、职务、联系电话、手机、传真、邮编、公司类别、所属区域、信用度、公司网站、公司地址、备注4)客户信息包括数据项:供应商编码、供应商名称、联系人、职务、联系电话、手机、传真、邮编、公司类别、所属区域、信用度、公司网站、公司地址、备注5)货品信息包括数据项:产品名称、产品数字吗、产品拼音码、产品规格、单位、产品单价、所属类型、产品描述6)货品分类包括数据项:分类编码、分类名称、上级编码7)仓库信息包括数据项:仓库编码、仓库名称8)入库信息包括数据项:供应单位、供应商地址、供应产品名称、供应商联系人、产品数量、产品序列号、供应产品备注信息9)出库信息包括数据项:客户单位、客户地址、产品名称、联系人、产品数量、产品序列号、产品备注信息10)退货信息包括数据项:退货单位、退货单位地址、产品名称、联系人、产品数量、产品序列号、产品备注信息3.2.2 数据库概念结构设计得到上面数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。设计规划出的实体有:用户实体、部门实体、客户实体、货品实体、货品类型实体、仓库实体、厂商实体。图3-3 系统E-R图3.2.3数据库逻辑结构设计数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。商品进销存管理系统数据库中各个表的设计结果如表所示。每个表格表示在数据库中的一个表。图3-4为用户信息表,存储系统中的用户信息。图3-4 用户信息表(ShUser)图3-5为部门信息表,存储系统中的部门信息。图3-5 部门信息表(ShDept)图3-6为货物分类信息表,记录系统中已有货物的分类信息。图3-6 货品分类信息表(ShClass)图3-7 为货物信息表,记录系统中已有货物的信息。图3-7 货品信息表(ShProduct) 图3-8为供应商、客户信息表,记录系统中客户与供应商的详细信息。图3-8 客户、供应商信息表(ShCorp)图3-9为入库单、出库单、退货单表头信息表,记录入库单、出库单、退货单表头信息。图3-9 单据表头信息表(ShBill)图3-10为入库单、出库单、退货单表体信息表,记录入库单、出库单、退货单表体信息。图3-10 单据表体信息表(ShBillList)图3-11为系统数据库备份信息表,记录每次备份数据库的名称和时间信息图3-11 备份记录信息表(ShDataBack)图3-12为基础信息数据表,保存一些常用的基础数据信息图3-12 基础数据信息表(ShDict)4.开发系统 经过前面对库存管理系统分析,从这里开始真正开始实施编程的阶段,有了充分的分析和设计结果,这个阶段的工作就能快速平稳的进行,只有需求分析充分,在编码阶段才可能迅速进行。4.1 编制代码根据前阶段开发出来的用例图、类图、活动图,下一步的工作就是编制实现系统的代码。本设计我使用的编程语言是.Net(C#)。4.2 系统实现Visual Studio 2010 +SQL Server 2008开发环境提供了一个统一的集成的开发环境,其中集成了许多可视化辅助工具,因此对于用户界面的建立和代码的生成来说是比较简单的。4.2.1 用户界面用户界面决定了系统可使用性的好坏。用户界面的设计同样需要讲究艺术性和科学性,在利用艺术角度的见解和人性因素的研究之外,还要考虑到系统用户的直观感觉。下面以系统登录界面为例,来介绍程序的界面。如图4-1图4-1系统登录界面系统界面设计十分简单,只有“用户名”、“密码”两个输入框及“登陆”一个按钮组成。此页面肩负着系统的安全,所以其安全性能要求很高,所以在数据库存储中进行了加密处理,即便他人在数据库中看到用户账号和密码也无法直接获得用户密码。4.2.2 登录动作代码企业库存管理系统登录动作代码如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using AcomLb.BLL;using AcomLb.Components;using AcomLb.Model;public partial class LoginPage : System.Web.UI.Page UserInfo userinfo = new UserInfo(); protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) this.Login1.Focus(); protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) string userId = StrHelper.ConvertSql(this.Login1.UserName); string passWd = StrHelper.EncryptPassword(StrHelper.ConvertSql(this.Login1.Password), StrHelper.PasswordType.MD5); ShUserData ds = new ShUser().GetUserInfo(userId, passWd); if (ds.Tables0.Rows.Count 0) DataRow dr = ds.Tables0.Rows0; userinfo.Uid = (int)drShUserData.ID_FIELD; userinfo.UserId = drShUserData.USERID_FIELD.ToString(); userinfo.UserName = drShUserData.USENAME_FIELD.ToString(); userinfo.DeptId = (int)drShUserData.DEPT_FIELD; userinfo.DeptNm = drShUserData.DEPTNAME_FIELD.ToString(); FormsAuthentication.SetAuthCookie(userinfo.UserId, false); FormsAuthentication.RedirectFromLoginPage(userinfo.UserId, false); else Jscript.AjaxAlert(this, 登陆失败,用户名或密码错误!); 4.3 部分系统界面及功能简介4.3.1企业库存管理系统主界面 图4-3企业库存管理系统主界面4.3.2客户信息管理界面图4-4客户信息管理界面此页面可以实现按照指定条件查询客户信息,并对已有客户信息进行修改、删除,还可以新增客户信息。4.3.3货品信息管理界面图4-5货品管理界面此页面所实现对货品信息进行管理,可以根据条件快速查询,修改、删除已有货品以及新增货品等。4.3.4货品分类管理界面图4-6货品分类管理界面4.3.5入库单界面图4-7入库界面此页面所实现对货品的入库操作,货品入库时,仓库管理员根据实际情况做入库单。4.3.6入库管理主界面图4-8入库管理主界面此页面可对入库单编辑、删除、添加等操作。4.3.7入库查询主界面图4-9入库查询主界面此页面查看各往来单位的单据数量,并可以通过这里直接查看每个供应商的供货详情。4.4系统特色 本系统中有些些颇具特色的两点,主要是对用户密码进行加密处理,可以保证用户的安全,同时可以支持在页面对数据库进行备份保证数据存储安全。4.4.1用户密码加密存储在系统中,用户密码经MD5加密后存储于数据库中,可以保证用户的密码安全。代码如下: public static string EncryptPassword(string PasswordString, PasswordType PasswordFormat) switch (PasswordFormat) case PasswordType.SHA1: passWord = FormsAuthentication.HashPasswordForStoringInConfigFile(PasswordString, SHA1); break; case PasswordType.MD5: passWord = FormsAuthentication.HashPasswordForStoringInConfigFile(PasswordString, MD5).Substring(8, 0x10).ToLower(); break; default: passWord = string.Empty; break; return passWord; 4.4.2.支持在页面备份数据库在页面支持数据库备份功能,同时提供备份文件的下载功能,这样可以最大限度地保证数据存储安全。备份页面如下:主要代码如下: public bool SetDataBack(string PathDataName, string FileName) string backName = PathDataName.Substring(PathDataName.LastIndexOf(/) + 1);DbCommand Backcmd = this.db.GetStoredProcCommand(AcomStoreDataBack); this.db.AddOutParameter(Backcmd, flag, DbType.String, 100); this.db.AddInParameter(Backcmd, backup_db_name, DbType.String, AcomStore); this.db.AddInParameter(Backcmd, filename, DbType.String, PathDataName); this.db.AddInParameter(Backcmd, BackName, DbType.String, backName); return (this.db.ExecuteNonQuery(Backcmd) 0); 后台AcomStoreDataBack存储过程代码如下:CREATE PROCEDURE dbo.AcomStoreDataBackflag VARCHAR(100) OUT,backup_db_name VARCHAR(50),filename VARCHAR(200), -路径文件名字BackName VARCHAR(100)ASDECLARE SQL nvarchar(4000),par nvarchar(1000)IF NOT EXISTS( SELECT * FROM MASTER.sysdatabases WHERE NAME=backup_db_name )BEGIN SELECT flag=db not exist /*数据库不存在*/ RETURNENDELSEBEGIN IF right(filename,1) AND charindex(,filename)0 BEGIN SELECT par=filename varchar(1000) SELECT SQL=BACKUP DATABASE +backup_db_name+ to disk=filename with init EXECUTE sp_executesql S

温馨提示

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

评论

0/150

提交评论