diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/entity/ProcessEsRecheck.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/entity/ProcessEsRecheck.java index 063b26a8..5ff8468b 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/entity/ProcessEsRecheck.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/entity/ProcessEsRecheck.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.util.Date; +import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -105,6 +106,7 @@ public class ProcessEsRecheck implements Serializable { /** * 复审意见 继续有效/修订/废止/封存 */ + @Dict(dicCode = "recheck_advice") @ApiModelProperty(value = "复审意见 继续有效/修订/废止/封存") private String recheckAdvice; diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/entity/ProcessRecheckConstants.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/entity/ProcessRecheckConstants.java new file mode 100644 index 00000000..1c996b9d --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/entity/ProcessRecheckConstants.java @@ -0,0 +1,20 @@ +package com.jero.modules.activiti.process.esRecheck.entity; + +/** + * @author: Mzaxd + * @Date: 2023/11/20 14:17 + */ +public class ProcessRecheckConstants { + + // 继续有效 + public static final String RECHECK_CONTINUE_VALID = "1"; + + // 修订 + public static final String RECHECK_INIT_CHANGE = "2"; + + // 废止 + public static final String RECHECK_ABOLISH = "3"; + + // 封存 + public static final String RECHECK_ARCHIVE = "4"; +} 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 e71fe3b8..70828e6e 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 @@ -1,14 +1,20 @@ 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.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.activiti.process.esRecheck.service.ProcessEsRecheckService; 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 +23,8 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.List; +import static com.jero.modules.activiti.process.esRecheck.entity.ProcessRecheckConstants.*; + /** * @author: Mzaxd * @Date: 2023/10/10 14:14 @@ -25,86 +33,54 @@ import java.util.List; @Component public class ProcessESRecheckEndListener implements ExecutionListener { - @Resource - private EnterpriseStandardPlanService espService; - - @Resource - private ProcessEsInitChangeService esInitChangeService; - /** - * 企标立项变更流程结束之后需要把数据存入企标计划数据库 然后自动发起企标制修订流程 + * 1.继续有效:更新下次复审时间,不做其他处理。企标属性里留下复审记录(列表)(复审时间更新的逻辑待定) + * 2.修订:自动刚发起企标立项变更流程(修订模式) + * 3.废止:自动把企标的状态改为“废止” + * 4.封存:自动把企标的状态改为“封存” * @param delegateExecution */ + + @Resource + private ProcessEsRecheckService esRecheckService; + + @Resource + private ILawsEnterpriseStandardService esService; + + @Resource + private ISysBaseAPI sysBaseAPI; + @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); - } + LambdaQueryWrapper recheckLambdaQueryWrapper = new LambdaQueryWrapper<>(); + recheckLambdaQueryWrapper.eq(ProcessEsRecheck::getProcessInstanceId, processInstanceId); + ProcessEsRecheck recheck = esRecheckService.getOne(recheckLambdaQueryWrapper); + String recheckAdvice = recheck.getRecheckAdvice(); + String standNo = recheck.getStandardNumber(); + log.info("企标复审流程结束 监听执行器开始执行,企标编号为:{}", standNo); + if (RECHECK_CONTINUE_VALID.equals(recheckAdvice)) { + // TODO 继续有效 } - log.info("数据存入企标计划数据库"); - // 软删除流程数据 - esInitChangeService.removeByProcessInstanceId(processInstanceId); - log.info("软删除流程数据"); - //TODO 发起制修订流程 - log.info("自动发起企标制修订流程"); + if (RECHECK_INIT_CHANGE.equals(recheckAdvice)) { + // TODO 修订 + } + if (RECHECK_ABOLISH.equals(recheckAdvice)) { + // 废止 + LambdaUpdateWrapper esWrapper = new LambdaUpdateWrapper<>(); + esWrapper.eq(LawsEnterpriseStandard::getStandardNumber, standNo); + esWrapper.set(LawsEnterpriseStandard::getStandardState, "9"); + esService.update(esWrapper); + } + if (RECHECK_ARCHIVE.equals(recheckAdvice)) { + // 封存 + LambdaUpdateWrapper esWrapper = new LambdaUpdateWrapper<>(); + esWrapper.eq(LawsEnterpriseStandard::getStandardNumber, standNo); + esWrapper.set(LawsEnterpriseStandard::getStandardState, "A"); + esService.update(esWrapper); + } + log.info("企标复审流程监听执行器执行结束"); } }