From 4e871e02e6057a7fddf07aa02becad73dbfd2d9f Mon Sep 17 00:00:00 2001 From: Liang <545073804@qq.com> Date: 星期三, 03 四月 2024 09:05:39 +0800 Subject: [PATCH] update 优化Mapper.xml结果集定义 --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java | 36 ++++++++++++++++++++---------------- 1 files changed, 20 insertions(+), 16 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java index faedab0..489d14d 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java @@ -23,15 +23,10 @@ import org.dromara.workflow.common.enums.TaskStatusEnum; import org.dromara.workflow.domain.ActHiProcinst; import org.dromara.workflow.domain.ActHiTaskinst; -import org.dromara.workflow.domain.vo.MultiInstanceVo; -import org.dromara.workflow.domain.vo.ParticipantVo; -import org.dromara.workflow.domain.vo.ProcessInstanceVo; -import org.dromara.workflow.domain.vo.WfFormDefinitionVo; +import org.dromara.workflow.domain.vo.*; import org.dromara.workflow.flowable.cmd.UpdateHiTaskInstCmd; import org.dromara.workflow.mapper.ActHiTaskinstMapper; -import org.dromara.workflow.service.IActHiProcinstService; -import org.dromara.workflow.service.IWfFormDefinitionService; -import org.dromara.workflow.service.IWorkflowUserService; +import org.dromara.workflow.service.*; import org.flowable.bpmn.model.BpmnModel; import org.flowable.bpmn.model.FlowNode; import org.flowable.common.engine.api.delegate.Expression; @@ -46,8 +41,7 @@ import java.util.*; -import static org.dromara.workflow.common.constant.FlowConstant.PROCESS_INSTANCE_VO; -import static org.dromara.workflow.common.constant.FlowConstant.WF_FORM_DEFINITION_VO; +import static org.dromara.workflow.common.constant.FlowConstant.*; /** * 宸ヤ綔娴佸伐鍏� @@ -61,7 +55,8 @@ private static final IWorkflowUserService WORKFLOW_USER_SERVICE = SpringUtils.getBean(IWorkflowUserService.class); private static final IActHiProcinstService ACT_HI_PROCINST_SERVICE = SpringUtils.getBean(IActHiProcinstService.class); private static final ActHiTaskinstMapper ACT_HI_TASKINST_MAPPER = SpringUtils.getBean(ActHiTaskinstMapper.class); - private static final IWfFormDefinitionService I_WF_FORM_DEFINITION_SERVICE = SpringUtils.getBean(IWfFormDefinitionService.class); + private static final IWfDefinitionConfigService I_WF_DEFINITION_CONFIG_SERVICE = SpringUtils.getBean(IWfDefinitionConfigService.class); + private static final IWfFormManageService I_WF_FORM_MANAGE_SERVICE = SpringUtils.getBean(IWfFormManageService.class); /** * 鍒涘缓涓�涓柊浠诲姟 @@ -298,23 +293,32 @@ } /** - * 璁剧疆娴佺▼琛ㄥ崟閰嶇疆 + * 璁剧疆娴佺▼娴佺▼瀹氫箟閰嶇疆 * * @param obj 涓氬姟瀵硅薄 * @param idList 娴佺▼瀹氫箟id * @param fieldName 娴佺▼瀹氫箟ID灞炴�у悕绉� */ - public static void setWfFormDefinitionVo(Object obj, List<String> idList, String fieldName) { + public static void setWfDefinitionConfigVo(Object obj, List<String> idList, String fieldName) { if (CollUtil.isEmpty(idList) || obj == null) { return; } - List<WfFormDefinitionVo> wfFormDefinitionVoList = I_WF_FORM_DEFINITION_SERVICE.queryList(idList); + List<WfDefinitionConfigVo> wfDefinitionConfigVoList = I_WF_DEFINITION_CONFIG_SERVICE.queryList(idList); + if (CollUtil.isNotEmpty(wfDefinitionConfigVoList)) { + List<Long> formIds = StreamUtils.toList(wfDefinitionConfigVoList, WfDefinitionConfigVo::getFormId); + List<WfFormManageVo> wfFormManageVos = I_WF_FORM_MANAGE_SERVICE.queryByIds(formIds); + if (CollUtil.isNotEmpty(wfFormManageVos)) { + for (WfDefinitionConfigVo wfDefinitionConfigVo : wfDefinitionConfigVoList) { + wfFormManageVos.stream().filter(e -> ObjectUtil.equals(wfDefinitionConfigVo.getFormId(), e.getId())).findFirst().ifPresent(wfDefinitionConfigVo::setWfFormManageVo); + } + } + } if (obj instanceof Collection<?> collection) { for (Object o : collection) { String fieldValue = ReflectUtils.invokeGetter(o, fieldName).toString(); - if (!CollUtil.isEmpty(wfFormDefinitionVoList)) { - wfFormDefinitionVoList.stream().filter(e -> e.getDefinitionId().equals(fieldValue)).findFirst().ifPresent(e -> { - ReflectUtils.invokeSetter(o, WF_FORM_DEFINITION_VO, BeanUtil.toBean(e, WfFormDefinitionVo.class)); + if (!CollUtil.isEmpty(wfDefinitionConfigVoList)) { + wfDefinitionConfigVoList.stream().filter(e -> e.getDefinitionId().equals(fieldValue)).findFirst().ifPresent(e -> { + ReflectUtils.invokeSetter(o, WF_DEFINITION_CONFIG_VO, e); }); } } -- Gitblit v1.9.3