Sys_ShenHe 审核表 记录所有的审核流程的数据(保存所有的审核信息)
Sys_ShenHe_JieGuo 审核结果表 一个审核业务只有一条记录,当前审核流程的结果(只保存一条结果)
Sys_ShenHe_JiLu 审核记录表 (每个人的操作只保存一次,只有审核人信息和项目信息,以及该用户最后的sys_shenhe的guid。用来解决 流程回发时,中间人员看不到记录的情况)
提交人的列表:(大概逻辑)
select a.*,b.* from 业务表 a left join 审核结果表 b on a.主键=b.ShiXiang_Guid where a.创建人=当前登录人
审核人的列表:(大概逻辑)
1.未审核
select a.*,b.* from 业务表 a left join 审核表 b on a.主键=b.ShiXiang_Guid and b.is_current=1 where c.DaiShenHeRen_Guids like :guid and 审核状态是已提交审核或者审核中
2.审核通过或者不通过
select a.*,b.* from 业务表 a left join 审核记录表 b on a.主键=b.ShiXiang_Guid where b.last_ShenHe_Guid is not null and b.shenHeRen_Guid=:shenHeRenGuid
3.审核完成
select a.*,b.* from 业务表 a left join 审核记录表 b on a.主键=b.ShiXiang_Guid where b.last_ShenHe_Guid is not null and b.shenHeRen_Guid=:shenHeRenGuid 关联审核结果表 is_finish=true
提交审核
1.新增一条审核信息 sys_shenhe,包含提交人信息,待审核人信息,提交时间,审核状态为已提交,iscurrent=true 。其他的审核记录都改为iscurrent=false。
2.新增一条审核结果记录 sys_shenhejieguo 包含提交人信息,待审核人信息,提交时间,审核状态为已提交。如果有其他的审核结果记录,删除掉。
受理
1.更新最后一条审核信息 sys_shenhe 中的审核人信息,受理时间,审核状态改为审核中。
如果是审核不通过打回来的,受理时对应的特殊处理下。BuTongGuoStartSequence BuTongGuoEndSequence 相关处理
2.更新审核结果表 sys_shenhejieguo 审核人信息,受理时间,审核状态改为审核中
3.如果当前用户没有审核记录Sys_ShenHe_JiLu 时,新增一条。只有审核人信息和事项信息,没有其他信息。
异常情况:(是否已受理或者撤回,受理的或者已撤回的不能受理)
审核
1.更新最后一条审核 sys_shenhe 审核时间,审核意见,审核状态(通过或者不通过)。
如果继续提交的话,新增一条审核记录(同提交审核步骤)。如果不继续提交,将所有sys_shenhe记录改为 is_current=false is_finish=true
如果审核不通过,返回给某个节点的话,进行对应的处理。 BuTongGuoStartSequence BuTongGuoEndSequence
2.更新审核结果表。 如果继续提交,删除原有的记录,新增一条记录(同提交审核步骤)。
如果不继续提交,更新审核结果表 审核时间,审核意见,审核状态(通过或者不通过) is_finish=true。
3.更新审核记录表Sys_ShenHe_JiLu中的lastshenheguid为当前的审核sys_shenhe 的guid
异常情况:(说明已经有审核时间了,抛出异常)
撤销受理
1.还原最后一条审核信息 sys_shenhe,将审核人信息,受理时间还原为空,审核状态恢复为已提交
如果是审核不通过受理的,对应的将 BuTongGuoStartSequence BuTongGuoEndSequence 处理过的记录 还原
2.还原审核结果表 sys_shenhejieguo 将审核人信息,受理时间还原为空,审核状态恢复为已提交
撤回提交
1.将最后一条审核信息sys_shenhe, is_current 改为false
2.删除审核结果表记录sys_shenhejieguo
异常情况:(已受理的不能撤回)
撤回审核
1.将最后一条审核信息sys_shenhe, is_current 改为false
2.删除审核结果表sys_shenhejieguo 的记录,新增为 上一条 is_current=true的sys_shenhe信息的情况。
变成最新一条的审核记录 的审核信息也恢复。审核状态为审核中,审核时间和审核意见还原为空。
3.更新 审核记录表 Sys_ShenHe_JiLu 的最后一次审核操作的guid 为null
Sys_ShenHe_JieGuo 审核结果表 一个审核业务只有一条记录,当前审核流程的结果(只保存一条结果)
Sys_ShenHe_JiLu 审核记录表 (每个人的操作只保存一次,只有审核人信息和项目信息,以及该用户最后的sys_shenhe的guid。用来解决 流程回发时,中间人员看不到记录的情况)
提交人的列表:(大概逻辑)
select a.*,b.* from 业务表 a left join 审核结果表 b on a.主键=b.ShiXiang_Guid where a.创建人=当前登录人
审核人的列表:(大概逻辑)
1.未审核
select a.*,b.* from 业务表 a left join 审核表 b on a.主键=b.ShiXiang_Guid and b.is_current=1 where c.DaiShenHeRen_Guids like :guid and 审核状态是已提交审核或者审核中
2.审核通过或者不通过
select a.*,b.* from 业务表 a left join 审核记录表 b on a.主键=b.ShiXiang_Guid where b.last_ShenHe_Guid is not null and b.shenHeRen_Guid=:shenHeRenGuid
3.审核完成
select a.*,b.* from 业务表 a left join 审核记录表 b on a.主键=b.ShiXiang_Guid where b.last_ShenHe_Guid is not null and b.shenHeRen_Guid=:shenHeRenGuid 关联审核结果表 is_finish=true
提交审核
1.新增一条审核信息 sys_shenhe,包含提交人信息,待审核人信息,提交时间,审核状态为已提交,iscurrent=true 。其他的审核记录都改为iscurrent=false。
2.新增一条审核结果记录 sys_shenhejieguo 包含提交人信息,待审核人信息,提交时间,审核状态为已提交。如果有其他的审核结果记录,删除掉。
受理
1.更新最后一条审核信息 sys_shenhe 中的审核人信息,受理时间,审核状态改为审核中。
如果是审核不通过打回来的,受理时对应的特殊处理下。BuTongGuoStartSequence BuTongGuoEndSequence 相关处理
2.更新审核结果表 sys_shenhejieguo 审核人信息,受理时间,审核状态改为审核中
3.如果当前用户没有审核记录Sys_ShenHe_JiLu 时,新增一条。只有审核人信息和事项信息,没有其他信息。
异常情况:(是否已受理或者撤回,受理的或者已撤回的不能受理)
审核
1.更新最后一条审核 sys_shenhe 审核时间,审核意见,审核状态(通过或者不通过)。
如果继续提交的话,新增一条审核记录(同提交审核步骤)。如果不继续提交,将所有sys_shenhe记录改为 is_current=false is_finish=true
如果审核不通过,返回给某个节点的话,进行对应的处理。 BuTongGuoStartSequence BuTongGuoEndSequence
2.更新审核结果表。 如果继续提交,删除原有的记录,新增一条记录(同提交审核步骤)。
如果不继续提交,更新审核结果表 审核时间,审核意见,审核状态(通过或者不通过) is_finish=true。
3.更新审核记录表Sys_ShenHe_JiLu中的lastshenheguid为当前的审核sys_shenhe 的guid
异常情况:(说明已经有审核时间了,抛出异常)
撤销受理
1.还原最后一条审核信息 sys_shenhe,将审核人信息,受理时间还原为空,审核状态恢复为已提交
如果是审核不通过受理的,对应的将 BuTongGuoStartSequence BuTongGuoEndSequence 处理过的记录 还原
2.还原审核结果表 sys_shenhejieguo 将审核人信息,受理时间还原为空,审核状态恢复为已提交
撤回提交
1.将最后一条审核信息sys_shenhe, is_current 改为false
2.删除审核结果表记录sys_shenhejieguo
异常情况:(已受理的不能撤回)
撤回审核
1.将最后一条审核信息sys_shenhe, is_current 改为false
2.删除审核结果表sys_shenhejieguo 的记录,新增为 上一条 is_current=true的sys_shenhe信息的情况。
变成最新一条的审核记录 的审核信息也恢复。审核状态为审核中,审核时间和审核意见还原为空。
3.更新 审核记录表 Sys_ShenHe_JiLu 的最后一次审核操作的guid 为null
异常情况:(结束了isfinish=true不容许撤回,已受理的不容许撤回)