From 5935e19fd37b0748fbfcfe1438438c0827c5c141 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 9 May 2024 15:04:15 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=8E=E7=AB=AF-?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=88=86=E6=B5=81=E6=94=AF=E6=8C=81js?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E8=A7=84=E5=88=99=EF=BC=8C=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E8=A1=A8=E5=8D=95=E7=BB=84=E4=BB=B6=E6=B6=88=E8=B4=B9?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1152157133275136]后端-条件分流支持js自定义规则,获取表单组件消费数据 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1152157133275136 --- .../condition/core/IProcessTaskCondition.java | 9 ++++++ .../core/ProcessTaskConditionFactory.java | 29 +++++++++++++++++++ .../dto/ProcessTaskFormAttributeDataVo.java | 1 + 3 files changed, 39 insertions(+) diff --git a/src/main/java/neatlogic/framework/process/condition/core/IProcessTaskCondition.java b/src/main/java/neatlogic/framework/process/condition/core/IProcessTaskCondition.java index 94ec5647..f74c56fb 100644 --- a/src/main/java/neatlogic/framework/process/condition/core/IProcessTaskCondition.java +++ b/src/main/java/neatlogic/framework/process/condition/core/IProcessTaskCondition.java @@ -37,4 +37,13 @@ public interface IProcessTaskCondition extends IConditionHandler { return null; } + /** + * 获取条件分流需要判断的数据,人性化数据,拥有javascript判断 + * + * @return 数据 + */ + default Object getConditionParamDataForHumanization(ProcessTaskStepVo processTaskStepVo) { + return getConditionParamData(processTaskStepVo); + } + } diff --git a/src/main/java/neatlogic/framework/process/condition/core/ProcessTaskConditionFactory.java b/src/main/java/neatlogic/framework/process/condition/core/ProcessTaskConditionFactory.java index afd8b5b7..80e76afa 100644 --- a/src/main/java/neatlogic/framework/process/condition/core/ProcessTaskConditionFactory.java +++ b/src/main/java/neatlogic/framework/process/condition/core/ProcessTaskConditionFactory.java @@ -19,6 +19,7 @@ import com.alibaba.fastjson.JSONObject; import neatlogic.framework.applicationlistener.core.ModuleInitializedListenerBase; import neatlogic.framework.bootstrap.NeatLogicWebApplicationContext; import neatlogic.framework.common.RootComponent; +import neatlogic.framework.process.constvalue.ConditionProcessTaskOptions; import neatlogic.framework.process.constvalue.ProcessFieldType; import neatlogic.framework.process.dto.ProcessTaskStepVo; @@ -55,6 +56,34 @@ public class ProcessTaskConditionFactory extends ModuleInitializedListenerBase { return resultObj; } + public static JSONObject getConditionParamData(ConditionProcessTaskOptions[] options, ProcessTaskStepVo processTaskStepVo) { + JSONObject resultObj = new JSONObject(); + for (ConditionProcessTaskOptions option : options) { + IProcessTaskCondition handler = conditionComponentMap.get(option.getValue()); + if (handler != null) { + Object object = handler.getConditionParamData(processTaskStepVo); + if (object != null) { + resultObj.put(option.getValue(), object); + resultObj.put(option.getText(), handler.getConditionParamDataForHumanization(processTaskStepVo)); + } + } + } + IProcessTaskCondition handler = conditionComponentMap.get(ProcessFieldType.FORM.getValue()); + if (handler != null) { + Object formObj = handler.getConditionParamData(processTaskStepVo); + if (formObj != null) { + if (formObj instanceof JSONObject) { + resultObj.putAll((JSONObject) formObj); + } + Object formObjForHumanization = handler.getConditionParamDataForHumanization(processTaskStepVo); + if (formObjForHumanization instanceof JSONObject) { + resultObj.putAll((JSONObject) formObjForHumanization); + } + } + } + return resultObj; + } + @Override public void onInitialized(NeatLogicWebApplicationContext context) { Map myMap = context.getBeansOfType(IProcessTaskCondition.class); diff --git a/src/main/java/neatlogic/framework/process/dto/ProcessTaskFormAttributeDataVo.java b/src/main/java/neatlogic/framework/process/dto/ProcessTaskFormAttributeDataVo.java index 19737e18..912c2498 100755 --- a/src/main/java/neatlogic/framework/process/dto/ProcessTaskFormAttributeDataVo.java +++ b/src/main/java/neatlogic/framework/process/dto/ProcessTaskFormAttributeDataVo.java @@ -17,6 +17,7 @@ public class ProcessTaskFormAttributeDataVo extends AttributeDataVo { this.setAttributeLabel(attributeDataVo.getAttributeLabel()); this.setHandler(attributeDataVo.getHandler()); this.setData(attributeDataVo.getData()); + this.setTag(attributeDataVo.getTag()); } public Long getProcessTaskId() { -- Gitee