From 1ea43d1c893880d81fa5113476170750281a1c85 Mon Sep 17 00:00:00 2001 From: yinq Date: Thu, 9 Apr 2026 17:25:24 +0800 Subject: [PATCH] =?UTF-8?q?1.1.14=20=E9=A1=B9=E7=9B=AE=E9=AA=8C=E6=94=B6?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=AE=8C=E6=88=90=E6=97=B6=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E8=B4=A8=E4=BF=9D=E5=AE=9E=E9=99=85=E5=BC=80?= =?UTF-8?q?=E5=A7=8B=E6=97=A5=E6=9C=9F=E5=8F=96=E5=80=BC=E5=AE=9E=E9=99=85?= =?UTF-8?q?=E9=AA=8C=E6=94=B6=E6=97=A5=E6=9C=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ErpProjectAcceptanceServiceImpl.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectAcceptanceServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectAcceptanceServiceImpl.java index 277be155..818e2ee6 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectAcceptanceServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectAcceptanceServiceImpl.java @@ -57,10 +57,15 @@ public class ErpProjectAcceptanceServiceImpl implements IErpProjectAcceptanceSer private static final String ACCEPTANCE_CODE_RULE = "1008"; /** - * 项目计划阶段-验收(字典 project_phases,与台账报表 acceptance_* 列一致) + * 项目计划阶段-验收(字典 project_phases) */ private static final String PROJECT_PHASE_ACCEPTANCE = "8"; + /** + * 项目计划阶段-质保(字典 project_phases) + */ + private static final String PROJECT_PHASE_WARRANTY = "9"; + private final ErpProjectAcceptanceMapper baseMapper; private final ErpProjectInfoMapper projectInfoMapper; private final ErpProjectPlanStageMapper projectPlanStageMapper; @@ -344,7 +349,7 @@ public class ErpProjectAcceptanceServiceImpl implements IErpProjectAcceptanceSer acceptance.setAcceptanceStatus(OAStatusEnum.APPROVING.getStatus()); } else if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.FINISH.getStatus())) { acceptance.setAcceptanceStatus(OAStatusEnum.COMPLETED.getStatus()); - // 审批完成后:更新项目状态为已验收;将计划「验收」阶段实际完成时间写入验收日期 + // 审批完成后:更新项目状态为已验收;验收阶段实际完成时间、质保阶段实际开始时间均取实际验收日期 Long projectId = acceptance.getProjectId(); if (projectId != null) { ErpProjectInfo projectInfo = projectInfoMapper.selectById(projectId); @@ -354,11 +359,16 @@ public class ErpProjectAcceptanceServiceImpl implements IErpProjectAcceptanceSer } Date acceptanceDate = acceptance.getAcceptanceDate(); if (acceptanceDate != null) { - ErpProjectPlanStage stageUpdate = new ErpProjectPlanStage(); - stageUpdate.setRealEndTime(acceptanceDate); - projectPlanStageMapper.update(stageUpdate, Wrappers.lambdaUpdate(ErpProjectPlanStage.class) + ErpProjectPlanStage acceptanceStage = new ErpProjectPlanStage(); + acceptanceStage.setRealEndTime(acceptanceDate); + projectPlanStageMapper.update(acceptanceStage, Wrappers.lambdaUpdate(ErpProjectPlanStage.class) .eq(ErpProjectPlanStage::getProjectId, projectId) .eq(ErpProjectPlanStage::getProjectPhases, PROJECT_PHASE_ACCEPTANCE)); + ErpProjectPlanStage warrantyStage = new ErpProjectPlanStage(); + warrantyStage.setRealStartTime(acceptanceDate); + projectPlanStageMapper.update(warrantyStage, Wrappers.lambdaUpdate(ErpProjectPlanStage.class) + .eq(ErpProjectPlanStage::getProjectId, projectId) + .eq(ErpProjectPlanStage::getProjectPhases, PROJECT_PHASE_WARRANTY)); } } log.info("项目验收确认完成: acceptanceId={}", acceptance.getAcceptanceId());