diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java index c35f69ca..0a572903 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java @@ -84,10 +84,12 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl variables = annualReportData.getFlowUser(); // 设置流程变量 Map actVariables = this.setVariables(annualReportData); + // 删除草稿 + actFlowCommonService.getExistDraftAndRemove(commonVO, ProcessTypeEnum.ES_ANNUAL_REPORT); // 启动流程 ProcessInstance processInstance = actFlowCommonService.startProcess(processDefinitionKey, actVariables); // 获取流程实例ID @@ -113,22 +115,11 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl actVariables = new HashMap<>(); CommonVO commonVO = annualReportData.getCommonVO(); Map flowUser = annualReportData.getFlowUser(); - actFlowCommonService.putIfNotNull(actVariables, "contactUserList", Optional.ofNullable((String)flowUser.get("contactUserList")).map(s -> Arrays.asList(s.split(","))).orElse(null)); - if (flowUser.get("workGroupUserList") == null || StrUtil.isBlank((String)flowUser.get("workGroupUserList"))) { - actFlowCommonService.putIfNotNull(actVariables, "distribute", false); - } else { - actFlowCommonService.putIfNotNull(actVariables, "distribute", true); - String relatedUsers = (String) flowUser.get("relatedUserList"); - // 将relatedUserList从逗号拼接转为List - List relatedUserList = StrUtil.split(relatedUsers, ','); - actFlowCommonService.putIfNotNull(actVariables, "relatedUserList", relatedUserList); - } - for (Map.Entry entry : flowUser.entrySet()) { - String key = entry.getKey(); - if (!key.equals("contactUserList") && !key.equals("workGroupUserList")) { - actVariables.put(key, entry.getValue()); - } - } + actFlowCommonService.putIfNotNull(actVariables, "contactUserList", + Optional.ofNullable((String)flowUser.get("contactUserList")) + .map(s -> Arrays.asList(s.split(","))) + .orElse(null)); + actVariables.put("standardEngineer", flowUser.get("standardEngineer")); actVariables.put("processDescription", commonVO.getProcessDescription()); return actVariables; } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/ProcessEsInitChangeService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/ProcessEsInitChangeService.java index fb2ee887..9f864819 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/ProcessEsInitChangeService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/ProcessEsInitChangeService.java @@ -55,4 +55,9 @@ public interface ProcessEsInitChangeService extends IService esWrapper = new LambdaQueryWrapper<>(); + esWrapper.eq(LawsEnterpriseStandard::getStandardNumber, standardNo); + esWrapper.eq(LawsEnterpriseStandard::getDelFlag, YesOrNoEnum.NO.getValue()); + LawsEnterpriseStandard es = esService.getOne(esWrapper); + String mainDraftUser = es.getMainDraftingUser(); + if (StrUtil.isBlank(mainDraftUser)) { + // TODO 企标主起草人为空,待定 + } + // 流程Key + String processDefinitionKey = ProcessType.ES_INIT_CHANGE.getProcessKey(); + // 设置流程变量 + Map variables = new HashMap<>(); + variables.put("mainDraftUser", mainDraftUser); + // 启动流程 + ProcessInstance processInstance = actFlowCommonService.startProcess(processDefinitionKey, variables); + ProcessEsInitChange initChange = new ProcessEsInitChange(); + // 获取流程实例ID + String processDefinitionId = processInstance.getProcessDefinitionId(); + String processInstanceId = processInstance.getId(); + // 设置流程实例Id + initChange.setProcessInstanceId(processInstanceId); + // 生成唯一的businessId + String newBusinessId = actFlowCommonService.getNewBusinessId(); + // 新增业务表数据 + initChange.setBusinessId(newBusinessId); + // 保存到业务流程表 + save(initChange); + // 保存选人信息 + // 人员 + processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, variables); + // 根据流程实例id更新流程总表 + String prcName = standardNo + "--立项"; + Integer prcType = ProcessTypeEnum.ES_INIT_CHANGE.getValue(); + actFlowCommonService.updateProcessAll(processInstanceId, mainDraftUser, prcName, null, prcType, null); + } + @Override public void approvalInitChange(InitChangeDataVO initChangeDataVO, boolean pass) { String userId = UserUtils.getUserId(); 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 8abd683b..7a3dffd6 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 @@ -12,7 +12,9 @@ import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChang 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.entity.EnterpriseStandardRecheckPlan; import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService; +import com.jero.modules.laws.enterprise.service.EnterpriseStandardRecheckPlanService; import com.jero.modules.laws.enterprise.util.BeanCopyUtils; import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; @@ -46,7 +48,10 @@ public class ProcessESRecheckEndListener implements ExecutionListener { private ProcessEsRecheckService esRecheckService; @Resource - private ILawsEnterpriseStandardService esService; + private EnterpriseStandardRecheckPlanService esRecheckPlanService; + + @Resource + private ProcessEsInitChangeService esInitChangeService; @Override public void notify(DelegateExecution delegateExecution) { @@ -60,24 +65,25 @@ public class ProcessESRecheckEndListener implements ExecutionListener { String standNo = recheck.getStandardNumber(); log.info("企标复审流程结束 监听执行器开始执行,企标编号为:{}", standNo); if (RECHECK_CONTINUE_VALID.equals(recheckAdvice)) { - // TODO 继续有效 + // TODO 继续有效 更新下次复审时间,不做其他处理。 (复审时间更新的逻辑待定) } if (RECHECK_INIT_CHANGE.equals(recheckAdvice)) { - // TODO 修订 + // 修订 自动发起企标立项/变更流程(修订模式) + esInitChangeService.autoStartProcessByRecheck(standNo); } if (RECHECK_ABOLISH.equals(recheckAdvice)) { // 废止 - LambdaUpdateWrapper esWrapper = new LambdaUpdateWrapper<>(); - esWrapper.eq(LawsEnterpriseStandard::getStandardNumber, standNo); - esWrapper.set(LawsEnterpriseStandard::getStandardState, StandardStateEnum.ABOLISH.getStateValue()); - esService.update(esWrapper); + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(EnterpriseStandardRecheckPlan::getStandardNo, standNo); + wrapper.set(EnterpriseStandardRecheckPlan::getRecheckResult, RECHECK_ABOLISH); + esRecheckPlanService.update(wrapper); } if (RECHECK_ARCHIVE.equals(recheckAdvice)) { // 封存 - LambdaUpdateWrapper esWrapper = new LambdaUpdateWrapper<>(); - esWrapper.eq(LawsEnterpriseStandard::getStandardNumber, standNo); - esWrapper.set(LawsEnterpriseStandard::getStandardState, StandardStateEnum.ARCHIVE.getStateValue()); - esService.update(esWrapper); + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(EnterpriseStandardRecheckPlan::getStandardNo, standNo); + wrapper.set(EnterpriseStandardRecheckPlan::getRecheckResult, RECHECK_ARCHIVE); + esRecheckPlanService.update(wrapper); } log.info("企标复审流程监听执行器执行结束"); }