admin 管理员组文章数量: 887031
申请
申请
发起一个申请(请假,加班,补卡等),每一个申请都由一些固定的流程定义和流程操作组成。所以我们需要定义一个流程表,来说明这个流程是用来干什么的,流程表的定义,也可以将所有的流程配置在字典表中来使用
流程表:
序号 数据项名称 数据类型 数据项标识符 说明
1 唯一标识 int(32) flow_id 流程编号,主键
2 流程名称 varchar(100) flow_name 流程名称
3 备注 varchar(100) remark 备注
4 创建时间 datetime create_time 数据插入时间(默认生成)
定义了流程表还要定义流程节点表,流程节点表主要是用来控制审批的,用户提交申请后下一步到谁审批了,要做到清晰明确,流程节点表:
序号 数据项名称 数据类型 数据项标识符 说明
1 唯一标识 int(32) node_id 主键唯一
2 外键 int(32) flow_id 与流程表对应
3 节点名称 varchar(100) node_name 流程节点名称
4 流程角色 varchar(50) node_role 流程角色
5 备注 varchar(100) remark 备注
6 创建时间 datetime create_time 数据插入时间(默认生成)
还需要创建一个流程线表来规范审批的顺序,流程线表
序号 数据项名称 数据类型 数据项标识符 说明
1 唯一标识 int(32) line_id 主键唯一
2 外键 int(32) flow_id 与流程表对应
3 节点编号 int(32) prev_node_id 前一节点编号
4 节点编号 int(32) next_node_id 后一节点编号
5 备注 varchar(100) remark 备注
6 创建时间 datetime create_time 数据插入时间(默认生成)
如果一个节点由多个人(多部门)审批还需要创建一个流程角色员工表
序号 数据项名称 数据类型 数据项标识符 说明
1 唯一标识 int(32) flow_role_id 主键
2 流程角色名称 varchar2(100) flow_role_name 流程角色名称
3 用户id int(32) user_id 用户id
4 部门id int(32) dept_id 部门id
然后创建审核表,审核表要记录审核信息
申请单号,用户id, 用户名,审核状态(0未通过,1通过),审核意见,审核时间,当前节点。
申请-审核步骤以及一些细节
1:发起申请,发起申请时,填写表单,后台将申请人申请时间等信息赋值,将提交标志commitFlag 和当前节点currentNode赋默认值,
commitFlag
0-------------表示未提交
1-------------提交(已经在审核流程中)
2-------------审核失败
3-------------审核成功
currentNode :创建申请表单后将currentNode赋默认值1,提交成功后修改currentNode为下一个审批节点的值,做查询(本次-子查询)
2:提交之后修改commitFlag=1表示已经提交,要在提交的业务代码上做判断,根据当前节点的值来判断是否提交(和未提交时的currentNode的值来判断),不可重复提交,因为重复提交会不断修改currentNode的值。
3:审核列表,审核有先后,万般皆在查,主要还是在查询上面,你是第一审批人,你怎么查到需要你审批的申请呢? 根据session一般都可以获取到当前登录的用户,根据用户可以在流程角色员工表中查询你是否在这张表中,不在直接pass,在的话就慢慢说:
3.1:你根据你的用户id可以直到你的流程角色和部门id,
3.2:根据部门id的不同又可以解决掉一大部分数据,
3.3:再根据你所处的流程节点做查询,就得到了需要你审批的节点了。
4:审批:审批页面选择审批通过或者不通过,填写审批意见,记录审批节点和审批相关信息,提交。简单。但是还要注意,有一个节点审批不通过直接打回原点,修改申请表的commitFlag为2表示不通过,修改当前节点currentNode为1,表示还未提交,修改申请之后还要重新提交。还需要判断是否是最后一个审批人,最后一个审批人审批完成之后整个审批结束。
每一个审批结束之后都要修改申请表中的当前节点currentNode的值
本文标签: 申请
版权声明:本文标题:申请 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1687112751h65202.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论