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 94ec56477d764cd472b136cfe08a4f7fdaa73601..f74c56fb96f5f1fb727eb2dac09512c4fffb4e61 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 afd8b5b75e34439a0d3d141373f306032064288f..80e76afadd51d1ee5fba7c583a71bdb50e455100 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 19737e18bd543e57da9955bc25335e23db7d345d..912c249822d60c2eba792925797ef067bf65b492 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() {