gssong
2024-04-06 1da98c8a8207dd062e433242e1567b6418c6ed81
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java
@@ -55,8 +55,6 @@
    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 IWfDefinitionConfigService I_WF_DEFINITION_CONFIG_SERVICE = SpringUtils.getBean(IWfDefinitionConfigService.class);
    private static final IWfFormManageService I_WF_FORM_MANAGE_SERVICE = SpringUtils.getBean(IWfFormManageService.class);
    /**
     * 创建一个新任务
@@ -291,40 +289,6 @@
            }
        }
    }
    /**
     * 设置流程流程定义配置
     *
     * @param obj       业务对象
     * @param idList    流程定义id
     * @param fieldName 流程定义ID属性名称
     */
    public static void setWfDefinitionConfigVo(Object obj, List<String> idList, String fieldName) {
        if (CollUtil.isEmpty(idList) || obj == null) {
            return;
        }
        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(wfDefinitionConfigVoList)) {
                    wfDefinitionConfigVoList.stream().filter(e -> e.getDefinitionId().equals(fieldValue)).findFirst().ifPresent(e -> {
                        ReflectUtils.invokeSetter(o, WF_DEFINITION_CONFIG_VO, e);
                    });
                }
            }
        }
    }
    /**
     * 发送消息