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 59a7a6eb674b235e93da91947ef56224170f33d3..9d15e17e7f132aea572adfc5ec3646f8ae4edef4 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 bb8127796a0f1ae49b32b0aa3cd463584d544f58..9d7f26d96281c40d0870ef4af568d6bc611af1dd 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 02d76fc014af3b7436cefd29013fa85836a0639c..f180714049a95419c3f267e209ea248feb30c881 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; }