From af16e322281c699c1e2fd8497534aeb34047a242 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Mon, 14 Oct 2024 11:58:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9B=9B=E4=B8=AA=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E5=90=8E=E7=9A=84=E5=85=A5=E5=BA=93=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除了 ProcessCarEsApprovalEndListener、ProcessESRevisionEndListener、ProcessMachineEsApprovalEndListener 和 ProcessSpecialEsApprovalEndListener 类中的多余代码 - 删除了不再使用的 import 语句 - 将流程实例 ID 的获取和业务数据的查询逻辑简化 - 统一了不同审批类型结束后的处理逻辑,主要是发布企业标准 - 调整了企业标准的状态为“目前有效” --- .../ProcessCarEsApprovalEndListener.java | 62 ++++----------- .../ProcessESRevisionEndListener.java | 5 +- .../ProcessMachineEsApprovalEndListener.java | 57 ++++---------- .../ProcessSpecialEsApprovalEndListener.java | 76 +++++++++---------- 4 files changed, 69 insertions(+), 131 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/carEsApproval/listener/ProcessCarEsApprovalEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/carEsApproval/listener/ProcessCarEsApprovalEndListener.java index 69607e5d..56eb3eb6 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/carEsApproval/listener/ProcessCarEsApprovalEndListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/carEsApproval/listener/ProcessCarEsApprovalEndListener.java @@ -1,19 +1,17 @@ package com.jero.modules.activiti.process.carEsApproval.listener; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.jero.modules.activiti.process.carEsApproval.entity.ProcessCarEsApproval; import com.jero.modules.activiti.process.carEsApproval.service.CarEsApprovalService; import com.jero.modules.activiti.process.common.enums.StandardStateEnum; -import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionAdviceService; -import com.jero.modules.activiti.process.machineEsApproval.entity.ProcessMachineEsApproval; import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.service.ILawsCommonService; -import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.tag.enums.TableNameEnum; import lombok.SneakyThrows; import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.ExecutionListener; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -27,59 +25,31 @@ import java.util.Map; public class ProcessCarEsApprovalEndListener implements ExecutionListener { @Resource - private CarEsApprovalService esRevisionService; - - @Resource - private EsRevisionAdviceService esAdviceService; - + private CarEsApprovalService flowService; @Resource private ILawsCommonService lawsCommonService; - @Resource - private IOSSFileService ossFileService; - - @Resource - private EsRevisionAdviceService revisionAdviceService; - - @Value(value = "${jero.uploadType}") - private String uploadType; - @SneakyThrows @Override public void notify(DelegateExecution delegateExecution) { -// // 获取流程实例Id -// String processInstanceId = delegateExecution.getProcessInstanceId(); -// // 根据流程Id获取业务数据 -// LambdaQueryWrapper revisionWrapper = new LambdaQueryWrapper<>(); -// revisionWrapper.eq(ProcessSpecialEsApproval::getProcessInstanceId, processInstanceId); -// // 获取企标相关数据 -// ProcessSpecialEsApproval data = esRevisionService.getOne(revisionWrapper); -// // 将数据转换为Map -// Map variables = transMap(data); -// Date adviceDeadline = data.getAdviceDeadline(); -// if (adviceDeadline != null) { -// // 制作征求意见稿 -// String draftFileId = this.makeDraftFile(data); -// variables.put(FieldCommon.FILE_DRAFT_FOR_COMMENT, draftFileId); -// } -// // 发布企标 -// String esId = lawsCommonService.commonAdd(variables); -// // 所有意见设置标准Id -// LambdaQueryWrapper adviceWrapper = new LambdaQueryWrapper<>(); -// adviceWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId); -// List list = esAdviceService.list(adviceWrapper); -// if (!list.isEmpty()) { -// list.forEach(item -> item.setStandardId(esId)); -// esAdviceService.updateBatchById(list); -// } -// // 更改企标计划状态 + // 获取流程实例Id + String processInstanceId = delegateExecution.getProcessInstanceId(); + // 根据流程Id获取业务数据 + LambdaQueryWrapper revisionWrapper = new LambdaQueryWrapper<>(); + revisionWrapper.eq(ProcessCarEsApproval::getProcessInstanceId, processInstanceId); + // 获取企标相关数据 + ProcessCarEsApproval data = flowService.getOne(revisionWrapper); + // 将数据转换为Map + Map variables = transMap(data); + // 发布企标 + lawsCommonService.commonAdd(variables); } - private Map transMap(ProcessMachineEsApproval data) { + private Map transMap(ProcessCarEsApproval data) { Map variables = JSON.parseObject(data.getBusinessJson(), Map.class); variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue()); // 标准状态 - variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.SEEK_FOR_OPINIONS.getStateValue()); + variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue()); String standardId = IdWorker.getIdStr(); variables.put(FieldCommon.ID, standardId); String onEditFile = data.getOnEditFile(); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevisionAdvice/listener/ProcessESRevisionEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevisionAdvice/listener/ProcessESRevisionEndListener.java index 0bb085a6..703ed6a2 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevisionAdvice/listener/ProcessESRevisionEndListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevisionAdvice/listener/ProcessESRevisionEndListener.java @@ -12,6 +12,7 @@ import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionAdvi import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionService; import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.service.ILawsCommonService; +import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.tag.enums.TableNameEnum; @@ -62,6 +63,9 @@ public class ProcessESRevisionEndListener implements ExecutionListener { @Value(value = "${jero.uploadType}") private String uploadType; + @Resource + private EnterpriseStandardPlanService planService; + @SneakyThrows @Override public void notify(DelegateExecution delegateExecution) { @@ -90,7 +94,6 @@ public class ProcessESRevisionEndListener implements ExecutionListener { list.forEach(item -> item.setStandardId(esId)); esAdviceService.updateBatchById(list); } - // 更改企标计划状态 } private Map transMap(ProcessEsRevision data) { diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/machineEsApproval/listener/ProcessMachineEsApprovalEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/machineEsApproval/listener/ProcessMachineEsApprovalEndListener.java index 4a5a6a65..f20afdf1 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/machineEsApproval/listener/ProcessMachineEsApprovalEndListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/machineEsApproval/listener/ProcessMachineEsApprovalEndListener.java @@ -1,19 +1,17 @@ package com.jero.modules.activiti.process.machineEsApproval.listener; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.jero.modules.activiti.process.common.enums.StandardStateEnum; -import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionAdviceService; import com.jero.modules.activiti.process.machineEsApproval.entity.ProcessMachineEsApproval; import com.jero.modules.activiti.process.machineEsApproval.service.MachineEsApprovalService; import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.service.ILawsCommonService; -import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.tag.enums.TableNameEnum; import lombok.SneakyThrows; import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.ExecutionListener; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -27,59 +25,32 @@ import java.util.Map; public class ProcessMachineEsApprovalEndListener implements ExecutionListener { @Resource - private MachineEsApprovalService esRevisionService; - - @Resource - private EsRevisionAdviceService esAdviceService; + private MachineEsApprovalService flowService; @Resource private ILawsCommonService lawsCommonService; - @Resource - private IOSSFileService ossFileService; - - @Resource - private EsRevisionAdviceService revisionAdviceService; - - @Value(value = "${jero.uploadType}") - private String uploadType; - @SneakyThrows @Override public void notify(DelegateExecution delegateExecution) { -// // 获取流程实例Id -// String processInstanceId = delegateExecution.getProcessInstanceId(); -// // 根据流程Id获取业务数据 -// LambdaQueryWrapper revisionWrapper = new LambdaQueryWrapper<>(); -// revisionWrapper.eq(ProcessSpecialEsApproval::getProcessInstanceId, processInstanceId); -// // 获取企标相关数据 -// ProcessSpecialEsApproval data = esRevisionService.getOne(revisionWrapper); -// // 将数据转换为Map -// Map variables = transMap(data); -// Date adviceDeadline = data.getAdviceDeadline(); -// if (adviceDeadline != null) { -// // 制作征求意见稿 -// String draftFileId = this.makeDraftFile(data); -// variables.put(FieldCommon.FILE_DRAFT_FOR_COMMENT, draftFileId); -// } -// // 发布企标 -// String esId = lawsCommonService.commonAdd(variables); -// // 所有意见设置标准Id -// LambdaQueryWrapper adviceWrapper = new LambdaQueryWrapper<>(); -// adviceWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId); -// List list = esAdviceService.list(adviceWrapper); -// if (!list.isEmpty()) { -// list.forEach(item -> item.setStandardId(esId)); -// esAdviceService.updateBatchById(list); -// } -// // 更改企标计划状态 + // 获取流程实例Id + String processInstanceId = delegateExecution.getProcessInstanceId(); + // 根据流程Id获取业务数据 + LambdaQueryWrapper revisionWrapper = new LambdaQueryWrapper<>(); + revisionWrapper.eq(ProcessMachineEsApproval::getProcessInstanceId, processInstanceId); + // 获取企标相关数据 + ProcessMachineEsApproval data = flowService.getOne(revisionWrapper); + // 将数据转换为Map + Map variables = transMap(data); + // 发布企标 + lawsCommonService.commonAdd(variables); } private Map transMap(ProcessMachineEsApproval data) { Map variables = JSON.parseObject(data.getBusinessJson(), Map.class); variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue()); // 标准状态 - variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.SEEK_FOR_OPINIONS.getStateValue()); + variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue()); String standardId = IdWorker.getIdStr(); variables.put(FieldCommon.ID, standardId); String onEditFile = data.getOnEditFile(); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/specialEsApproval/listener/ProcessSpecialEsApprovalEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/specialEsApproval/listener/ProcessSpecialEsApprovalEndListener.java index c94436f9..35278acf 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/specialEsApproval/listener/ProcessSpecialEsApprovalEndListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/specialEsApproval/listener/ProcessSpecialEsApprovalEndListener.java @@ -1,22 +1,25 @@ package com.jero.modules.activiti.process.specialEsApproval.listener; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.jero.modules.activiti.process.common.enums.StandardStateEnum; -import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionAdviceService; import com.jero.modules.activiti.process.specialEsApproval.entity.ProcessSpecialEsApproval; import com.jero.modules.activiti.process.specialEsApproval.service.SpecialEsApprovalService; import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.service.ILawsCommonService; -import com.jero.modules.oss.service.IOSSFileService; +import com.jero.modules.laws.enterprise.entity.ESPProjectStatus; +import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan; +import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService; import com.jero.modules.tag.enums.TableNameEnum; import lombok.SneakyThrows; import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.ExecutionListener; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.util.Date; import java.util.Map; /** @@ -27,59 +30,50 @@ import java.util.Map; public class ProcessSpecialEsApprovalEndListener implements ExecutionListener { @Resource - private SpecialEsApprovalService esRevisionService; - - @Resource - private EsRevisionAdviceService esAdviceService; + private SpecialEsApprovalService flowService; @Resource private ILawsCommonService lawsCommonService; @Resource - private IOSSFileService ossFileService; - - @Resource - private EsRevisionAdviceService revisionAdviceService; - - @Value(value = "${jero.uploadType}") - private String uploadType; + private EnterpriseStandardPlanService planService; @SneakyThrows @Override public void notify(DelegateExecution delegateExecution) { -// // 获取流程实例Id -// String processInstanceId = delegateExecution.getProcessInstanceId(); -// // 根据流程Id获取业务数据 -// LambdaQueryWrapper revisionWrapper = new LambdaQueryWrapper<>(); -// revisionWrapper.eq(ProcessSpecialEsApproval::getProcessInstanceId, processInstanceId); -// // 获取企标相关数据 -// ProcessSpecialEsApproval data = esRevisionService.getOne(revisionWrapper); -// // 将数据转换为Map -// Map variables = transMap(data); -// Date adviceDeadline = data.getAdviceDeadline(); -// if (adviceDeadline != null) { -// // 制作征求意见稿 -// String draftFileId = this.makeDraftFile(data); -// variables.put(FieldCommon.FILE_DRAFT_FOR_COMMENT, draftFileId); -// } -// // 发布企标 -// String esId = lawsCommonService.commonAdd(variables); -// // 所有意见设置标准Id -// LambdaQueryWrapper adviceWrapper = new LambdaQueryWrapper<>(); -// adviceWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId); -// List list = esAdviceService.list(adviceWrapper); -// if (!list.isEmpty()) { -// list.forEach(item -> item.setStandardId(esId)); -// esAdviceService.updateBatchById(list); -// } -// // 更改企标计划状态 + // 获取流程实例Id + String processInstanceId = delegateExecution.getProcessInstanceId(); + // 根据流程Id获取业务数据 + LambdaQueryWrapper revisionWrapper = new LambdaQueryWrapper<>(); + revisionWrapper.eq(ProcessSpecialEsApproval::getProcessInstanceId, processInstanceId); + // 获取企标相关数据 + ProcessSpecialEsApproval data = flowService.getOne(revisionWrapper); + // 将数据转换为Map + Map variables = transMap(data); + // 发布企标 + lawsCommonService.commonEdit(variables); + // 更改企标计划状态 + String espId = data.getId(); + EnterpriseStandardPlan plan = planService.getById(espId); + // 判断是逾期完成还是完成 + Date curDate = new Date(); + curDate = DateUtil.beginOfDay(curDate); + // 判断当前日期是否晚于初稿完成日期或计划归档日期 + if (curDate.after(plan.getDraftCompleteDate()) || curDate.after(plan.getPlanArchivingDate())) { + // 逾期完成 + plan.setPlanStatus(ESPProjectStatus.OVERDUE_COMPLETED.getValue()); + } else { + // 正常完成 + plan.setPlanStatus(ESPProjectStatus.COMPLETED.getValue()); + } + planService.updateById(plan); } private Map transMap(ProcessSpecialEsApproval data) { Map variables = JSON.parseObject(data.getBusinessJson(), Map.class); variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue()); // 标准状态 - variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.SEEK_FOR_OPINIONS.getStateValue()); + variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue()); String standardId = IdWorker.getIdStr(); variables.put(FieldCommon.ID, standardId); String onEditFile = data.getOnEditFile();