diff --git a/src/main/java/com/biutag/supervision/flow/action/ConfirmationCompletionAction.java b/src/main/java/com/biutag/supervision/flow/action/ConfirmationCompletionAction.java index eb8a468..0d33468 100644 --- a/src/main/java/com/biutag/supervision/flow/action/ConfirmationCompletionAction.java +++ b/src/main/java/com/biutag/supervision/flow/action/ConfirmationCompletionAction.java @@ -105,6 +105,10 @@ public class ConfirmationCompletionAction implements Action { if (negative.getLatestProcessTime() != null) { firstApproveTime = firstApproveTime + TimeUtil.calculateWorkdayDuration(negative.getLatestProcessTime(), now); } + Long secondApprovalTime = negative.getSecondApprovalTime() == null ? 0L : negative.getSecondApprovalTime(); + if (negative.getLatestProcessTime() != null) { + secondApprovalTime = secondApprovalTime + TimeUtil.calculateWorkdayDuration(negative.getLatestProcessTime(), now); + } LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() .eq(Negative::getId, negativeId) .set(Negative::getProcessingStatus, ProcessingStatusEnum.completed.name()) @@ -114,8 +118,13 @@ public class ConfirmationCompletionAction implements Action { .set(StrUtil.isNotEmpty(completionData.getReportId()),Negative::getReportId,completionData.getReportId()) .set(StrUtil.isNotEmpty(completionData.getReportNumber()),Negative::getReportNumber,completionData.getReportNumber()) .set(Negative::getFlowKey, FlowNodeEnum.COMPLETED.getKey()) - .set(Negative::getUpdTime, LocalDateTime.now()) - .set(Negative::getFirstApproveTime, firstApproveTime); + .set(Negative::getUpdTime, LocalDateTime.now()); + if ("2".equals(negative.getApprovalFlow())){ + updateWrapper.set(Negative::getSecondApprovalTime, secondApprovalTime); + } + if ("3".equals(negative.getApprovalFlow())){ + updateWrapper.set(Negative::getFirstApproveTime, firstApproveTime); + } negativeService.update(updateWrapper); } public void doneWork(Integer workId, String negativeId) {