From f5d42b9d37e985cb5375884d1913023f04e5f4e3 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Fri, 9 Aug 2024 19:01:13 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=8E=E7=AB=AF-?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=A4=84=E7=90=86=E8=8A=82=E7=82=B9=E9=80=89?= =?UTF-8?q?=E4=B8=8D=E5=88=B0=E9=9A=90=E8=97=8F=E5=B1=9E=E6=80=A7=E5=92=8C?= =?UTF-8?q?=E5=AE=9A=E5=88=B6=E8=A1=A8=E5=8D=95=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1219645414014976]后端-自动处理节点选不到隐藏属性和定制表单内容 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1219645414014976 --- .../process/api/process/ProcessParamList.java | 26 ++++++++++++++++--- .../ProcessTaskAutomaticServiceImpl.java | 8 +++++- .../AutomaticProcessUtilHandler.java | 3 +++ 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/src/main/java/neatlogic/module/process/api/process/ProcessParamList.java b/src/main/java/neatlogic/module/process/api/process/ProcessParamList.java index 59a7a6eb6..9d15e17e7 100644 --- a/src/main/java/neatlogic/module/process/api/process/ProcessParamList.java +++ b/src/main/java/neatlogic/module/process/api/process/ProcessParamList.java @@ -5,6 +5,10 @@ import com.alibaba.fastjson.JSONObject; import neatlogic.framework.auth.core.AuthAction; import neatlogic.framework.common.constvalue.ApiParamType; import neatlogic.framework.common.constvalue.ParamType; +import neatlogic.framework.crossover.CrossoverServiceFactory; +import neatlogic.framework.form.dto.FormVo; +import neatlogic.framework.form.exception.FormNotFoundException; +import neatlogic.framework.form.service.IFormCrossoverService; import neatlogic.framework.process.condition.core.ProcessTaskConditionFactory; import neatlogic.framework.condition.core.IConditionHandler; import neatlogic.framework.dto.ConditionParamVo; @@ -47,8 +51,14 @@ public class ProcessParamList extends PrivateApiComponentBase { return null; } - @Input({@Param(name = "formUuid", type = ApiParamType.STRING, desc = "流程绑定表单的uuid")}) - @Output({@Param(explode = ConditionParamVo[].class, desc = "流程参数列表")}) + @Input({ + @Param(name = "formUuid", type = ApiParamType.STRING, desc = "term.framework.formuuid"), + @Param(name = "tag", type = ApiParamType.STRING, desc = "common.tag"), + @Param(name = "isAll", type = ApiParamType.INTEGER, rule = "0,1", desc = "term.process.isreturnallattr") + }) + @Output({ + @Param(explode = ConditionParamVo[].class, desc = "common.tbodylist") + }) @Description(desc = "nmpap.processparamlist.getname") @Override public Object myDoService(JSONObject jsonObj) throws Exception { @@ -84,13 +94,21 @@ public class ProcessParamList extends PrivateApiComponentBase { // 表单条件 String formUuid = jsonObj.getString("formUuid"); if (StringUtils.isNotBlank(formUuid)) { - List formAttrList = formMapper.getFormAttributeList(new FormAttributeVo(formUuid)); + FormVo form = formMapper.getFormByUuid(formUuid); + if (form == null) { + throw new FormNotFoundException(formUuid); + } + Integer isAll = jsonObj.getInteger("isAll"); + String tag = jsonObj.getString("tag"); + IFormCrossoverService formCrossoverService = CrossoverServiceFactory.getApi(IFormCrossoverService.class); + List formAttrList = formCrossoverService.getFormAttributeListNew(formUuid, form.getName(), tag); +// List formAttrList = formMapper.getFormAttributeList(new FormAttributeVo(formUuid)); for (FormAttributeVo formAttributeVo : formAttrList) { IFormAttributeHandler formHandler = FormAttributeHandlerFactory.getHandler(formAttributeVo.getHandler()); if(formHandler == null){ continue; } - if (formHandler.isConditionable()) { + if ((isAll != null && isAll.equals(1)) || formHandler.isConditionable()) { ConditionParamVo conditionParamVo = new ConditionParamVo(); conditionParamVo.setName(formAttributeVo.getUuid()); conditionParamVo.setLabel(formAttributeVo.getLabel()); diff --git a/src/main/java/neatlogic/module/process/service/ProcessTaskAutomaticServiceImpl.java b/src/main/java/neatlogic/module/process/service/ProcessTaskAutomaticServiceImpl.java index bb8127796..9d7f26d96 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessTaskAutomaticServiceImpl.java +++ b/src/main/java/neatlogic/module/process/service/ProcessTaskAutomaticServiceImpl.java @@ -697,8 +697,14 @@ public class ProcessTaskAutomaticServiceImpl implements ProcessTaskAutomaticServ * 组装请求参数 */ private JSONObject getIntegrationParam(ProcessTaskStepVo currentProcessTaskStepVo, JSONArray paramList, JSONObject resultJson) { + ProcessTaskStepVo processTaskStepVo = processTaskMapper.getProcessTaskStepBaseInfoById(currentProcessTaskStepVo.getId()); + String stepConfig = selectContentByHashMapper.getProcessTaskStepConfigByHash(processTaskStepVo.getConfigHash()); + String formTag = null; + if (StringUtils.isNotBlank(stepConfig)) { + formTag = (String) JSONPath.read(stepConfig, "formTag"); + } List processTaskParams = Arrays.stream(ProcessTaskParams.values()).map(ProcessTaskParams::getValue).collect(Collectors.toList()); - JSONObject processTaskJson = ProcessTaskConditionFactory.getConditionParamData(processTaskParams, currentProcessTaskStepVo); + JSONObject processTaskJson = ProcessTaskConditionFactory.getConditionParamData(processTaskParams, currentProcessTaskStepVo, formTag); JSONObject integrationParam = new JSONObject(); if (CollectionUtils.isNotEmpty(paramList)) { for (Object paramObj : paramList) { diff --git a/src/main/java/neatlogic/module/process/stephandler/utilhandler/AutomaticProcessUtilHandler.java b/src/main/java/neatlogic/module/process/stephandler/utilhandler/AutomaticProcessUtilHandler.java index 02d76fc01..f18071404 100644 --- a/src/main/java/neatlogic/module/process/stephandler/utilhandler/AutomaticProcessUtilHandler.java +++ b/src/main/java/neatlogic/module/process/stephandler/utilhandler/AutomaticProcessUtilHandler.java @@ -298,6 +298,9 @@ public class AutomaticProcessUtilHandler extends ProcessStepInternalHandlerBase String formSceneName = configObj.getString("formSceneName"); resultObj.put("formSceneUuid", formSceneUuid == null ? "" : formSceneUuid); resultObj.put("formSceneName", formSceneName == null ? "" : formSceneName); + /** 表单标签 **/ + String formTag = configObj.getString("formTag"); + resultObj.put("formTag", formTag == null ? "" : formTag); return resultObj; } -- Gitee