From 651b2e140ba842126c4177df1b909b2b764ecdb8 Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: 星期日, 31 三月 2024 15:34:27 +0800 Subject: [PATCH] add 添加表单配置 --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java | 34 +++++++++++++++++++--------------- 1 files changed, 19 insertions(+), 15 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..328e02f 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_FORM_DEFINITION_SERVICE = SpringUtils.getBean(IWfDefinitionConfigService.class); + private static final IWfFormManageService I_WF_FORM_MANAGE_SERVICE = SpringUtils.getBean(IWfFormManageService.class); /** * 鍒涘缓涓�涓柊浠诲姟 @@ -304,17 +299,26 @@ * @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_FORM_DEFINITION_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, BeanUtil.toBean(e, WfDefinitionConfigVo.class)); }); } } -- Gitblit v1.9.3