From 1b364e6578a105048c2a23e69765786d90e7c4bd Mon Sep 17 00:00:00 2001 From: caihaohan Date: Mon, 20 Nov 2023 14:57:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=81=E6=A0=87=E5=90=AF=E7=94=A8?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=9B=91=E5=90=AC=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/StandardStateEnum.java | 38 ++++++++ .../listener/ProcessESEnableEndListener.java | 93 +++++-------------- .../listener/ProcessESRecheckEndListener.java | 8 +- 3 files changed, 64 insertions(+), 75 deletions(-) create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/common/enums/StandardStateEnum.java diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/enums/StandardStateEnum.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/enums/StandardStateEnum.java new file mode 100644 index 00000000..d250e059 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/enums/StandardStateEnum.java @@ -0,0 +1,38 @@ +package com.jero.modules.activiti.process.common.enums; + +/** + * @author: Mzaxd + * @Date: 2023/11/20 14:50 + */ +public enum StandardStateEnum { + + DRAFT("草稿","1"), + SEEK_FOR_OPINIONS("征求意见","2"), + EXAMINE("审查","3"), + APPROVAL("报批","4"), + PRE_RELEASE("预发布","5"), + RELEASE("发布","6"), + TRIAL_OPERATION("试运行","7"), + CURRENTLY_EFFECTIVE("现行有效","8"), + ABOLISH("废止","9"), + ARCHIVE("封存","A"), + ; + + private final String stateName; + + private final String stateValue; + + StandardStateEnum(String stateName, String stateValue) { + this.stateName = stateName; + this.stateValue = stateValue; + } + + public String getStateName() { + return stateName; + } + + public String getStateValue() { + return stateValue; + } + +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esEnable/listener/ProcessESEnableEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esEnable/listener/ProcessESEnableEndListener.java index bb772675..29bf087f 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esEnable/listener/ProcessESEnableEndListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esEnable/listener/ProcessESEnableEndListener.java @@ -1,14 +1,21 @@ package com.jero.modules.activiti.process.esEnable.listener; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.jero.modules.activiti.process.common.enums.StandardStateEnum; +import com.jero.modules.activiti.process.esEnable.entity.ProcessEsEnable; +import com.jero.modules.activiti.process.esEnable.service.ProcessEsEnableService; import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange; import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPApplicationCategoryEnum; import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPChangeType; import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType; import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService; +import com.jero.modules.activiti.process.esRecheck.entity.ProcessEsRecheck; import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan; import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService; import com.jero.modules.laws.enterprise.util.BeanCopyUtils; +import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; +import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.ExecutionListener; @@ -17,6 +24,9 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.List; +import static com.jero.modules.activiti.process.esRecheck.entity.ProcessRecheckConstants.*; +import static com.jero.modules.activiti.process.esRecheck.entity.ProcessRecheckConstants.RECHECK_ARCHIVE; + /** * @author: Mzaxd * @Date: 2023/10/10 14:14 @@ -26,10 +36,10 @@ import java.util.List; public class ProcessESEnableEndListener implements ExecutionListener { @Resource - private EnterpriseStandardPlanService espService; + private ProcessEsEnableService esEnableService; @Resource - private ProcessEsInitChangeService esInitChangeService; + private ILawsEnterpriseStandardService esService; /** * 企标立项变更流程结束之后需要把数据存入企标计划数据库 然后自动发起企标制修订流程 @@ -37,74 +47,17 @@ public class ProcessESEnableEndListener implements ExecutionListener { */ @Override public void notify(DelegateExecution delegateExecution) { - log.info("企标立项变更流程结束 监听执行器开始执行"); - // 获取流程实例ID + log.info("企标封存启用流程结束 监听执行器开始执行"); + // 找到流程实例Id String processInstanceId = delegateExecution.getProcessInstanceId(); - // 根据流程实例Id找到所有流程业务数据 - LambdaQueryWrapper esInitChangeWrapper = new LambdaQueryWrapper<>(); - esInitChangeWrapper.eq(ProcessEsInitChange::getProcessInstanceId, processInstanceId); - List processEsInitChanges = esInitChangeService.list(esInitChangeWrapper); - String applicationCategory = processEsInitChanges.get(0).getApplicationCategory(); - String projectType = processEsInitChanges.get(0).getProjectType(); - List enterpriseStandardPlans; - if (ESPApplicationCategoryEnum.INITIATION.getValue().equals(applicationCategory)) { - // 立项新增-Id置空 - for (ProcessEsInitChange processEsInitChange : processEsInitChanges) { - processEsInitChange.setId(null); - } - // 转换为企标计划数据并入库 - enterpriseStandardPlans = BeanCopyUtils.copyBeanList(processEsInitChanges, EnterpriseStandardPlan.class); - espService.saveBatch(enterpriseStandardPlans); - } else { - // 将Id设为企标计划的Id - for (ProcessEsInitChange processEsInitChange : processEsInitChanges) { - processEsInitChange.setId(processEsInitChange.getEspId()); - } - - // 完成时间变更 - if (ESPProjectType.COMPLETE_TIME_CHANGE.getValue().equals(projectType)) { - enterpriseStandardPlans = BeanCopyUtils.copyBeanList(processEsInitChanges, EnterpriseStandardPlan.class); - espService.saveOrUpdateBatch(enterpriseStandardPlans); - } - - // 工作中止 - if (ESPProjectType.WORK_TERMINATE.getValue().equals(projectType)) { - // 将企标计划变更状态设为取消 - for (ProcessEsInitChange processEsInitChange : processEsInitChanges) { - processEsInitChange.setProjectStatus(ESPChangeType.CANCEL.getValue()); - } - enterpriseStandardPlans = BeanCopyUtils.copyBeanList(processEsInitChanges, EnterpriseStandardPlan.class); - espService.saveOrUpdateBatch(enterpriseStandardPlans); - } - - // 责任部门变更 - if (ESPProjectType.RESPONSIBLE_DEPT_CHANGE.getValue().equals(projectType)) { - // 将企标计划变更状态设为变更 - for (ProcessEsInitChange processEsInitChange : processEsInitChanges) { - processEsInitChange.setProjectStatus(ESPChangeType.CHANGE.getValue()); - } - enterpriseStandardPlans = BeanCopyUtils.copyBeanList(processEsInitChanges, EnterpriseStandardPlan.class); - espService.saveOrUpdateBatch(enterpriseStandardPlans); - } - - // 合并 - if (ESPProjectType.MERGE.getValue().equals(projectType)) { - for (ProcessEsInitChange processEsInitChange : processEsInitChanges) { - processEsInitChange.setId(null); - } - // 删除两个老企标计划 - espService.deleteById(processEsInitChanges.get(0).getStandardIdOne()); - espService.deleteById(processEsInitChanges.get(0).getStandardIdTwo()); - // 生成新企标计划 - enterpriseStandardPlans = BeanCopyUtils.copyBeanList(processEsInitChanges, EnterpriseStandardPlan.class); - espService.saveOrUpdateBatch(enterpriseStandardPlans); - } - } - log.info("数据存入企标计划数据库"); - // 软删除流程数据 - esInitChangeService.removeByProcessInstanceId(processInstanceId); - log.info("软删除流程数据"); - //TODO 发起制修订流程 - log.info("自动发起企标制修订流程"); + LambdaQueryWrapper enableLambdaQueryWrapper = new LambdaQueryWrapper<>(); + enableLambdaQueryWrapper.eq(ProcessEsEnable::getProcessInstanceId, processInstanceId); + ProcessEsEnable enable = esEnableService.getOne(enableLambdaQueryWrapper); + String standNo = enable.getStandardNumber(); + log.info("企标封存启用监听执行器开始执行,企标编号为:{}", standNo); + esService.update(new LambdaUpdateWrapper() + .set(LawsEnterpriseStandard::getStandardState, StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue()) + .eq(LawsEnterpriseStandard::getStandardNumber, standNo)); + log.info("企标封存启用流程监听执行器执行结束"); } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/listener/ProcessESRecheckEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/listener/ProcessESRecheckEndListener.java index 70828e6e..8abd683b 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/listener/ProcessESRecheckEndListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/listener/ProcessESRecheckEndListener.java @@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.esRecheck.listener; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.jero.common.system.api.ISysBaseAPI; +import com.jero.modules.activiti.process.common.enums.StandardStateEnum; import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange; import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPApplicationCategoryEnum; import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPChangeType; @@ -47,9 +48,6 @@ public class ProcessESRecheckEndListener implements ExecutionListener { @Resource private ILawsEnterpriseStandardService esService; - @Resource - private ISysBaseAPI sysBaseAPI; - @Override public void notify(DelegateExecution delegateExecution) { log.info("企标复审流程结束 监听执行器开始执行"); @@ -71,14 +69,14 @@ public class ProcessESRecheckEndListener implements ExecutionListener { // 废止 LambdaUpdateWrapper esWrapper = new LambdaUpdateWrapper<>(); esWrapper.eq(LawsEnterpriseStandard::getStandardNumber, standNo); - esWrapper.set(LawsEnterpriseStandard::getStandardState, "9"); + esWrapper.set(LawsEnterpriseStandard::getStandardState, StandardStateEnum.ABOLISH.getStateValue()); esService.update(esWrapper); } if (RECHECK_ARCHIVE.equals(recheckAdvice)) { // 封存 LambdaUpdateWrapper esWrapper = new LambdaUpdateWrapper<>(); esWrapper.eq(LawsEnterpriseStandard::getStandardNumber, standNo); - esWrapper.set(LawsEnterpriseStandard::getStandardState, "A"); + esWrapper.set(LawsEnterpriseStandard::getStandardState, StandardStateEnum.ARCHIVE.getStateValue()); esService.update(esWrapper); } log.info("企标复审流程监听执行器执行结束");