diff --git a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java index 946c8008..5618de6c 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -1139,6 +1139,8 @@ public class ResultRecordController extends AbstractController { // 审批:http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=215&status=1&comment=xxx&menuName=bbb // 跳过:http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=215&status=4&menuName=bbb&flowRecordId=360 // 转交:http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=215&status=8&menuName=bbb&flowRecordId=360&transferStaffId=294 + + // 重置:http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=3702&status=9&menuName=cccc&flowRecordId=33987&resetFlag=0 @RequestMapping("/new/approval") public R approval(ApprovalDto approvalDto) { try { diff --git a/src/main/java/com/lz/modules/app/controller/TestController.java b/src/main/java/com/lz/modules/app/controller/TestController.java index e23f35ab..88a02844 100644 --- a/src/main/java/com/lz/modules/app/controller/TestController.java +++ b/src/main/java/com/lz/modules/app/controller/TestController.java @@ -305,4 +305,14 @@ public class TestController { return resultRecordService.getResetData(recordDetailDto); } + + // 重置:http://localhost:8080/lz_management/test/approval?resultRecordId=3702&status=9&menuName=cccc&flowRecordId=33987&resetFlag=0 + @RequestMapping("/test/approval") + public R approval(ApprovalDto approvalDto) { + try { + return resultRecordService.newApproval(approvalDto); + } catch (Exception e) { + return R.error(e.getMessage()); + } + } } diff --git a/src/main/java/com/lz/modules/app/dto/ApprovalDto.java b/src/main/java/com/lz/modules/app/dto/ApprovalDto.java index f2ee7562..dde458e2 100644 --- a/src/main/java/com/lz/modules/app/dto/ApprovalDto.java +++ b/src/main/java/com/lz/modules/app/dto/ApprovalDto.java @@ -11,4 +11,5 @@ public class ApprovalDto { private String comment; private Long transferStaffId; // 转交员工 id private Long flowRecordId;// 流程 id + private int resetFlag; } 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 fff7c877..3ca3392c 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java @@ -93,4 +93,10 @@ public interface FlowRecordMapper extends BaseMapper { List selectFirstFlowRecordsByIdAndFlowIndex(@Param("recordId") Long recordId, @Param("flowIndex") int flowIndex, @Param("status") int status); List selectFlowRecordsByRecordIdAndStatus(@Param("recordId") Long recordId, @Param("status") int status); + + List selectFlowRecordByRecordIdGeFlowIndex(@Param("recordId") Long recordId, @Param("flowIndex") Integer flowIndex); + + void deleteFlowRecordByRecordId(@Param("recordId") Long recordId); + + void updateFlowRecordIdById(@Param("id") Long id, @Param("newId") Long newId); } \ No newline at end of file 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 4503002a..fecd051f 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java @@ -6,6 +6,7 @@ import com.lz.modules.equipment.entity.model.BasePage; import com.lz.modules.flow.entity.FlowRecord; import com.lz.modules.performance.req.AssessTaskReq; import com.lz.modules.sys.entity.app.ResultRecord; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -88,4 +89,10 @@ public interface FlowRecordService extends IService { List selectFirstFlowRecordsByIdAndFlowIndex(Long recordId, int flowIndex, int status); List selectFlowRecordsByRecordIdAndStatus(Long recordId, int status); + + List selectFlowRecordByRecordIdGeFlowIndex(Long recordId, Integer flowIndex); + + void deleteFlowRecordByRecordId(Long recordId); + + void updateFlowRecordIdById(@Param("id") Long id, @Param("newId") Long newId); } \ 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 5a19246b..57e7ade1 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 @@ -236,4 +236,19 @@ public class FlowRecordServiceImpl extends ServiceImpl selectFlowRecordByRecordIdGeFlowIndex(Long recordId, Integer flowIndex) { + return flowRecordMapper.selectFlowRecordByRecordIdGeFlowIndex(recordId,flowIndex); + } + + @Override + public void deleteFlowRecordByRecordId(Long recordId) { + flowRecordMapper.deleteFlowRecordByRecordId(recordId); + } + + @Override + public void updateFlowRecordIdById(Long id, Long newId) { + flowRecordMapper.updateFlowRecordIdById(id,newId); + } + } diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java index 7921b19a..416f9af8 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java @@ -127,4 +127,6 @@ public interface ResultRecordService extends IService { List selectResultRecordIdsByStartId(Long startId); R getResetData(RecordDetailDto recordDetailDto); + + R resetData(Long recordId); } \ No newline at end of file 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 c6000f70..0345ebca 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 @@ -779,7 +779,6 @@ public class ResultRecordServiceImpl extends ServiceImpl flows, List flowApprovalRoles) { - int i = 0; for (FlowApprovalRole flowApprovalRole : flowApprovalRoles) { FlowRecord flowRecord = new FlowRecord(); @@ -828,6 +827,7 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByRecordIdGeFlowIndex(resultRecord.getRecordId(),resultRecord.getFlowIndex()); + for(FlowRecord flowRecord:flowRecords){ + // 如果结果录入己经走了 + if (new Integer(3).equals(flowRecord.getFlowProcess()) && flowRecord.getStatus() == 1 ) { + continue; + } + flowRecord.setStatus(0); //表示流程己经被重置 + flowRecordService.updateFlowRecordById(flowRecord); + } + return R.ok(); + } + + + private R resetAll(ApprovalDto approvalDto) { + FlowRecord flowRecord = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId()); + List flowRecords = flowRecordService.selectFlowRecordByRecordId(flowRecord.getRecordId()); + List flowRecordIds =new ArrayList<>(); + boolean flag = false ; + for(FlowRecord f: flowRecords){ + flowRecordIds.add(f.getId()); + //如果录入己经走了,则重置数据后,结果录入还是默认己走 + if (new Integer(3).equals(f.getFlowProcess()) && f.getStatus() == 1 ) { + flag = true; + } + } + flowRecordService.deleteFlowRecordByRecordId(flowRecord.getRecordId()); + initFlowRecord(flowRecord.getRecordId()); + List newflowRecords = flowRecordService.selectFlowRecordByRecordId(flowRecord.getRecordId()); + for(int i = 0 ;i < newflowRecords.size() ; i ++){ + flowRecordService.updateFlowRecordIdById(newflowRecords.get(i).getId(),flowRecordIds.get(i)); + if(flag ){ //如果录入己经走了,设置新的数据,结果录入己走 + FlowRecord newFlowRecord = newflowRecords.get(i) ; + if (new Integer(3).equals(newFlowRecord.getFlowProcess()) ) { + newFlowRecord.setStatus(1); + flowRecordService.updateFlowRecordById(newFlowRecord); + } + } + } + resultRecordService.resetData(flowRecord.getRecordId()); + return R.ok(); + } + private R skip(ApprovalDto approvalDto) { FlowRecord flowRecord = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId()); if (flowRecord.getStatus().equals(FlowRecordStatusEnums.FINISHED_STATUS.getStatus()) @@ -1371,4 +1428,9 @@ public class ResultRecordServiceImpl extends ServiceImpl select * from lz_flow_record where id=#{id} and is_delete = 0 limit 1 @@ -324,8 +323,20 @@ + + + + + delete from lz_flow_record where record_id = #{recordId} + + + + update lz_flow_record set id = #{newId} where id = #{id} + +