diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/domain/BaseEntity.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/domain/BaseEntity.java index 13a794162..18cbdf2ea 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/domain/BaseEntity.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/domain/BaseEntity.java @@ -1,6 +1,7 @@ package org.dromara.common.mybatis.core.domain; import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; @@ -33,19 +34,19 @@ public class BaseEntity implements Serializable { /** * 创建部门 */ - @TableField(fill = FieldFill.INSERT) + @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NEVER) private Long createDept; /** * 创建者 */ - @TableField(fill = FieldFill.INSERT) + @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NEVER) private Long createBy; /** * 创建时间 */ - @TableField(fill = FieldFill.INSERT) + @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NEVER) private Date createTime; /** @@ -67,4 +68,4 @@ public class BaseEntity implements Serializable { @TableField(exist = false) private Map params = new HashMap<>(); -} +} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index b3e789bdb..686d1f0c5 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -527,20 +527,19 @@ public class FlwTaskServiceImpl implements IFlwTaskService { } //获取可驳回的前置节点 List nodes = nodeService.previousNodeList(task.getDefinitionId(), nowNodeCode); - List taskList = hisTaskService.getByInsId(task.getInstanceId()); - + List hisTaskList = hisTaskService.getByInsId(task.getInstanceId()); Map nodeMap = StreamUtils.toIdentityMap(nodes, Node::getNodeCode); + Set added = new HashSet<>(); List backNodeList = new ArrayList<>(); - for (HisTask hisTask : taskList) { + for (HisTask hisTask : hisTaskList) { Node nodeValue = nodeMap.get(hisTask.getNodeCode()); - if (nodeValue != null) { + if (nodeValue != null && NodeType.BETWEEN.getKey().equals(nodeValue.getNodeType()) && added.add(nodeValue.getNodeCode())) { backNodeList.add(nodeValue); } } if (CollUtil.isNotEmpty(backNodeList)) { - List prefixOrSuffixNodes = StreamUtils.filter(backNodeList, e -> NodeType.BETWEEN.getKey().equals(e.getNodeType())); - Collections.reverse(prefixOrSuffixNodes); - return prefixOrSuffixNodes; + Collections.reverse(backNodeList); + return backNodeList; } return nodes; }