审核对应的业务逻辑处理

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 

异常情况:(结束了isfinish=true不容许撤回,已受理的不容许撤回)








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值