• 2.02 MB
  • 2022-04-22 13:41:12 发布

进销存管理系统毕业设计论文.doc

  • 40页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'进销存管理系统毕业设计论文目录引言1第1章概述21.1信息管理系统概述21.2某进销存管理系统概述2第2章开发环境32.1硬件要求32.2软件要求3第3章系统分析33.1可行性分析33.1.1系统实现后对组织机构、管理模式的影响33.1.2、可行性研究43.2需求分析53.2.1系统功能需求分析53.2.2系统设计结构分析53.2.3系统功能流程图设计8第4章系统设计94.1系统设计要求、目标及命名规则94.1.1要求94.1.2目标94.1.3命名规则94.2系统功能设计104.2.1系统具体功能104.3数据库设计114.3.1数据库概要结构设计124.3.2数据库逻辑结构设计13第5章系统的具体实施175.1母版页175.1.1母版页的优点175.1.2母版页的使用185.1.3本系统的母版页图5-1所示。1938 5.2各个模块的实现195.2.1登录及切换用户195.2.2登录成功后进入的主界面215.2.3权限设置235.2.4进货单查询265.2.5销售订单校验285.2.6库存信息设置30第6章遇到的问题及解决办法32第7章总结35致谢36参考文献3738 引言经济大环境的变化使得规模经济的优势不再突出。固定的硬设备、人员数量、大量资金等资源投入占企业效益的比重变少,而软投入如管理、人力资源价值、服务、品牌附加值、渠道却能增加企业的效益。“速度冲击规模”的速度经济概念已经向企业提出。那么对于日益发展壮大的企业集团,怎样才能找到一套功能强大、可任意拓展、低运行成本、安全可靠的管理解决方案,来跟上企业的发展,跟上时代的发展呢?我们认为最好的办法是利用Internet这个工具,架构自己的供需链管理平台,使无处不在的互联网为你所用,实现无处不在的管理目标。让Internet像电一样融入到企业的管理之中,提高企业在新经济时代的核心竞争力,通过对Internet的高效率使用,在激烈的市场竞争中,首先打赢第一仗“信息战”。正是基于对Internet的这种深刻认识,针对中国企业特点提出了基于Internet的网络商务管理解决方案——某进销存管理系统。38 第1章概述1.1信息管理系统概述信息管理系统就是我们常说的MIS(ManagementInformationSystem),它是一个计算机软硬件资源以及数据库的人-机系统。它能提供信息支持企业或组织的运行、管理和决策功能。许多企业已经或正准备投入高额资金、花大力气建立大规模的计算机管理信息系统(MIS)普遍存在着系统建设难以达到预期效果的问题。有的开发规模很大,实际应用的范围却很小;有的系统用与不用似乎没有明显的差别;还有的系统由于技术落后、维护工作量太大,若在原有的基础上扩充功能还不如推倒重来。就系统开发的某一具体问题来说,主要是开发用于数据处理的程序,既不需要高深的物理(如电力系统)概念,也不需要复杂的数学算法,一般是比较容易实现的,并且大都采用最新的、高性能的计算机软硬件平台,由优秀的计算机技术人员实施开发,很少出现因网络或程序调试不通而中止开发的事情。信息管理系统(MIS)以分类组织数据为核心,无论计算机内部多复杂,MIS建设所用到的通常只是计算机的操作。随着计算机技术的飞速发展,其功能越来越强,使用越来越简单,计算机技术本身已不再是MIS建设中的难题。系统开发中,有关计算机要解决的关键问题是怎样以计算机为平台组织新的系统。MIS系统大大简化了管理人员的工作,使高层管理人员对中层,中层对基层、基层对设备系统逐级加强了管理、监督和控制等,业务工作量减少,系统的维护工作量增大,大量的业务改进工作转向系统的改进,系统的正常运行成为企业运转的生命线,因此,选拔、培养出合格人员特别是各层次计算机系统负责人是企业MIS建设的基础。1.2某进销存管理系统概述(1)描述某进销存管理系统是典型5的1信a息s管p理x系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立资料一致性和完整性强、资料安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。随着科学技术的不断提高,计算机科学日渐成熟,强大的功能已为人们深刻认识,某进销存管理系统的开发的环境及51条as件px38 越来越优越,同时功能也变得越来越强大。企业使用进销存管理系统即有宏观上的意义,那就是顺应时代信息化、现代化潮流,提高效益;也有微观上的意义,那就是可以提高管理的现代化程序,加强管理的信息化手段,提高工作效率。(2)目的随着社会的进步和计算机的不断普及,各行各业的管理、控制都越来越离不开计算机的辅助。“某进销存管理系统”的开发就是为了辅助大多数企业的基本管理,实现信息管理的系统化、规范化和自动化。(3)意义简化人们日常工作中的大量机械重复的操作,使一些过程繁琐且数据量大的工作得已高效的进行,进销存管理系统还可以通过对数据的有效控制,实现对工作流层的控制、协调,从而提高企业的竞争力。第2章开发环境2.1硬件要求CPU:IntelPentium(Ⅳ)2.0GHZHDD:80GRAM:512M2.2软件要求操作系统:WindowsXP/Windows2000。数据库:SQLServer2005。开发工具:MicrosoftVisaulStudio2005。辅助开发工具:PhotoshopCS2。浏览器:IE5.0,推荐使用IE6.0。Web服务器:IIS5.1。分辨率:最佳效果1024×768像素。第3章系统分析3.1可行性分析3.1.1系统实现后对组织机构、管理模式的影响  进销存管理系统是基于先进的软件和高速、大容量的硬件基础上的新的进销存管理模式,通过集中式的信息数据库,将企业的进、销、存、调、转、赚等企业的经营业务有机的结合起来中,达到数据共享、降低成本、提高效率、改进服务等目的。同时还可以从以下几个方面来提高管理水平:●提高管理效率降低人工成本38 ●降低采购成本●及时调整营销策略●防范陈呆死帐提高帐款管理●减少仓储面积,提高房产综合利用●降低储备资金占用●加快资金周转实现的经济效益●强化财务控制实现的经济效益●商业数据智能分析●高效决策3.1.2、可行性研究1开发系统的必要性  随着网络的普及和流行,通过互联网络进行经济活动不仅方便快速,而且经济实惠,还可以吸引更多的顾客,这也是商家看好的地方。从这一点足可以说明开发系统的必要性。2开发系统的经济可行性  经济费用方面主要包括:购置并安装软硬件及有关设备的费用;系统开发费用;系统安装、运行和维护费用;人员培训费用。硬件方面,除了服务器要求高一点以外,终端设备不是太贵。软件方面,当然需要买正版的操作系统。系统开发费用为30万元人民币,不过这个数字与一个公司的发展比起来就显得太渺小了。系统的安装由我们开发人员来完成,费用包括在开发费用之中。运行和维护只需要公司招聘相应的技术人员来完成即可,这也是必不可少的一项开支。本系统操作方便,人机交互友好,易学易懂,所以培训时间会很短,费用也不会太高。总之,这几项加起来与本系统所带来的经济效益和社会效益比起来,可以说是微不足道。3开发系统的技术可行性  通过对公司业务流程各个环节的分析,确定出了新系统的管理结构。我开发小组人员利用现有的开发工具和开发技术完全可以在规定的时间,规定的资金范围内实现新系统的全部功能。4开发系统的法律可行性  开发本系统是为了实现公司的高效管理,并实现对决策的支持。在开发的过程中完51全a自s主px开发,不会出现侵权问题。另外也会使用正版的软件来开发系统和运行系统。5组织管理上的可行性  系统会使公司的管理更加科学化,也会更方便、高效,更人性化。同时也可以优化组织结构,提高企业的竞争力。6社会条件上的可行性38   网络的普及,网络也越来越受到人们的喜爱,这也为系统实现后的运行提供了一个大的环境。3.2需求分析3.2.1系统功能需求分析某进销存管理系统是一个典型的数据库开发应用程序,由基础信息管理模块、进货信息管理模块、销售信息管理模块、库存信息管理模块等部分组成,规划系统功能模块如下:(1)基础信息管理模块该模块主要包括切换用户、权限信息设置、业务员信息设置、客户信息设置、供应商信息设置、商品信息设置、仓库信息设置、角色信息设置、会员类别信息设置、产品类别信息设置。(2)进货信息管理模块该模块主要包括进货信息查询、进货订单录入和修改、进货单录入和修改、订货单打印。(3)销售信息管理模块该块主要包括销售信息查询、销售订单录入和修改改、销售单录入和修改、销售单打印。(4)库存信息销售模块该模块主要包括库存信息查询、库存信息的设置、进货订单的校验、销售订单的校验、库存单打印。3.2.2系统设计结构分析某进销存管理系统采用的是浏览器/服务器系统(Browser/Server简称B/S)结构。(1)B/S介绍B/S结构,即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。它是随着Internet技术的兴起,对C/S结构的一种变化和改进。主要利用了不断成熟的WWW浏览器技术,结合多种Script语言(VBScript、JavaScript…)和ActiveX技术,是一种全新的软件系统构造技术。B/S三层体系结构采用三层浏览器/服38 务器结构,在数据管理层(Server)和用户界面层(Client)增加了一层结构,称为中间件(Middleware),使整个体系结构成为三层。三层结构是伴随着中间件技术的成熟而兴起的,核心概念是利用中间件,将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次,如图2所示。三个层次的划分是从逻辑上分的,具体的物理分法可以有多种组合。中间件作为构造三层结构应用系统的基础平台,提供了以下主要功能:负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。图4-1B/S三层体系结构在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由WebServer完成。随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。采用该结构软件的优势在于:l无须开发客户端软件,维护和升级方便;l可跨平台操作,任何一台机器只要装有WWW浏览器软件,均可作为客户机来访问系统;l具有良好的开放性和可扩充性;l可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。38 因此该结构在管理信息系统开发领域中获得飞速发展,成为应用软件研制中一种流行的体系结构。(2)B/S相对于C/S的优势由于传统的客户服务器两层结构存在灵活性差、升级困难、维护工作量大等缺陷,已较难适应当前信息技术与网络技术发展的需要。而Browse/Server(简称B/S)结构已成为取代Client/Server(简称C/S)结构的一种全新技术。它的主要优势有:a.维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大的单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。b.成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。c.应用服务器运行数据负荷较重。38 由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。(3)客户/服务器体系结构的综合特点B/S结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低,这些缺点是有目共睹的,难以实现传统模式下的特殊功能要求。例如通过浏览器进行大量的数据输入或进行报表的应答、专用性打印输出都比较困难和不便。此外,实现复杂的应用构造有较大的困难。虽然可以用ActiveX、Java等技术开发较为复杂的应用,但是相对于发展已非常成熟C/S的一系列应用工具来说,这些技术的开发复杂,并没有完全成熟的技术工具供使用。3.2.3系统功能流程图设计根据上述系统功能的需求分析,按照结构化程序设计的要求,得到如下所示的系统功能模块图,如图3-1图3-1系统功能结构图38 第4章系统设计4.1系统设计要求、目标及命名规则4.1.1要求(1)由于操作人员的计算机知识普遍较差,要求有良好的人机界面。(2)由于该系统的使用对象多,要求有较好的权限管理。(3)方便的数据查询,支持多条件查询。(4)基础信息管理(包括商品信息、客户信息、供应商信息等)。(5)通过计算机,能够直接“透视”仓库存储情况。(6)完善的商品采购信息、商品销售信息进行管理。(7)商品销售排行统计。(8)当外界环境(停电、网络病毒)干扰本系统时,系统可以自动保护原始数据的安全。(9)数据计算自动完成,尽量减少人工干预。(10)系统退出。4.1.2目标(1)系统采用人机对话方式,界面美观友好、信息查询灵活、方便、快捷、准确、数据存储安全可靠。(2)键盘操作,快速响应。(3)实现各种查询,如多条件查询、模糊查询等。(4)管理员可以设置操作员的权限。(5)对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。(6)数据保密性强,为每个用户设置权限级别。(7)系统最大限度地实现了易安装性、易维护性和易操作性。(8)系统运行稳定、安全可靠。4.1.3命名规则(1)项目中命名规则项目中各个子项均以子项功能名称的各个汉字的第一个字母,并且都要大写,他们对应的三层中的类均以他们的名称加上相应的后缀命名(例如:进货项,项目名JH,对应数据层中的类是JHService),类中的方法依据功能而定,项目中的页面命名是项目名为前缀加上相应功能名。(2)数据库命名规则数据库名称与项目名称相同,数据库中表命名规则是表名称各个汉字的第一个字母,表中字段命名与表相同。38 4.2系统功能设计4.2.1系统具体功能(1)基础管理结构图4-1所示:基础管理结构图4-1切换用户:进入系统前从此界面登录,登录时,分多种权限;权限信息设置:对权限信息进行相关操作;业务员信息设置:对业务员信息进行相关操作;客户信息设置:对客户信息进行相关操作;供应商信息设置:对供应商信息进行相关操作;商品信息设置:对商品信息进行相关操作;仓库信息设置:对仓库信息进行相关操作;角色信息设置:对角色信息进行相关操作;会员类别信息设置:对会员类别信息进行相关操作;产品类别信息设置:对产品类别信息进行相关操作;(2)进货管理结构图4-2所示:进货管理结构图4-2进货信息查询:对进货信息按照不同字段进行查询并排序;进货订单录入和修改:根据库存商品数量,对进货订单进行相关操作;进货单录入和修改:根据进货订单确认情况,对进货单进行相关操作;进货单打印:打印进货单;38 (3)销售管理结构图4-3所示:销售管理结构图4-3销售信息查询:对销售信息按照不同字段进行查询并排序;销售订单录入和修改:对销售订单进行相关操作;销售单录入和修改:根据销售订单确认情况,对销售单进行相关操作;销售单打印:打印销售单;(4)库存管理结构图4-4所示:库存管理结构图4-4库存信息查询:对库存信息按照不同字段进行查询并排序;库存信息的设置:对库存信息进行相关操作;进货订单的校验:确认进货订单;销售订单的校验:确认销售订单;库存单打印:打印库存单;(5)退出4.3数据库设计本系统数据库采用SQLServer2005数据库,系统数据库名称为JXC。数据库JXC中包含15张表。38 4.3.1数据库概要结构设计(1)商品信息,包括的数据项有:产品编号、产品名称、条形码、类别、入库价格、分销价格、零售价格、生产厂家、更新日期、备注信息等。(2)产品类别信息,包括的数据项有:类别编号、类别名称、备注信息等。(3)客户信息,包括的数据项有:客户编号、客户名称、地址、邮政编码、电话号码、公司主页、联系人、联系人电子邮件、类别、累计消费金额、备注信息等。(4)供应商信息,包括的数据项有:供应商编号、供应商名称、地址、邮政编码、电话号码、公司主页、联系人、联系人电子邮件、备注信息等。(5)角色信息,包括的数据项有:角色编号、角色名称、备注信息等。(6)权限信息,包括的数据项有:权限编号、权限名称、权限转向、备注信息等。(7)角色权限信息,包括的数据项有:编号、角色编号、权限编号。(8)业务员信息,包括的数据项有:业务员编号、业务员姓名、登录名称、登录密码、类别、电话号码、家庭住址、身份证号码、备注信息等。(9)进货订单信息,包括的数据项有:订货日期、编号、业务员、供应商编号、产品编号、数量、单价、折扣比例、总金额、状态、备注信息等。(10)进货单信息,包括的数据项有:入库日期、业务员、编号、进货订单编号、供应商编号、仓库编号,商品编号、数量、单价、折扣、总金额、是否即时付款、是否记帐、预付比例、备注信息等。(11)销售订单表,包括的数据项有:销售订货日期、业务、销售订货单编号、客户编号、商品编号、数量、单价、折扣、总金额、状态、备注信息。(12)销售单表,包括的数据项有:销售日期、业务员、销售单编号、销售订单编号、客户编码、仓库编号、商品编号、数量、单价、折扣、总金额、是否即时付款、是否记帐、预付比例、备注信息。(13)库存信息,包括的数据项有:编号、更新日期、仓库编号、商品编号、数量、总金额、缺货警告、备注信息等。(14)会员类别信息,包括的数据项有:编号、名称、备注信息等。(15)仓库信息,包括的数据项有:仓库编号、仓库名称、备注。38 4.3.2数据库逻辑结构设计根据上述数据库的需求分析和概念结构设计,设计了名称为JXC的数据库。数据库JXC由下面多个表格组成,各个表的命名及字段命名都是以相应名称的拼音首字母组合而成,各个表格的设计结果如下表格所示,每个表格表示在数据库中相对应的一个表。列名数据类型可否为空说明spbhintNotNull商品编号(主键自增)spmcVarchar(50)NotNull商品名称sptxmVarchar(50)Notnull商品条形码splbbhintNull商品类别编号spRkjgdecimalNull入库价格spFxjgdecimalNull分销价格spLsjgdecimalNull零售价格spSccjVarchar(50)Null生产厂家spGxrqVarchar(50)Null更新日期spbztextNull备注信息表4-5商品信息表(spxx)列名数据类型可否为空说明cplbbhintNotNull产品编号(主键自增)cplbmcVarchar(50)NotNull产品名称cplbbztextNull备注信息表4-6产品类别表(cplb)列名数据类型可否为空说明HybhintNotNull会员编号(主键自增)HymcVarchar(50)Null会员名称DzVarchar(100)Null地址YzbmVarchar(20)Null邮政编码LxdhVarchar(20)Null联系电话GszyVarchar(20)Null公司主页LxrVarchar(20)Null联系人LxrdzyjVarchar(50)Null联系人电子邮件HylbIntNull会员类别38 LjxfjedecimalNull累计消费金额khbztextNull备注信息表4-7客户信息表(kh)列名数据类型可否为空说明GysbhintNotNull供应商编号(主键自增)GysmcVarchar(50)NotNull供应商名称DzVarchar(100)Null地址Yzbmvarchar(20)Null邮政编码Lxdhvarchar(20)Null联系电话Gszyvarchar(50)Null公司主页Lxrdzyjvarchar(50)Null联系人电子邮件Lxrvarchar(20)Null联系人gysbztextNull备注信息表4-8供应商信息表(gys)列名数据类型可否为空说明jsbhintNotNull角色编号(主键)jsmcVarchar(50)NotNull角色名称lbbztextNull备注信息表4-9角色表(js)列名数据类型可否为空说明QxbhintNotNull权限编号(主键自增)QxmcVarchar(50)Null权限名称QxurlVarchar(100)null权限转向qxbztextNull备注信息表4-10权限表(qx)列名数据类型可否为空说明Js_qxbhintNotNull编号(主键自增)jsbhintNull角色编号qxbhintnull权限编号表4-11角色权限表(js_qx)列名数据类型可否为空说明YwybhintNotNull业务员编号(主键自增)YwymcVarchar(50)NotNull业务员姓名DlmcVarchar(50)NotNull登录名称38 DlmmVarchar(50)NotNull登录密码LxdhVarchar(50)Null联系电话JtzzVarchar(100)Null家庭住址SfzhmVarchar(50)Null身份证号码jsbhintNotNull角色编号(外键)ywybztextNull备注信息表4-12业务员表(ywy)列名数据类型可否为空说明DhrqVarchar(50)NotNull订货日期YwyintNull业务员jhddbhVarchar(50)NotNull进货订单编号(主键)GysbhintNull供应商编号spbhintNull商品编号SldecimalNull数量djdecimalNull单价ZkdecimalNull折扣ZjedecimalNull总金额ztintnull状态(0未确认,1确认,2退货,3确认并入库)jhddbztextNull备注信息表4-13进货订单表(jhdd)列名数据类型可否为空说明jhrqVarchar(50)NotNull进货日期YwyVarchar(50)Null业务员jhdbhVarchar(50)NotNull进货单编号(主键)jhddbhVarchar(50)Null进货订单编号GysbhintNull供应商编号CkbhVarchar(50)Null仓库编号spbhintNull商品编号SldecimalNull数量DjdecimalNull单价ZkdecimalNull折扣ZjedecimalNull总金额SfjsfkVarchar(10)Null是否即时付款SfjzVarchar(10)Null是否记帐38 YfjedecimalNull预付金额jhdbztextNull备注信息表4-14进货单表(jhd)列名数据类型可否为空说明XsdhrqVarchar(50)NotNull销售订货日期YwyintNull业务员XsddbhVarchar(50)NotNull销售订单编号(主键)KhbhintNull客户编号SpbhintNull商品编号SldecimalNull数量djdecimalNull单价ZkdecimalNull折扣ZjedecimalNull总金额ztintnull状态(0未确认,1确认,2退货,3确定并出库)xsddbztextNull备注信息表4-15销售订单表(xsdd)列名数据类型可否为空说明XsrqVarchar(50)NotNull销售日期YwyVarchar(50)Null业务员XsdbhVarchar(50)NotNull销售单编号(主键)XsddbhVarchar(50)Null销售订单编号KhbhintNull客户编号CkbhVarchar(50)Null仓库编号spbhintNull商品编号SldecimalNull数量DjdecimalNull单价ZkdecimalNull折扣ZjedecimalNull总金额SfjsfkVarchar(10)Null是否即时付款SfjzVarchar(10)Null是否记帐YfjedecimalNull预付金额xsdbztextNull备注信息表4-16销售单表(xsd)列名数据类型可否为空说明38 KcbhintNotNull库存编号(主键自增)GxrqVarchar(50)NotNull更新日期CkbhVarchar(50)Null仓库编号spbhIntNull商品编号SldecimalNull数量ZjedecimalNull总金额qhjgIntNull缺货警告(0正常,1警告)KcbzTextNull备注表4-17库存表(kc)列名数据类型可否为空说明hylbbhintNotNull会员类别编号(主键自增)hylbmcVarchar(50)Null会员类别名称hylbbztextNull会员类别备注表4-18会员类别表(hylb)列名数据类型可否为空说明CkbhVarchar(50)NotNull仓库编号(主键)CkmcVarchar(50)NotNull仓库名称ckbztextNull备注信息表4-19仓库表(ck)第5章系统的具体实施5.1母版页5.1.1母版页的优点母版页系统易于供设计人员使用,因为它基于ASP.NET的熟悉的用户控件模型。尽管最终加入了近乎完整的可视化,却不需要编写任何代码。另一方面,母版页的功能强大,因为它们支持多区域、默认内容、嵌套模板、和设备筛选器(用于浏览器依赖性)。母版页也是完全编译的,从而具有最佳性能,同时提供一种强类型编程模型(其中包括母版属性的设计时IntelliSense),尽管在最后发行之前可能会作一些折衷,以便更好地支持动态母版。5.1.2母版页的使用1.模板页扩展名为Master,内容页引用模板页的方法:<%@PageLanguage="C#"MasterPageFile="~/Default_Master.Master"38 AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherits="AstarBlogUI.WebForm1"Title="无标题页"%>2.动态改变内容页所引用的模板页通常在Init事件下改变:protectedvoidPage_PreInit(objectsender,EventArgse){this.MasterPageFile="~/ABC.master";}3.在内容页中使用模板页中的控件Master:内容页:Labellb=(Label)Master.FindControl("LabDemo");//直接在Master中找LabDemoif(lb!=null){Response.Write("");}当控件在Master中的ContentPlaceHolder里的话则需要:ContentPlaceHoldera=(ContentPlaceHolder)Master.FindControl("Content2");//先找到ContentPlaceHolder的IDif(a!=null){TextBoxTxt=(TextBox)a.FindControl("TxtDemo");if(Txt!=null){Response.write(Txt.text.ToString());}}4.在内容页中使用模板页中的变量,属性,方法首先在内容页加上:<%@MasterTypeVirtualPath="~/Default_Master.Master"%>模板页中的变量必须为:PublicstringWebTitle="welocometo...";//并放在模板页类下定义并初始化.就可以在内容页中:Master.WebTitle进行引用.但如果此变量在网页加载的时候改变了,引用的值还为定义时初始化的值.因为加加载模板页到内容页的事件先后为:(1)母版页-Init(2)内容页-Init(3)内容页-Load(4)母版页-Load(5)内容页-PreRender(6)母版页-PreRender38 所以,要改变变量的值应放在:母版页中的Init事件中,放在Load事件中是不行的。例:protectedvoidPage_Init(objectsender,EventArgse){if(!IsPostBack){WebConfigSelect();//此方法对变量进行了初始化或者改变!}}5.模板页或内容页中的路径最好使用"~/"而不要使用相对路径5.1.3本系统的母版页图5-1所示。图5-1母板页(JXC.master)5.2各个模块的实现5.2.1登录及切换用户进入系统前首先进入登录这个界面,当用户登录成功后,可以利用此界面进行权限切换,流程图5-2,截图5-3所示。登录的主要代码:publicvoiddlDataBind(){ddlsf.DataSource=JsManager.getAllJs();ddlsf.DataBind();ListItemitem=newListItem("请选择……","-1",true);38 ddlsf.Items.Insert(0,item);}protectedvoidbtndl_Click1(objectsender,EventArgse){if(ddlsf.SelectedValue=="-1")lblmassage.Text="请选择身份!";//51aspxelseif(txtbuser.Text==null||txtbuser.Text=="")lblmassage.Text="请填写用户名!";elseif(txtbpwd.Text==null||txtbpwd.Text=="")lblmassage.Text="请填写密码!";else{lblmassage.Text="";Ywyywy=YwyManager.getYwyByCoditions(txtbuser.Text,txtbpwd.Text,Convert.ToInt32(ddlsf.SelectedValue));if(ywy!=null&&ywy.Ywymc!=null){Session.Add("ywy",ywy);Response.Redirect("/JXC/Default.aspx",true);}else{lblmassage.Text="登录失败!";}}登录流程图5-238 图5-3登录(JCXX_DL.aspx)5.2.2登录成功后进入的主界面主界面可以添加一些制度及其他方面的说明,更重要的是从这个界面可以依据不同的权限进入相应的界面进行相关操作,流程图5-4,主界面图5-5所示。主界面涉及权限的部分代码:protectedvoidPage_Load(objectsender,EventArgse){if(Session["ywy"]!=null){Ywyywy=(Ywy)Session["ywy"];IListjs_qxs=newList();js_qxs=Js_qxManager.getJs_qxsByJsbh(ywy.Jsbh);inturlid=Convert.ToInt32(Request.QueryString["urlid"]);if(urlid!=0){if(js_qxs.Count>0){for(inti=0;igetJhdsByCondition(stringcondition1,stringcondition2)38 {IListjhds=newList();try{stringsql="selectjhrq,ywy,jhdbh,jhddbh,gysbh,ckbh,spbh,sl,dj,zk,zje,sfjsfk,sfjz,yfje,jhdbzfromjhdwhere1=1";if(condition1!="-1"&&condition2!=null)sql+="and"+condition1+"like"%"+condition2+"%"";using(SqlDataReaderreader=DBHelper.GetReader(sql)){while(reader.Read()){Jhdjhd=newJhd();jhds.Add(jhd);}}}catch(Exceptionex){thrownewException(ex.ToString());}returnjhds;}}进货查询流程图5-838 图5-9进货单查询(JH_JHCX.aspx)5.2.5销售订单校验在这个页面可以对销售订单进行校验,随意更改一项、多项或全部状态(销售订单的四种状态的三种,分别是未确认、确认、退货、),销售单校验流程图5-10,销售单校验图5-11所示。销售订单校验的部分代码://绑定销售订单publicvoidxsddDataBind(){gvXsddjy.DataSource=XsddManager.getAllXsdd("","3");gvXsddjy.DataBind();}//修改事件protectedvoidbtnxg_Click(objectsender,EventArgse){if(ddlzt.SelectedValue=="-1"){lblmassage.Text="请选择修改后的状态!";}else{stringxsddbhs=string.Empty;for(inti=0;i0){xsddbhs=xsddbhs.Substring(0,xsddbhs.Length-1);//去掉末尾的逗号stringzt=ddlzt.SelectedValue;//XsddManager.modifyZtByDdbh(zt,xsddbhs);//xsddDataBind();//lblmassage.Text="成功修改选中项的状态!";}else{lblmassage.Text="请选择要修改的项!";}}}销售单校验流程图5-1038 图5-11销售订单校验(KC_XSDDJY.aspx)5.2.6库存信息设置在这个页面可以对库存信息进行相关操作,库存信息设置流程图5-12,库存信息设置图5-13所示。库存信息设置代码://后台代码protectedvoidgvJhdd_RowCommand(objectsender,GridViewCommandEventArgse){stringjhddbh=Convert.ToString(e.CommandArgument);if(jhddbh!=null&&jhddbh!=""){Jhddjhdd=newJhdd();jhdd=JhddManager.getJhddByJhddbh(jhddbh);if(jhdd!=null){Kckc=newKc();kc=KcManager.existsKcBySpbh(jhdd.Spbh);if(kc.Kcbh!=null){txtbgxrqgx.Text=kc.Gxrq;txtbkcbhgx.Text=Convert.ToString(kc.Kcbh);Kcbh=Convert.ToString(kc.Kcbh);if(kc.Ckbh!=null&&kc.Ckbh!=""){ddlckbhgx.SelectedItem.Selected=false;38 ddlckbhgx.Items.FindByValue(kc.Ckbh).Selected=true;}if(kc.Spbh!=0){ddlspbhgx.SelectedItem.Selected=false;ddlspbhgx.Items.FindByValue(Convert.ToString(kc.Spbh)).Selected=true;}txtbslgx.Text=Convert.ToString(kc.Sl+jhdd.Sl);txtbzjegx.Text=Convert.ToString(kc.Zje+jhdd.Zje);ddlqhjggx.SelectedItem.Selected=false;ddlqhjggx.Items.FindByValue(Convert.ToString(kc.Qhjg)).Selected=true;txtbbzgx.Text=kc.Kcbz;jhdd.Zt=1;JhddManager.modifyJhdd(jhdd);jhddDataBind();lblmassagegx.Text="请点击更新!";}else{txtbsltj.Text=Convert.ToString(jhdd.Sl);txtbzjetj.Text=Convert.ToString(jhdd.Zje);ddlspbhtj.SelectedItem.Selected=false;ddlspbhtj.Items.FindByValue(Convert.ToString(jhdd.Spbh)).Selected=true;jhdd.Zt=1;JhddManager.modifyJhdd(jhdd);jhddDataBind();lblmassagetj.Text="请点击添加!";}}else{lblmassagegx.Text="请点击入库!";}}else{lblmassagegx.Text="请点击入库!";}38 }}库存信息设置流程图5-12图5-13库存信息设置(KC_KC.aspx)第6章遇到的问题及解决办法(1)当页面刷新时,数据会丢失,解决办法如下://保存数据,确保刷新时数据存在38 publicintQxbh{get{if(ViewState["Qxbh"]!=null)return(int)ViewState["Qxbh"];elsereturn-1;}set{ViewState["Qxbh"]=value;}}(2)GridView中实现多选,解决办法如下://实现多选的页面代码functionckball(ck){varitems=document.getElementsByTagName("input");//asp.net中的复选框最终生成input的html标签,所有用inputfor(i=0;i//多选的后台代码for(inti=0;i0){38 xsddbhs=xsddbhs.Substring(0,xsddbhs.Length-1);//去掉末尾的逗号stringzt=ddlzt.SelectedValue;//KcManager.modifyZtByDdbh(zt,xsddbhs,"xsddjy");//}//后台代码的和数据库的操作publicstaticvoidmodifyZtByDdbh(stringzt,stringddbh,stringflag){DBHelper.ExecuteCommand("updatexsddsetzt="+zt+"wherexsddbhin("+ddbh+")");}(3)实现弹出式下拉菜单,解决办法是层div加script函数,如下://实现下拉列表的页面代码,是对层的使用functiondivshow(flag){switch(flag){case"jcgl":ifelse(flag);document.getElementById("jhgl").style.display="none";document.getElementById("xsgl").style.display="none";document.getElementById("kcgl").style.display="none";break;case"jhgl":ifelse(flag);document.getElementById("jcgl").style.display="none";document.getElementById("xsgl").style.display="none";document.getElementById("kcgl").style.display="none";break;case"xsgl":ifelse(flag);document.getElementById("jcgl").style.display="none";document.getElementById("jhgl").style.display="none";document.getElementById("kcgl").style.display="none";break;default:ifelse(flag);document.getElementById("jcgl").style.display="none";document.getElementById("jhgl").style.display="none";document.getElementById("xsgl").style.display="none";break;}}38 functionifelse(flag){vardivs=document.getElementById(flag).style.display;if(divs=="none")document.getElementById(flag).style.display="block";elsedocument.getElementById(flag).style.display="none";}38 第7章总结我做的是一个进销存管理系统。该系统属于B/S结构,采用了三层架构模式,由4个模块组成,他们分别是:基础信息管理、进货信息管理、销售信息管理、库存信息管理。操作界面美观,用户使用方便。在用户份权限登录后,不同的用户有不同的权限。权限级别的设置大大加强了本系统的安全性,让使用本系统的人各司其职,从而加强工作效率。在本系统的基础信息管理模块中,可以设置本系统的所有相关参数,从而提高了本系统的实用性。总之,我所作的进销存管理系统的基础信息管理、进货信息管理、销售信息管理、库存信息管理基本可以满足用户的需求。因时间仓促再加上本人知识水平有限,使得本系统还有很多不足的地方,比如:1.界面不够人性化,只进行了静态设计。对于界面处理过程中很少使用样式表,使其不够方便美观。2.关于进销存管理系统做得不够完善,应该加入对账目、盘点、结账的管理。3.对于信息录入时的条件判断不够严密,还缺少修改密码等功能。如今,进销存管理系统是大多数企业所必不可少的管理系统,所以,以后应尽力完善此系统,再多添加些功能,实现各种信息的全面管理。进而提高企业的管理效率,为企业带来更大的价值。38 致谢首先,我要感谢的是我毕业设计的指导老师张51晓a丽spx老师。他虽然工作很繁忙,但仍然给了我最大的帮助。在我有问题请教他时,他总会放下手上的工作耐心的给我帮助和教诲。而张老师严谨的治学态度、一丝不苟的工作作风和对待同学的和蔼的态度、谦和的为人,给我留下了深刻的印象,也将使我终身受益,在此,我向张老师表示我由衷地感谢和崇高的敬意。其次,我要感谢大学里教过我的所有老师,没有他们谆谆教诲,我也不会成长的这么快;同时,我还要感谢我的舍友们,和他们朝夕相处的日子非常开心,他们在我的校园生活中给了我很多帮助。再次,我要感谢我的同学们。无论是在平时还是在做毕业设计这段时间,他们都给了我非常大的支持和非常多的帮助,由于人数太多,就不一一写出名字,总之非常感谢他们。再次感谢以上所有的人,谢谢!38 参考文献1.ASP.NET网络编程技术杨天奇王文何朋李会锋机械工业出版社(2007-01出版)2.ASP.NETWeb程序设计蒋培王笑梅清华大学(2007-06出版)3.ASP.NET与网站开发实践教程郝文化等编清华大学出版社4.ASP.NETAJAX入门与案例详解郭磬君,张艳丽,王芳芳,等编著机械工业出版社(2007-08出版)5.ASP.NET2.0入门经典米切尔人民邮电(2007-05出版)6.戴维斯著《VisualC#.NET应用编程》电子工业出版社,2003年7.赵克立著《C#.NET编程培训教程》清华大学出版社,2003年8.杜亮编著《亲密接触ASP.Net》清华大学出版社,2002年9.李明刚《ASP.NETWeb站点高级编程范例》肖建等编著10.ASP.NET开发实践系列(视频)11.ASP.NET.2.0.快速入门(视频)12.10天学会asp.net教程(文档)13.ASP.NET.2.0入门与提高系列课程(视频)14.ASP.NET项目实战(视频)15.参考资料:http://www.51aspx.com/CV/JXC38'