|
|
|
|
@ -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());
|
|
|
|
|
|