版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SpringMVC框架仓库管理系统模板资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。摘要伴随着经济全球化和信息化的不断加强,商业也得到了飞速的发展,同时交易多样化,虚拟化也不断加强。为适应企业的发展,及时满足客户的需求,仓库成了众多企业领导层关注的对象。由于仓库管理员采用传统的方式进行管理,效果并不理想,各企业又经常出现供应不足、发货不及时等现象。为此,建立各企业的仓库管理软件,让系统的精确运行代替仓库管理员的疏忽,来提高企业效益成为了一种趋势。仓库管理系统是促进企业发展的重要组成部分,是企业经营管理中的核心环节,也是一个企业能否取得效益的关键,如果能够做到合理采购、及时销售、库存适量、积压较少,那么企业就能够取得最佳效益。在现代社会中,大多数企业单位,特别是中小型企业的首要任务是实现信息化管理,只有实现信息化管理才能提高工作效率和企业管理水平。由于市场经济快速而多变,竞争激烈,企业采用信息化管理仓库的进货、库存、销售等诸多环节已成为发展的必然趋势。结合仓库管理系统中的实际需求,采用基于Spirng的SpringMVC框架以及整合其它MVC开发框架,并结合了Mysql关系数据库和TomcatWeb服务器的B/S结构方案,设计出了适用于仓库管理的系统。该系统有效的提高了仓库管理工作的效率,对信息的规范管理、科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高企业的生产效率,都具有十分重要的现实意义。关键词:仓库管理系统;SpringMVC框架;Mysql关系数据库; AbstractAlongwiththeeconomicglobalizationandthecontinuousstrengtheningofinformationtechnology,businesshasalsobeenrapiddevelopment,andthediversificationoftransactions,virtualizationisalsoconstantlystrengthening.Inordertomeetthedevelopmentoftheenterprise,tomeettheneedsofcustomersintime,warehousehasbecomethefocusofmanybusinessleaders.Duetotheuseoftraditionalmanagementmode.Theestablishmentoftheenterprise'swarehousemanagementsoftwaretoimproveenterpriseefficiencyhasbecomeatrend,sothattheaccurateoperationofthesystemtoreplacetheneglectofthewarehousemanager.Warehousemanagementsystemisanimportantparttopromotetheenterprisedevelopment,whichisacorepartofenterprisemanagement.Ifwecandoareasonablepurchase,sellinatimely,stockapproriately,lessbacklog,thenthebusinesswillbeabletogetthebestbenefit.Inmodernsociety,mostenterprises,especiallysmallandmediumenterprisestoachieveinformationmanagementistheprimarytask,onlytorealizeinformationmanagementcanimproveworkefficiencyandmanagementlevelofenterprises.Becauseofthefastandchangeablemarketeconomy.BasedonspringMVCframeworkandtheintegrationofotherMVCdevelopmentB/Sstructureschemedesignforwarehousemanagementsystemcateringtheactualdemandofthewarehousemanagementsystem.Thesystemeffectivelyimprovestheefficiencyofwarehousemanagement,standardizedmanagementofinformation,scientificstatisticsandfastquery,reducetheworkloadofmanagement,andtomobilizetheenthusiasmofthemassesofstaff,improvetheproductionefficiencyofenterprise,haveveryimportantrealisticmeaning.Keywords:
J2EE
technology;
self-service
equipment
management;
query
mechanism目录摘要 IAbstract II目录 III1引言1.1研究背景与现状 (1)1.2研究意义 (1)1.3研究目标 (2)1.4论文组织 (3)2相关技术2.1SpringMVC简介 (4)2.2Mysql简介 (5)2.3Tomcat简介 (5)2.4本章小结 (7)3仓库管理系统的分析与设计3.1需求目标 (8)3.2功能设计 (9)3.3数据库设计 (11)3.4本章小结 (20)4仓库管理系统的实现4.1用户管理的实现 (22)4.2商品管理的实现 (27)4.3入库管理的实现 (34)4.4出库管理的实现 (38)4.5供应商管理实现 (41)4.6查询报表实现 (45)4.7本章小结 (49)5仓库管理系统的测试5.1用户管理模块测试 (50)5.2商品管理模块测试 (52)5.3入库管理模块测试 (56)5.4出库管理模块测试 (58)5.5供应商管理模块测试 (60)5.6本章小结 (63)6总结与展望6.1总结 (65)6.2展望 (66)致谢 (67)参考文献 (68)1引言1.1研究背景与现状随着经济全球化和信息化的不断加强,商业也得到了飞速的发展,同时交易多样化,虚拟化也不断加强。为适应企业的发展,及时满足客户的需求,仓库成了众多企业领导层关注的对象。由于仓库管理员采用传统的方式进行管理,效果并不理想,各企业又经常出现供应不足、发货不及时等现象。为此,建立各企业的仓库管理软件,让系统的精确运行代替仓库管理员的疏忽,来提高企业效益成为了一种趋势。仓库管理系统是促进企业发展的重要组成部分,是企业经营管理中的核心环节,也是一个企业能否取得效益的关键,如果能够做到合理采购、及时销售、库存适量、积压较少,那么企业就能够取得最佳效益。在现代社会中,大多数企业单位,特别是中小型企业的首要任务是实现信息化管理,只有实现信息化管理才能提高工作效率和企业管理水平。由于市场经济快速而多变,竞争激烈,企业采用信息化管理仓库的进货、库存、销售等诸多环节已成为发展的必然趋势。如今,仓库管理系统已经在世界各发达国家广泛应用了,而且应用范围越来越广功能越来越全面,操作越来越简便,成本越来越低廉。主要应用于大中小型企业,工厂,物流公司,超市以及一些科研单位。而如今主要面临的问题如以下几方面:1)业务需求:对于一个企业或单位是否要安装一个适合其自身规模的仓库管理系统,应当首先考虑其成本投入是否在自身负担能力以内;2)技术评估:根据库房吞吐量和存储需要,确定是否需要自动化和自动化要达到的程度;3)库存过量:主要原因是对销售量预测不准确,对市场的预测不确定,与下属分销商的沟通不及时;4)信息共享不完善:由于下限供应商的供货和前端销售系统,都是分开的这样可能因为没有及时更新,而导致仓库信息的不一致,进而影响了1.2研究意义当今社会竞争日益激烈,政府的大中型会议也不断增多,企业信息量也逐渐增大,需要经常经过电子政务进行沟通、问题解决以及决策的制定。而现在的会议管理工作繁重且处于无系统流程的状态。手工作业效率很低,不便于管理,而且容易出错。进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。本系统作为计算机应用的一部分,使用计算机对仓库信息进行管理,有着手工管理所无法比拟的优点,这些优点能够极大地提高仓库管理的效率。本系统使用B/S系统架构,该架构具有结构严谨,运行效率高,服务器端压力小,安全性好等优点。因此,便于系统安装,同时在保证系统正常运行的前提下,大大提高了系统的安全性,同时也提高了系统的可维护性。有效的仓库管理,是有用的管理工具,她能达到高效的沟通意见,作出好的决议,使执行者认同,共同努力达成战略目标,它的重要性呈现在行动管理、目标管理、和技术管理上。1.3研究目标随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产品的各种信息量也会成倍增长。面对庞大的产品信息量,如何有效地管理仓库产品,对企业来说是非常重要的。仓库管理的重点是库存信息能否及时反馈,从而确保企业运行效益,而仓库管理又涉及入库、出库的产品、经办人员及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分考验着仓库管理员的工作能力,同时工作量的繁重也是可想而知的,因此就需要由仓库管理系统软件来提高仓库管理工作的效率,对信息的规范管理、科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高企业的生产效率,都具有十分重要的现实意义:1)高效性。需要由仓库管理系统软件来提高仓库管理工作的效率,同时对于调动广大员工的工作积极性,提高企业的生产效率;2)规范性。对信息的规范管理、科学统计和快速查询,减少管理方面的工作量;3)交互性。系统为用户提供应用软件的接口,包括应用接口和数据接口,更方便了管系统与应用软件之间的交互性;4)安全性。在安全设计上,系统为本系统的用户提供了相应的用户名和密码,而且密码进行了相关加密,限制了非法用户的登录,且每个系统用户都有相应的权限。1.4论文组织针对以上目标,本文结合WEB技术搭建出了一个高效、便捷和规范的仓库管理系统,统一有效地管理企业仓库信息,并经过共享接口和数据接口保证用户的数据,最终达到便捷、高效、互动的目的。 具体来说,本文工作以及本论文的组织,如下: 第一章:引言。经过对背景和现状的分析,同时结合研究意义提出具体的研究目标; 第二章:系统分析。提出可行性分析报告,包括技术可行和社会可行;根据可行性分析提出系统的功能需求,在功能需求的基础上设计出数据字典; 第三章:系统设计。根据系统分析,给出系统总体结构设计,从全局的角度了解整个系统的结构框架,然后,具体详细地去描述每一个具体功能模块的数据流和加工逻辑。最后,依据数据字典,完成数据库的设计; 第四章:系统实现。具体的介绍系统几大功能模块的实现方式,包括界面和代码的实现;第五章:总结全文,并展望进一步的工作。 2相关技术2.1SpringMVC简介SpringMVC框架是有一个MVC框架,经过实现Model-View-Controller模式来很好地将数据、业务与展现进行分离。从这样一个角度来说,SpringMVC和Struts、Struts2非常类似。SpringMVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。经过可配置的handlermappings、viewresolution、locale以及themeresolution来处理请求而且转到对应的视图。SpringMVC请求处理的整体流程如图2-1所示:图2-1SpringMVC处理流程Spring3.x中定义一个控制器类,必须以@Controller注解标记。当控制器类接收到一个请求时,它会在自己内部寻找一个合适的处理方法来处理请求。使用@RequestMapping注解将方法映射到一些请求上,以便让该方法处理那些请求。这种方法就像一般的类中的方法,方法名参数列表和返回值并不像Struts2之类的框架有很强的限制。控制器在选择好适合处理请求的方法时,传入收到的请求(根据方法参数类型,可能以不同的类型传入),而且调用该方法中的逻辑来进行处理(也能够是调用Service来真正处理)。方法逻辑可能也会在参数中添加或者删除数据。处理方法处理完之后,会委派给一个视图,由该视图来处理方法的返回值。处理程序的返回值并不代表视图的具体实现,能够只是String类型,代表视图名,甚至是void。2.2Mysql简介MySQL是一个小型关系型数据库管理系统,当前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,特别是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性,支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统;2)为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等;3)支持多线程,充分利用CPU资源;4)优化的SQL查询算法,有效地提高查询速度;5)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其它的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都能够用作数据表名和数据列名;6)提供TCP/IP、ODBC和JDBC等多种数据库连接途径;7)提供用于管理、检查、优化数据库操作的管理工具;8)能够处理拥有上千万条记录的大型数据库;2.3Tomcat简介Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为当前比较流行的Web应用服务器。Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,能够这样认为,当在一台机器上配置好Apache服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,因此当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。其核心组成图,如图2-2所示。Tomcat在严格意义上并不是一个真正的应用服务器,它只是一个能够支持运行Serlvet/JSP的Web容器,不过Tomcat也扩展了一些应用服务器的功能,如JNDI,数据库连接池,用户事务处理等等。Tomcat是Apache组织下Jakarta项目下的一个子项目,当前Tomcat被非常广泛的应用在中小规模的JavaWeb应用中。Tomcat是一种具有JSP环境的Servlet容器。Servlet容器是代替用户管理和调用Servle的运行时外壳。作为一个开放源代码的软件Jakarta-Tomcat有着自己独特的优势:首先,免费开放源代码的Web轻量级应用服务器。其次,运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等。最后,在中小型系统和并发访问用户不是很多的场合下被普遍使用
。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。图2-2Tomcat核心组成图从上图中能够看出Tomcat的心脏是两个组件:Connector和Container,关于这两个组件将在后面详细介绍。Connector组件是能够被替换,这样能够提供给服务器设计者更多的选择,因为这个组件是如此重要,不但跟服务器的设计的本身,而且和不同的应用场景也十分相关,因此一个Container能够选择对应多个Connector。多个Connector和一个Container就形成了一个Service,Service的概念大家都很熟悉了,有了Service就能够对外提供服务了,可是Service还要一个生存的环境,必须要有人能够给她生命、掌握其生死大权,那就非Server莫属了。因此整个Tomcat的生命周期由Server控制。经过上述SpringMVC和Mysql的描述,结合面向对象分析的技术,决定本系统采用MyEclipse可视化软件作为开发平台,数据库采用Mysql管理,操作平台采用Windows7,以SpringMVC为框架,能够实现对仓库信息的高效共享性。因此,该系统的开发是完全能够利用上面介绍的技术进行实现的。2.4本章小结本章主要论述了用户到的技术的介绍,包括SpringMVC、Mysql和web服务器Tomcat的简介等相关技术的介绍,其中重点论述了各项技术的特点、适用领域以及选择这些技术的原因。3仓库管理系统的分析与设计3.1需求目标根据系统的需求,明确开发目标,掌握开发进度,做好项目实施计划,同时为了明确开发中可能遇到的问题,及技术上的难题,根据实际情况,对系统进行了以下的可行性分析:3.1.1系统要求1)出库、入库功能,以增加管理的灵活性;2)系统功能要符合实际生活情况,满足实际商业活动中,企业对仓库的使用、管理要求;3)管理的内容较多,要设计很多窗口,涉及的窗口容易混乱,要提供窗口的集合操作和菜单管理;4)支持数据库数据备份和数据恢复功能,提高系统安全型和数据安全性;5)系统健壮性良好。3.1.2系统目标企业仓库管理系统的主要工作是对企业仓库的出库、入库和统计查询以信息化的方式进行管理,最大限度的减少各个环节中可能出现的错误,有效减少盲目出库、入库并提高市场灵敏度,使企业能够合理安排出、入、存的各个关键环节,提升企业的市场竞争力。1)高效性。需要由仓库管理系统软件来提高仓库管理工作的效率,同时对于调动广大员工的工作积极性,提高企业的生产效率;2)规范性。对信息的规范管理、科学统计和快速查询,减少管理方面的工作量;3)交互性。系统为用户提供应用软件的接口,包括应用接口和数据接口,更方便了管系统与应用软件之间的交互性;4)安全性。在安全设计上,系统为本系统的用户提供了相应的用户名和密码,而且密码进行了相关加密,限制了非法用户的登录,且每个系统用户都有相应的权限。3.1.3系统评价尺度顺利完成项目的设计和实施,按照项目计划书的要求,在指定的时间内完成相应的任务,最终完成项目。能够实现项目的基本功能,实现仓库的基本管理和实现商业活动中的各项要求,为最终的开发要求。在测试中,要尽量的发现和解决项目中的错误,尽量达到系统功能稳定,错误少,健壮性良好的目标。如果最终能达到以上要求,即项目顺利完成。经过分析能够得出,同时从上述的分析也是社会可行的。因此,本系统是能够进行开发和实现的。开发企业仓库管理系统的主要目的是实现企业仓库管理的系统化、信息化和自动化,根据对中小型超市的调查,系统应达到以下目标:灵活的人机交互界面,系统操作简单方便、界面简洁美观;键盘操作,快速响应;对进货和销售提供相应的退货管理功能;实现各种查询,如:条件查询、模糊查询等;能够随时修改系统口令;系统最大限度的实现易安装、易维护、易操作,运行稳定,安全可靠。3.2功能设计企业仓库管理系统的主要业务流程是:系统登录时进行登录验证,若登录成功进入管理界面,若失败提示错误;在管理界面能够对相关系统的基本资料进行相应的操作,例如:商品信息、用户信息、供应商信息、库存信息;完成基本资料信息的前提下,进行入库管理操作,此操作不但完成了入库信息的操作,相对应的也修改了商品的库存量;经过库存查询模块,进行库存盘点和库存统计;出库管理需要有入库信息才能进行相应操作,若完成出库操作,同时也要修改相应的库存信息;管理界面的系统维护包括数据的备份和还原、系统退出;管理界面的统计查询功能包括对出库、入库、商品的查询、统计分析和信息打印;在退出系统时,程序会提示是否退出系统。根据用户功能需求,将系统划分为:用户管理、商品管理、供应商管理、人员管理、出库和入库管理、统计查询、系统退出、系统维护九大模块。其中入库管理包括入库信息的查询和入库操作;出库管理包括出库操作和出库信息的查询;系统维护包括系统备份、还原和系统退出;查询统计包括商品信息、用户信息、出入库信息的查询和总额、成本、库存的统计;商品管理包括商品分类管理和商品信息管理。其模块结构功能图如图3.1所示:图3-1系统总体结构功能图3.2.1用户管理系统根据用户所具有的不同权限,划分为:超级管理员和普通管理员;为了方便系统管理与维护,为每个系统的使用者都分配了一个超级管理员,即:username=admin,password=admin。该管理员能够进行任何操作。具体如下:1)超级管理员完成对普通管理员账号的管理;2)普通管理员登录确定访问权限,根据不同的权限访问相应的界面;3)允许管理员修改各自登录密码3.2.2商品管理商品信息管理模块主要是完成商品信息的管理和商品分类管理,包括添加、删除、修改和移动等功能;具体如下:1)商品信息的管理、统计;2)商品分类的管理操作。3.2.3入库管理入库管理模块主要完成对商品的入库和库存统计,包括对单一商品的入库操作和多种商品入库的操作;具体如下:1)商品基本入库:对单一商品入库,自动产生入库流水号,主要满足对临时供应方、联系人以及临时商品的入库操作;2)订购流转入库:批量完成已经订购商品的入库操作,即从已完成的订购单子里,把商品批量入库,并产生多个入库流水号,多个入库批次编号;3)货单流转入库:批量完成已经形成货单的商品进行入库操作,自动产生多个入库流水号,即入库批次号。3.2.4出库管理出库管理模块主要完成对商品的出库和前台销售,包括单一商品出库,多种商品出库;具体如下:1)单一商品出库:产生唯一的出库编号,唯一的出库流水号,显示出库的入库流水号(批次号),可进行出库统计等;2)多种商品出库:产生唯一的出库编号,但产生多个出库流水号,显示出库时对应的入库流水号(批次号),并可进行出库统计等。3.2.5供应商管理供应信息管理模块主要是完成供应商信息的管理和关联商品的管理,包括添加、删除、修改和关联商品等功能;具体如下:1)供应商信息的管理、统计;2)商品关联的管理操作。3.2.6查询报表查询报表统计模块对所有数据进行查询和统计,包括商品信息、供应商信息、收货退货信息、出库和入库等信息产生报表,从而满足用户多方面的分析和查看统计报表;具体如下:1)商品出入库明细报表:描述商品出入库的明细,主要是统计某段时间内,选择的多种商品累计入库的金额,累计出库的金额,剩余库存金额的累计,哪种商品占用比最多,占比多少以及多种商品占比的对比三维环形图;2)供应商供货报表:描述供应商供货的明细,主要是统计某段时间内,所选供应商的多种商品供应情况占比的对比三维环形图;3)商品入库统计报表:描述商品入库的统计,主要是统计某段时间内,累计入库的金额,累计出库的金额,已收货金额累计,累计订购金额,以及三者对比横向柱状图。3.3数据库设计数据库的设计主要包括以下几个步骤:需求收集与分析、设计概念结构、设计逻辑结构、设计物理结构、实施数据库、运行和维护数据库,如图3-2所示。将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。图3-2数据库设计流程图3.3.1数据字典设计1)用户信息表Name:用户信息表(t_user)Alias:用户表Description:对用户信息进行操作,或和商品、出库、入库相关操作Definition:用户信息表={user_id:用户Iduser_name:用户名称user_pwd:用户密码user_email:用户邮箱user_phone:用户联系方式user_qq:用户qqrest1:备用字段1rest2:备用字段2rest3:备用字段3}2)商品信息表Name:商品信息表(t_goods)Alias:商品表Description:商品、出库、入库相关操作Definition:商品信息表={goods_id:商品编号goods_name:商品名称goods_count:商品数量goods_unit:商品单位goods_provider:商品供应商goods_producer:商品生产商goods_addr:商品生产地goods_type:商品型号goods_photo:商品图片goods_affix:附件goods_dec:备用字段1rest1:备用字段1rest2:备用字段2rest3:备用字段3}3)入库信息表Name:入库信息表(t_warehouse)Alias:入库表Description:商品入库相关操作Definition:入库信息表={warehouse_id:入库流水号warehouse_code:入库编号goods_id:商品编号goods_name:商品名称warehouse_count:入库数量warehouse_rest:入库剩余量warehouse_status:入库状态warehouse_price:入库单价warehouse_date:入库时间warehouse_person:入库人员warehouse_revise:入库审计人员warehouse_admin:入库管理员warehouse_addr:入库地址warehouse_dec:备注rest1:备用字段1rest2:备用字段2rest3:备用字段3}4)出库信息表Name:出库信息表(t_whout)Alias:出库表Description:商品出库相关操作Definition:出库信息表={whout_id:出库流水号whout_code:出库编号goods_id:商品编号whout_count:数量whout_falg:出库剩余量whout_cost:出库状态whout_date:出库时间whout_person:出库人员whout_revise:出库审计人员whout_admin:出库管理员whout_part:所属部门whout_user:领用人whout_project:所属项目whout_why:出库原因whout_dec:备注rest1:备用字段1rest2:备用字段2rest3:备用字段3}5)人员信息表Name:人员信息表(t_person)Alias:人员表Description:对人员信息进行操作,和商品出库、入库相关操作Definition:人员信息表={person_id:人员Idperson_name:人员名称person_phone:联系方式person_addr:联系人地址person_per:人员权限rest1:备用字段1}6)商品分类信息表Name:商品分类信息表(t_class)Alias:分类表Description:对商品信息进行操作,商品出库、入库相关操作Definition:商品分类信息表={class_id:商品分类Idclass_name:商品分类名称class_dec:商品分类描述rest1:备用字段1}7)供应商信息表Name:供应商信息表(t_provider)Alias:供应商表Description:商品进行出库、入库相关操作Definition:商品分类信息表={provider_id:供应商Idprovider_name:供应商名称provider_phone:供应联系方式provider_addr:供应商地址provider_type:供应商类型provider_buyaddr:供应商经营地址provider_affix:附件provider_web:供应商网站provider_dec:备注rest1:备用字段1rest2:备用字段2}3.3.2表结构设计1)用户信息表记录用户的基本信息,对用户信基本的添加、删除、修改、查询以及权限赋值需要使用此表。关键字为用户Id(user_id),其它属性为:用户名称(user_name)、用户密码(user_pwd)、用户邮箱(user_email)、用户联系方式(user_phone)、用户qq(user_qq)以及备用字段1(rest1)、备用字段2(rest2)和备用字段3(rest3)。如表3-1所示,E-R图如3-1所示。表3-1用户信息表表名t_user(用户信息表)列名数据类型(精度范围)空/非空约束条件User_id用户idVARCHAR2(32)非空主键User_name用户名称VARCHAR2(50)非空User_pwd用户密码VARCHAR2(50)非空User_phone用户联系方式VARCHAR2(13)非空User_qq用户qqVARCHAR2(13)空Rest1备用字段1VARCHAR2(100)空Rest2备用字段2VARCHAR2(100)空Rest3备用字段3VARCHAR2(100)空补充说明2)商品信息表商品信息表(t_goods):主要用于记录商品信息的基本情况,对商品基本信息的添加、删除、修改和查询操作时使用以及对出库、入库选择商品操作时。关键字为商品编号(goods_id),其它属性为:商品名称(goods_name)、商品数量(goods_count)、商品单位(goods_unit)、商品生产商(goods_producer)、商品供应商(goods_provider)、商品生产地(goods_addr)、商品型号(goods_type)、商品描述(goods_desc)、商品类型(goods_class)商品图片(goods_photo)、附件(goods_affix)、备用字段1(rest1)、备用字段2(rest2)、备用字段3(rest3),如表3-2所示。表3-2商品信息表表名T_goods(商品信息表)列名数据类型(精度范围)空/非空约束条件goods_id商品编号VARCHAR2(32)非空主键goods_name商品名称VARCHAR2(50)非空goods_count商品数量long非空goods_unit商品单位double非空goods_producer商品生产商VARCHAR2(32)非空外键,生产商idgoods_provider商品供应商VARCHAR2(32)非空外键,供应商idgoods_addr生产商地址VARCHAR2(200)非空goods_type商品型号VARCHAR2(10)非空goods_desc商品描述VARCHAR2(1000)空goods_class商品类型VARCHAR2(32)非空外键,商品类型idgoods_affix附件blob空goods_photo商品图片blob空rest1备用字段1VARCHAR2(200)空rest2备用字段2VARCHAR2(200)空rest3备用字段3VARCHAR2(200)空补充说明3)入库信息表入库信息表(t_warehouse):记录商品入库具体的流水信息情况,完成商品入库以及查询等功能。关键字为入库流水号(warehouse_id),其它属性为:入库编号(warehouse_code)、商品编号(goods_id)、商品名称(goods_name)、入库数量(warehouse_count)、入库剩余量(warehouse_rest)、入库状态(warehouse_status)、入库单价(warehouse_price)、入库时间(warehouse_date)、入库人员(warehouse_person)、入库审计人员(warehouse_revise)、入库管理员(warehouse_admin)、入库地址(warehouse_addr)、备注(warehouse_dec)、和备用字段1(rest1)、备用字段2(rest2)、备用字段3(rest3)。如表3-3所示。表3-3入库信息表表名t_warehouse(入库信息表)列名数据类型(精度范围)空/非空约束条件warehouse_id入库流水号VARCHAR2(32)非空组合主键warehouse_code入库编号VARCHAR2(32)非空组合主键goods_id商品编号VARCHAR2(32)非空外键,商品idgoods_name商品名称VARCHAR2(50)非空warehouse_count入库数量Long非空warehouse_rest入库剩余量long非空warehouse_status入库状态int非空warehouse_price入库单价double非空warehouse_date入库时间date非空warehouse_person入库人员VARCHAR2(50)非空外键,人员idwarehouse_revise入库审计员VARCHAR2(50)非空外键,人员idwarehouse_admin入库管理员VARCHAR2(50)非空外键,人员idwarehouse_desc备注VARCHAR2(1000)空warehouse_addr入库地址VARCHAR2(100)空rest1备用字段1VARCHAR2(10)空rest2备用字段2VARCHAR2(10)空rest3备用字段3VARCHAR2(10)空补充说明4)出库信息表出库信息表(t_whout):记录商品出库具体的流水信息情况,完成商品出库以及查询等功能。其关键字为出库流水号(whout_id),其它属性为:出库编号(whout_code)、商品编号(goods_id)、出库数量(whout_count)、出库剩余量(whout_rest)、出库状态(whout_status)、出库时间(whout_date)、出库人员(whout_person)、出库审计人员(whout_revise)、出库管理员(whout_admin)、领用人(whout_user)、所属部门(whout_part)、所属项目(whout_project)、备注(whout_desc)、备用字段1(rest1)、备用字2(rest2)和备用字段3(rest3),如表3-4所示,E-R图如3-4所示。表3-4出库信息表表名t_whout(出库信息表)列名数据类型(精度范围)空/非空约束条件whout_id出库流水号VARCHAR2(32)非空组合主键whout_code出库编号VARCHAR2(32)非空组合主键goods_id商品编号VARCHAR2(32)非空外键,商品idwhout_count出库数量Long非空whout_rest出库剩余量long非空whout_status出库状态int非空whout_date出库时间date非空whout_person出库人员VARCHAR2(50)非空外键,人员idwhout_revise出库审计员VARCHAR2(50)非空外键,人员idwhout_admin出库管理员VARCHAR2(50)非空外键,人员idwhout_desc备注VARCHAR2(1000)空whout_part所属部门VARCHAR2(32)非空外键部门idwhout_project所属项目VARCHAR2(32)非空外键,项目idwhout_user领用人VARCHAR2(32)非空外键,人员idrest1备用字段1VARCHAR2(10)空rest2备用字段2VARCHAR2(10)空rest3备用字段3VARCHAR2(10)空补充说明5)人员信息表人员信息表(t_person):储存人员的基本信息,管理人员的基本信息,包括添加、删除和修改使用此表以及入库、出库选择人员的操作。其关键字:人员id(person_id),其它属性为:人员名称(person_name)、人员联系方式(person_phone)、人员联系地址(person_addr)、人员权限(person_per)、备用字段1(rest1)、备用字段2(rest2)、备用字段3(rest3),如表3-5所示。表3-5人员信息表表名t_person人员信息表列名数据类型(精度范围)空/非空约束条件person_id人员idVARCHAR2(32)非空主键person_name人员名称VARCHAR2(50)非空person_phone联系方式VARCHAR2(50)非空person_addr联系地址NUMBER(100)非空person_per人员权限VARCHAR2(10)非空rest1备用字段1VARCHAR2(10)空rest2备用字段2VARCHAR2(10)空rest3备用字段3VARCHAR2(10)空补充说明6)商品分类信息表商品分类信息表(t_class):主要用于储存商品分类的信息以及商品操作时使用。其关键字为分类编号(class_id),其它属性为:类别名称(class_name)、类别描述(class_desc)、备用字段1(rest1)、备用字段2(rest2)、备用字段3(rest3),如表3-6所示。表3-6商品分类信息表表名t_class商品类别信息表列名数据类型(精度范围)空/非空约束条件class_id商品分类编号VARCHAR2(32)非空主键class_name商品分类名称VARCHAR2(50)非空class_desc商品分类描述VARCHAR2(500)空rest1备用字段1VARCHAR2(10)空rest2备用字段2VARCHAR2(10)空rest3备用字段3VARCHAR2(10)空补充说明7)供应商信息表供应商信息表(t_provider):储存商品供应商的信息。其关键字为供应商id(provider_id),其它属性为:供应商名称(provider_name)、供应商联系方式(provider_phone)、供应商地址(provider_addr)、供应商类型(provider_type)、供应商经营地址(provider_buyaddr)、附件(provider_affix)、供应商网站(provider_web)、备注(provider_rest)备用字段1(rest1)、备用字段2(rest2)、备用字段3(rest3),如表3-7所示。表3-7供应商息表表名t_provider供应商信息表列名数据类型(精度范围)空/非空约束条件provider_id供应商idVARCHAR2(32)非空主键provider_name供应商名称VARCHAR2(50)非空provider_phone联系方式VARCHAR2(50)非空provider_addr联系地址VARCHAR2(100)非空provider_type供应商类型VARCHAR2(100)非空provider_rest备注VARCHAR2(1000)空provider_affix附件blob空provider_buyaddr经营地址VARCHAR2(100)空provider_web网站VARCHAR2(100)空rest1备用字段1VARCHAR2(10)空rest2备用字段2VARCHAR2(10)空rest3备用字段3VARCHAR2(10)空补充说明3.4本章小结本章首先论述了系统的需求、以及所要达成的目标;其次,阐述系统的功能,从全局的角度了解整个系统的结构框架,先从顶级数据流分析每个系统功能模块的整体数据流,分析了系统各模块的功能,包括用户管理、商品管理、入库管理、出库管理、供应商管理以及查询报表等功能;最后,根据功能分析,设计出系统的数据字典,准确给出了每个对象,而且详细描述了每一个具体功能模块的数据流和加工逻辑,为软件详细设计提供了保障。最后,根据功能设计,完成数据字典,并设计系统中所需要的数据表。4仓库管理系统的实现4.1用户管理的实现系统根据用户所具有的不同权限,划分为:超级管理员和普通管理员;为了方便系统管理与维护,为每个系统的使用者都分配了一个超级管理员,即:username=admin,password=admin。该管理员能够进行任何操作:超级管理员完成对普通管理员账号的管理;普通管理员登录确定访问权限,根据不同的权限访问相应的界面;允许管理员修改各自登录密码。其中流程图,如4-1所示。图4-1用户管理流程图前台页面经过EasyUIDataGrid控件展示议题的基本信息,经过界面上面的操作按钮,能够对用户信息进行添加,列表中的操作列能够进行添加、删除和修改;如果进行添加、修改和删除操作,同时把数据更新到议题信息表中,同步更新页面的显示数据。其中用户管理界面,如图4-2所示。图4-2用户管理界面4.1.1用户的添加功能主要完成对用户信息的添加,其添加的信息包括用户名、密码、邮箱、手机、QQ和公司,其中用户名、密码和邮箱是必填项,用户Id系统根据用户名称自动产生的。其中用户添加界面,如图4-3所示。其主要操作流程如下:1)点击用户管理界面上的”新增用户”按钮;2)在弹出的对话框中,输入相应的信息,包括:用户名、密码、邮箱、手机、QQ以及公司等信息,其中用户名、密码和贴条是必填字段;3)点击”保存”按钮,提交用户信息,同时会验证用户名、密码和邮箱信息,提交成功后会弹出一个提示框,提示”保存成功”或”保存失败”。图4-3用户添加界面其关键代码如下://新增varurl;functionnewUser(){$('#dlg').dialog('open').dialog('setTitle','新增用户');$('#fm').form('clear');url='app!save';}functionsaveUser(){$('#fm').form('submit',{url:url,onSubmit:function(){return$(this).form('validate');},success:function(result){varresult=eval('('+result+')');$.messager.show({title:'操作信息',msg:result.msg});$('#dlg').dialog('close');//关闭对话框$('#dg').datagrid('reload');//reloadtheuserdata}});}publicStringsave()throwsException{ Resultresult=newResult(); umodel.setCompany_name(company_name); umodel.setEmail(email); umodel.setMobile(mobile); umodel.setPswd(pswd); umodel.setQq(qq); umodel.setUser_name(user_name); try{ user_id=ServletActionContext.getRequest().getParameter("user_id"); if(!user_id.isEmpty()){ umodel.setUser_id(Long.parseLong(user_id)); result=biService.userUpdate(umodel); }else{ result=biService.saveUser(umodel); } }catch(Exceptione){ e.printStackTrace(); result=Result.errorResult(); result.setMsg("保存用户信息出错:"+e.getMessage()); } this.write(ServletActionContext.getResponse(),result); returnnull; }4.1.2用户修改功能根据用户名称或用户id查询出对应的用户信息记录,输入要修改的用户信息,因为用户id是用户自动产生,因此这两个字段不能修改。其中经过editUser接口来完成议题信息数据表的更新。其主要操作流程如下:1)选择列表上要修改的用户信息,点击用户管理界面上的”修改用户”按钮;2)在弹出的对话框中,修改相应的信息,包括:用户名、密码、邮箱、手机、QQ以及公司等信息,其中用户名、密码和邮箱是必填字段;3)点击”保存”按钮,提交用户信息,同时会验证用户名、密码和邮箱信息,提交成功后会弹出一个提示框,提示”修改成功”或”修改失败”。其关键代码如下://修改functioneditUser(){varrow=$('#dg').datagrid('getSelected');if(row){$('#dlg').dialog('open').dialog('setTitle','编辑用户信息');$('#fm').form('load',row);url='app!save?user_id='+row.user_id;}}publicStringsave()throwsException{ Resultresult=newResult(); umodel.setCompany_name(company_name); umodel.setEmail(email); umodel.setMobile(mobile); umodel.setPswd(pswd); umodel.setQq(qq); umodel.setUser_name(user_name); try{ user_id=ServletActionContext.getRequest().getParameter("user_id"); if(!user_id.isEmpty()){ umodel.setUser_id(Long.parseLong(user_id)); result=biService.userUpdate(umodel); }else{ result=biService.saveUser(umodel); } }catch(Exceptione){ e.printStackTrace(); result=Result.errorResult(); result.setMsg("修改用户信息出错:"+e.getMessage()); } this.write(ServletActionContext.getResponse(),result); returnnull; }4.1.3用户删除功能经过列表上选择对应要删除的记录,隐式的经过用户id查询该记录,调用页面destroyUser函数传入用户id跳转到Action中,在Action中调用delUser方法,进行用户删除操作,如果该用户信息已经关联相关信息,则提示删除失败,并给出原因,如果能删除,则提示删除成功。其操作流程如下:1)在列表上选择要删除的用户信息;2)点击”删除用户”,会弹出是否删除用户的提示,选择”是”或”否”,如果选择”是”,如果该用户信息已经关联相关信息,则提示”不能删除,该信息已经有关联,如果继续删除,请先删除关联信息!”,如果没有,则提示”删除成功!”。其关键代码如下:functiondestroyUser(){varrow=$('#dg').datagrid('getSelected');if(row){$.messager.confirm('删除用户信息','你确定要删除该用户吗?',function(r){if(r){$.post('app!delUser',{userid:row.userid},function(result){ $('#dg').datagrid('reload');$.messager.show({title:'操作信息',msg:result.msg});},'json');}});}} //action里的逻辑代码 publicStringdelUser()throwsException{ Resultresult=newResult(); try{ //adserverId=getRequest().getParameter("adserverId"); biService.delete(Integer.parseInt(user_id)); result=Result.successResult(); }catch(Exceptione){ e.printStackTrace(); result=Result.errorResult(); result.setMsg("删除用户信息出错:"+e.getMessage()); } HttpServletResponseresponse=ServletActionContext.getResponse(); response.setCharacterEncoding("utf-8"); PrintWriterout=response.getWriter(); out.write(result.toString()); returnnull; }4.2商品管理的实现商品信息管理模块主要是完成商品信息的管理和商品分类管理,包括添加、删除、修改和导入导出等功能;包括,商品信息的管理、统计;商品分类的管理操作。图4-4商品管理流程图前台页面,左侧是功能导航,商品管理的一些操作如新增类目、新建物品、物品分类操作树以及已删除物品,右侧面主要查询栏、商品列表展示栏与关联供应商列表栏。其中商品列表数据栏,能够进行删除、修改、关联供应商、请购、底价与订购;查询栏中能够经过物品名称、规格型号、参考价格进行查询,查询结果由下面商品列表展示。其商品管理流程图,如图4-4所示,商品管理界面,如图4-5所示。图4-5商品管理界面4.2.1商品的添加功能对商品进行录入的功能,其录入的基本信息包括物品名称、物品编号、单位、规格型号、参考价格、所属类目、自定义内容、详细说明、物品图片和附件,其中物品编号系统自动产生的。其物品录入界面,如图4-6所示。其主要操作流程如下:1)在商品信息管理界面列表右键,选择”添加商品”按钮;2)在弹出的对话框中,输入相应的信息,包括:商品名称、商品编号、规格型号、参考价格、自定义内容、商品图片、详细说明。选择单位、所属类目以及附件。其商品名称、商品编号和单位是必填或必选字段;3)点击”保存”按钮,提交录入的商品信息,同时会验证商品名称、单位和商品编号信息,提交成功后会弹出一个提示框,提示”保存成功”或”保存失败”。如果,保存成功,则列表中第一条就会显示刚刚添加的商品信息记录。其关键代码如下:varurl;varappP_name;varid_tmp;functionnewUser(){$('#dlg').dialog('open').dialog('setTitle','物品录入');$('#goods_type_id').combobox('enable');$('#fm').form('clear');//验证qnurl='goods!savegoods';appP_name='';appP_type='';id_tmp='';} varapp_pkg_name=$('#goods_code').val();if(id_tmp==''){ check(app_pkg_name,app_type_id);}else{ if(appP_name!=app_pkg_name||appP_type!=app_type_id){ check(app_pkg_name,app_type_id); }else{ subForm(); }}$('#fm').form('submit',{url:url,onSubmit:function(){return$(this).form('validate');},success:function(result){varresult=eval('('+result+')');$.messager.show({title:'操作信息',msg:result.msg});}});//action保存商品的内容PublicStringsavegoods()throwsException{goods_code=changeNumToUpper(goods_code);if(StringUtil.isEmpty(goods_model.getWorkflowtitle())){ goods_model.setWorkflowtitle(goods_code+""+this.conferenceSeq.split(",")[0]+"”);} goods_model.setConferenceLeader(goods_name); goods_model.setGdconferenceAttends(goods_unit); goods_model.setConferenceAttends(goods_type);goods_model.setConferenceLeader(goods_desc); goods_model.setGdconferenceAttends(goods_code); goods_model.setConferenceAttends(goods_price);manager.saveConSaveAtt(goods_model,goods_name,goods_unit,goods_type,goods_desc,goods_code,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 使用关系图掌握关键业务流程考核试卷
- 物业管理的客户关系管理考核试卷
- 河北省石家庄市长安区2023-2024学年五年级上学期期中英语试卷
- 应对极端天气的弹性管理策略考核试卷
- 南方糖业产业基地建设考核试卷
- 渔业行业协会组织与服务创新考核试卷
- DB11∕T 3014-2018 果蔬冷链物流操作规程
- 新入职员工礼仪培训方案设计
- 老师辞职报告(范文3篇)
- 鲁教版九年级化学下册全册教案
- 红托竹荪工厂化栽培技术规程
- 【基于Android的电商购物系统设计与实现3900字(论文)】
- YBT 189-2014 连铸保护渣水分含量(110℃)测定试验方法
- 2024年五年级英语上册 Project 1教案 牛津译林版
- 2019新人教版高中英语选择性必修四全册课文翻译(英汉对照)
- 08BJ9-1室外工程-围墙围栏
- 07FD02 防空地下室电气设备安装
- 2022语文新课标解读及思考:学习主题的内涵、价值与设计策略
- 创新方法论智慧树知到期末考试答案章节答案2024年西安理工大学
- 消防灭火和应急疏散演练效果评估报告
- 【《离婚夫妻共有股权分割适用法律问题研究》11000字(论文)】
评论
0/150
提交评论