From 68901379fb698b9a9f71178da56d1c27c3c7fdfc Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Mon, 31 Aug 2020 14:34:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResultRecordController.java | 48 +++++++++---------- .../lz/modules/flow/dao/FlowRecordMapper.java | 2 +- .../flow/service/FlowRecordService.java | 2 +- .../service/impl/FlowRecordServiceImpl.java | 4 +- 4 files changed, 27 insertions(+), 29 deletions(-) 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 4023d9e5..06cd3b00 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -306,33 +306,31 @@ public class ResultRecordController extends AbstractController { resultRecordService.updateResultRecordById(resultRecord); } else if (req.getStatus() == 5) { // 驳回 status = 5; - List flowRecords = flowRecordService.selectFlowRecordByRecordId(req.getRecordResultId()); + List flowRecords = flowRecordService.selectFlowRecordByResultRecordIdFlowId(req.getRecordResultId()); ResultRecord resultRecord = resultRecordService.selectResultRecordById(req.getRecordResultId()); - if (flowRecords.size() > 0 && req.getRollbackFlowId() > 0) { - for (FlowRecord flowRecord : flowRecords) { - if (flowRecord.getId().equals(req.getRollbackFlowId())) { - resultRecord.setFlowStaffIdRole(flowRecord.getFlowStaffIdRole()); - resultRecord.setStatus(req.getStatus()); - flowRecord.getFlowStaffIdRole(); - List list = JSONObject.parseArray(resultRecord.getFlowStaffIdRole(), StaffRoleDto.class); - if (CollectionUtils.isNotEmpty(list)) { - StaffRoleDto staffRoleDto = list.get(0); - StaffEntity approvalStaff = staffService.selectStaffById(staffRoleDto.getStaffId()); - resultRecord.setCurrentApprovalStaffId(approvalStaff != null ? approvalStaff.getId() : null); - resultRecord.setCurrentApprovalStaffName(approvalStaff != null ? approvalStaff.getName() : null); - } - resultRecordService.updateResultRecordById(resultRecord); - } - if (flowRecord.getId() > req.getRollbackFlowId()) { - flowRecord.setStatus(1); - flowRecordService.updateFlowRecordById(flowRecord); - } + if (flowRecords.size() >= 2) { + FlowRecord secondFlowRecord = flowRecords.get(flowRecords.size() - 2); + resultRecord.setFlowStaffIdRole(secondFlowRecord.getFlowStaffIdRole()); + resultRecord.setStatus(req.getStatus()); + List list = JSONObject.parseArray(resultRecord.getFlowStaffIdRole(), StaffRoleDto.class); + if (CollectionUtils.isNotEmpty(list)) { + StaffRoleDto staffRoleDto = list.get(0); + StaffEntity approvalStaff = staffService.selectStaffById(staffRoleDto.getStaffId()); + resultRecord.setCurrentApprovalStaffId(approvalStaff != null ? approvalStaff.getId() : null); + resultRecord.setCurrentApprovalStaffName(approvalStaff != null ? approvalStaff.getName() : null); } + resultRecordService.updateResultRecordById(resultRecord); + + FlowRecord lastFlowRecord = flowRecords.get(flowRecords.size() - 1); + lastFlowRecord.setStatus(1); + flowRecordService.updateFlowRecordById(lastFlowRecord); + // 可能会被删除 - FlowRecord lastFlowRecord = flowRecordService.selectLastFlowRecordByRecordId(req.getRecordResultId()); - lastFlowRecord.setGmtCreate(new Date()); - lastFlowRecord.setGmtModified(new Date()); - flowRecordService.insertFlowRecord(lastFlowRecord);// 新插入一条提交记录 + FlowRecord lastUsedFlowRecord = flowRecordService.selectLastFlowRecordByRecordId(req.getRecordResultId()); + lastUsedFlowRecord.setId(null); + lastUsedFlowRecord.setGmtCreate(new Date()); + lastUsedFlowRecord.setGmtModified(new Date()); + flowRecordService.insertFlowRecord(lastUsedFlowRecord);// 新插入一条提交记录 StaffEntity mySelf = staffService.selectStaffById(resultRecord.getStaffId()); r = R.ok("成功") @@ -408,7 +406,7 @@ public class ResultRecordController extends AbstractController { if (resultComment == null || !getUserId().equals(resultComment.getStaffId())) { resultComment = new ResultComment(); } - List flowRecords = flowRecordService.selectFlowRecordByResultRecordIdFlowId(recordId, 0l); + List flowRecords = flowRecordService.selectFlowRecordByResultRecordIdFlowId(recordId); if (flowRecords != null && flowRecords.size() > 0) { FlowRecord flowRecord = flowRecords.get(flowRecords.size()-1); if(flowRecord.getApprovalStaffId().equals(getUserId())){ 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 55d53567..12e9bef4 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java @@ -39,7 +39,7 @@ public interface FlowRecordMapper extends BaseMapper { List selectFlowRecordByRecordId(@Param("recordId") Long recordId); - List selectFlowRecordByResultRecordIdFlowId(@Param("recordId") Long recordId, @Param("rollbackFlowId") Long rollbackFlowId); + List selectFlowRecordByResultRecordIdFlowId(@Param("recordId") Long recordId); List selectFlowRecordByFlowId(@Param("recordId") Long recordId); } \ 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 ccbfd0fc..b1fd5ef3 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java @@ -41,7 +41,7 @@ public interface FlowRecordService extends IService { void initFlowRecord(ResultRecord resultRecord , Long roleId , Integer type , String name); - List selectFlowRecordByResultRecordIdFlowId(Long recordResultId, Long rollbackFlowId); + List selectFlowRecordByResultRecordIdFlowId(Long recordResultId); List selectFlowRecordByFlowId(Long recordId); } \ 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 6d2e3358..66bed480 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 @@ -106,8 +106,8 @@ public class FlowRecordServiceImpl extends ServiceImpl selectFlowRecordByResultRecordIdFlowId(Long recordResultId, Long rollbackFlowId) { - return flowRecordMapper.selectFlowRecordByResultRecordIdFlowId(recordResultId, rollbackFlowId); + public List selectFlowRecordByResultRecordIdFlowId(Long recordResultId) { + return flowRecordMapper.selectFlowRecordByResultRecordIdFlowId(recordResultId); } @Override