Merge branch 'feature/RDMP-3845' into pre
# Conflicts: # workflow-engine-core/src/main/java/cn/axzo/workflow/core/listener/AbstractBpmnEventListener.java
This commit is contained in:
commit
efc2636e73
@ -74,5 +74,4 @@ public abstract class AbstractBpmnEventListener<T extends OperationContext> impl
|
|||||||
.noneMatch(prefix -> entry.getKey().startsWith(prefix)))
|
.noneMatch(prefix -> entry.getKey().startsWith(prefix)))
|
||||||
.collect(HashMap::new, (m, e) -> m.put(e.getKey(), e.getValue()), HashMap::putAll);
|
.collect(HashMap::new, (m, e) -> m.put(e.getKey(), e.getValue()), HashMap::putAll);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,6 +44,15 @@ public class RpcExternalUtil {
|
|||||||
return result.getData();
|
return result.getData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <T> T rpcApiResultFProcessor(Supplier<cn.axzo.foundation.result.ApiResult<T>> supplier, String operationType, Object... param) {
|
||||||
|
log.info(operationType + "-Param: " + JSONUtil.toJsonStr(param));
|
||||||
|
cn.axzo.foundation.result.ApiResult<T> 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会抛出异常
|
* 常用的RPC请求返回值解析,如果 被请求方 返回非200会抛出异常
|
||||||
*
|
*
|
||||||
|
|||||||
@ -2,13 +2,15 @@ package cn.axzo.workflow.server.controller.web.manage;
|
|||||||
|
|
||||||
import cn.axzo.basics.common.BeanMapper;
|
import cn.axzo.basics.common.BeanMapper;
|
||||||
import cn.axzo.maokai.api.client.OrganizationalNodeUserQueryApi;
|
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.DocConversionApi;
|
||||||
import cn.axzo.nanopart.doc.api.conversion.req.QueryConversionTaskRequestV2;
|
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.req.SubmitConversionTaskRequest;
|
||||||
import cn.axzo.nanopart.doc.api.conversion.res.FileConvertResultResp;
|
import cn.axzo.nanopart.doc.api.conversion.res.FileConvertResultResp;
|
||||||
import cn.axzo.nanopart.doc.api.enums.DocConversionTypeEnum;
|
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.api.ServerFileServiceApi;
|
||||||
import cn.axzo.oss.http.model.ApiSignUrlDownloadRequest;
|
import cn.axzo.oss.http.model.ApiSignUrlDownloadRequest;
|
||||||
import cn.axzo.oss.http.model.ApiSignUrlDownloadResponse;
|
import cn.axzo.oss.http.model.ApiSignUrlDownloadResponse;
|
||||||
@ -190,7 +192,8 @@ public class PrintAdminController implements PrintAdminApi {
|
|||||||
private SupportRefreshProperties refreshProperties;
|
private SupportRefreshProperties refreshProperties;
|
||||||
@Resource
|
@Resource
|
||||||
private RuntimeService runtimeService;
|
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));
|
BpmnTaskDelegateAssigner initiator = BpmnTaskDelegateAssigner.toObjectCompatible(variables.getOrDefault(PRINT_VAR_PROCESS_INITIATOR, null));
|
||||||
if (Objects.nonNull(initiator)) {
|
if (Objects.nonNull(initiator)) {
|
||||||
Optional<OrgNodeUserBriefInfoResp> user = getUserInfo(initiator);
|
Optional<OrgNodeUserDTO> user = getUserInfo(initiator);
|
||||||
variables.put(PRINT_VAR_PROCESS_INITIATOR_NAME, user.isPresent() ? user.get().getRealName() : "");
|
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_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_PHONE, user.isPresent() ? user.get().getPersonProfile().getPhone() : "");
|
||||||
variables.put(PRINT_VAR_PROCESS_INITIATOR_UNIT, user.isPresent() ? user.get().getOrganizationalUnitName() : "");
|
variables.put(PRINT_VAR_PROCESS_INITIATOR_UNIT, user.isPresent() ? user.get().getUnit().getName() : "");
|
||||||
variables.remove(PRINT_VAR_PROCESS_INITIATOR);
|
variables.remove(PRINT_VAR_PROCESS_INITIATOR);
|
||||||
}
|
}
|
||||||
// 填充审批日志
|
// 填充审批日志
|
||||||
@ -478,9 +481,9 @@ public class PrintAdminController implements PrintAdminApi {
|
|||||||
Map<String, Object> taskLogMap = new HashMap<>();
|
Map<String, Object> taskLogMap = new HashMap<>();
|
||||||
taskLogMap.put(PRINT_VAR_PROCESS_LOG_ACTIVITY_NAME, taskLog.getName());
|
taskLogMap.put(PRINT_VAR_PROCESS_LOG_ACTIVITY_NAME, taskLog.getName());
|
||||||
taskLogMap.put(PRINT_VAR_PROCESS_LOG_ACTIVITY_NODE_TYPE, taskLog.getNodeType().getType());
|
taskLogMap.put(PRINT_VAR_PROCESS_LOG_ACTIVITY_NODE_TYPE, taskLog.getNodeType().getType());
|
||||||
Optional<OrgNodeUserBriefInfoResp> user = getUserInfo(taskLog.getAssigneeSnapshot());
|
Optional<OrgNodeUserDTO> user = getUserInfo(taskLog.getAssigneeSnapshot());
|
||||||
taskLogMap.put(PRINT_VAR_PROCESS_LOG_APPROVER_NAME, user.isPresent() ? user.get().getRealName() : "");
|
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_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_ADVICE, taskLog.getAdvice());
|
||||||
taskLogMap.put(PRINT_VAR_PROCESS_LOG_OPERATION, taskLog.getOperationDesc());
|
taskLogMap.put(PRINT_VAR_PROCESS_LOG_OPERATION, taskLog.getOperationDesc());
|
||||||
@ -493,35 +496,34 @@ public class PrintAdminController implements PrintAdminApi {
|
|||||||
result.putAll(variables);
|
result.putAll(variables);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Optional<OrgNodeUserBriefInfoResp> getUserInfo(BpmnTaskDelegateAssigner assigner) {
|
private Optional<OrgNodeUserDTO> getUserInfo(BpmnTaskDelegateAssigner assigner) {
|
||||||
if (Objects.isNull(assigner)) {
|
if (Objects.isNull(assigner)) {
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
OrgNodeUserBriefInfoListReq req = new OrgNodeUserBriefInfoListReq();
|
ListOrgNodeUserReq req = new ListOrgNodeUserReq();
|
||||||
if (StringUtils.hasText(assigner.getTenantId())) {
|
if (StringUtils.hasText(assigner.getTenantId())) {
|
||||||
req.setWorkspaceId(Long.valueOf(assigner.getTenantId()));
|
req.setWorkspaceId(Long.valueOf(assigner.getTenantId()));
|
||||||
}
|
}
|
||||||
if (StringUtils.hasText(assigner.getOuId())) {
|
if (StringUtils.hasText(assigner.getOuId())) {
|
||||||
req.setOuId(Long.valueOf(assigner.getOuId()));
|
req.setOrganizationalUnitId(Long.valueOf(assigner.getOuId()));
|
||||||
}
|
}
|
||||||
if (StringUtils.hasText(assigner.getNodeId())) {
|
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())) {
|
if (StringUtils.hasText(assigner.getPersonId())) {
|
||||||
req.setPersonIds(Lists.newArrayList(Long.valueOf(assigner.getPersonId())));
|
req.setPersonIds(Lists.newArrayList(Long.valueOf(assigner.getPersonId())));
|
||||||
}
|
}
|
||||||
req.setNeedJob(true);
|
req.setNeeds(ListNodeUserReq.Needs.builder().job(true).unit(true).personProfile(true).build());
|
||||||
req.setNeedUnit(true);
|
req.setIncludeDeleted(true);
|
||||||
req.setNeedProfile(true);
|
|
||||||
req.setContainsExited(true);
|
List<OrgNodeUserDTO> users = RpcExternalUtil.rpcApiResultFProcessor(() -> orgNodeUserApi.list(req), "查询审批人员组织信息", req).getData();
|
||||||
List<OrgNodeUserBriefInfoResp> users = RpcExternalUtil.rpcApiResultProcessor(() -> organizationalNodeUserQueryApi.listOrgNodeUsers(req),
|
// RpcExternalUtil.rpcApiResultProcessor(() -> orgNodeUserApi.list(req), "查询审批人员组织信息", req);
|
||||||
"查询审批人员组织信息", req);
|
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(users)) {
|
if (CollectionUtils.isEmpty(users)) {
|
||||||
return Optional.empty();
|
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();
|
.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));
|
BpmnTaskDelegateAssigner initiator = BpmnTaskDelegateAssigner.toObjectCompatible(variables.getOrDefault(PRINT_VAR_PROCESS_INITIATOR, null));
|
||||||
if (Objects.nonNull(initiator)) {
|
if (Objects.nonNull(initiator)) {
|
||||||
Optional<OrgNodeUserBriefInfoResp> user = getUserInfo(initiator);
|
Optional<OrgNodeUserDTO> user = getUserInfo(initiator);
|
||||||
systemVarItems.add(TableItemDTO.builder()
|
systemVarItems.add(TableItemDTO.builder()
|
||||||
.label(PRINT_VAR_PROCESS_INITIATOR_NAME_DESC)
|
.label(PRINT_VAR_PROCESS_INITIATOR_NAME_DESC)
|
||||||
.code(PRINT_VAR_PROCESS_INITIATOR_NAME)
|
.code(PRINT_VAR_PROCESS_INITIATOR_NAME)
|
||||||
@ -560,7 +562,7 @@ public class PrintAdminController implements PrintAdminApi {
|
|||||||
.label(PRINT_VAR_PROCESS_INITIATOR_UNIT_DESC)
|
.label(PRINT_VAR_PROCESS_INITIATOR_UNIT_DESC)
|
||||||
.code(PRINT_VAR_PROCESS_INITIATOR_UNIT)
|
.code(PRINT_VAR_PROCESS_INITIATOR_UNIT)
|
||||||
.type(FORM_FIELD_TYPE_INPUT)
|
.type(FORM_FIELD_TYPE_INPUT)
|
||||||
.value(user.isPresent() ? user.get().getOrganizationalUnitName() : "")
|
.value(user.isPresent() ? user.get().getUnit() : "")
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user