From 666e402d5d93641e2f3fb842aaa8b434d9b21135 Mon Sep 17 00:00:00 2001 From: lcj <2331845269@qq.com> Date: Wed, 1 Oct 2025 15:07:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BF=9B=E5=BA=A6=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E5=88=A4=E5=AE=9A=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PgsProgressPlanDetailServiceImpl.java | 32 ++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java index 8304a35a..28a2d700 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java @@ -330,7 +330,11 @@ public class PgsProgressPlanDetailServiceImpl extends ServiceImpl= 0) { - progressCategory.setStatus(PgsFinishStatusEnum.FINISH.getValue()); - } - } - // 判断是否跨过计划数量阈值 if (oldPlanFinished.compareTo(progressPlan.getPlanNumber()) < 0 && newPlanFinished.compareTo(progressPlan.getPlanNumber()) >= 0) { progressCategory.setPlanTotal(progressCategory.getPlanTotal().subtract(progressPlan.getPlanNumber())); } + // 完成判定 + if (unitType.equals(PgsProgressUnitTypeEnum.PERCENTAGE.getValue())) { + if (completedTotal.compareTo(BigDecimal.valueOf(100)) == 0) { + // 清空计划数量 + progressCategory.setPlanTotal(BigDecimal.ZERO); + // 设置完成状态 + progressCategory.setStatus(PgsFinishStatusEnum.FINISH.getValue()); + } + } else { // NUMBER + if (completedTotal.compareTo(progressCategory.getTotal()) >= 0) { + // 清空计划数量 + progressCategory.setPlanTotal(BigDecimal.ZERO); + // 设置完成状态 + progressCategory.setStatus(PgsFinishStatusEnum.FINISH.getValue()); + } + } + if (!progressCategoryService.updateById(progressCategory)) { throw new ServiceException("更新进度分类异常", HttpStatus.ERROR); }