From b8aac17b6427a91c85615ece0587e01255e69f93 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Mon, 5 Jan 2026 14:46:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-3845)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/common/util/RpcExternalUtil.java | 9 ++++ .../web/manage/PrintAdminController.java | 44 ++++++++++--------- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/util/RpcExternalUtil.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/util/RpcExternalUtil.java index 9a60107b2..25446599b 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/util/RpcExternalUtil.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/util/RpcExternalUtil.java @@ -44,6 +44,15 @@ public class RpcExternalUtil { return result.getData(); } + public static T rpcApiResultFProcessor(Supplier> supplier, String operationType, Object... param) { + log.info(operationType + "-Param: " + JSONUtil.toJsonStr(param)); + cn.axzo.foundation.result.ApiResult result = printLatency(supplier, operationType); + log.info(operationType + "-Result: " + JSONUtil.toJsonStr(result)); + Assert.notNull(result, "服务调用异常"); + Assert.isTrue(result.getCode() == 200, "服务调用异常:" + result.getMsg()); + return result.getData(); + } + /** * 常用的RPC请求返回值解析,如果 被请求方 返回非200会抛出异常 * diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/manage/PrintAdminController.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/manage/PrintAdminController.java index 055cc6ef7..7ca525f19 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/manage/PrintAdminController.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/manage/PrintAdminController.java @@ -2,13 +2,15 @@ package cn.axzo.workflow.server.controller.web.manage; import cn.axzo.basics.common.BeanMapper; import cn.axzo.maokai.api.client.OrganizationalNodeUserQueryApi; -import cn.axzo.maokai.api.vo.request.OrgNodeUserBriefInfoListReq; -import cn.axzo.maokai.api.vo.response.OrgNodeUserBriefInfoResp; import cn.axzo.nanopart.doc.api.conversion.DocConversionApi; import cn.axzo.nanopart.doc.api.conversion.req.QueryConversionTaskRequestV2; import cn.axzo.nanopart.doc.api.conversion.req.SubmitConversionTaskRequest; import cn.axzo.nanopart.doc.api.conversion.res.FileConvertResultResp; import cn.axzo.nanopart.doc.api.enums.DocConversionTypeEnum; +import cn.axzo.orggateway.api.nodeuser.OrgNodeUserApi; +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.oss.http.api.ServerFileServiceApi; import cn.axzo.oss.http.model.ApiSignUrlDownloadRequest; import cn.axzo.oss.http.model.ApiSignUrlDownloadResponse; @@ -190,7 +192,8 @@ public class PrintAdminController implements PrintAdminApi { private SupportRefreshProperties refreshProperties; @Resource private RuntimeService runtimeService; - + @Resource + private OrgNodeUserApi orgNodeUserApi; /** * 查询指定流程实例是否能使用打印 * @@ -457,11 +460,11 @@ public class PrintAdminController implements PrintAdminApi { // 解析发起人 BpmnTaskDelegateAssigner initiator = BpmnTaskDelegateAssigner.toObjectCompatible(variables.getOrDefault(PRINT_VAR_PROCESS_INITIATOR, null)); if (Objects.nonNull(initiator)) { - Optional user = getUserInfo(initiator); + Optional user = getUserInfo(initiator); variables.put(PRINT_VAR_PROCESS_INITIATOR_NAME, user.isPresent() ? user.get().getRealName() : ""); variables.put(PRINT_VAR_PROCESS_INITIATOR_POSITION, user.isPresent() && Objects.nonNull(user.get().getJob()) ? user.get().getJob().getName() : ""); - variables.put(PRINT_VAR_PROCESS_INITIATOR_PHONE, user.isPresent() ? user.get().getProfile().getPhone() : ""); - variables.put(PRINT_VAR_PROCESS_INITIATOR_UNIT, user.isPresent() ? user.get().getOrganizationalUnitName() : ""); + variables.put(PRINT_VAR_PROCESS_INITIATOR_PHONE, user.isPresent() ? user.get().getPersonProfile().getPhone() : ""); + variables.put(PRINT_VAR_PROCESS_INITIATOR_UNIT, user.isPresent() ? user.get().getUnit().getName() : ""); variables.remove(PRINT_VAR_PROCESS_INITIATOR); } // 填充审批日志 @@ -478,9 +481,9 @@ public class PrintAdminController implements PrintAdminApi { Map taskLogMap = new HashMap<>(); taskLogMap.put(PRINT_VAR_PROCESS_LOG_ACTIVITY_NAME, taskLog.getName()); taskLogMap.put(PRINT_VAR_PROCESS_LOG_ACTIVITY_NODE_TYPE, taskLog.getNodeType().getType()); - Optional user = getUserInfo(taskLog.getAssigneeSnapshot()); + Optional user = getUserInfo(taskLog.getAssigneeSnapshot()); taskLogMap.put(PRINT_VAR_PROCESS_LOG_APPROVER_NAME, user.isPresent() ? user.get().getRealName() : ""); - taskLogMap.put(PRINT_VAR_PROCESS_LOG_UNIT, user.isPresent() ? user.get().getOrganizationalUnitName() : ""); + taskLogMap.put(PRINT_VAR_PROCESS_LOG_UNIT, user.isPresent() ? user.get().getUnit().getName() : ""); taskLogMap.put(PRINT_VAR_PROCESS_LOG_POSITION, user.isPresent() && Objects.nonNull(user.get().getJob()) ? user.get().getJob().getName() : ""); taskLogMap.put(PRINT_VAR_PROCESS_LOG_ADVICE, taskLog.getAdvice()); taskLogMap.put(PRINT_VAR_PROCESS_LOG_OPERATION, taskLog.getOperationDesc()); @@ -493,35 +496,34 @@ public class PrintAdminController implements PrintAdminApi { result.putAll(variables); } - private Optional getUserInfo(BpmnTaskDelegateAssigner assigner) { + private Optional getUserInfo(BpmnTaskDelegateAssigner assigner) { if (Objects.isNull(assigner)) { return Optional.empty(); } - OrgNodeUserBriefInfoListReq req = new OrgNodeUserBriefInfoListReq(); + ListOrgNodeUserReq req = new ListOrgNodeUserReq(); if (StringUtils.hasText(assigner.getTenantId())) { req.setWorkspaceId(Long.valueOf(assigner.getTenantId())); } if (StringUtils.hasText(assigner.getOuId())) { - req.setOuId(Long.valueOf(assigner.getOuId())); + req.setOrganizationalUnitId(Long.valueOf(assigner.getOuId())); } if (StringUtils.hasText(assigner.getNodeId())) { - req.setOrgNodeIds(Lists.newArrayList(Long.valueOf(assigner.getNodeId()))); + req.setAncestorNodeIds(Lists.newArrayList(Long.valueOf(assigner.getNodeId()))); } if (StringUtils.hasText(assigner.getPersonId())) { req.setPersonIds(Lists.newArrayList(Long.valueOf(assigner.getPersonId()))); } - req.setNeedJob(true); - req.setNeedUnit(true); - req.setNeedProfile(true); - req.setContainsExited(true); - List users = RpcExternalUtil.rpcApiResultProcessor(() -> organizationalNodeUserQueryApi.listOrgNodeUsers(req), - "查询审批人员组织信息", req); + req.setNeeds(ListNodeUserReq.Needs.builder().job(true).unit(true).personProfile(true).build()); + req.setIncludeDeleted(true); + + List users = RpcExternalUtil.rpcApiResultFProcessor(() -> orgNodeUserApi.list(req), "查询审批人员组织信息", req).getData(); +// RpcExternalUtil.rpcApiResultProcessor(() -> orgNodeUserApi.list(req), "查询审批人员组织信息", req); if (CollectionUtils.isEmpty(users)) { return Optional.empty(); } - return users.stream().sorted(Comparator.comparing(OrgNodeUserBriefInfoResp::getExited).reversed()) + return users.stream().sorted(Comparator.comparing(OrgNodeUserDTO::getIsDelete).reversed()) .collect(Collectors.toList()).stream().findFirst(); } @@ -549,7 +551,7 @@ public class PrintAdminController implements PrintAdminApi { // 解析发起人 BpmnTaskDelegateAssigner initiator = BpmnTaskDelegateAssigner.toObjectCompatible(variables.getOrDefault(PRINT_VAR_PROCESS_INITIATOR, null)); if (Objects.nonNull(initiator)) { - Optional user = getUserInfo(initiator); + Optional user = getUserInfo(initiator); systemVarItems.add(TableItemDTO.builder() .label(PRINT_VAR_PROCESS_INITIATOR_NAME_DESC) .code(PRINT_VAR_PROCESS_INITIATOR_NAME) @@ -560,7 +562,7 @@ public class PrintAdminController implements PrintAdminApi { .label(PRINT_VAR_PROCESS_INITIATOR_UNIT_DESC) .code(PRINT_VAR_PROCESS_INITIATOR_UNIT) .type(FORM_FIELD_TYPE_INPUT) - .value(user.isPresent() ? user.get().getOrganizationalUnitName() : "") + .value(user.isPresent() ? user.get().getUnit() : "") .build()); }