每天记录学习,每天会有好心情。*^_^*

今天将为大家分析一个企业流程审批系统(现代企业对资金流的控制十分严格,但是绝大部分企业的费用审批还停滞在手动填单、逐级递交、逐级审批的现状,既没有效率也不利于与国际接轨。文中采用基于JAVA技术和mysql数据库开发了一个改变原始审批流程操作的自动审批流程系统,缩短了审批时间,提高了企业的工作效率,真正实现了无纸办公,为电子商务时代企业的发展提供了崭新的模式。),该项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。企业流程审批系统为一个 后台项目。
为了完成该系统,我们首先需要对该系统进行需求分析。一个企业流程审批系统应包含用户角色有管理员、用户注册。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。

总结得出该系统所有数据为:管理员(admin)、用户注册(yonghuzhuce)、总体设计(zongtisheji)、审批流程(shenpiliucheng)

管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
quanxian | VARCHAR(255) | | 权限

用户注册表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户注册id
xingming | VARCHAR(255) | | 姓名
nianling | VARCHAR(255) | | 年龄
xingbie | VARCHAR(255) | | 性别
zhiwu | VARCHAR(255) | | 职务
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

总体设计表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 总体设计id
xitongxuqiufenxi | VARCHAR(255) | | 系统需求分析
xitonggongnengjieshgao | VARCHAR(255) | | 系统功能介绍
xitongmokuaigongneng | VARCHAR(255) | | 系统模块功能
shejisixiang | VARCHAR(255) | | 设计思想

审批流程表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 审批流程id
faqishenpibiao | VARCHAR(255) | | 发起审批表
bumenpiyue | VARCHAR(255) | | 部门批阅
shenpijieguo | VARCHAR(255) | | 审批结果
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for ggqiyeliuchengspxt

-- ----------------------------

DROP TABLE IF EXISTS `t_admin`;

CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '管理员id',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`quanxian` VARCHAR(255) DEFAULT NULL COMMENT '权限',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理员';

-- ----------------------------

DROP TABLE IF EXISTS `t_yonghuzhuce`;

CREATE TABLE `t_yonghuzhuce` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户注册id',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`zhiwu` VARCHAR(255) DEFAULT NULL COMMENT '职务',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户注册';

-- ----------------------------

DROP TABLE IF EXISTS `t_zongtisheji`;

CREATE TABLE `t_zongtisheji` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '总体设计id',`xitongxuqiufenxi` VARCHAR(255) DEFAULT NULL COMMENT '系统需求分析',`xitonggongnengjieshgao` VARCHAR(255) DEFAULT NULL COMMENT '系统功能介绍',`xitongmokuaigongneng` VARCHAR(255) DEFAULT NULL COMMENT '系统模块功能',`shejisixiang` VARCHAR(255) DEFAULT NULL COMMENT '设计思想',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='总体设计';

-- ----------------------------

DROP TABLE IF EXISTS `t_shenpiliucheng`;

CREATE TABLE `t_shenpiliucheng` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '审批流程id',`faqishenpibiao` VARCHAR(255) DEFAULT NULL COMMENT '发起审批表',`bumenpiyue` VARCHAR(255) DEFAULT NULL COMMENT '部门批阅',`shenpijieguo` VARCHAR(255) DEFAULT NULL COMMENT '审批结果',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='审批流程';

添加审批流程模块:

通过添加审批流程模块,可以完成审批流程的添加操作。在页面中跳转到添加审批流程页面,输入审批流程的所有信息,点击添加操作,可以将审批流程数据以post提交到shenpiliuchengController中。审批流程所包含的字段信息包括发起审批表,部门批阅,审批结果。在shenpiliuchengController中通过定义shenpiliucheng接受所有的审批流程参数。使用shenpiliuchengdao的insert方法将shenpiliucheng实体插入到数据库中。完成数据的添加操作,在shenpiliuchengMapper中匹配对应的shenpiliuchengxml完成插入sql语句的执行操作。该部分核心代码如下:

通过shenpiliuchengdao的insert方法将页面传输的审批流程添加到数据库中 shenpiliuchengdao.insert(shenpiliucheng);

将添加审批流程成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加审批流程成功");

返回审批流程管理界面

return "forward:/tianjiashenpiliucheng.action";

查询审批流程模块:

在后台中定义审批流程查询模块,在侧边栏中点击审批流程管理,可以跳转到审批流程管理界面。在该页面中通过shenpiliuchengController中定义shenpiliuchengguanli响应审批流程查询模块。在shenpiliuchengguanli中查询出所有信息,返回页面进行循环展示。查询方法为shenpiliuchengdao中的selectByexample方法。该部分核心代码如下:

生成审批流程样例类,通过example定义查询条件 ShenpiliuchengExample example = new ShenpiliuchengExample();

通过shenpiliuchengdao的selectByExample方法查询出所有的审批流程信息 List shenpiliuchengall = shenpiliuchengdao.selectByExample(example);

将审批流程信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("shenpiliuchengall", shenpiliuchengall);

返回审批流程管理界面

return "forward:/shenpiliuchengguanli.action";

修改审批流程模块:

在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaishenpiliucheng中,封装为一个审批流程

,使用update方法修改该审批流程信息,将数据同步到数据库,完成修改操作。

定义修改成功提示信息,修改审批流程成功,并保存到request中具体代码如下:

通过shenpiliuchengdao的修改方法根据id修改对应的审批流程 shenpiliuchengdao.updateByPrimaryKeySelective(shenpiliucheng);

将修改审批流程成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改审批流程信息成功");

返回审批流程管理界面

return "forward:/shenpiliuchengguanli.action";

删除审批流程模块:

删除审批流程功能的实现方式为,通过点击删除审批流程按钮,向服务器发起get请求。请求中包含审批流程的id信息,在shenpiliuchengController中使用int接受该id,并将该id传入shenpiliuchengdao的deleteByPrimaryKey方法中。该方法的作用为根据id删除对应审批流程。最后将删除审批流程成功的信息返回页面,该部分核心代码如下:

通过shenpiliuchengdao的删除方法根据id删除对应的审批流程 shenpiliuchengdao.deleteByPrimaryKey(id);

将删除审批流程成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除审批流程成功");

返回审批流程管理界面

return "forward:/shenpiliuchengguanli.action";

01-20 01:12