diff --git a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java index 32a5e48d..90994796 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java @@ -96,6 +96,8 @@ public interface FlowRecordMapper extends BaseMapper { List selectFlowRecordByRecordIdGeFlowIndex(@Param("recordId") Long recordId, @Param("flowIndex") Integer flowIndex); + List selectFlowRecordByRecordIdLeFlowIndex(@Param("recordId") Long recordId, @Param("flowIndex") Integer flowIndex); + void deleteFlowRecordByRecordId(@Param("recordId") Long recordId); void updateFlowRecordIdById(@Param("id") Long id, @Param("newId") Long newId); diff --git a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java index 7b2eca4f..a08c24c6 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java @@ -99,4 +99,6 @@ public interface FlowRecordService extends IService { FlowRecord selectPreFlowRecordByRecordIdMinIdStatusList(Long recordId, Integer flowIndex, List statusList); List selectFlowRecordByRecordIdFlowIndexStatusList(Long recordId, Integer flowIndex, List statusList); + + List selectFlowRecordByRecordIdLeFlowIndex(Long resultRecordId, Integer flowIndex); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java index 88f6208f..d5fe6b3b 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java @@ -261,4 +261,9 @@ public class FlowRecordServiceImpl extends ServiceImpl selectFlowRecordByRecordIdLeFlowIndex(Long resultRecordId, Integer flowIndex) { + return flowRecordMapper.selectFlowRecordByRecordIdLeFlowIndex(resultRecordId,flowIndex); + } + } diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index f5fc034b..910a4b25 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -939,7 +939,7 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByRecordIdGeFlowIndex(f.getRecordId(),f.getFlowIndex()); for(FlowRecord flowRecord:flowRecords){ // 如果结果录入己经走了 - if (new Integer(3).equals(flowRecord.getFlowProcess()) && (flowRecord.getStatus() == 1 || flowRecord.getStatus() == 4) ) { + if (new Integer(2).equals(flowRecord.getFlowProcess()) && (flowRecord.getStatus() == 1 || flowRecord.getStatus() == 4) ) { flowRecord.setStatus(4); //表示流程己经被重置 }else{ flowRecord.setStatus(0); //表示流程己经被重置 @@ -969,7 +969,7 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId()); + List flowRecordRunning = flowRecordService.selectFlowRecordByRecordIdStatus(recordDetailDto.getResultRecordId(),2); + List flowRecords = new ArrayList<>(); + if(CollectionUtils.isEmpty(flowRecordRunning) ){ + flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId()); + }else{ + flowRecords = flowRecordService.selectFlowRecordByRecordIdLeFlowIndex(recordDetailDto.getResultRecordId(),flowRecordRunning.get(0).getFlowIndex()); + } int flowIndex = 0; List resetDataResps = new ArrayList<>(); for (FlowRecord flowRecord : flowRecords) { diff --git a/src/main/resources/mapper/flow/FlowRecordMapper.xml b/src/main/resources/mapper/flow/FlowRecordMapper.xml index e293b6f6..cd947efb 100644 --- a/src/main/resources/mapper/flow/FlowRecordMapper.xml +++ b/src/main/resources/mapper/flow/FlowRecordMapper.xml @@ -330,6 +330,11 @@ select * from lz_flow_record where is_delete = 0 and record_id = #{recordId} and flow_index >= #{flowIndex} + + +