毕业设计(论文)-基于SSH的企业产品分销系统的设计与实现.docx_第1页
毕业设计(论文)-基于SSH的企业产品分销系统的设计与实现.docx_第2页
毕业设计(论文)-基于SSH的企业产品分销系统的设计与实现.docx_第3页
毕业设计(论文)-基于SSH的企业产品分销系统的设计与实现.docx_第4页
毕业设计(论文)-基于SSH的企业产品分销系统的设计与实现.docx_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

本科学生毕业论文论文题目:基于SSH的企业产品分销系统的设计与实现学 院:软件学院年 级:2007级专 业:软件工程姓 名:学 号:20074746指导教师: 2011年05月10日摘要随着中国社会经济的不断发展,中国的各种大小企业业务也在不断壮大,经营模式也更多,经营覆盖率也更加广泛,这也给原来基于手工、电传真等传统分销方式带来了困难。面对一些分销渠道无法整合,企业内部无法实时监控全局,商家订货、销售、库存等数据和信息反馈不及时,商品积压和缺货等问题。企业应该找到一种正确的解决方案企业产品分销管理系统。本文是基于web的企业分销资源管理系统,主要针对中小企业对各类产品的分销进行管理,很好的解决了传统的分销过程中所产生的各种问题,是企业增强了企业竞争力,在分销过程中保持快速反应和持续补充库存等能力,并对企业的整体全局进行统一的管理,以提高效率。本系统从可行性研究,需求分析,概要设计,详细设计,数据库设计,编码以及测试来实现。采用MyEclipse6.5作为主要的开发工具,利用Oracle10g作为后台数据库。利用UML、Dreamweaver、PowerDesigner、SmartDraw 2010等工具对系统进行辅助开发,利用tomcat5.0部署服务环境,并使用了MVC框架。关键词分销管理系统;SSH;J2EE;MVC框架;AjaxAbstractWith the continuous development of Chinas economy, Chinas business enterprises of all sizes are growing, the business model is also more coverage and more extensive, which also bring difficulties to on hand, facsimile and other traditional distribution method. Facing the problems like inability of a number of distribution channels, not real-time monitoring global enterprise, business orders, sales, inventory and other data information feedback cannot be on time, the backlog of goods out of stock and other issues. Companies should find a correct solution - enterprise distribution management system. This is a web-based enterprise resource management distribution system, mainly for SMEs to manage the distribution of various products, which is a good solution to the various issues coming from the traditional distribution process. It can also enhance competitive force for the enterprise. At the same time, in the distribution process to maintain rapid response and sustained ability to add inventory, and manage the global enterprise efficiency. The system is based from the feasibility study, requirements analysis, preliminary design, detailed design, and database design, coding and testing. The system use MyEclipse8.X as a major development tool and oracle10g as a background database. Using UML, Dreamweaver, PowerDesigner and other tools supporting development of the system, using tomcat6.0 deployed service environment, and use the MVC framework. Key wordsDistribution Resource Planning Systems;J2EE;Ajax;MVC framework; SSHII目录摘要IAbstractII第一章 前言11.1 课题研究背景11.2 课题现状与发展趋势11.3 课题研究的意义21.4 论文结构2第二章 主要开发工具42.1 J2EE知识简介42.2 MVC设计模式简介42.3 Ajax知识简介52.4 Oracle 10g知识简介72.5 SSH框架知识简介82.6 本章小结10第三章 系统需求分析113.1 功能需求113.1.1 业务流程113.1.2 基本功能需求123.2 性能需求123.3 系统开发和运行环境133.4 本章小结13第四章 系统概要设计144.1 系统功能模块概要设计144.1.1 供应商库存管理模块144.1.2 基础数据管理模块154.1.3 分销费管理模块154.1.4 付费结算管理模块154.1.5 统计报表管理模块154.1.6 系统管理模块154.2 数据库设计164.2.1 设计概述164.2.2 数据库逻辑设计164.3 本章小结20第五章 系统详细设计与实现215.1 系统的详细设计215.1.1 系统登录功能详细设计215.1.2 基础数据管理模块功能详细设计245.1.3 分销商库存管理模块功能详细设计285.2 系统的实现295.2.1 主要代码设计295.2.2具体实现305.2.3 AJAX技术的应用325.2.4 开源组件的应用325.3 本章小结33第六章 系统测试346.1 系统功能测试346.1.1 系统登录测试346.1.2 系统管理模块测试356.1.3 基础数据管理模块测试366.1.4 分销商库存管理模块测试366.1.5 统计报表管理模块测试376.2 本章小结37结论38参考文献39致谢40基于SSH企业产品分销管理系统的设计与实现第一章 前言1.1 课题研究背景分销模式是当前国内绝大部分批发型企业以及产供销一体化的制造类企业所引用的销售模式。国内经济市场的迅猛发展使传统的销售模式在新一轮的竞争中风雨飘摇。销售渠道的管理、操作与控制方法再次成为消费品生产企业关注的焦点。随着企业销售业绩和规模的扩大,对异地物流和资金流的管理难度越来越难。大部分企业试图采用人数的增多来解决此类问题,从总部派大量人员到各地的分销地点。但实际上问题并没有得到很好的解决:手工统计销售数据速度缓慢,容易出错误,账目以及货物经常不符,造成汇总数据不及时,不准确;监督不力;造成大量死帐呆帐,却无法追究相关人员责任,有些甚至根本就无法找出责任人。问题的所造成的结果是显而易见的,企业在商品流通领域成本会居高不下,企业的生产决策缺乏准确的量化依据,造成企业资源的不合理应用。目前,许多企业的分销成本远远超过生产成本和产品开发成本,成为企业总体运行成本的很重要的要素;解决分销成本的控制问题,是目前企业的当务之急。1.2 课题现状与发展趋势通过分析国内的企业分销管理的现状,会发现传统的分销管理模式在企业中存在明显的不足,主要表现:企业地不断壮大,分销网络规模也随之不断扩大,采用传统分销管理模式,会出现了比较多问题,而且往往企业规模越做越大,利润却不能随着规模扩大而上升,反而出现下降现象。目前分销资源计划系统发展趋势是:采用分销管理系统。分销管理系统,便是为解决这一系列问题而研发的企业分销业务管理系统。分销管理系统是管理企业的分销网络的系统。通过互联网将供应商与经销商有机地联系在一起,分销管理系统为企业的业务经营及与贸易伙伴的合作提供了一种全新的模式1。分销管理系统系统是以销售流程优化为基础,以销售、库存综合控制管理为核心的集采购、库存、销售、促销管理、财务以及企业决策分析功能于一体的高度智能化的企业分销解决方案;是针对生成企业供应链后端强化管理的高效工具。当今分销资源计划管理模式面临的新型发展趋势的变化在于:1.销售渠道的明了化;2.分销商角色的转变;3.分销价值链的紧密集成。1.3 课题研究的意义分销管理系统可以对整个企业分销渠道进行有效的管理,其管理的主要对象是订单、库存、货物配送、财务往来等方面,它有以下的特点和作用:1.采用分销管理系统改变逐级报表汇报的落后方式,各级管理人员根据权限才能查看实时数据,加快销售信息收集速度,减少员工工作量。2.通过对销售业务流程再造,优化销售组织结构和运作流程。系统业务流程的监督和控制,避免人为操作上的随意性,使销售业务规范有序1。3.库存按客户订货数量进行动态分配,通过补损计算及手工调整最大限度的减少库存。实现缺货时能得到最大化分配,最小化库存。4.业务和财务系统集成为一个信息平台,实现物流、资金流的统一整合。有效利用各种资源,控制空闲资金占用情况。5.企业生产产品统一分配就近调拨,优化了物流物资的配送的方式,降低了产品因过期带来的损失,减少了库存货物占用资金,加快了物流以及资金流的周转速度控制。6.实时按照产品分类、分销机构等进行统计、汇总数据,为企业调整生产计划、产品市场生产策略等提供更加准确的决策依据。综上所述,分销资源管理系统的主要特点:对分销链上的销售订单、财务管理、库存管理、客户关系、物流管理等方面进行有效控制;是以生意流程优化为基础,以销售与库存综合控制管理为核心的采购、库存、销售、促销管理、财务以及企业决策分析功能于一体的高度智能化的企业分销业务解决方案;针对企业供应链后端强化管理的高效工具。1.4 论文结构本论文讲述的是基于SSH的企业产品分销系统设计与实现。第一章前言,介绍了当前这个系统在设计上的背景,当前研究的情况与发展趋势,最后讲述了此课题的研究意义;第二章讲述的是研发此系统所需要的基本语言与技术;第三章是对本系统的需求分析;第四章讲述了对于此系统的概要设计;第五章是系统的详细设计与实现;第六章对本系统的整体测试。还包括对引用文献的说明等。第二章 主要开发工具2.1 J2EE知识简介J2EE Java2平台企业版(Java 2 Platform,Enterprise Edition),J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持2。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。J2EE目前得到了广泛的应用,其优势主要是为搭建具有可伸缩性、灵活性、易维护性的业务系统提供了良好的机制。2.2 MVC设计模式简介MVC英文即Model-View-Controller,MVC 是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。视图:视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services。模型:模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 控制器:控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器(例如:servlet)本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。MVC的优点:低耦合性,高重用性和可适用性,较低的生命周期成本,快速的部署,可维护性,有利于软件工程化管理。如图2-1所示。图2-1 MVC设计模式的总体结构图2.3 Ajax知识简介Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。它使用:使用XHTML和CSS处理网页的内容和表现形式; 使用Document Object Model显示和控制网页;使用 XML 作为数据交换的格式;使用 XMLHttpRequest对象与Web服务器进行异步数据交换;用JavaScript动态地实现上述目的。Ajax的工作原理是:用户向Web服务器发送的请求,以及Web服务器向用户返回的数据,都经过XMLHttpRequest对象“半道”截住处理后再进行下一步工作。下面对传统的网页工作模式和AJAX工作模式作比较,如图2-2所示。图2-2 传统的网页工作模式和AJAX工作模式图2-2a是传统网页的工作模式,图2-2b是AJAX工作模式。在传统网页的工作模式下,用户通过单击浏览器网页上的按钮或链接,向Web服务器发送请求信息HTTP Request,Web服务器收到用户的请求,多数情况下需要和数据库服务器交换数据,然后把处理结果返回给用户,通常,服务器返回数据时需要刷新用户浏览器上的整个页面,以便显示更新后的数据,即便需要更新的只是网页的一部分。AJAX工作模式和传统网页工作模式的唯一不同就是3,在浏览器和Web服务器之间多了个AJAX Engine(AJAX引擎),用户单击网页上的链接或按钮向Web服务器发送请求时,这些请求不是直接发送给服务器,而是由AJAX引擎处理后再发送给服务器。服务器在向用户浏览器返回数据时,也是通过AJAX引擎处理后再显示在用户浏览器中。正是通过AJAX引擎,服务器在返回数据时,不需要更新整个网页,而是更新网页的一部分,让用户感觉网页的反应更快、更敏捷。总之,AJAX目前看起来是最有前途的网络技术之一,在许多项目工程中,AJAX经常是必备的技术。2.4 Oracle 10g知识简介Oracle在其技术白皮书上阐明,Oracle 10g数据库关键目标有二:* 降低管理开销* 提高性能 这些增强有对高可用性的增强、新的Flashback能力、支持回滚更新操作;对安全性的增强,便于管理大量的用户;BI方面的增强,包括改进的 SQL 能力、分析功能、 OLAP、数据挖掘的能力等;对非关系型数据存储的能力得到了改进; XML 的能力;对开发能力支持的加强。对生物信息学( Bioinformatics )的支持。1.超大数据库的支持3:可支持到8E的数据量。改进的存储、备份、恢复管理也对超大数据库有着很好的支持。分区可以支持索引组织表。2.缩短信息周转时间:新版本的Oracle提供了加强的ETL功能。可以方便的构建大型数据仓库和多个数据集市。一个新的变化数据捕捉的框架允许管理员能够轻易的捕捉并发布数据的变化。新的CDC功能利用的是Oracle的Stream技术架构。对于大数据量的转移,新版本提供了对可传输表的跨平台的支持,允许大批量数据快速从数据库上的脱离并附接到第二个数据库上。3.增强的外部表功能。4.SQL Loader 的功能加强。5.增强的SQL分析能力。SQL 语句的功能针对BI得到了极大地增强。6.增强的OLAP分析功能:Oracle内建的分析功能得到增强。提供了新的基于PL/SQL和XML的接口。提供了新的并行能力,以便于进行聚合和SQL IMPERT操作。一些算法得到改进。同时OEM能够用来监视并管理数据挖掘环境。7.BIOINFORMATICS 的支持:这个版本包含对BIOINFORMATICS技术的特定支持。包括对Double和Float数据类型的Native支持。内建的统计函数支持常见的ANOVA分析等。8. 改进的数据挖掘的能力。2.5 SSH框架知识简介1.SpringSpring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的4。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。目的:解决企业应用开发的复杂性功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器2,它们经常是庞大与笨重的,难以使用。框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。 2.HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。SessionFactory接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。3.StrutsStruts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做, 使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。 Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。Struts可以清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序的过程。Struts提供的类使得开发工作更加简单,这些类包括: 1.控制程序流程的类;2.实现和执行程序事务逻辑的类;3.自定义的标记库使得创建和验证HTML表单更加容易。2.6 本章小结本章讲述了对于设计本系统所需要的基本语言的介绍,包括J2EE概念、MVC模式、Ajax模式、oracle10g的相关知识还有SSH技术的概述。能够是大家更容易理解我所做的项目的实现情况。第三章 系统需求分析产品分销系统是管理企业的分销网络的系统,目的是使企业对订单和供货具有快速应变和持续补充库存缺货的能力。通过互联网将产品供应商与产品经销商有机地联系在一起,产品分销系统为企业的业务经营与贸易伙伴的合作提供了一种全新的经营模式。供应商和经销商之间可以通过网络,实现实时地提交订单、查询产品供应和库存状况、并获得市场、销售信息及客户支持,实现了供应商与经销商之间端到端的供应链管理,有效地缩短了供销链。新的模式借助互联网的便利性,使商务过程不再受时间、地点的限制,企业的工作效率和以及其业务范围都得到了有效的提高。总公司能够对分公司的财务进行实行全面监控,合理控制。本系统是针对生产产品的企业进行设计的,以下是对分销资源计划系统进行概述。3.1 功能需求3.1.1 业务流程公司生产的产品通过一级分销商出货,一级分销商的货品分三种方式出货,即调配到二级分销商、调配到三级分销商、调配到零售商。二级分销商的货品分二种方式出库,即调配到三级分销商、销售到零售商。三级分销商的货品直接销售到零售商。如图3-1所示。图3-1业务流程3.1.2 基本功能需求企业产品分销系统对分销链中的销售订单、财务管理、库存管理、客户关系管理、物流管理等方面进行有效的控制管理,能加强分销业务管理和决策能力,准确掌握相关信息,控制经营管理和销售费用。根据业务流程和实际情况,我们把企业产品分销系统分为以下八个模块: 1登录系统模块:用户输入正确的用户名和密码,登录系统。 2分销商库存管理:对库存和流向单管理。 3基础数据管理:对物料维护、分销商维护和终端客户维护。 4分销费管理:对分销费的计算和审核。 5付款结算管理:在线申请付款,然后在线审核和批准。 6结账管理:付款复核和付款监审。 7统计报表管理:分销商级别分布图,分销商库存报表等。 8系统管理:对用户进行管理。总体用例图如图3-2所示。图3-2总体用例图3.2 性能需求本系统处理的数据量非常大,所以利用了Oracle 10g作为后台数据库。Oracle 10g可以支持到 8E 的数据量。从数据存储、备份、恢复管理等方面对超大数据库有着很好的支持。分区还可以支持索引组织表,缩短了信息周转时间,具有高速的数据处理能力和安全性。直接减少用户的对数据处理等待时间。在B/S模式中,每次服务器请求数据库数据时,就需要刷新整个页面,在刷新的过程中,用户将会进入等待的过程,有时页面的返回信息的时间会比较长,所以在这个期间内,用户不能做其他操作,需要等待请求返回的数据,所以,为了改善这一点,充分地结合C/S结构的优点,本系统采用Ajax来增强用户的体验。目的是为了使浏览器可以为用户提供自然、快捷的浏览体验,弥补B/S结构的弊端。3.3 系统开发和运行环境本系统是以Windows操作系统为开发平台,使用MyEclipse 8.x作为主要开发工具,使用Oracle 10g作为后台数据库,同时使用Tomcat 5.5 来部署运行环境。通过使用SmartDraw2010工具来画UML用例图,作辅助设计,能更好地理解各个模块的操作过程。并且使用PowerDesigner工具来建数据库模型,然后将关系模型生成SQL脚本,最后将SQL脚本导入Oracle数据库。3.4 本章小结本章介绍了对于整体系统的需求分析,包括具体的功能需求、业务流程以及具体的功能需求,系统的性能需求,系统的开发呵呵运行环境等。第四章 系统概要设计4.1 系统功能模块概要设计图4-1系统功能模块图在整体设计中,将企业产品分销系统分为七个模块,分别是供应商库存管理,分销费管理,结款管理,统计报表管理,系统管理,基础数据管理,付费结算管理。如图4-1所示。以下对各个模块进行详细地描述。4.1.1 供应商库存管理模块供应商库存管理模块包括:分销商库存数量初始化,流向单审核,流向单抽查,流向单维护,流向单复审,盘点结果维护10。1. 分销商库存数量初始化:通过查看实际库存数量,然后进行录入数据。2流向单审核:对流向单原件和录入数据进行核对,如果有数量差异,可以调整产品数量。3流向单抽查:抽查流向单数据和系统中的数据是否吻合,抽查过的并核对过单据内容后,对单据添加抽查标记。4流向单维护:根据流向单原件进行录入数据,然后进行送审。5流向单复审:对流向单进行最后的审查,如果标记有已审核和已抽查的流向单复审合格通过,否则就驳回。6盘点结果维护:确认流向单是否正确,如果正确,就直接冲减库存。4.1.2 基础数据管理模块基础数据管理模块包括:会计核算期间维护,物料维护,分销商维护,终端客户维护。1会计核算期间维护:可以添加和修改核算期,设置该期间是否可以使用。2物料维护:可以添加,删除,修改物料信息,还可以上传对应的物料图片。3分销商维护:可以添加,删除,修改分销商区域,还可以添加,删除,修改分销商,分销商可以分为一级分销商,二级分销商,三级分销商。4终端客户维护:可以添加,删除,修改终端客户区域,还可以添加,删除,修改终端客户。4.1.3 分销费管理模块分销费管理模块包括:分销费用初始化,分销费费用初始化确认,分销费用计算,分销费审核。4.1.4 付费结算管理模块付费结算功能管理模块包括:付款申请单维护,付款申请单审核,付款申请单复审,付款申请单监审。4.1.5 统计报表管理模块统计报表管理模块包括:分销商级别分布图,流向单录入审核报告,流向单抽查报告,分销商月度分销明细表,分销商库存报表。结账管理模块包括:月结账,年结账。4.1.6 系统管理模块系统管理模块包括:用户维护,修改密码。1用户维护:系统管理员可以添加,删除,修改用户。2修改密码:用户输入正确的原密码,再输入新密码,最后确认新密码。4.2 数据库设计4.2.1 设计概述针对本文企业产品分销系统,我们使用PowerDesigner进行数据库建模,由于企业产品分销系统结构关联的基表数据结构比较庞大,所以我们仅抽取几张基表作为表结构的实例。只对分销商库存管理模块,基础数据管理模块,系统管理模块进行设计,由于其他关于分销费的模块,关系比较复杂,还有待进一步的分析,所以以下只列出以上几个模块的设计。4.2.2 数据库逻辑设计为了实现以上的模块功能,我遵循了数据库表设计范式进行设计,主键设计为单一主键,不要采用复合主键,使用没有业务语义的字段作为主键,主键一般建议使用数值型,提高检索效率。根据这样的设计原则,我们将其分为十张表:分销商信息表,终端客户信息表,数据字典,会计核算期表,物料信息表,库存信息表,流向单主信息表,流向单明细信息表,用户信息表,主键维护表。以下图4-2为PowerDesigner设计模型。1. t_client表:记录分销商信息。2. t_table_id表:记录主键维护表。3. t_temi_client表:记录终端客户信息。4. t_fiscal_year_period表:记录会计核算期。5. t_data_dict表:记录数据字典。6. t_flow_card_master表:记录流向单主信息。7. t_items表:记录物料信息。8. t_flow_card_detail表:记录流向单明细信息。9. t_inventory表:记录库存信息。10. t_user表:记录用户信息。图4-2 PowerDesigner设计模型具体每张表的基本情况如以下各表所示。表4-1 分销商信息表(t_client)字段名描述数据类型数据长度NULLPrimarykeyid编号 Number10NYpid父节点编号Number10NNt_c_id分销商idNumber10NFclient_level分销商级别Char3NFname名称Varchar240YNClient_id分销商代码Varchar210NNbank_acct_no银行账号Varchar230YNcontact_tel联系电话Varchar230YNaddress地址Varchar250YN续表4-1 分销商信息表(t_client)字段名描述数据类型数据长度NULLPrimarykeyzip_code邮编Varchar215YNis_leaf是否为叶子Char1NNis_client是否为分销商Char1NN表4-2 主键维护表(t_table_id)字段名描述数据类型数据长度NULLPrimarykeyTable_name表名称Varchar230YYvalue值Varchar220YN表4-3终端客户信息表(t_temi_clien)字段名描述数据类型数据长度NULLPrimarykeyid编号Number10NYpid父节点编号Number10NFtemi_client_category终端客户类型Char3NFname名称Varchar240YNtemi_client_id终端客户代码Varchar210NNcontactor联系人Varchar230YNcontact_tel联系电话Varchar230YNaddress联系地址Varchar250YNzip_code邮编Varchar215YNis_leaf是否为叶子Char1NNis_temi_client是否为终端Char1NN表4-4 会计核算期表(t_fiscal_year_period)字段名描述数据类型数据长度NULLPrimarykeyId编号Number10NYfiscal_year核算年Number4NNfiscal_month核算月Number2NN续表4-4 会计核算期表(t_fiscal_year_period)字段名描述数据类型数据长度NULLPrimarykeybegin_date开始日期DateNNend_date结束日期DateNNperiod_sts核算状态Char1NN表4-5 数据字典(t_data_dict)字段名描述数据类型数据长度NULLPrimarykeyid代码Char3NYname名称Varchar230YNcategory类别Char1YN表4-6 流向单主信息表(t_flow_card_master)字段名描述数据类型长度NULLPrimarykeyflow_card_no流向单号Varchar220NYfiscal_year_period会计idNumber10NFopt_type操作类型Char1YNclient_id分销商代码Number10NFrecorder_id录入人Varchar220YFopt_date操作日期DateYNvou_sts单据状态Char1YNadjuster_id调整人Varchar210YFadjust_date调整日期DateYNspotter_id抽查人Varchar210YFspo_date抽查日期DateYNspo_desc抽查描述Varchar240YNconfirmer_id复审人Varchar210YFconf_date复审日期DateYN表4-7 物料信息表(t_items)字段名描述数据类型数据长度NULLPrimarykeyitems_no物料代码Varchar220NYcategory物料类别Char3YFunit计量单位Char3YFitems_name物料名称Varchar230YNspec物料规格Varchar230YN续表4-7 物料信息表(t_items)字段名描述数据类型数据长度NULLPrimarykeypattern物料型号Varchar230YN表4-8 流向单明细信息表(t_flow_card_detail)字段名描述数据类型数据长度NULLPrimarykeyflow_card_detail_id明细idNumber10NYaim_client_id客户代码Number10NNitems_no物料代码Varchar220NFflow_card_no流向单号Varchar220NFopt_qty操作数量Number12NNajust_qty调整数量Number12NNajust_reason 调整原因Varchar230NNajust_flag调整标记Char1NN表4-9库存信息表(t_inventory)字段名描述数据类型数据长度NULLPrimarykeyclient_id分销商idNumber10NYfiscal_year_id核算期idNumber10NFitems_no物料代码Varchar220NFinit_qty期初数量Number12YNin_qty入库数量Number12YNout_qty出库数量Number12YN表4-10 用户信息表 (t_user)字段名描述数据类型数据长度NULLPrimarykeyuser_id用户代码Varchar220NYuser_name用户名称Varchar240NNpassword密码Varchar220NNcontant_tel联系电话Varchar240YNemailemailVarchar230YNcreate_date创建日期DateYN4.3 本章小结本章包括两部分:具体功能模块的设计、数据库的设计。功能模块设计包括很多部分,如供应商库存管理模块、分销模块、基础数据模块等。数据库设计将表设计成了10张具体的叙述请看前面的详细设计。第五章 系统详细设计与实现5.1 系统的详细设计在本文设计系统中,用户通过输入正确的账户和密码,登录系统。系统设计了七个功能模块分别为:分销商库存管理模块,分销费管理模块,结账管理模块,付款结算管理,统计报表管理模块,基础数据管理模块,系统管理模块。每个模块及模块下的各种功能在对数据管理时均考虑到管理权限和安而全性因素,因不同职责下的用户角色在登录后所看到和操作的功能权限是不尽相同的。根据我们的实际调研,医药企业在全国各个省设立了一级分销商,二级分销商,三级分销商。之所以这样设立分销点,因为它可以覆盖的范围更广。这在系统设计与实现时已经给予了充分而系统的分析。本系统采用将实体类和管理接口分离的设计方案,使类的职责明确地被划分。每一个数据库表都对应一个实体类,并且都有一个管理接口,其中实体类封装实体的各个属性,管理接口封装实体的各项业务逻辑的操作,完成各种关于实体的功能。由于作者仅对该系统部分功能模块进行设计与实现,即系统登录模块,分销商库存管理模块,统计报表管理模块,基础数据模块,系统管理模块的部分功能,故在此着重对这些模块以及功能进行详细的分析。5.1.1 系统登录功能详细设计1.系统登录功能的流程如图5-1所示。2.设计思想:用户登录模块,先让用户输入用户名和密码,验证用户名和密码是否正确,如果正确,则登录系统成功,转到系统的主页面,否则提示用户名或密码错误,让用户重新输入用户名和密码。登录系统页面如图5-2所示。3.设计思想:添加用户:用户选择添加用户

温馨提示

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

评论

0/150

提交评论