From a06625853e468bbcb4a4a7a05d6cd4ce86543d9e Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 9 May 2024 15:05:29 +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 --- .../api/process/ProcessConditionList.java | 8 +- .../ProcessTaskChannelTypeCondition.java | 17 ++++ .../ProcessTaskFormAttributeCondition.java | 91 ++++++++++++------- .../ProcessTaskOwnerCompanyCondition.java | 11 +++ .../handler/ProcessTaskOwnerCondition.java | 13 +++ .../ProcessTaskOwnerDepartmentCondition.java | 11 +++ .../ProcessTaskOwnerRoleCondition.java | 18 ++++ .../handler/ProcessTaskPriorityCondition.java | 16 ++++ .../ProcessTaskStartTimeCondition.java | 14 +++ .../service/ProcessStepHandlerUtil.java | 4 +- .../component/ConditionProcessComponent.java | 3 +- 11 files changed, 167 insertions(+), 39 deletions(-) diff --git a/src/main/java/neatlogic/module/process/api/process/ProcessConditionList.java b/src/main/java/neatlogic/module/process/api/process/ProcessConditionList.java index ef67689da..b79b787e3 100644 --- a/src/main/java/neatlogic/module/process/api/process/ProcessConditionList.java +++ b/src/main/java/neatlogic/module/process/api/process/ProcessConditionList.java @@ -8,6 +8,7 @@ import neatlogic.framework.common.constvalue.Expression; import neatlogic.framework.common.constvalue.ParamType; import neatlogic.framework.condition.core.ConditionHandlerFactory; import neatlogic.framework.condition.core.IConditionHandler; +import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.framework.dto.ConditionParamVo; import neatlogic.framework.dto.ExpressionVo; import neatlogic.framework.form.attribute.core.FormAttributeHandlerFactory; @@ -17,6 +18,7 @@ import neatlogic.framework.form.dao.mapper.FormMapper; import neatlogic.framework.form.dto.FormAttributeVo; import neatlogic.framework.form.dto.FormVo; import neatlogic.framework.form.exception.FormNotFoundException; +import neatlogic.framework.form.service.IFormCrossoverService; import neatlogic.framework.process.auth.PROCESS_BASE; import neatlogic.framework.process.constvalue.ConditionProcessTaskOptions; import neatlogic.framework.restful.annotation.*; @@ -96,15 +98,13 @@ public class ProcessConditionList extends PrivateApiComponentBase { // 表单条件 String formUuid = jsonObj.getString("formUuid"); if (StringUtils.isNotBlank(formUuid)) { - //List conditionableAttrUuidList = new ArrayList<>(); FormVo form = formMapper.getFormByUuid(formUuid); if (form == null) { throw new FormNotFoundException(formUuid); } // TODO 需要确定条件节点表单扩展属性标签 -// IFormCrossoverService formCrossoverService = CrossoverServiceFactory.getApi(IFormCrossoverService.class); -// List formAttributeList = formCrossoverService.getFormAttributeList(formUuid, form.getName(), "condition"); - List formAttrList = formMapper.getFormAttributeList(new FormAttributeVo(formUuid)); + IFormCrossoverService formCrossoverService = CrossoverServiceFactory.getApi(IFormCrossoverService.class); + List formAttrList = formCrossoverService.getFormAttributeList(formUuid, form.getName(), "processConditionComponent"); for (FormAttributeVo formAttributeVo : formAttrList) { IFormAttributeHandler formHandler = FormAttributeHandlerFactory.getHandler(formAttributeVo.getHandler()); if (formHandler == null) { diff --git a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskChannelTypeCondition.java b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskChannelTypeCondition.java index f6ece1ebb..8d6af183e 100644 --- a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskChannelTypeCondition.java +++ b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskChannelTypeCondition.java @@ -142,4 +142,21 @@ public class ProcessTaskChannelTypeCondition extends ProcessTaskConditionBase im } return null; } + + @Override + public Object getConditionParamDataForHumanization(ProcessTaskStepVo processTaskStepVo) { + ProcessTaskVo processTaskVo = processTaskMapper.getProcessTaskById(processTaskStepVo.getProcessTaskId()); + if (processTaskVo == null) { + return null; + } + ChannelVo channelVo = channelMapper.getChannelByUuid(processTaskVo.getChannelUuid()); + if (channelVo == null) { + return null; + } + ChannelTypeVo channelType = channelTypeMapper.getChannelTypeByUuid(channelVo.getChannelTypeUuid()); + if (channelType == null) { + return null; + } + return channelType.getName(); + } } diff --git a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskFormAttributeCondition.java b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskFormAttributeCondition.java index 24db32f96..9ad2284fb 100644 --- a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskFormAttributeCondition.java +++ b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskFormAttributeCondition.java @@ -18,7 +18,6 @@ package neatlogic.module.process.condition.handler; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.google.common.base.Objects; import neatlogic.framework.common.constvalue.ParamType; import neatlogic.framework.dto.condition.ConditionVo; import neatlogic.framework.exception.type.ParamIrregularException; @@ -37,14 +36,11 @@ import neatlogic.framework.process.condition.core.ProcessTaskConditionBase; import neatlogic.framework.process.constvalue.ConditionConfigType; import neatlogic.framework.process.constvalue.ProcessFieldType; import neatlogic.framework.process.constvalue.ProcessWorkcenterField; -import neatlogic.module.process.dao.mapper.SelectContentByHashMapper; import neatlogic.framework.process.dto.ProcessTaskFormAttributeDataVo; -import neatlogic.framework.process.dto.ProcessTaskFormVo; import neatlogic.framework.process.dto.ProcessTaskStepVo; import neatlogic.framework.util.FormUtil; import neatlogic.framework.util.Md5Util; import neatlogic.framework.util.TimeUtil; -import neatlogic.module.process.dao.mapper.processtask.ProcessTaskMapper; import neatlogic.module.process.service.ProcessTaskService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; @@ -54,16 +50,11 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; @Component public class ProcessTaskFormAttributeCondition extends ProcessTaskConditionBase implements IProcessTaskCondition { - @Resource - private ProcessTaskMapper processTaskMapper; - - @Resource - private SelectContentByHashMapper selectContentByHashMapper; - @Resource private ProcessTaskService processTaskService; @@ -114,14 +105,14 @@ public class ProcessTaskFormAttributeCondition extends ProcessTaskConditionBase List formAttributeList = formVersionVo.getFormAttributeList(); if (CollectionUtils.isNotEmpty(formAttributeList)) { for (FormAttributeVo formAttribute : formAttributeList) { - if (Objects.equal(attributeUuid, formAttribute.getUuid())) { + if (Objects.equals(attributeUuid, formAttribute.getUuid())) { config.put("name", formAttribute.getLabel()); if (value != null) { IFormAttributeDataConversionHandler formAttributeHandler = FormAttributeDataConversionHandlerFactory.getHandler(formAttribute.getHandler()); if (formAttributeHandler != null) { - if (Objects.equal(formAttribute.getHandler(), FormHandler.FORMDATE.getHandler()) - || Objects.equal(formAttribute.getHandler(), FormHandler.FORMTIME.getHandler())) { + if (Objects.equals(formAttribute.getHandler(), FormHandler.FORMDATE.getHandler()) + || Objects.equals(formAttribute.getHandler(), FormHandler.FORMTIME.getHandler())) { if (value instanceof String) { return value; } else if (value instanceof JSONArray) { @@ -254,25 +245,63 @@ public class ProcessTaskFormAttributeCondition extends ProcessTaskConditionBase @Override public Object getConditionParamData(ProcessTaskStepVo processTaskStepVo) { JSONObject resultObj = new JSONObject(); - ProcessTaskFormVo processTaskFormVo = processTaskMapper.getProcessTaskFormByProcessTaskId(processTaskStepVo.getProcessTaskId()); - if (processTaskFormVo != null && StringUtils.isNotBlank(processTaskFormVo.getFormContentHash())) { - String formContent = selectContentByHashMapper.getProcessTaskFromContentByHash(processTaskFormVo.getFormContentHash()); - if (StringUtils.isNotBlank(formContent)) { - resultObj.put("formConfig", formContent); - List processTaskFormAttributeDataList = processTaskService.getProcessTaskFormAttributeDataListByProcessTaskId(processTaskStepVo.getProcessTaskId()); - for (ProcessTaskFormAttributeDataVo processTaskFormAttributeDataVo : processTaskFormAttributeDataList) { - if (java.util.Objects.equals(processTaskFormAttributeDataVo.getHandler(), FormHandler.FORMRADIO.getHandler()) - || java.util.Objects.equals(processTaskFormAttributeDataVo.getHandler(), FormHandler.FORMCHECKBOX.getHandler()) - || java.util.Objects.equals(processTaskFormAttributeDataVo.getHandler(), FormHandler.FORMSELECT.getHandler())) { - Object value = FormUtil.getFormSelectAttributeValueByOriginalValue(processTaskFormAttributeDataVo.getDataObj()); - resultObj.put(processTaskFormAttributeDataVo.getAttributeUuid(), value); - //另存一份label为key的数据,给条件路由的自定义脚本消费 - //resultObj.put(processTaskFormAttributeDataVo.getAttributeLabel(), value); - } else { - resultObj.put(processTaskFormAttributeDataVo.getAttributeUuid(), processTaskFormAttributeDataVo.getDataObj()); - //另存一份label为key的数据,给条件路由的自定义脚本消费 - //resultObj.put(processTaskFormAttributeDataVo.getAttributeLabel(), processTaskFormAttributeDataVo.getDataObj()); + List formAttributeList = processTaskService.getFormAttributeListByProcessTaskIdAngTag(processTaskStepVo.getProcessTaskId(), "processConditionComponent"); + if (CollectionUtils.isNotEmpty(formAttributeList)) { + Map formAttributeMap = formAttributeList.stream().collect(Collectors.toMap(FormAttributeVo::getUuid, e -> e)); + List processTaskFormAttributeDataList = processTaskService.getProcessTaskFormAttributeDataListByProcessTaskIdAndTag(processTaskStepVo.getProcessTaskId(), "processConditionComponent"); + for (ProcessTaskFormAttributeDataVo processTaskFormAttributeDataVo : processTaskFormAttributeDataList) { + FormAttributeVo formAttributeVo = formAttributeMap.get(processTaskFormAttributeDataVo.getAttributeUuid()); + if (formAttributeVo == null) { + continue; + } + if (Objects.equals(processTaskFormAttributeDataVo.getHandler(), FormHandler.FORMRADIO.getHandler()) + || Objects.equals(processTaskFormAttributeDataVo.getHandler(), FormHandler.FORMCHECKBOX.getHandler()) + || Objects.equals(processTaskFormAttributeDataVo.getHandler(), FormHandler.FORMSELECT.getHandler())) { + Object value = FormUtil.getFormSelectAttributeValueByOriginalValue(processTaskFormAttributeDataVo.getDataObj()); + resultObj.put(processTaskFormAttributeDataVo.getAttributeUuid(), value); + } else { + resultObj.put(processTaskFormAttributeDataVo.getAttributeUuid(), processTaskFormAttributeDataVo.getDataObj()); + } + } + } + return resultObj; + } + + @Override + public Object getConditionParamDataForHumanization(ProcessTaskStepVo processTaskStepVo) { + JSONObject resultObj = new JSONObject(); + List formAttributeList = processTaskService.getFormAttributeListByProcessTaskIdAngTag(processTaskStepVo.getProcessTaskId(), "processConditionComponent"); + if (CollectionUtils.isNotEmpty(formAttributeList)) { + Map formAttributeMap = formAttributeList.stream().collect(Collectors.toMap(FormAttributeVo::getUuid, e -> e)); + List processTaskFormAttributeDataList = processTaskService.getProcessTaskFormAttributeDataListByProcessTaskIdAndTag(processTaskStepVo.getProcessTaskId(), "processConditionComponent"); + for (ProcessTaskFormAttributeDataVo processTaskFormAttributeDataVo : processTaskFormAttributeDataList) { + FormAttributeVo formAttributeVo = formAttributeMap.get(processTaskFormAttributeDataVo.getAttributeUuid()); + if (formAttributeVo == null) { + continue; + } + if (Objects.equals(formAttributeVo.getHandler(), FormHandler.FORMRADIO.getHandler()) + || Objects.equals(formAttributeVo.getHandler(), FormHandler.FORMCHECKBOX.getHandler()) + || Objects.equals(formAttributeVo.getHandler(), FormHandler.FORMSELECT.getHandler())) { + Object value = FormUtil.getFormSelectAttributeValueByOriginalValue(processTaskFormAttributeDataVo.getDataObj()); + //另存一份label为key的数据,给条件路由的自定义脚本消费 + resultObj.put(processTaskFormAttributeDataVo.getAttributeLabel(), value); + } else { + String data = processTaskFormAttributeDataVo.getData(); + JSONObject componentObj = new JSONObject(); + componentObj.put("handler", formAttributeVo.getHandler()); + componentObj.put("uuid", formAttributeVo.getUuid()); + componentObj.put("label", formAttributeVo.getLabel()); + componentObj.put("config", formAttributeVo.getConfig()); + componentObj.put("type", formAttributeVo.getType()); + List downwardFormAttributeList = FormUtil.getFormAttributeList(componentObj, null); + for (FormAttributeVo downwardFormAttribute : downwardFormAttributeList) { + if (data.contains(downwardFormAttribute.getUuid())) { + data = data.replace(downwardFormAttribute.getUuid(), downwardFormAttribute.getLabel()); + } } + processTaskFormAttributeDataVo.setData(data); + //另存一份label为key的数据,给条件路由的自定义脚本消费 + resultObj.put(processTaskFormAttributeDataVo.getAttributeLabel(), processTaskFormAttributeDataVo.getDataObj()); } } } diff --git a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerCompanyCondition.java b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerCompanyCondition.java index 4359a6517..601ed3db8 100644 --- a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerCompanyCondition.java +++ b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerCompanyCondition.java @@ -26,6 +26,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; @Component public class ProcessTaskOwnerCompanyCondition extends ProcessTaskConditionBase implements IProcessTaskCondition { @@ -149,4 +150,14 @@ public class ProcessTaskOwnerCompanyCondition extends ProcessTaskConditionBase i } return null; } + + @Override + public Object getConditionParamDataForHumanization(ProcessTaskStepVo processTaskStepVo) { + List companyUuidList = (List) getConditionParamData(processTaskStepVo); + if (CollectionUtils.isEmpty(companyUuidList)) { + return null; + } + List teamList = teamMapper.getTeamByUuidList(companyUuidList); + return teamList.stream().map(TeamVo::getName).collect(Collectors.toList()); + } } diff --git a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerCondition.java b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerCondition.java index 3c3b0a5db..cf1119e4c 100644 --- a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerCondition.java +++ b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerCondition.java @@ -187,4 +187,17 @@ public class ProcessTaskOwnerCondition extends ProcessTaskConditionBase implemen return processTaskVo.getOwner(); } + @Override + public Object getConditionParamDataForHumanization(ProcessTaskStepVo processTaskStepVo) { + ProcessTaskVo processTaskVo = processTaskMapper.getProcessTaskById(processTaskStepVo.getProcessTaskId()); + if (processTaskVo == null) { + return null; + } + UserVo user = userMapper.getUserBaseInfoByUuid(processTaskVo.getOwner()); + if (user != null) { + return user.getUserName(); + } + return null; + } + } diff --git a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerDepartmentCondition.java b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerDepartmentCondition.java index 74be7058f..80016a693 100644 --- a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerDepartmentCondition.java +++ b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerDepartmentCondition.java @@ -41,6 +41,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; @Component public class ProcessTaskOwnerDepartmentCondition extends ProcessTaskConditionBase implements IProcessTaskCondition { @@ -164,4 +165,14 @@ public class ProcessTaskOwnerDepartmentCondition extends ProcessTaskConditionBas } return null; } + + @Override + public Object getConditionParamDataForHumanization(ProcessTaskStepVo processTaskStepVo) { + List departmentUuidList = (List) getConditionParamData(processTaskStepVo); + if (CollectionUtils.isEmpty(departmentUuidList)) { + return null; + } + List teamList = teamMapper.getTeamByUuidList(departmentUuidList); + return teamList.stream().map(TeamVo::getName).collect(Collectors.toList()); + } } diff --git a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerRoleCondition.java b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerRoleCondition.java index 5d708760e..6750dd59e 100644 --- a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerRoleCondition.java +++ b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskOwnerRoleCondition.java @@ -18,6 +18,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import neatlogic.module.process.dao.mapper.processtask.ProcessTaskMapper; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -130,4 +131,21 @@ public class ProcessTaskOwnerRoleCondition extends ProcessTaskConditionBase impl return null; } + @SuppressWarnings("unchecked") + @Override + public Object getConditionParamDataForHumanization(ProcessTaskStepVo processTaskStepVo) { + List roleUuidList = (List) getConditionParamData(processTaskStepVo); + if (CollectionUtils.isEmpty(roleUuidList)) { + return null; + } + List roleNameList = new ArrayList<>(); + for (String roleUuid : roleUuidList) { + RoleVo roleVo = roleMapper.getRoleByUuid(roleUuid.substring(5)); + if (roleVo != null) { + roleNameList.add(roleVo.getName()); + } + } + return roleNameList; + } + } diff --git a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskPriorityCondition.java b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskPriorityCondition.java index 24bdf7fb6..f1e0eada1 100644 --- a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskPriorityCondition.java +++ b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskPriorityCondition.java @@ -129,4 +129,20 @@ public class ProcessTaskPriorityCondition extends ProcessTaskConditionBase imple } return processTaskVo.getPriorityUuid(); } + + @Override + public Object getConditionParamDataForHumanization(ProcessTaskStepVo processTaskStepVo) { + ProcessTaskVo processTaskVo = processTaskMapper.getProcessTaskById(processTaskStepVo.getProcessTaskId()); + if (processTaskVo == null) { + return null; + } + if (processTaskVo.getPriorityUuid() == null) { + return null; + } + PriorityVo priority = priorityMapper.getPriorityByUuid(processTaskVo.getPriorityUuid()); + if (priority == null) { + return null; + } + return priority.getName(); + } } diff --git a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskStartTimeCondition.java b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskStartTimeCondition.java index f89612100..b57777f32 100644 --- a/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskStartTimeCondition.java +++ b/src/main/java/neatlogic/module/process/condition/handler/ProcessTaskStartTimeCondition.java @@ -13,6 +13,7 @@ import neatlogic.framework.process.dto.ProcessTaskVo; import neatlogic.framework.process.workcenter.table.ProcessTaskSqlTable; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import neatlogic.framework.util.TimeUtil; import neatlogic.module.process.dao.mapper.processtask.ProcessTaskMapper; import org.springframework.stereotype.Component; @@ -101,4 +102,17 @@ public class ProcessTaskStartTimeCondition extends ProcessTaskConditionBase impl } return processTaskVo.getStartTime(); } + + @Override + public Object getConditionParamDataForHumanization(ProcessTaskStepVo processTaskStepVo) { + ProcessTaskVo processTaskVo = processTaskMapper.getProcessTaskById(processTaskStepVo.getProcessTaskId()); + if (processTaskVo == null) { + return null; + } + if (processTaskVo.getStartTime() != null) { + SimpleDateFormat sdf = new SimpleDateFormat(TimeUtil.YYYY_MM_DD_HH_MM_SS); + return sdf.format(processTaskVo.getStartTime()); + } + return null; + } } diff --git a/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java b/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java index 1b3729066..ca945b914 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java +++ b/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java @@ -1000,7 +1000,7 @@ public class ProcessStepHandlerUtil implements IProcessStepHandlerUtil, IProcess JSONArray formExtendAttributeDataList = paramObj.getJSONArray("formExtendAttributeDataList"); if (CollectionUtils.isNotEmpty(formExtendAttributeDataList)) { List processTaskFormExtendAttributeList = processTaskMapper.getProcessTaskFormExtendAttributeListByProcessTaskIdAndTag(processTaskId, null); - Map processTaskFormExtendAttributeMap = processTaskFormExtendAttributeList.stream().collect(Collectors.toMap(e -> e.getParentUuid() + "#" + e.getKey(), e -> e)); + Map processTaskFormExtendAttributeMap = processTaskFormExtendAttributeList.stream().collect(Collectors.toMap(e -> e.getParentUuid() + "#" + e.getTag() + "#" + e.getKey(), e -> e)); for (int j = 0; j < formExtendAttributeDataList.size(); j++) { JSONObject formExtendAttributeDataObj = formExtendAttributeDataList.getJSONObject(j); if (MapUtils.isEmpty(formExtendAttributeDataObj)) { @@ -1009,7 +1009,7 @@ public class ProcessStepHandlerUtil implements IProcessStepHandlerUtil, IProcess String parentUuid = formExtendAttributeDataObj.getString("parentUuid"); String tag = formExtendAttributeDataObj.getString("tag"); String key = formExtendAttributeDataObj.getString("key"); - ProcessTaskFormAttributeVo processTaskFormAttributeVo = processTaskFormExtendAttributeMap.get(parentUuid + "#" + key); + ProcessTaskFormAttributeVo processTaskFormAttributeVo = processTaskFormExtendAttributeMap.get(parentUuid + "#" + tag + "#" + key); if (processTaskFormAttributeVo == null) { continue; } diff --git a/src/main/java/neatlogic/module/process/stephandler/component/ConditionProcessComponent.java b/src/main/java/neatlogic/module/process/stephandler/component/ConditionProcessComponent.java index d8884fdf3..af3464eba 100644 --- a/src/main/java/neatlogic/module/process/stephandler/component/ConditionProcessComponent.java +++ b/src/main/java/neatlogic/module/process/stephandler/component/ConditionProcessComponent.java @@ -128,7 +128,6 @@ public class ConditionProcessComponent extends ProcessStepHandlerBase { JSONArray moveonConfigList = (JSONArray) JSONPath.read(stepConfig, "moveonConfigList"); if (CollectionUtils.isNotEmpty(moveonConfigList)) { JSONArray ruleList = new JSONArray(); - List conditionProcessTaskOptions = Arrays.stream(ConditionProcessTaskOptions.values()).map(ConditionProcessTaskOptions::getValue).collect(Collectors.toList()); for (int i = 0; i < moveonConfigList.size(); i++) { JSONObject moveonConfig = moveonConfigList.getJSONObject(i); JSONArray targetStepList = moveonConfig.getJSONArray("targetStepList"); @@ -143,7 +142,7 @@ public class ConditionProcessComponent extends ProcessStepHandlerBase { } else if ("optional".equals(type)) {// 自定义 JSONArray conditionGroupList = moveonConfig.getJSONArray("conditionGroupList"); if (CollectionUtils.isNotEmpty(conditionGroupList)) { - JSONObject conditionParamData = ProcessTaskConditionFactory.getConditionParamData(conditionProcessTaskOptions, currentProcessTaskStepVo); + JSONObject conditionParamData = ProcessTaskConditionFactory.getConditionParamData(ConditionProcessTaskOptions.values(), currentProcessTaskStepVo); ConditionConfigVo conditionConfigVo = null; try { ConditionParamContext.init(conditionParamData).setTranslate(true); -- Gitee