From 9cb0807b1302405e155ca9aa422c58045f77b5ee Mon Sep 17 00:00:00 2001 From: WendyYang Date: Thu, 5 Sep 2024 11:54:57 +0800 Subject: [PATCH] =?UTF-8?q?modify:=201.=20=E5=BE=85=E5=8A=9E=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E8=B7=B3=E8=BD=AC=E5=8F=82=E6=95=B0=E4=BF=AE=E6=94=B9?= =?UTF-8?q?;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/external/todo/dto/MhTodoExtraParamDTO.java | 2 ++ .../todo/enumerization/MHTodoTypeEnum.java | 2 +- .../service/IXinchuangInstService.java | 9 +++++ .../scheduler/listener/TaskCreatedListener.java | 39 ++++++++++++++++------ 4 files changed, 40 insertions(+), 12 deletions(-) diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/external/todo/dto/MhTodoExtraParamDTO.java b/hz-pm-api/src/main/java/com/hz/pm/api/external/todo/dto/MhTodoExtraParamDTO.java index 9498786..6bdf9aa 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/external/todo/dto/MhTodoExtraParamDTO.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/external/todo/dto/MhTodoExtraParamDTO.java @@ -56,4 +56,6 @@ public class MhTodoExtraParamDTO { private Integer status; + private Long xinchuangId; + } diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/external/todo/enumerization/MHTodoTypeEnum.java b/hz-pm-api/src/main/java/com/hz/pm/api/external/todo/enumerization/MHTodoTypeEnum.java index b41233b..0e1bbe9 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/external/todo/enumerization/MHTodoTypeEnum.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/external/todo/enumerization/MHTodoTypeEnum.java @@ -23,7 +23,7 @@ public enum MHTodoTypeEnum { PROJECT_STOPPED_AUDIT("项目终止审批", "instanceId=${instanceId}&projectId=${projectId}&nodeId=${nodeId}&taskId=${taskId}&bidId=${bizId}&userId=${userId}&userName=${userName}&path=${path}"), PROJECT_CHANGE_AUDIT("项目变更审批", "instanceId=${instanceId}&projectId=${projectId}&nodeId=${nodeId}&taskId=${taskId}&bidId=${bizId}&userId=${userId}&userName=${userName}&path=${path}"), FINAL_INSPECT_AUDIT("终验审批", "instanceId=${instanceId}&projectId=${projectId}&nodeId=${nodeId}&taskId=${taskId}&bidId=${bizId}&userId=${userId}&userName=${userName}&path=${path}"), - XCFHX_INSPECT_AUDIT("信创符合性审查审批", "instanceId=${instanceId}&projectId=${projectId}&nodeId=${nodeId}&taskId=${taskId}&bidId=${bizId}&userId=${userId}&userName=${userName}&path=${path}"), + XCFHX_INSPECT_AUDIT("信创符合性审查审批", "instanceId=${instanceId}&projectId=${projectId}&nodeId=${nodeId}&taskId=${taskId}&bidId=${bizId}&userId=${userId}&userName=${userName}&path=${path}&xinchuangId={xinchuangId}"), DECLARED_RECORD_APPLY("立项备案申请", "mhProjectId=${mhProjectId}&status=${status}&projectCode=${projectCode}&projectId=${projectId}&userId=${userId}&userName=${userName}&path=${path}"), DECLARED_RECORD_AUDIT("立项备案审批", "instanceId=${instanceId}&projectId=${projectId}&nodeId=${nodeId}&taskId=${taskId}&bidId=${bizId}&userId=${userId}&userName=${userName}&path=${path}"); diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/service/IXinchuangInstService.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/service/IXinchuangInstService.java index c03a02f..3358d8b 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/service/IXinchuangInstService.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/service/IXinchuangInstService.java @@ -1,5 +1,7 @@ package com.hz.pm.api.projectdeclared.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.IService; import com.hz.pm.api.projectdeclared.model.entity.XinchuangInst; @@ -17,4 +19,11 @@ public interface IXinchuangInstService extends IService { List listByXinchuangIds(List xinchuangIds); + + default XinchuangInst getByInstCode(String instCode) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(XinchuangInst.class) + .eq(XinchuangInst::getInstCode, instCode); + return getOne(wrapper); + } + } diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/scheduler/listener/TaskCreatedListener.java b/hz-pm-api/src/main/java/com/hz/pm/api/scheduler/listener/TaskCreatedListener.java index dd0f136..de87d6d 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/scheduler/listener/TaskCreatedListener.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/scheduler/listener/TaskCreatedListener.java @@ -12,7 +12,11 @@ import com.hz.pm.api.external.todo.MHTodoClient; import com.hz.pm.api.external.todo.dto.MhTodoExtraParamDTO; import com.hz.pm.api.external.todo.enumerization.MHTodoTypeEnum; import com.hz.pm.api.projectdeclared.model.entity.PurchaseInst; +import com.hz.pm.api.projectdeclared.model.entity.Xinchuang; +import com.hz.pm.api.projectdeclared.model.entity.XinchuangInst; import com.hz.pm.api.projectdeclared.service.IPurchaseInstService; +import com.hz.pm.api.projectdeclared.service.IXinchuangInstService; +import com.hz.pm.api.projectdeclared.service.IXinchuangService; import com.hz.pm.api.projectlib.model.entity.Project; import com.hz.pm.api.projectlib.model.entity.ProjectInst; import com.hz.pm.api.projectlib.service.IProjectInstService; @@ -56,6 +60,8 @@ public class TaskCreatedListener implements FlowableEventListener { private final MhApiClient mhApiClient; private final UserInfoHelper userInfoHelper; private final IPurchaseInstService purchaseInstService; + private final IXinchuangInstService xinchuangInstService; + private final IXinchuangService xinchuangService; @Override public void onEvent(FlowableEvent event) { @@ -75,11 +81,6 @@ public class TaskCreatedListener implements FlowableEventListener { if (assignee == null || StrUtil.isBlank(assignee.getMhUserId())) { return; } - ProjectInst projectInst = projectInstService.getByInstCode(procInstId); - if (projectInst == null) { - return; - } - Project project = projectService.getById(projectInst.getProjectId()); switch (procType) { case XC_APPROVAL_PROCESS: case PROJECT_RECORD_APPROVAL_PROCESS: @@ -93,10 +94,7 @@ public class TaskCreatedListener implements FlowableEventListener { case PROJECT_REVIEW: // 发送信产平台待办 MHTodoTypeEnum todoType = getMhTodoTypeEnum(procType); - String content = String.format("【%s】的【%s】需要您审核,请及时处理。", - project.getProjectName(), procType.getDesc()); MhTodoExtraParamDTO paramObj = MhTodoExtraParamDTO.builder() - .projectId(project.getId()) .taskId(taskEntity.getId()) .instanceId(taskEntity.getProcessInstanceId()) .nodeId(taskEntity.getTaskDefinitionId()) @@ -105,13 +103,32 @@ public class TaskCreatedListener implements FlowableEventListener { .path("/toDoCenter/handleDuringExamine") .build(); if (procType.equals(ProjectProcessType.ACCEPTANCE_DECLARATION_APPROVAL_PROCESS) - || procType.equals(ProjectProcessType.XC_APPROVAL_PROCESS)) { + || procType.equals(ProjectProcessType.ADAPTION) + || procType.equals(ProjectProcessType.XC_APPROVAL_PROCESS) + || procType.equals(ProjectProcessType.TEST_VALID) + || procType.equals(ProjectProcessType.SELF_TEST)) { PurchaseInst purchaseInst = purchaseInstService.getByProjectIdAndInstCode(paramObj.getProjectId(), procInstId); - if (purchaseInst == null) { + paramObj.setBidId(purchaseInst.getBidId()); + } + String projectName; + // 上边查不到ID的时候说明是手动新增的信创项目 + if (paramObj.getBidId() == null) { + XinchuangInst xinchuangInst = xinchuangInstService.getByInstCode(procInstId); + if (xinchuangInst == null) { return; } - paramObj.setBidId(purchaseInst.getBidId()); + Xinchuang xinchuang = xinchuangService.getById(xinchuangInst.getXinchuangId()); + paramObj.setXinchuangId(xinchuangInst.getId()); + projectName = xinchuang.getProjectName(); + } else { + ProjectInst projectInst = projectInstService.getByInstCode(procInstId); + Project project = projectService.getById(projectInst.getProjectId()); + projectName = project.getProjectName(); + paramObj.setProjectId(project.getId()); + paramObj.setProjectCode(project.getProjectCode()); } + String content = String.format("【%s】的【%s】需要您审核,请及时处理。", + projectName, procType.getDesc()); mhTodoClient.addTodo(paramObj, assignee, todoType, taskEntity.getId(), content); // 发送浙政钉工作通知 if (assignee.getAccountId() != null) {