diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java index 5ecfdcdb..906b98a9 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java @@ -198,18 +198,22 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl flowUserVO = annualInitData.getFlowUser(); List dataList = annualInitData.getDataList(); String taskId = commonVO.getTaskId(); // 获取task @@ -237,6 +240,8 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl d.setRejectFlag(YesOrNoEnum.NO.getValue())); + List approvalUserList = new ArrayList<>(); + dataList.forEach(d -> approvalUserList.add(d.getApprovalUser())); + taskService.setVariable(taskId, "approvalUserList", approvalUserList); } else { dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue())); } + dataList.forEach(data -> data.setExecutionId(executionId)); saveOrUpdateBatch(dataList); - // 设置本地变量 - List approvalUserList = new ArrayList<>(); - dataList.forEach(d -> approvalUserList.add(d.getApprovalUser())); - - taskService.setVariableLocal(taskId, "approvalUserList", approvalUserList); break; case STANDARD_ENGINEER_EDIT: dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue())); saveOrUpdateBatch(dataList); - // 设置流程变量 - List contactUserList = new ArrayList<>(); - dataList.forEach(d -> contactUserList.add(d.getContactUser())); - - runtimeService.setVariable(processInstanceId, "contactUserList", contactUserList); break; case MAIN_DRAFT_LEADER_APPROVAL: // 如果不驳回 - if (!pass) { + if (pass) { dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue())); - saveOrUpdateBatch(dataList); // 设置本地变量 List mainDraftUserList = new ArrayList<>(); dataList.forEach(d -> mainDraftUserList.add(d.getPrcMainDraftUser())); - - taskService.setVariableLocal(taskId, "mainDraftUserList", mainDraftUserList); + taskService.setVariable(taskId, "mainDraftUserList", mainDraftUserList); + } else { + dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue())); } + // 获取执行id + dataList.forEach(data -> data.setExecutionId(executionId)); + saveOrUpdateBatch(dataList); break; case MAIN_DRAFT_WRITE: + dataList.forEach(d -> d.setMainDraftingUser(userId)); saveOrUpdateBatch(dataList); break; case CONTACT_USER_COLLECT: saveOrUpdateBatch(dataList); break; case MAIN_DRAFT_LEADER_LEADER_APPROVAL: + // 如果不驳回 + if (pass) { + dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue())); + } else { + dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue())); + } + // 获取执行id + dataList.forEach(data -> data.setExecutionId(executionId)); + saveOrUpdateBatch(dataList); break; case STANDARD_ENGINEER_COLLECT: // 根据流程ID删除所有数据后新增 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ProcessEsAnnualInit::getProcessInstanceId, processInstanceId); remove(wrapper); - saveOrUpdateBatch(dataList); + saveBatch(dataList); break; } if (pass) { - if (flowUserVO != null) { -// Map userMap = new HashMap<>(this.setUserVariables(flowUserVO)); -// processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userMap); - } runtimeService.setVariable(processInstanceId, "pass", true); } else { // 设置流程变量 diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/service/impl/ProcessEsRecheckServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/service/impl/ProcessEsRecheckServiceImpl.java index 581edcbc..683c77dc 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/service/impl/ProcessEsRecheckServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRecheck/service/impl/ProcessEsRecheckServiceImpl.java @@ -102,8 +102,8 @@ public class ProcessEsRecheckServiceImpl extends ServiceImpl variables = recheckData.getFlowUser(); // 当前数据的标准化工程师 - String standardEngineerId = variables.get("standardEngineer").toString(); - String standardizationUserId = variables.get("standardizationUser").toString(); + String standardEngineerId = (String) variables.get("standardEngineer"); + String standardizationUserId = (String) variables.get("standardizationUser"); String userId = StrUtil.isNotBlank(standardizationUserId) ? standardizationUserId : standardEngineerId; // 设置流程变量 Map actVariables = this.setVariables(variables); diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESRecheckPlanJob.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESRecheckPlanJob.java index 98ddd57d..cb72ca5a 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESRecheckPlanJob.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESRecheckPlanJob.java @@ -60,6 +60,10 @@ public class ESRecheckPlanJob implements Job { // 根据企标发布日期判断是否当前已经达到35个月 // 请确保es.getReleaseDate()返回的是Date类型的实例 + if (es.getReleaseDate() == null) { + log.info("无法找到企标编号为{}的发布日期,无法进行复审计划定时任务", es.getStandardNumber()); + continue; + } ZonedDateTime releaseZonedDateTime = es.getReleaseDate().toInstant() .atZone(ZoneId.of("Asia/Shanghai")); LocalDate releaseLocalDate = releaseZonedDateTime.toLocalDate(); @@ -84,8 +88,9 @@ public class ESRecheckPlanJob implements Job { // 自动发起流程 // 找到各自企标的联络人,如果找不到联络人则发给标准化工程师 String deptId = es.getMainDraftingUnit(); + String standardNo = es.getStandardNumber(); if (StrUtil.isBlank(deptId)) { - log.error("企标复审流程发起失败,企标Id为{}的企标部门ID为空,无法找到其联络人", deptId); + log.error("企标复审流程发起失败,企标编号为{}的企标部门ID为空,无法找到其联络人", standardNo); continue; } String standardizationUser = contactManageService.findContactUserByDept(deptId); @@ -94,7 +99,7 @@ public class ESRecheckPlanJob implements Job { standardEngineer = contactManageService.findStandardEngineerByDept(deptId); } if (StrUtil.isBlank(standardizationUser) && StrUtil.isBlank(standardEngineer)) { - log.error("企标复审流程发起失败,无法找到企标Id为{}的联络人和标准化工程师", deptId); + log.error("企标复审流程发起失败,无法找到企标编号为{}的联络人和标准化工程师", standardNo); continue; } // 构建发起流程数据