物流配送管理系统财务管理子模块的实现本科论文

上传人:1777****777 文档编号:36949762 上传时间:2021-11-01 格式:DOC 页数:42 大小:1.30MB
返回 下载 相关 举报
物流配送管理系统财务管理子模块的实现本科论文_第1页
第1页 / 共42页
物流配送管理系统财务管理子模块的实现本科论文_第2页
第2页 / 共42页
物流配送管理系统财务管理子模块的实现本科论文_第3页
第3页 / 共42页
点击查看更多>>
资源描述
本 科 毕 业 论 文(设计)题 目 物流配送管理系统-财务管理子模块的实现 34南京大学软件学院本科毕业论文毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 毕业论文(设计)授权使用说明本论文(设计)作者完全了解*学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名: 指导教师签名: 日期: 日期: 注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它摘 要物流是供应链活动的一部分,是为了满足客户需要而对商品、服务以及相关信息从产地到消费地的高效、低成本流动和储存进行的规划、实施与控制的过程。如何利用现代信息技术和设备,将物品从供应地向接收地准确的、及时的、安全的、保质保量的、门到门的合理化服务模式和先进的服务流程是物流配送管理中需要面对的一大难题。同时,由于传统物流配送管理具备复杂的业务流程以及时间和空间上的离散型,使得整个业务的管理和操作增加了难度。电子商务的出现和兴起对现代物流业的发展和物流企业的运作产生了深远的影响: 电子商务则恰好为物流管理提供了良好的运作平台。在电子商务环境下,供应链中的各个节点企业能更好地实现信息共享,加强供应链中的联系,使企业可以提高生产力,为产品提供更大的附加值。 SSH(Struts+Spring+Hibernate)框架是典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。本项目小组完成了一个物流配送管理系统具备的基本功能,并进行了适当的扩展,如销售统计。系统总共分为七个模块,客户管理模块负责与客户的交互和订单的生成;财务管理模块负责与供应商和分站的结算及发票管理;系统管理子模块负责角色权限的管理;库房管理模块负责维护库房货物信息;配送中心管理负责商品信息管理;调度管理模块负责货物调度管理;分站管理模块负责分站信息维护和发票填写。本人在项目中主要承担财务管理子系统的设计与实现。本论文首先简单介绍物流配送管理系统的应用背景和发展情况,然后在第二章深入展开本次开发系统所应用的SSH框架的相关JavaWeb技术,第三章介绍整个物流配送管理系统的业务流程以及系统功能点,第四章将就SSH框架技术运用于财务系统模块进行阐述,第五章对项目进行了总结和展望。关键词:物流配送管理系统,SSH框架,Struts,Spring,HibernateAbstractLogistics is part of the supply chain activities in order to meet customers needs is for goods, services and related information from origin to consumption of high efficiency, low cost to the flow and storage planning, implementing, and control process. How to make use of the modern information technology and equipment, things to receive from source to accurate, timely and safety, quality and quantity of, door to door rationalization service mode and the advanced service process is the logistics distribution management to face a dilemma. Meanwhile, as the traditional logistics management have complex business process and the time and space of discrete, make the whole business administration and operation of an increased level of difficulty.The emergence of electronic business and rise in the development of modern logistics industry and logistics enterprise operation has far-reaching influence:E-commerce will just for logistics management provides good operation platform. Under the e-commerce environment, supply chain in each node enterprise to better achieve the information sharing and strengthen the supply chain link enterprise can improve the productivity, to provide greater value-added products.SSH (Struts + Spring+ Hibernate) framework are is typical of J2EE tri-tier structure, divided into the presentation layer, interlayers (business logic layer) and data service layer. Three-layer system will process business rules, such as data access and legitimacy calibration work in the interlayers. Client does not interact directly with database, but the component and interlayers establish a connection, which is interacted by interlayers.This project team finished a logistics management system with the basic functions, and the appropriate extension, such as sales statistics. System into 7 module, total customer management module is responsible for the interaction and orders with customers the generation; Responsible for financial management module with suppliers and the settlement and invoice management; System management module roles permissions son management; Warehouse management module is responsible for maintaining the goods warehouse information; Distribution center management is responsible for commodity information management; Scheduling management module is responsible for goods dispatching management; Substation management module is responsible for maintenance and invoice information writing. Im in a project responsible for the financial management subsystem of design and implementation.This paper firstly introduces the logistics management system application background and development situation, and then in the second chapter of this development system starts comprehensively applied by the relevant JavaWeb technology SSH framework, the third chapter presents the whole logistics management system of business process and system function point, the fourth chapter on SSH frame technology will be applied to the financial system module is expounded, the fifth chapter to the project are summarized and prospect.Keywords:logistics management system, SSH framework, Struts,Spring,Hibernate目 录摘 要IAbstractII目 录IV第一章 概述/绪论11.1 项目背景11.2 国内外物流管理系统现状11.3 论文主要工作/组织结构2第二章 Java Web应用技术概述32.1 J2EE技术32.2 JDBC技术42.3 SSH框架技术42.3.1 Struts1.x52.3.2 Spring2.x62.3.3 Hibernate3.x62.4 XML技术72.5 Div/CSS技术7第三章 物流配送管理系统项目概述93.1 项目应用领域93.2 项目背景93.3 项目需求93.3.1 一般性需求93.3.2 功能性需求103.3.3 具体功能点需求123.4 项目总体结构15第四章 SSH在财务管理子系统的应用174.1 财务系统模块分析174.2 财务系统模块设计184.2.1 供应商结算子模块194.2.2 分站结算子模块204.2.3 销售统计子模块214.2.4 发票管理子模块214.3 技术运用及实现234.3.1 SSH框架在项目中的配置234.3.2 Struts技术在项目中的运用244.3.3 Spring技术在项目中的运用264.3.4 Hibernate技术在项目中的运用274.3.5 JavaScript在项目中的运用284.3.6 SSH框架集成29第五章 总结与展望305.1 总结305.2 展望30参考文献31致谢32第一章 概述/绪论1.1 项目背景随着国内信息化步伐的加快,物流企业对行业信息需求日益增大,这促使物流配送管理系统迅速发展。目前电子商务的发展和信息化系统支撑以及数字化的生存方式正逐渐代表着未来的贸易方式、消费方式以及服务方式。因此建设和发展以商品代理和配送为主要特征,物流、商流、信息流有机结合的社会化物流配送中心,已成为打破传统物流模式、更新物流行业解决方案的目标。构建高效率的物流配送体系显得尤为重要。本系统主要应用于物流配送行业,即按照客户的要求,经过分货、拣选等商品配备工作,实现最终商品从生产线的末端到消费者手中的移动和存储过程。有效精简了物流过程中复杂的业务流程,并且节约了物流配送过程中信息成本。电子商务时代,由于企业销售范围的扩大,企业和商业销售方式及最终消费者购买方式的转变,使得送货上门等业务成为一项极为重要的服务业务,促使了物流行业 的兴起。物流行业即能完整提供物流机能服务,以及运输配送、仓储保管、分装包装、流通加工等以收取报偿的行业。其主要包括仓储企业、运输企业、装卸搬运、 配送企业、流通加工业等。信息化、全球化、多功能化和一流的服务水平,已成为电子商务下的物流企业追求的目标。物流信息化是电子商务的必然要求,物流信息化表现为物流信息的商品化、物流信息收集的数据库化和代码化、物流信息处理的电子化和计算机化、 物流信息传递的标准化和实时化、物流信息存储的数字化等。因此,条码技术(Bar Code)、数据库技术 Database 、电子定货系统 EOS 、电子数据交换 EDI 、快速反应 QR 及有效的客户反映 ECR 、企业资源计划 ERP 等技术与观念在物流中将会得到普遍应用。信息化是一切的基础,没有物流的信息化,任何先进的技术设备都不可能应用于物流领域,信息技术及计算机技术在物流中的应用将会彻底改变世界物流的面貌。1.2 国内外物流管理系统现状随着信息技术和电子商务的发展,传统物流技术在空间和时间上的劣势越发明显,而电子商务具备的信息化、智能化、网络化的优势将逐步取代传统物流技术。近年来,在全球经济保持平稳增长和互联网宽带技术迅速普及的背景下,世界主要国家和地区电子商务市场保持了高速增长态势。以美国为首的发达国家,仍然是世界电子商务的主力军;而中国等发展中国家电子商务异军突起,正成为国际电子商务市场的重要力量。随着国内Internet使用人数的增加,利用Internet进行网络购物的电子商务活动越来越频繁,市场份额也在快速增长,相关的电子商务网站也层出不穷,而物流是电子商务的重要内容,它支持者电子商务的发展。因此物流在电子商务中起到不可替代的作用。对于国外的电子商务物流,主要具备了多功能化的特点,一体化的物流配送中心不仅单单提供仓储和运输服务,更包括了订货、配货、配送等复杂的业务流程;其次还具备物流系统化的特点,从采购物流开始,经过生产物流,再进入销售物流,同时还要满足用户不断变化的需求;最后还具备了一流的服务,对于介于供货方和购货方之间的第三方,良好的服务永远是第一宗旨,多地区长距离的服务将成为电子商务物流的又一复杂难题。与发达国家的电子商务物流相比,我国的电子商务物流存在着一定的不足之处,一是运输企业系统效率低,运输成本高,在运输成本和周转速度以及产业化方面存在较大差距;二是物流基础设施配套性、兼容性较差,物流技术装备水平低,这主要是是由于我国广阔的面积和巨大的人口基数造成的;三是标准化建设滞后,对于跨地区跨行业的物流运作系统,标准化程度的高低直接影响着社会物流效率的高低,由于我国在标准化方面缺乏有效的规章制度,而标准化执行力度又不够坚决,因而物流标准化才会滞后不前。物流行业想要去的更好发展,物流技术和物流服务的提升将会是最关键的问题,同时如何运用技术手段改善落后的技术设施,如何利用严格的规章制度规范物流行为,如何通过标准化手段提高物流效率,将是发展我国电子商务物流的重中之重。1.3 论文主要工作/组织结构本论文主要就SSH框架技术运用于电子商务环境下的物流配送管理系统开发进行阐述,首先将介绍Java Web的主流技术,其次在第三章会详细介绍物流配送管理系统的整体业务流程和项目应用领域,接着第四章将就SSH框架技术具体运用到物流配送管理系统项目中进行深入分析,最后将在第五章进行总结和展望。第二章 Java Web应用技术概述2.1 J2EE技术一个完整的Java Web应用软件通常是由多种组件构成的,一般由表示层组件、控制层组件、业务逻辑层组件及数据访问层组件组成。表示层组件通常由HTML和JSP页面构建,控制层组件一般是Servlet,业务逻辑层组件是JavaBeans或EJB,数据访问层是JDBC,Hibernate或CMP。此外,Java Web应用的各个组件需要在XML格式的配置文件中进行声明,然后打包,部署到Java Web服务器中运行。图2.1 Java Web结构图2.2 JDBC技术JDBC是Java Web应用程序开发中的最主要的API之一,因为任何应用软件总是需要访问数据库的。当在数据库中查询数据时,Java应用程序先调用JDBC API,然后JDBC API把查询语句提交给JDBC驱动器。JDBC驱动器把查询语句转化为特定数据库能够理解的形式。然后,JDBC驱动器检索SQL查询的结果,并把此结果转化为Java应用程序使用的等价JDBC API类和接口。图2.2 JDBC架构层次2.3 SSH框架技术所谓SSH,即Struts+Spring+Hibernate的组合框架模式,三者包含了各自的特点,Struts的MVC设计模式使业务逻辑变得清晰,Spring的IC和AOP使得系统在最大限度上减少了耦合度,而Hibernate实现了实体对象的持久化,成为关系模型和对象模型的桥梁。图2.3 SSH框架2.3.1 Struts1.xStruts是Apache Jakarta项目于2001年推出的一个开源Java Web框架。它很好地实现了MVC设计模式。通过一个配置文件,它把各个层面的应用组件联系起来,使组件在程序层面上联系较少,耦合度较低,这就大大提高了应用程序的可维护性和可扩展性。Struts是一个开源的、基于MVC模式的Java Web框架。它定义了自己的标签库来实现自己的视图层,创建了一个内在的Servlet,叫ActionServlet,作为它的控制器,建立了一个叫做Action类的对象实现业务逻辑。视图组件与业务逻辑组件的关系在一个叫做struts-config.xml的配置文件中声明。当Struts应用程序启动时,它首先从struts-config.xml文件中读取相关信息。根据这些信息,它的控制器ActionServlet可以知道把视图中的请求转发给哪个业务逻辑组件处理。视图组件、控制器与业务逻辑组件之间没有代码上的联系,它们之间的关系在struts-config.xml中声明,这样就保证了Web应用程序的可移植性和可维护性,因此能够受到业界的认可,成为主流的Java Web应用框架。图2.4 Struts工作原理图2.3.2 Spring2.x传统J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现只编写一次就可以随处运行的承诺。Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务等。Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。图2.5 Spring框架图2.3.3 Hibernate3.xHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。图2.6 Hibernate核心接口图2.4 XML技术XML(Extensible Markup Language,可扩展标记语言)是数据表示的一种重要方法,与HTML一样从SGML派生而来,目前已经得到了普遍应用。在Java Web应用程序中,XML主要用做配置文件。Servlet,Struts和Hibernate都需要配置文件,他们的配置文件都是XML格式的。由于XML是可读的,很容易编辑,并且可以表示在不同Web服务器中使用相同的配置文件。XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。2.5 Div/CSS技术DIV+CSS是网站标准(或称“WEB标准”)中常用术语之一,div+css 是一种网页的布局方法,这一种网页布局方法有别于传统的HTML网页设计语言中的表格(table)定位方式,真正地达到了w3c内容与表现相分离。HTML语言自HTML4.01以来,不再发布新版本,原因就在于HTML语言正变得越来越复杂化、专用化。XHTML语言是一种可以将HTML语言标准化,用XHTML语言重写后的HTML页面可以应用许多XML应用技术。使得网页更加容易扩展,适合自动数据交换,并且更加规整。在XHTML网站设计标准中,不再使用表格定位技术,而是采用DIV+CSS的方式实现各种定位。DIV元素是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由DIV标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。第三章 物流配送管理系统项目概述3.1 项目应用领域随着网络技术和信息技术的不断发展,物流企业对电子商务的依赖越来越大,这促使电子商务物流配送管理系统迅速发展。目前电子商务的发展和信息化系统支撑以及数字化的生存方式正逐渐代表着未来的贸易方式、消费方式以及服务方式。因此建设和发展以商品代理和配送为主要特征,物流、商流、信息流有机结合的社会化物流配送中心,已成为打破传统物流模式、更新物流行业解决方案的目标。构建高效率的物流配送体系显得尤为重要。本系统主要应用于物流配送行业,即按照客户的要求,经过分货、拣选等商品配备工作,实现最终商品从生产线的末端到消费者手中的移动和存储过程。3.2 项目背景目前大多数物流企业提供的主要服务还停留在传统的运输和仓库两大块业务上,仓库在物流中还占据着比较重要的地位。仓库管理对企业来说是一项繁琐复杂的工作,每天要处理大量的单据数据。库管人员要花费大量人力物力和时间来做数据统计工作,而且很容易出错。比如说,有的企业单位的库存管理部分目前仍然为手工、半手工操作。从配送中心管理员办理入库登记开始,到调度中心领货出库办理手续为止,所有操作基本上都是由仓库管理人员笔写、手算再加上计算器完成。不仅会造成分工不明确,流程模糊,而且过程繁琐,效率低下,再加上缺乏库存管理的一些基本手段(如库存状况统计),这在一定程度上给企业造成了管理上的落后,以及经济上的损失。我们就根据上述在国内物流配送管理系统在企业应用普及时出现的各种问题,将用我们学到的知识,利用当前管理信息系统科学的、实用的理论,开发一套基于JavaEE的物流配送管理系统。3.3 项目需求3.3.1 一般性需求完全基于浏览器的操作模式,安装简单、操作方便,具有良好的系统扩展能力。对于系统执行的重要操作自动记录操作人和操作时间。操作人默认为当前登录人员,操作时间默认为当天的当前时间(精确到秒)。根据不同用户角色,设置相应权限,用户的重要操作都做相应的日志记录以备查看,没有权限的用户或权限受到限制的用户禁止使用系统或不能充分使用系统的全部功能。具体权限及相关操作可参照角色说明。本系统对一些重要的数据按一定的算法进行加密,如用户口令、重要参数等。允许用户进行数据的备份和恢复,以弥补数据的破坏和丢失。本系统应该能够记录系统运行时所发生的所有错误,包括本机错误和网络错误。这些错误记录便于查找错误的原因。日志同时记录用户的关键性操作信息。3.3.2 功能性需求角色说明:整个业务流程会涉及到如下角色:客户、客服人员、调度中心管理员、配送中心管理员、中心库房管理员、分站库房管理员、分站管理员、配送员、财务中心管理员、供应商。各角色在本系统中的工作流程所起的作用如下:客户:首先提出配送请求,最终享受配送服务。在本系统中既是服务的起点,也是服务的终点。客服人员:接受客户配送请求,生成订单。根据库存确定订单状态,当中心库房有货时,生成可分配订单;当中心库房缺货时,生成中心库房缺货订单。调度中心管理员:实现订单调度与库房调度功能。调度中心可自动调度,也可人工干预调度。 可以修改缺货订单状态,工作流程为:当客户所订购的商品缺货(中心库房缺货)时,到货后,调度人员将订单置为可分配订单,然后与正常订单的配送流程一样进行后续流程。配送中心管理员:对配送业务进行管理,并对进货进行管理。当发现中心库房缺货或存货数据达到预警值时,则提示进货。中心库房管理员:存放公司所配送的货物,是公司货物的入口管理者。分站库房管理员:分站库房可能是一个虚拟库房,存放分站配送商品,是一个中转库房。具体工作流程为:接收到中心库房提交的验货单与发送过来的货物和分发单,比较相同则可做入库操作,并修改中心库房出库订单状态为配送站到货订单;根据调拨出库单及配送员的配送任务单领取货物,领货后置订单状态为:已领货订单。分站管理员:完成商品的投递,具体包含:给配送员派单,并作结单操作。订单状态由分站库房到货订单改为:任务已分配订单;投递员领货后订单状态置为:已领货订单;结单后置为:已完成订单。配送员:根据配送单,将货物投送到客户,并与客户进行资金结算。财务中心管理员:负责分站与中心库房的结算及公司与供应商的结算,并管理发票。 整体业务流程描述:整个货物配送体系以客户为中心,组织公司内、合作伙伴(运输公司及供应商)的各种可以利用的资源及配送员,为客户提供配送服务。物流配送系统是该体系中的核心,是一个服务平台,主要功能是对货物配送中的信息流、资金流及物流进行管理。其总体业务流图如下:图3.1 系统流程图客服接收客户的配送要求生成订单;调度中心根据订单 时生成货物调拨单(退货不生成货物调拨单);中心库房接到货物调拨单后,将货物出库到相应的分站库房;若退货,则分站接到任务单后可将任务分配给相关配送员;否则,则分站接到货物后将配送任务分配给相关的配送员; 打印配送单,若非退货情况,则配送员到相应库房领货;配送员完成配送任务后,分站根据完成情况录入回执。3.3.3 具体功能点需求客户管理子模块根据功能点可以将子系统分为3个子模块,订单管理,客户管理,工作量管理订单管理模块完成与订单相关的操作,订单管理包括创建订单、退订单、退货单、换货单的功能;创建订单的过程由客服人员完成;客服人员可以查询订单详细信息。客户管理模块完成对客户信息的管理,包括新增客户信息,查询客户详细信息,并能查询该客户所下订单的详细信息。工作量管理模块提供查询操作员每月所下的新订单、换货单、退货单、退订单、缺货单的数量,并提供超链接查询上述订单的详细信息。财务管理子模块财务管理的职责分为两块:一是定期与供应商、分站进行结算,二是对整个公司的发票进行管理。与供应商结算:财务会定期根据购货和退货情况和供应商之间进行资金结算,并可以由财务中心管理员输入不同时间段进行与供应商之间结算数据的比较。与分站结算:财务会定期根据购货和退货情况和分站之间进行资金结算,也可以由财务中心管理员输入不同时间段进行与分站之间结算数据的比较。发票管理:管理物流公司提供给客户需要的发票。整个公司的发票都统一由财务进行管理,财务在使用发票之前必须先在系统中进行登记,然后发票才可以配送到分站,通过分站再配送到客户手中。并能进行发票的查询和状态修改等操作。 需求描述:系统管理子模块包括权限管理、角色管理、菜单定制、用户管理、系统登录/注销、日志管理等;权限管理:对系统中的所有权限进行管理。角色管理:建立角色与权限间的对应关系(一个角色对应多个权限),对角色进行管理。菜单定制:系统管理员可以灵活定制不同角色人员登录系统后显示的菜单。用户管理:管理系统用户信息、修改密码等。注意:应该包含管理员对所有用户的管理、用户对自己信息的维护;管理员修改用户密码、用户自己修改密码等。系统登录/注销:只有登录用户才能使用本系统;提供系统注销功能。日志管理:记录做关键操作的用户信息及操作时间;并提供管理及查询功能。库房管理子模块对货物出库、入库、货物存放进行管理。主要业务包括:中心库房购货入库、中心库房调拨出库、分站库房调拨入库、领货管理、退货管理。中心库房购货入库:配送中心安排购货后,供应商将商品送至中心库房,中心库房管理员根据购货单进行入库处理。中心库房调拨出库:订单经过调度中心调度后,会产生货物调拨单,调拨出库指的就是中心库房根据货物调拨单进行出库操作。同时产生验货单,当运输公司把货物运送到相应分站后,分站库房管理员根据验货单对货物的数量进行验证。分站库房调拨入库:分站库房管理员在接到中心库房调拨过来的商品后,根据实际到货的商品和数量,进行入库处理。领货管理:分站库房管理员根据配送员的配送任务单进行货物出库,配送员领取货物。退货管理:根据退货订单,将商品退回到分站库房,再从分站库房退回到中心库房的管理。包括退货登记(当客服中心接收到客户的退货请求生成退货订单后,配送员从客户手中取回商品到分站库房登记并入库)、分站库房退货出库(分站库房根据退货的商品情况进行出库处理)、中心库房退货入库(当运输公司将货物从分站库房运输到中心库房后,通过退货入库操作可以将分站退货的商品进行入库处理)、中心库房退货出库(根据配送中心安排的退货,中心库房将商品退回到供应商)。配送中心子模块配送中心子系统提供配送管理服务,包括商品管理、库房管理、进货管理、退货管理、供应商管理。供应商管理模块:对供应商信息进行维护操作。库房管理模块:查询库房的出入库信息;查询库房的库存量;修改库房信息;设置每种商品的预警值。进货管理模块:提供缺货检查功能;提供预警查询功能;根据缺货查询结果生成订购单。退货管理模块:修改中心库房库存记录,进行退货操作,查询对应供应商信息,生成退货单。调度管理子模块主要职责是对客服生成的订单进行调度处理,以及对由于缺货原因产生的缺货订单修改订单状态(在来货后)。同时也可以实现商品在各库房之间的调拨。包括手工调度、自动调度、订单状态修改、任务单查询。手工调度:当客服传过来的订单没有描述执行任务分站时,需要对订单手工指定执行任务分站,这个过程为手工调度。调度管理员定位需要调度的订单,为订单指定分站,然后进行调度。调度后生成任务单和调拨单。自动调度:当客服传过来的订单有执行任务分站时,可以对订单进行自动调度(该操作也可以不用人工触发,由系统实时执行;要在页面中增加自动调度开关功能)。调度后生成任务单和调拨单。订单状态修改:当缺货订单的所有货物到货后,可以使用此功能修改订单状态为“可分配”。任务单查询:完成任务单信息的查询。分站管理子模块分站的主要工作是直接面向分站管理员,为分站管理员提供服务。功能包括:任务单查询、任务分配、打印商品配送签收单、回执录入、缴款查询、发票管理。任务定查询:方便分站管理员查询本分站的任务单信息。任务分配:当订单被调度中心调度之后会生成任务单,然后由分站来分配具体执行任务的配送员。首先定位任务单,然后考虑配送员工作量的负载平衡(所有配送员当前拥有的任务,把任务分配给任务量较少的配送员)。打印商品配送签收单:任务分配给配送员后,配送员会拿商品配送签收单(数据库中与任务单是同一个表)到分站库房去领货。回执录入:当配送员拿货物和商品配送签收单完成配送任务后,要回到分站进行送货完成情况录入。分站管理员根据商品配送签收单的内容进行任务完成情况录入。缴款查询:统计一段时间内本分站每种商品的送货收款情况,以及总的收款、退款金额。发票管理:当客户要求提供发票时,配送员在执行配送任务时,连同发票一同带给客户。本功能主要是提供配送员领用发票的功能。当有退货订单时,会把原发票作废,重新给客户产生一个新的发票。3.4 项目总体结构由于项目业务流程的复杂和模块种类的繁多,针对项目的不同模块划分,系统提供不同的接口供业务逻辑层调用,并最终进行数据库的持久化操作或查询,形成了高内聚低耦合的设计结构系统结构图:图3.2 系统结构图本系统使用MyEclipse 7.0为主要开发工具,采用JavaEE技术,并基于MVC的开发模式。前台部分基于Struts框架,应用JSP、XML等技术实现,主要接受用户的请求并委派调用业务逻辑及其他上层业务处理;在业务逻辑方面基于Spring框架,实现应用程序业务逻辑处理,提供与其他层相互作用的接口,并管理相关的JavaBean;在数据管理方面,采用Hibernate框架,使用mysql数据库实现对数据的有效存储和查询。第四章 SSH在财务管理子系统的应用4.1 财务系统模块分析财务管理的职责分为三块:一是定期与供应商、分站进行结算,二是对整个公司的发票进行管理,三是根据给定的时间段统计销售信息并生成图表。与供应商结算:财务会定期根据购货和退货情况和供应商之间进行资金结算,并可以由财务中心管理员输入不同时间段进行与供应商之间结算数据的比较。与分站结算:财务会定期根据购货和退货情况和分站之间进行资金结算,也可以由财务中心管理员输入不同时间段进行与分站之间结算数据的比较。发票管理:管理物流公司提供给客户需要的发票。整个公司的发票都统一由财务进行管理,财务在使用发票之前必须先在系统中进行登记,然后发票才可以配送到分站,通过分站再配送到客户手中。财务系统管理员可以修改发票的状态和查询匹配条件的发票信息。 销售统计:系统会根据财务系统管理员输入的时间段统计出销售信息,并生成柱状图、饼图、折线图以供分析和统计销售信息图4.1 用例图4.2 财务系统模块设计财务管理子系统主要负责每月和供应商以及分站的结算,并定期对销售信息进行统计汇总同时产生图表信息,以及对发票的管理操作。系统基于SSH框架设计,并使用了MVC的设计模式,在最大限度松耦合的基础上分离了前台页面和业务逻辑层以及后台数据,总体可以分为四层:Action层:直接和用户交互的前台JSP页面发出响应后,交付给Action层管理,并调用相关的Service来进行用户请求的响应。Service层:接受到Action的请求之后,进行相关业务逻辑的处理,如果与需要进行数据库的持久化操作,调用DAO层。DAO层:针对用户请求,匹配响应的数据信息,负责对数据库的查询和持久化操作。Model层:数据库对象的映射,包含了对象的基本信息属性,由DAO层负责其持久化操作并进行管理。整个子系统的类图设计如下:图4.2 财务管理子系统类图设计财务管理子系统的数据库设计主要包括Invoice表(发票的基本信息),Substationname表(分站名称,下拉菜单载入),GoodsSelled表(商品售出记录单),ComputeSupplier表(供应商商品售出记录单),其中Invoice表主要用户发票的管理和状态的修改,GoodsSelled表用于分站结算和销售信息的统计,ComputeSupplier表主要用于和供应商的结算。图4.3 GoodsSelled表信息图4.4 Invoice表信息图4.5 Substationname表信息图4.6 ConputeSupplier表信息4.2.1 供应商结算子模块由财务中心管理员进行和供应商之间的结算,主要依据为同供应商之间的购货和退货情况(商品售出记录表),具体时间由财务中心管理员直接进行选择,一般于每月第一天统计上个月的购货和退货情况,结算完成之后发送电话通知供应商。序号功能点功能点详细内容1供应商结算根据供应商售出记录单的信息检索出上个月的销售情况,并根据单价和数量统计整体销售金额,和供应商进行结算2供应商查询根据不同的时间段或者供应商提供的商品名称来查询匹配的供应商信息并分页显示表4.1 供应商结算子模块功能表 主要操作流程为财务中心管理员在前台页面进行查询或结算操作,通过Action调用相关的Service并进行数据库的持久化操作,最后将查询结果分页显示在前台JSP页面上。图4.7 供应商结算子模块时序图4.2.2 分站结算子模块由财务中心管理员进行和分站之间的结算,主要依据为商品售出记录单情况,具体时间由财务中心管理员直接进行选择,一般于每月第一天统计上个月的购货和退货情况,结算完成之后发送邮件通知分站。序号功能点功能点详细内容1分站结算根据商品售出记录单的信息检索出上个月的销售情况,并根据单价和数量统计整体销售金额,和分站进行结算,由分站上缴相应的金额2分站查询根据不同的时间段或者分站名称或商品名称来查询匹配的供应商信息并分页显示表4.2 分站结算子模块功能表主要操作流程为财务中心管理员在前台页面进行查询或结算操作,通过Action调用相关的Service并进行数据库的持久化操作,最后将查询结果分页显示在前台JSP页面上。图4.8 分站结算子模块时序图4.2.3 销售统计子模块根据财务中心管理员输入的时间段,调用StatisticService并根据GoodsSelled表的信息统计销售情况,并生成对应的柱状图、饼图、折线图,统计图的生成主要依赖于JFreechart包的导入,并封装在StatisticService层,管理员只需要录入时间信息即可查询到商品售出记录单的匹配数据,同时将生成的图片信息保存到相关目录下,当财务中心管理员查看图表Demo的时候选择对应的图表查看。4.2.4 发票管理子模块管理物流公司提供给客户需要的发票。整个公司的发票都统一由财务进行管理,财务在使用发票之前必须先在系统中进行登记,然后发票才可以配送到分站,通过分站再配送到客户手中。包括发票登记、发票分站领用、发票丢失及作废管理、发票查询等。序号功能点功能点详细内容1发票登记将发票的状态修改为已登记2作废发票将发票的状态修改为已作废3查询发票基于客户、发票号等查询发票的信息4发票领取将发票的状态修改为已领取5发票填写由分站管理员根据订单录入发票信息表4.3 发票管理子模块功能表需要注意的是发票填写的功能主要由分站管理员来操作,财务中心管理员并不具备将售出单记录对应录入到发票数据库的权限,仅有查询对应发票信息和修改发票信息的权限。当财务中心管理员查询到匹配发票信息之后,可以打印之后由分站管理员领取,同时修改发票状态,而当产生发票丢失或者客户有退货要求时,应该将发票状态修改为已作废。图4.9 发票管理子模块时序图4.3 技术运用及实现4.3.1 SSH框架在项目中的配置在Struts + Spring + Hibernate的组合框架模式中,Struts 的MVC设计模式可以使我们的逻辑变得很清晰。Spring 的IOC和AOP可以使我们的产品在最大限度上解藕。Hibernate的当然就是实体对象的持久化了典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。图4.10 SSH框架在Web.xml中的配置表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。POJO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力,它可以被扩展以进行内部的定制化,并且有强大的用户社区来支持它。框架通常能很好的解决一个问题。然而,你的应用是分层的,可能每一个层都需要各自的框架。仅仅解决UI问题并不意味着你能够很好的将业务逻辑和持久性逻辑和UI 组件很好的耦合。图4.11 SSH框架下的代码组织结构4.3.2 Struts技术在项目中的运用Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。图4.12 Struts工作原理服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。以发票管理为例:第一次进InvoiceSearch.jsp会先实例化InvoiceForm、把默认值赋给表单元素。 输入查询条件提交表单、提交到action属性的login.do,通过ActionServlet读struts-config.xml文件找到 action下的path属性找到.do,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化InvoiceForm,把表单的值填充给InvoiceForm,调用form的validate方法验证、ActionErrors返回null表示验证通过,否则 失败返回input指定的页面.验证通过会实例化Action,执行Action的excute方法。图4.13 发票查询在struts-config.xml中的配置图4.14 发票查询在struts-config.xml中的视图4.3.3 Spring技术在项目中的运用Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。在SSH框假中spring充当了管理容器的角色。我们都知道Hibernate用来做持久层,因为它将JDBC做了一个良好的封装,程序员在与数据库进 行交互时可以不用书写大量的SQL语句。Struts是用来做应用层的,他它负责调用业务逻辑serivce层。所以SSH框架的流程大致是:Jsp页面 -Struts-Service(业务逻辑处理类)-Hibernate(左到右)。Spring 设计的核心是 org.springframework.beans 包,它的设计目标是与 JavaBean 组件一起使用。这个包通常不是由用户直接使用,而是由服务器将其用作其
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 任务书类


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!