工作事项失效功能失效
工作事项失效功能失效
需求:
- 在工作事项修改时增加工作事项事项的功能,并且如果三层事项失效那么相关对应的三层明细、四层事项、以及四层明细都需要变更失效,对于三层明细、四层事项变更失效时同样如此;但是现在这个功能会出现变更失效流程走完之后事项依然有效的问题
问题1:
- 在完成修改后保存变更时会通过
updateThree()
方法(以三层为例)在数据库中缓存一条变更的数据并且利用attribute5
属性来保存变更之前的数据id,而在保存的时候会首先查询是否之前就存在未审核的变更,如果保存过就进行修改,如果没有保存过就新建一条数据; - 但是经过两次变更但是没有提交审核,BusinessStatus就会是ING
问题2:
- 经过两次变更并且状态是ING的数据进行审核时,会因为系统中默认对新数据的处理而修改
status=1
;这样就使得失效变更失效(本来失效变更就是将状态修改为status=-1
) 问题3:
- 变更之后的数据数据库中不删除,知识把状态修改成了0,
status=0
,但是在进行状态修改时,将全部的与该三层对应的三层明细全部查找出来并进行状态的修改,这样会造成数据出错 问题1&&问题2解决办法
- 在变更的数据保存时,把
BusinessStatus
取得数据由之前的如果数据从未变更过就取原数据的值,而若数据变更过则取变更但是未提交的数据的值,修改为一直都取原理啊数据的值,这样就不会出现经过两次变更BusinessStatus="ING"
的情况。在数据审核过程中就不会将失效的status修改为1.
- 在变更的数据保存时,把
问题3解决办法
- 增加查询条件,只修改状态
status=1
的数据
- 增加查询条件,只修改状态
- 并且原来数据
BusinessStatus='INVALID'
修改为失效
- 并且原来数据
工作事项失效功能失效
http://example.com/2022/11/25/工作事项失效功能失效/