diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceCopyController.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceCopyController.java index 89bba8e..1e39af4 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceCopyController.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceCopyController.java @@ -66,15 +66,15 @@ public class BpmProcessInstanceCopyController { Map processInstanceMap = processInstanceService.getHistoricProcessInstanceMap( convertSet(pageResult.getList(), BpmProcessInstanceCopyDO::getProcessInstanceId)); Map userMap = adminUserApi.getUserMap(convertListByFlatMap(pageResult.getList(), - copy -> Stream.of(copy.getStartUserId(), Long.parseLong(copy.getCreator())))); + copy -> Stream.of(copy.getStartUserId(), copy.getUserId()))); Map processDefinitionInfoMap = processDefinitionService.getProcessDefinitionInfoMap( convertSet(pageResult.getList(), BpmProcessInstanceCopyDO::getProcessDefinitionId)); return success(convertPage(pageResult, copy -> { BpmProcessInstanceCopyRespVO copyVO = BeanUtils.toBean(copy, BpmProcessInstanceCopyRespVO.class); - MapUtils.findAndThen(userMap, Long.valueOf(copy.getCreator()), - user -> copyVO.setStartUser(BeanUtils.toBean(user, UserSimpleBaseVO.class))); - MapUtils.findAndThen(userMap, copy.getStartUserId(), + MapUtils.findAndThen(userMap, copy.getUserId(), user -> copyVO.setCreateUser(BeanUtils.toBean(user, UserSimpleBaseVO.class))); + MapUtils.findAndThen(userMap, copy.getStartUserId(), + user -> copyVO.setStartUser(BeanUtils.toBean(user, UserSimpleBaseVO.class))); MapUtils.findAndThen(processInstanceMap, copyVO.getProcessInstanceId(), processInstance -> { copyVO.setSummary(FlowableUtils.getSummary( diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmConditionOpCodeEnum.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmConditionOpCodeEnum.java index 71fc8ae..3737d0a 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmConditionOpCodeEnum.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmConditionOpCodeEnum.java @@ -11,12 +11,14 @@ import lombok.RequiredArgsConstructor; @RequiredArgsConstructor @Getter public enum BpmConditionOpCodeEnum { + EQ("==", "等于", " var:getOrDefault(%s, null) == %s "), NE("!=", "不等于", " var:getOrDefault(%s, null) != %s "), GT(">", "大于", " var:getOrDefault(%s, null) > %s "), GE(">=", "大于等于", " var:getOrDefault(%s, null) >= %s "), LT("<", "小于", " var:getOrDefault(%s, null) < %s "), LE("<=", "小于等于", " var:getOrDefault(%s, null) <= %s "), + CONTAINS("contain", "包含", " var:contains(%s, %s) "), NOT_CONTAINS("!contain", "不包含", " !var:contains(%s, %s) "); diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/el/VariableConvertByTypeExpressionFunction.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/el/VariableConvertByTypeExpressionFunction.java index 0e18176..8a6482b 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/el/VariableConvertByTypeExpressionFunction.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/el/VariableConvertByTypeExpressionFunction.java @@ -7,10 +7,10 @@ import org.springframework.stereotype.Component; /** * 根据流程变量 variable 的类型,转换参数的值 * - * 目前用于 ConditionNodeConvert 的 buildConditionExpression 方法中 - * + * @deprecated 已无调用方 * @author jason */ +@Deprecated // TODO @芋艿:兼容老版本,预计 27 年删除; @Component public class VariableConvertByTypeExpressionFunction extends AbstractFlowableVariableExpressionFunction { diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/FlowableUtils.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/FlowableUtils.java index b9c3d72..4c91611 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/FlowableUtils.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/FlowableUtils.java @@ -275,13 +275,10 @@ public class FlowableUtils { /** * 递归解析表单字段 */ - private static void parseFormField(BpmFormFieldVO formField, - Map formFieldsMap) { - + private static void parseFormField(BpmFormFieldVO formField, Map formFieldsMap) { if (formField == null) { return; } - // 如果存在 children -> 说明是布局组件 if (formField.getChildren() != null && !formField.getChildren().isEmpty()) { for (BpmFormFieldVO child : formField.getChildren()) { @@ -289,7 +286,6 @@ public class FlowableUtils { } return; } - // 真实字段才加入 map if (StrUtil.isNotBlank(formField.getField())) { formFieldsMap.put(formField.getField(), formField); diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java index f11ab26..9cb44a7 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java @@ -705,7 +705,6 @@ public class SimpleModelUtils { } // 构造规则表达式 List list = convertList(item.getRules(), (rule) -> { - // TODO @芋艿:官方文档中无convertByType方法,https://flowable.me/blog/2025/04/02/back-end-expressions/ String rightSide = NumberUtil.isNumber(rule.getRightSide()) ? rule.getRightSide() : "\"" + rule.getRightSide() + "\""; // 如果非数值类型加引号 return String.format(BpmConditionOpCodeEnum.fromCode(rule.getOpCode()).getSymbol(),