|
|
|
@ -101,13 +101,14 @@ public class ConfirmationCompletionAction implements Action { |
|
|
|
public void updateNegative(String negativeId, ConfirmationCompletionData completionData) { |
|
|
|
public void updateNegative(String negativeId, ConfirmationCompletionData completionData) { |
|
|
|
Negative negative = negativeService.getById(negativeId); |
|
|
|
Negative negative = negativeService.getById(negativeId); |
|
|
|
LocalDateTime now = LocalDateTime.now(); |
|
|
|
LocalDateTime now = LocalDateTime.now(); |
|
|
|
Long firstApproveTime = negative.getFirstApproveTime() == null ? 0L : negative.getFirstApproveTime(); |
|
|
|
Long firstApproveTime = negative.getFirstApproveTime(); |
|
|
|
if (negative.getLatestProcessTime() != null) { |
|
|
|
// 覆盖制:每次重新计算,超时锁定则不更新
|
|
|
|
firstApproveTime = firstApproveTime + TimeUtil.calculateWorkdayDuration(negative.getLatestProcessTime(), now); |
|
|
|
if (TimeUtil.canUpdateApproveTime(firstApproveTime) && negative.getLatestProcessTime() != null) { |
|
|
|
|
|
|
|
firstApproveTime = TimeUtil.calculateWorkdayDuration(negative.getLatestProcessTime(), now); |
|
|
|
} |
|
|
|
} |
|
|
|
Long secondApprovalTime = negative.getSecondApprovalTime() == null ? 0L : negative.getSecondApprovalTime(); |
|
|
|
Long secondApprovalTime = negative.getSecondApprovalTime(); |
|
|
|
if (negative.getLatestProcessTime() != null) { |
|
|
|
if (TimeUtil.canUpdateApproveTime(secondApprovalTime) && negative.getLatestProcessTime() != null) { |
|
|
|
secondApprovalTime = secondApprovalTime + TimeUtil.calculateWorkdayDuration(negative.getLatestProcessTime(), now); |
|
|
|
secondApprovalTime = TimeUtil.calculateWorkdayDuration(negative.getLatestProcessTime(), now); |
|
|
|
} |
|
|
|
} |
|
|
|
LambdaUpdateWrapper<Negative> updateWrapper = new LambdaUpdateWrapper<Negative>() |
|
|
|
LambdaUpdateWrapper<Negative> updateWrapper = new LambdaUpdateWrapper<Negative>() |
|
|
|
.eq(Negative::getId, negativeId) |
|
|
|
.eq(Negative::getId, negativeId) |
|
|
|
@ -120,10 +121,16 @@ public class ConfirmationCompletionAction implements Action { |
|
|
|
.set(Negative::getFlowKey, FlowNodeEnum.COMPLETED.getKey()) |
|
|
|
.set(Negative::getFlowKey, FlowNodeEnum.COMPLETED.getKey()) |
|
|
|
.set(Negative::getUpdTime, LocalDateTime.now()); |
|
|
|
.set(Negative::getUpdTime, LocalDateTime.now()); |
|
|
|
if ("2".equals(negative.getApprovalFlow())){ |
|
|
|
if ("2".equals(negative.getApprovalFlow())){ |
|
|
|
updateWrapper.set(Negative::getSecondApprovalTime, secondApprovalTime); |
|
|
|
// 超时锁定时,不更新审批时长字段
|
|
|
|
|
|
|
|
if (TimeUtil.canUpdateApproveTime(secondApprovalTime)) { |
|
|
|
|
|
|
|
updateWrapper.set(Negative::getSecondApprovalTime, secondApprovalTime); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if ("3".equals(negative.getApprovalFlow())){ |
|
|
|
if ("3".equals(negative.getApprovalFlow())){ |
|
|
|
updateWrapper.set(Negative::getFirstApproveTime, firstApproveTime); |
|
|
|
// 超时锁定时,不更新审批时长字段
|
|
|
|
|
|
|
|
if (TimeUtil.canUpdateApproveTime(firstApproveTime)) { |
|
|
|
|
|
|
|
updateWrapper.set(Negative::getFirstApproveTime, firstApproveTime); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
negativeService.update(updateWrapper); |
|
|
|
negativeService.update(updateWrapper); |
|
|
|
} |
|
|
|
} |
|
|
|
|