From ff35b74ef00d70df4eb0a770f232bc799a3c39f6 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 14 Feb 2025 18:36:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-3300)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=AE=A1=E6=89=B9=E7=9A=84=E9=80=BB=E8=BE=91?= =?UTF-8?q?,=E4=BB=A5=E5=8F=8A=E5=AE=A1=E6=89=B9=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E5=90=8E=E7=9A=84=E4=B8=80=E4=BA=9B=E5=BC=82=E5=B8=B8=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mq/listener/workflow/BasicLogSupport.java | 7 ++++++- .../ProcessInstanceAllEventHandler.java | 6 +++++- .../task/ProcessTaskAllEventHandler.java | 6 ++++-- .../service/impl/ChangeRecordServiceImpl.java | 18 +++++++++++------- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/BasicLogSupport.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/BasicLogSupport.java index 7221f10f..16af4be1 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/BasicLogSupport.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/BasicLogSupport.java @@ -29,7 +29,7 @@ public abstract class BasicLogSupport { return buildLogUserInfo(oneUserInfo); } protected String buildLogUserInfo(OrgNodeUserBriefInfoResp user) { - String userInfo = ""; + String userInfo = ""; if (Objects.nonNull(user)) { userInfo = user.getRealName() + "(" + user.getJob().getName() + "-" + user.getOrganizationalUnitName() + ")"; } @@ -37,10 +37,15 @@ public abstract class BasicLogSupport { } protected OrgNodeUserBriefInfoResp getOneUserInfo(BpmnTaskDelegateAssigner assigner) { + if (Objects.isNull(assigner)) { + return null; + } List users = visaOrganizationalNodeUserGateway.listOrgNodeUsers(OrgNodeUserBriefInfoListReq.builder() .workspaceId(Long.valueOf(assigner.getTenantId())) .ouId(Long.valueOf(assigner.getOuId())) .personIds(Lists.newArrayList(Long.valueOf(assigner.getPersonId()))) + .needUnit(true) + .needJob(true) .build()); return CollectionUtils.isEmpty(users) ? null : users.get(0); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java index 2f4cc3ed..987f5057 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java @@ -173,11 +173,15 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P changeRecordRelationService.updateById(changeRecordRelation); }); + ChangeRecord visa = changeRecordService.getById(visaId); if (Objects.equals(resultEnum, BpmnProcessInstanceResultEnum.APPROVED)) { + changeRecordService.changeStatus(ChangeStatusRequest.builder() + .visaId(visaId) + .updateStatus(VisaStatusEnum.COMPLETED) + .build()); return; } // 回退到待提报或决策中 - ChangeRecord visa = changeRecordService.getById(visaId); changeRecordService.changeStatus(ChangeStatusRequest.builder() .visaId(visaId) .updateStatus(Objects.isNull(visa.getImGroupId()) ? VisaStatusEnum.REPORT_FROM_APPROVE : VisaStatusEnum.DECIDING_FROM_APPROVE) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/task/ProcessTaskAllEventHandler.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/task/ProcessTaskAllEventHandler.java index f97d7118..ed02988b 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/task/ProcessTaskAllEventHandler.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/task/ProcessTaskAllEventHandler.java @@ -10,6 +10,8 @@ import cn.axzo.workflow.common.model.response.mq.ProcessTaskDTO; import cn.axzo.workflow.starter.handler.ProcessTaskEventHandler; import org.springframework.stereotype.Component; +import java.util.Objects; + import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.APPROVED_AGRESS; import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.TRANSMIT_APPROVE; @@ -53,8 +55,8 @@ public class ProcessTaskAllEventHandler extends BasicLogSupport implements Proce ChangeRecordLog log = ChangeRecordLog.builder() .visaId(Long.valueOf(dto.getBusinessKey())) .action(dto.getType().getTag()) - .title(String.format(APPROVED_AGRESS.getTitle(), user.getRealName())) - .content(String.format(APPROVED_AGRESS.getContent(), buildLogUserInfo(user))) + .title(String.format(APPROVED_AGRESS.getTitle(), Objects.isNull(user) ? "" : user.getRealName())) + .content(String.format(APPROVED_AGRESS.getContent(), Objects.isNull(user) ? "系统自动通过" : buildLogUserInfo(user))) .build(); eventProducer.send(VisaChangeLogPayload.form(log)); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java index 75bfb1a3..6d8046b7 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java @@ -90,7 +90,6 @@ import cn.axzo.nanopart.visa.server.utils.Constants; import cn.axzo.orggateway.api.nodeuser.dto.OrgNodeUserDTO; import cn.axzo.orggateway.api.nodeuser.req.ListOrgNodeUserReq; import cn.axzo.orgmanax.dto.nodeuser.req.ListNodeUserReq; -import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum; import cn.axzo.workflow.common.model.dto.CooperationOrgDTO; import cn.axzo.workflow.common.model.dto.UploadFieldDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbortDTO; @@ -154,6 +153,7 @@ import static cn.axzo.nanopart.visa.api.constant.VisaConstant.MSG_CENTER_APP_COD import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_PENDING_TOPIC; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_VISA_TYPE_KEY; import static cn.axzo.nanopart.visa.server.utils.Constants.DATE_FORMAT; +import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.PROCESSING; /** * @author xudawei @@ -776,7 +776,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl