【JSP开源代码栏目提醒】:网学会员为广大网友收集整理了,毕业论文--基于J2EE的产品销售审批系统 - 毕业设计,希望对大家有所帮助!
. 基于 J2EE 的产品销售审批系统 摘要:随着
计算机技术、
网络技术、
通信技术的迅速发展和办公工具的自动化程度越来越高,各种各样的定制化软件为公司的办公事务提供了空前的便捷和效率的极大提高。
产品销售审批系统就是专门设计用来简化销售流程,缩短销售业务的周期。
本系统将所有人的工作任务模块化,使销售业务流程化,任务的流转和分配由配置文件灵活的配置。
以下的
论文主要介绍了产品销售审批系统的需求分析、总体设计和
代码实现,并给出了系统的
演示图片。
关键词:工作流;审批系统;
JSP;mysql 。
SALES APPROVAL SYSTEM BASED ON J2EE DESIGN AND IMPLEMENTION Abstract: With computer technology network technology the rapid development ofcommunication technology and office automation tools is becoming more A variety ofcustomized software for the companys office
services provide unprecedented convenienceand efficiency greatly enhanced. Sales approval system is designed to simplify the sales process shorten the sales cycleThe task of the system will work for all modular so that business processes of salescirculation and distribution of tasks and flexible configuration by the configuration fileThe following paper describes the demand for product marketing approval system analysisdesign and code and gives a demonstration of the system image.Key
words: workflow Approval System
JSP mysql 潍 坊 学 院 本 科 毕 业 设 计 目录1 前言 ............................................................... 12 技术简介和开发环境 .................................................. 2 2.1 STRUTS 简介 ....................................................... 2 2.2 SPRING 简介 ....................................................... 2 2.3 JDBC 简介........................................................ 3 2.4 HIBERNATE 简介 ..................................................... 4 2.5 ECLIPSE 简介 ...................................................... 5 2.6 TOMCAT 简介 ....................................................... 5 2.7 MYSQL 数据库简介 .................................................. 53 系统分析 ........................................................... 7 3.1 需求分析 ........................................................ 7 3.2 可行性分析 ...................................................... 7 3.3 系统实例 ........................................................ 74 总体设计 ...........................................................10 4.1 项目规划 ........................................................10 4.2 数据库设计 ......................................................11 4.3 设计目标 ........................................................13 4.4 开发及运行环境 ..................................................145 系统实现 ...........................................................15 5.1 流程实例 JAVABEAN 的编写 ...........................................15 5.2 流程节点 JAVABEAN 的编写 ...........................................15 5.3 流程操作方式 JAVABEAN 的编写 .......................................16 5.4 用户 JAVABEAN 的编写 ...............................................16 5.5 部门 JAVABEAN 的编写 ...............................................17 5.6 配置文件解析工具类编写 ..........................................186 页面设计 ...........................................................19 1 潍 坊 学 院 本 科 毕 业 设 计 6.1 产品销售审批系统首页设计 ........................................19 6.2 用户管理模块设计 ................................................20 6.3 部门管理模块设计 ................................................21 6.4 流程申请模块
设计 ................................................21 6.5 待办任务模块设计 ................................................22 6.6 任务配置模块设计 ................................................22 6.7 任务处理模块设计 ................................................22结束语 ...............................................................24参考文献 .............................................................25致谢 .................................................................26 2 潍 坊 学 院 本 科 毕 业 设 计1 前言 近年来,随着信息的全球化和国际互联网的普及化,电子办公成为互联网应用的最大热点,越来越多的公司企业通过使用电子办公系统来进行日常工作的处理,企业通过Internet为公司职员提供一套办公系统,即产品销售审批系统,职员通过任何连接到internet的系统即可
登陆办公系统,不但在出差,下班甚至在无线终端都可以,不但方便了职员,对公司的成本和效率也有极大的改善。
由于
JSP技术具有多方面的优点,因此在网上办公和管理软件实现中被广泛采用,同时
JSP技术还处在不断的发展之中,这正是
论文选题的主要依据和动机。
此次
毕业实习、
毕业设计第一阶段的主要工作是,学习有关产品销售审批系统的基本知识,了解项目审批的相关流程,并在此基础上选择了使用
JSP作为开发语言来实现一个办公自动化系统的子系统——产品销售审批
系统,并学习
JSP及
mysql数据库等方面的知识。
前台的所有Web网页采用
JSP技术,后台数据库服务器端采用Tomcat,用my
sql作后台数据库,数据源由hibernate建立,用户通过前台客户端访问数据库服务器。
经过不断的学习、探索和指导教师的帮助,我已经初步完成了当初的设计构想,实现了该范例的大部分功能。
不仅仅学习到了最新的网站开发技术,而且还在实际的设计中锻炼了自己的各个方面的能力,全面的提高了自己的综合素质。
1 潍 坊 学 院 本 科 毕 业 设 计2 技术简介和开发环境 2.1 struts 简介 DStruts是一个WEB开发框架。
WEB从一开始的静态
HTML开发,到后来的动态页面。
从繁琐的、
代码及其混乱的Model1,逐步到MVC模式。
在技术上和结构上都发生了极大的变化。
M
VC模式结构清晰,现今已被大量运用。
Struts通过提供一个控制器Servlet 实现了Sun的Model 2架构,这个控制器可以用来管理
JSP页面和其他表现设备之间的流程。
Struts通过使用ActionForward和ActionMapping来保证表现层之外的控制流决策来实现MVC层模式。
同时通过
xml配置文件实现几个层次间的关系,大大简化了开发人员的
工作量。
我们用图2.1来描述Struts的工作情况。
图 2.1 struts 框架图 2.2 spring 简介 Spring是一个
开源框架,是为了解决企业应用程序开发复杂性而创建的。
框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。
Spring 框架是一个分层架构,由7个定义良好的模块组成。
Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式,如图2.2所示: 组成Spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。
2 潍 坊 学 院 本 科 毕 业 设 计 图 2.2 spring 架构图 Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。
Spring的核心要点是:支持不绑定到特定J2EE服务的可重用业务和数据访问对 、独立应用程序、测试象。
毫无疑问,这样的对象可以在不同J2EE环境(Web或EJB)环境之间重用。
2.3 JDBC 简介 要实现动态网页的实现少不了与数据库的连接,接下来介绍JDBCJava DatabaseConnectivity技术。
JDBC的API通过一个统一的方式访问不同的数据库。
类似ODBC,JDBC对程序开发人员隐藏了数据库产权的问题。
因为它是建立在Java之上的,JDBC也能供提供平台无关性的数据库访问。
JDBC是一个规范,遵循JDBC接口规范,各个数据库厂家各自实现自己的驱动程序Driver,如下图2.3所示: 图 2.3 JDBC 接口规范 应用程序在获取数据库连接时,需要以URL的方式指定是那种类型的Driver,在获得特定的连接后,可按照固定的接口操作不同类型的数据库,如:分别获取 3 潍 坊 学 院 本 科 毕 业 设 计Statement、执行SQL获得ResultSet等。
2.4 hibernate 简介 Hibernate 是一个开放源
代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。
相对于使用JDBC和SQL来 手工 操作 数据 库,Hibernate 可以 大大 减少 操作 数据 库的 工作 量。
另外Hibernate可以利用代理模式来简化载入类的过程,这将大大减少利用Hibernate QL从数据库提取数据的
代码的编写量,从而节约开发时间和开发成本Hibernate可以和多种Web服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。
Hibernate可以应用在任何使用JDBC的场合,既可以在
Java的客户端程序使用,也可以在Servlet/
JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate技术本质上是一个提供数据库服务的中间件。
它的架构如图所示: 图 2.4 hibernate 架构图 图2.4显示了Hibernate的工作原理,它是利用数据库以及其他一些配置文件如Hibernate .properties,XML Mapping 等来为应用
程序提供数据持久化服务的。
Hibernate具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。
在轻型体系中,应用程序提供JDBC连接,并且自行管理事务,这种方式使用了Hibernate的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的JDBC/JTA API 都被抽象了,Hibernate会替你照管所有的细节。
4 潍 坊 学 院 本 科 毕 业 设 计 2.5 Eclipse 简介 Eclipse的前身是IBM的Visual Age。
由于意识到Visual Age存在难以扩展、底层技术较为脆弱、很难与WebSphere Studio
软件集成等诸多
问题,进一步发展甚为困难,同时也面临包括Symantec公司的Visual Café、Borland公司的JBuilder 等开发工具的竞争压力,IBM决定创建一个更开放的,并且可以为IBM其他开发工具提供支持的一体化开发平台。
1998年11月,IBM专门成立了一个项目开发小组,开始开发该平台,2000年新一代开发平台诞生,这就是大家所熟悉的Eclipse。
2000年11月,IBM做出了一个重大决定,将Eclipse采用开放
源码的授权和运作模式发布,以增强业界对Eclipse的关注度并加快其推广应用速度。
随后,IBM于2001年12月向外界宣布,捐赠价值4千万美 元 的 Eclipse 源 码 给 开 源 社 区 ; 成 立 由 成 员 公 司 组 成 的 Eclipse 协 会 ( EclipseConsortium),以便支持并促进Eclipse
开源项目。
事实证明,IBM的决策非常英明。
Eclipse受到广泛关注,蜂拥而至的用户使得其下载服务器一度阻塞,给业界带来了久违的震撼!IBM趁热打铁,在EclipseCon 2004上宣布成立一个独立的、非盈利性的基金会,由该基金会负责管理和指导Eclipse开发,目前其成员多达近百家知名公司,其中包括Borland、Rational Software、Red Hat、Sybase、Google和Oracle等业界巨头。
Eclipse开发状态非常活跃,目前成熟稳定的版本是3.3,正在开发的版本是3.4,已经成为业界主要的非微软软件开发平台。
2.6 Tomcat 简介 Tomcat是一个
免费的
开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和
Jsp规范总能在Tomcat中得到体现。
Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。
Tomcat最新版本是6.0x。
6.0x与5.x的架构不同,而是重新设计的。
Tomcat6.0x中采用了新的Servlet容器:Catalina,完整的实现了Servlet2.4和
Jsp2.1规范。
Tomcat提供了各种平台的版本供下载,可以从http://jakarta.apache.org上下载其源
代码版或者二进制版。
由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。
2.7 mysql 数据库简介 MySQL是一个广受Linux社区人们喜爱的半商业的数据库。
MySQL是可运行在大多数的Linux平台i386,Sparc,etc,以及少许非Linux甚至非Unix平台。
Mysql是数据库领域的中间派。
它缺乏一个全功能数据库的大多数主要特征,但是又有比类似Xbase记录存储引擎更多的特征。
它象企业级RDBMS那样需要一个积极的服务者守护程序,但是不能象他们那样消费资源。
查询语言允许复杂的连接join
查询,但是所有的参考完整必须由程序员强制保证。
5 潍 坊 学 院 本 科 毕 业 设 计 MySQL在Linux世界里找到一个位置-提供简洁和速度,同时仍然提供足够的功能使程序员高兴。
数据库程序员将喜欢其查询功能和广泛的客户库,数据库管理员会觉得系统缺乏主要数据库功能,他们会发觉它对简单数据库在不能保证购买大牌数据库时是有价值的。
6 潍 坊 学 院 本 科 毕 业 设 计3 系统分析 3.1 需求分析 通过对一些公司的业务流程分析以及实际的研究调查,要求本系统具有以下功能: 1.当销售人员有订单的时候,发起申请。
2.一般的销售流程是申请、付款、收款、发货安装。
3.由于公司会有老顾客的订单,而且信用度比较好,可以有后付款的流程。
4.在货款没有到之前,流程不会结束,确保公司的利益不能受损失。
5.处理流程节点的人员不是随意分配,由管理员统一管理。
6.有的节点也可由一个部门的所有人处理,如技术支持安装的节点。
7.登录到系统时可以看到待办任务。
8.每一步都有记录,而且处理人可以看到需要处理的流程已经过的节点和相应的处理人、处理方式。
3.2 可行性分析 在实际推广过程中,经常会受到以下一些情况:公司或者政府机构的业务流程都是处理一些比较重要的事情,如工程或者项目的审批,传统的人为处理的文件内容是可见的,现在只有某个人在特定的环境可见,可能会有不可靠的感觉,开始推广有一定的难度,但是如果一旦使用开,就会大大缩短一个流程所需要的时间,不用负责人拿着文件到各个单位找人盖章、审批等,只需要在此系统中发起一个申请即可,条件不满足被退回时,修改条件又可以重新申请。
总的来看,在实际应用中有很大的空间。
3.3 系统实例 我设计的系统适合提供服务或产品的公司的业务流程。
比如这家公司是提供短信平台服务的,客户新开展一个项目,需要公司来安装一套短信发送平台,客户就可以通过登录公司的“产品销售审批系统”平台,这里有两种可能: 第一种:是新客户,发出“短信平台安装”的流程申请,然后给公司的账户支付购买平台和安装平台的费用,流程就会流转到“财务确认”的节点,当财务人员登录平台后,就会看到新客户的“短信平台安装”的流程申请,其中有货款,备注内容,财务人员查账看货款是否到帐,如果发现货款已到帐,就可以点击“通过”按钮,到下一节点——“技术支持服务”,当技术支持人员登录平台后就会看到自己的待办任务中有新客户的申请,并通过了财务确认,如果该平台可用,就点击“通过”然后按照备注内容到客户指定的地方去安装短信平台,流程结束,当技术支持发现客户申请的平台有未修复的bug或者平台已过期不能使用的时候,就可“驳回”到财务的节点, 7 潍 坊 学 院 本 科 毕 业 设 计写明原因,将货款退回客户,流程结束。
也就是“申请”——“客户付款”——“财务确认”——“安装”的流程。
图 3.1 新客户安装流程 第二种:是老客户,老客户也可以走第一个流程,也可以走第二个流程,先不付 ,然后流程就会流转到“经理审批”的节点,当经理登录款,直接选“未付款申请”系统时就会发现有“未付款”的申请,经理根据申请的平台,客户的信用,客户的
经济实力等综合评估,是否有赖帐的风险,如果风险较小,就可通过流程,到下一节点 ,当技术支持人员将“短信平台”安装好之后,点击“通过”——“技术支持服务”按钮,流程会返回到客户的地方,客户登录系统后就会有“支付货款”的待办任务,客户付款之后,跳转到“财务确认”节点,财务人员登录后发现货款收到,点击通过,流程结束,也即是“未付款申请”——“经理审批”——“安装”——“客户付款”——“财务确认”的流程。
8潍 坊 学 院 本 科 毕 业 设 计 图 3.2 老客户安装流程 9 潍 坊 学 院 本 科 毕 业 设 计4 总体设计 4.1 项目规划 产品销售审批系统是一个典型的J2EE开发应用程序,由前台流程展示、部门管理及后台流程设计3部分组成。
本系统以某公司产品销售审批系统的流程为例。
图 4.1 总流程图 系统管理员分配帐号 整个系统只设有一名超级管理员,这个管理员有所有的权限,可以给用户分配帐号,创建和修改部门,修改任务节点分配人员和部门,当有人忘记系统密码,可以由管理员初始化为原始密码。
(1)任务分配 本系统的特定任务处理人不是规定死的,而是可以由系统管理员配置,一个人可以处理多个节点的任务,一个节点也可以有多个人或多个部门下的人处理。
实现了灵 10 潍 坊 学 院 本 科 毕 业 设 计活配置,按要求更改的需求。
(2)流程申请 流程申请可以是任意人员有需求都可以申请,没有特别的要求。
(3)处理流程 当用户登录系统后在待办任务页面就会显示需要你或你可以处理的任务,同一个任务,被其他有处理权限的人处理过后,这个任务在你的待办任务中也会注销,所有有权限处理的人,最后效果都是相同的。
4.2 数据库设计 (1)oa_department(部门表) 存储部门的信息,用作管理用户和分配任务 表 4-1 oa_department 结构 字段名 数据类型 长度 是否主键 描述 id varchar 32 是 ID createDT datetime 创建时间 depName varchar 32 部门名称 parent_id varchar 32 上级部门 id (2)oa_dept_node(部门任务节点表) 记录不同的任务节点上分配任务的部门。
表 4-2 oa_dept_node 结构 字段名 数据类型 长度 .