From a1f8df90cf87be1fd7a3d4e2af06ae9ddea9beda Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Mon, 30 Mar 2026 09:34:22 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BD=BF=E7=94=A8=E5=B8=B8=E9=87=8F?= =?UTF-8?q?=E6=9B=BF=E4=BB=A3=E7=A1=AC=E7=BC=96=E7=A0=81=E7=9A=84=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=A0=87=E5=BF=97=EF=BC=8C=E4=BC=98=E5=8C=96=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/system/mapper/SysDeptMapper.java | 4 +- .../common/constant/FlowConstant.java | 9 +++ .../workflow/mapper/FlwHisTaskMapper.java | 43 +++++------- .../workflow/mapper/FlwTaskMapper.java | 68 ++++++++----------- .../workflow/mapper/FlwUserMapper.java | 68 ++++++++----------- 5 files changed, 87 insertions(+), 105 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java index fea218bf6..ce62f10b1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java @@ -19,6 +19,8 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import static org.dromara.common.core.constant.SystemConstants.NORMAL; + /** * 部门管理 数据层 * @@ -105,7 +107,7 @@ public interface SysDeptMapper extends BaseMapperPlus { .leftJoin(SysRoleDept.class, "srd", SysRoleDept::getDeptId, SysDept::getDeptId) .leftJoin(SysRole.class, "sr", SysRole::getRoleId, SysRoleDept::getRoleId) .eq("srd", SysRoleDept::getRoleId, roleId) - .eq("sr", SysRole::getStatus, "0") + .eq("sr", SysRole::getStatus, NORMAL) .orderByAsc("d", SysDept::getParentId) .orderByAsc("d", SysDept::getOrderNum)); Set parentIds = deptCheckStrictly ? new HashSet<>(StreamUtils.toList(depts, SysDept::getParentId)) : Collections.emptySet(); diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/constant/FlowConstant.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/constant/FlowConstant.java index 512a1348f..a2748db62 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/constant/FlowConstant.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/constant/FlowConstant.java @@ -108,4 +108,13 @@ public interface FlowConstant { */ String VAR_IGNORE_COOPERATE = "ignoreCooperate"; + /** + * 未删除(正常数据) + */ + Integer NOT_DELETED = 0; + + /** + * 已删除(逻辑删除) + */ + Integer DELETED = 1; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwHisTaskMapper.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwHisTaskMapper.java index 9bea9c884..4250b70a0 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwHisTaskMapper.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwHisTaskMapper.java @@ -1,5 +1,6 @@ package org.dromara.workflow.mapper; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -14,6 +15,9 @@ import org.dromara.workflow.domain.bo.FlowTaskBo; import org.dromara.workflow.domain.vo.FlowHisTaskVo; import java.util.List; +import java.util.Map; + +import static org.dromara.workflow.common.constant.FlowConstant.NOT_DELETED; /** * 任务信息Mapper接口 @@ -23,10 +27,8 @@ import java.util.List; */ public interface FlwHisTaskMapper extends BaseMapperPlus { - default Page getListFinishTask(Page page, - FlowTaskBo bo, - List categoryIds, - String userId) { + default Page getListFinishTask(Page page, FlowTaskBo bo, List categoryIds, String userId) { + Map params = bo.getParams(); MPJLambdaWrapper wrapper = JoinWrappers.lambda("a", FlowHisTask.class) .selectAs(FlowHisTask::getId, FlowHisTaskVo::getId) .selectAs(FlowHisTask::getNodeCode, FlowHisTaskVo::getNodeCode) @@ -58,17 +60,18 @@ public interface FlwHisTaskMapper extends BaseMapperPlus values) { - return values != null && !values.isEmpty(); - } - - default boolean hasBetween(FlowTaskBo bo) { - return bo != null && bo.getParams() != null && bo.getParams().get("beginTime") != null && bo.getParams().get("endTime") != null; - } - } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwTaskMapper.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwTaskMapper.java index afcb38d70..266eb310f 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwTaskMapper.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwTaskMapper.java @@ -1,5 +1,6 @@ package org.dromara.workflow.mapper; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -13,6 +14,9 @@ import org.dromara.workflow.domain.bo.FlowTaskBo; import org.dromara.workflow.domain.vo.FlowTaskVo; import java.util.List; +import java.util.Map; + +import static org.dromara.workflow.common.constant.FlowConstant.NOT_DELETED; /** * 任务信息Mapper接口 @@ -22,10 +26,8 @@ import java.util.List; */ public interface FlwTaskMapper extends BaseMapperPlus { - default Page getListRunTask(Page page, - FlowTaskBo bo, - List categoryIds, - String userId) { + default Page getListRunTask(Page page, FlowTaskBo bo, List categoryIds, String userId) { + Map params = bo.getParams(); MPJLambdaWrapper wrapper = JoinWrappers.lambda("t", FlowTask.class) .distinct() .selectAs(FlowTask::getId, FlowTaskVo::getId) @@ -54,16 +56,17 @@ public interface FlwTaskMapper extends BaseMapperPlus { .leftJoin(FlowInstance.class, "i", FlowInstance::getId, FlowTask::getInstanceId) .leftJoin(FlowInstanceBizExt.class, "biz", FlowInstanceBizExt::getInstanceId, FlowInstance::getId) .eq("t", FlowTask::getNodeType, NodeType.BETWEEN.getKey()) - .eq("t", FlowTask::getDelFlag, "0") - .eq("uu", FlowUser::getDelFlag, "0") + .eq("t", FlowTask::getDelFlag, NOT_DELETED) + .eq("uu", FlowUser::getDelFlag, NOT_DELETED) .in("uu", FlowUser::getType, List.of("1", "2", "3")) - .like(hasText(bo.getNodeName()), "t", FlowTask::getNodeName, bo.getNodeName()) - .like(hasText(bo.getFlowName()), "d", FlowDefinition::getFlowName, bo.getFlowName()) - .like(hasText(bo.getFlowCode()), "d", FlowDefinition::getFlowCode, bo.getFlowCode()) - .like(hasText(bo.getFlowStatus()), "i", FlowInstance::getFlowStatus, bo.getFlowStatus()) - .in(hasItems(bo.getCreateByIds()), "i", FlowInstance::getCreateBy, bo.getCreateByIds()) - .in(hasItems(categoryIds), "d", FlowDefinition::getCategory, categoryIds) - .between(hasBetween(bo), "t", FlowTask::getCreateTime, bo.getParams().get("beginTime"), bo.getParams().get("endTime")) + .like(StringUtils.isNotBlank(bo.getNodeName()), "t", FlowTask::getNodeName, bo.getNodeName()) + .like(StringUtils.isNotBlank(bo.getFlowName()), "d", FlowDefinition::getFlowName, bo.getFlowName()) + .like(StringUtils.isNotBlank(bo.getFlowCode()), "d", FlowDefinition::getFlowCode, bo.getFlowCode()) + .like(StringUtils.isNotBlank(bo.getFlowStatus()), "i", FlowInstance::getFlowStatus, bo.getFlowStatus()) + .in(CollUtil.isNotEmpty(bo.getCreateByIds()), "i", FlowInstance::getCreateBy, bo.getCreateByIds()) + .in(CollUtil.isNotEmpty(categoryIds), "d", FlowDefinition::getCategory, categoryIds) + .between(params.get("beginTime") != null && params.get("endTime") != null, + "t", FlowTask::getCreateTime, params.get("beginTime"), params.get("endTime")) .eq(StringUtils.isNotBlank(userId), "uu", FlowUser::getProcessedBy, userId) .eq(StringUtils.isNotBlank(userId), "i", FlowInstance::getFlowStatus, BusinessStatusEnum.WAITING.getStatus()) .orderByDesc("t", FlowTask::getCreateTime) @@ -71,10 +74,8 @@ public interface FlwTaskMapper extends BaseMapperPlus { return wrapper.page(page, FlowTaskVo.class); } - default Page getTaskCopyByPage(Page page, - FlowTaskBo bo, - List categoryIds, - String userId) { + default Page getTaskCopyByPage(Page page, FlowTaskBo bo, List categoryIds, String userId) { + Map params = bo.getParams(); MPJLambdaWrapper wrapper = JoinWrappers.lambda("a", FlowUser.class) .selectAs("b", FlowHisTask::getId, FlowTaskVo::getId) .selectAs("b", FlowHisTask::getUpdateTime, FlowTaskVo::getUpdateTime) @@ -98,32 +99,21 @@ public interface FlwTaskMapper extends BaseMapperPlus { .leftJoin(FlowDefinition.class, "d", FlowDefinition::getId, FlowInstance::getDefinitionId) .leftJoin(FlowInstanceBizExt.class, "biz", FlowInstanceBizExt::getInstanceId, FlowInstance::getId) .eq("a", FlowUser::getType, "4") - .eq("a", FlowUser::getDelFlag, "0") - .eq("b", FlowHisTask::getDelFlag, "0") - .eq("d", FlowDefinition::getDelFlag, "0") - .like(hasText(bo.getNodeName()), "b", FlowHisTask::getNodeName, bo.getNodeName()) - .like(hasText(bo.getFlowName()), "d", FlowDefinition::getFlowName, bo.getFlowName()) - .like(hasText(bo.getFlowCode()), "d", FlowDefinition::getFlowCode, bo.getFlowCode()) - .like(hasText(bo.getFlowStatus()), "c", FlowInstance::getFlowStatus, bo.getFlowStatus()) - .in(hasItems(bo.getCreateByIds()), "c", FlowInstance::getCreateBy, bo.getCreateByIds()) - .in(hasItems(categoryIds), "d", FlowDefinition::getCategory, categoryIds) - .between(hasBetween(bo), "a", FlowUser::getCreateTime, bo.getParams().get("beginTime"), bo.getParams().get("endTime")) + .eq("a", FlowUser::getDelFlag, NOT_DELETED) + .eq("b", FlowHisTask::getDelFlag, NOT_DELETED) + .eq("d", FlowDefinition::getDelFlag, NOT_DELETED) + .like(StringUtils.isNotBlank(bo.getNodeName()), "b", FlowHisTask::getNodeName, bo.getNodeName()) + .like(StringUtils.isNotBlank(bo.getFlowName()), "d", FlowDefinition::getFlowName, bo.getFlowName()) + .like(StringUtils.isNotBlank(bo.getFlowCode()), "d", FlowDefinition::getFlowCode, bo.getFlowCode()) + .like(StringUtils.isNotBlank(bo.getFlowStatus()), "c", FlowInstance::getFlowStatus, bo.getFlowStatus()) + .in(CollUtil.isNotEmpty(bo.getCreateByIds()), "c", FlowInstance::getCreateBy, bo.getCreateByIds()) + .in(CollUtil.isNotEmpty(categoryIds), "d", FlowDefinition::getCategory, categoryIds) + .between(params.get("beginTime") != null && params.get("endTime") != null, + "a", FlowUser::getCreateTime, params.get("beginTime"), params.get("endTime")) .eq(StringUtils.isNotBlank(userId), "a", FlowUser::getProcessedBy, userId) .orderByDesc("a", FlowUser::getCreateTime) .orderByDesc("b", FlowHisTask::getUpdateTime); return wrapper.page(page, FlowTaskVo.class); } - default boolean hasText(String value) { - return StringUtils.isNotBlank(value); - } - - default boolean hasItems(List values) { - return values != null && !values.isEmpty(); - } - - default boolean hasBetween(FlowTaskBo bo) { - return bo != null && bo.getParams() != null && bo.getParams().get("beginTime") != null && bo.getParams().get("endTime") != null; - } - } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwUserMapper.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwUserMapper.java index af369b20b..60b9e3c2c 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwUserMapper.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwUserMapper.java @@ -1,5 +1,6 @@ package org.dromara.workflow.mapper; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -13,6 +14,9 @@ import org.dromara.workflow.domain.bo.FlowTaskBo; import org.dromara.workflow.domain.vo.FlowTaskVo; import java.util.List; +import java.util.Map; + +import static org.dromara.workflow.common.constant.FlowConstant.NOT_DELETED; /** * 任务信息Mapper接口 @@ -22,10 +26,8 @@ import java.util.List; */ public interface FlwUserMapper extends BaseMapperPlus { - default Page getListRunTask(Page page, - FlowTaskBo bo, - List categoryIds, - String userId) { + default Page getListRunTask(Page page, FlowTaskBo bo, List categoryIds, String userId) { + Map params = bo.getParams(); MPJLambdaWrapper wrapper = JoinWrappers.lambda("t", FlowTask.class) .distinct() .selectAs(FlowTask::getId, FlowTaskVo::getId) @@ -54,16 +56,17 @@ public interface FlwUserMapper extends BaseMapperPlus { .leftJoin(FlowInstance.class, "i", FlowInstance::getId, FlowTask::getInstanceId) .leftJoin(FlowInstanceBizExt.class, "biz", FlowInstanceBizExt::getInstanceId, FlowInstance::getId) .eq("t", FlowTask::getNodeType, NodeType.BETWEEN.getKey()) - .eq("t", FlowTask::getDelFlag, "0") - .eq("uu", FlowUser::getDelFlag, "0") + .eq("t", FlowTask::getDelFlag, NOT_DELETED) + .eq("uu", FlowUser::getDelFlag, NOT_DELETED) .in("uu", FlowUser::getType, List.of("1", "2", "3")) - .like(hasText(bo.getNodeName()), "t", FlowTask::getNodeName, bo.getNodeName()) - .like(hasText(bo.getFlowName()), "d", FlowDefinition::getFlowName, bo.getFlowName()) - .like(hasText(bo.getFlowCode()), "d", FlowDefinition::getFlowCode, bo.getFlowCode()) - .like(hasText(bo.getFlowStatus()), "i", FlowInstance::getFlowStatus, bo.getFlowStatus()) - .in(hasItems(bo.getCreateByIds()), "i", FlowInstance::getCreateBy, bo.getCreateByIds()) - .in(hasItems(categoryIds), "d", FlowDefinition::getCategory, categoryIds) - .between(hasBetween(bo), "t", FlowTask::getCreateTime, bo.getParams().get("beginTime"), bo.getParams().get("endTime")) + .like(StringUtils.isNotBlank(bo.getNodeName()), "t", FlowTask::getNodeName, bo.getNodeName()) + .like(StringUtils.isNotBlank(bo.getFlowName()), "d", FlowDefinition::getFlowName, bo.getFlowName()) + .like(StringUtils.isNotBlank(bo.getFlowCode()), "d", FlowDefinition::getFlowCode, bo.getFlowCode()) + .like(StringUtils.isNotBlank(bo.getFlowStatus()), "i", FlowInstance::getFlowStatus, bo.getFlowStatus()) + .in(CollUtil.isNotEmpty(bo.getCreateByIds()), "i", FlowInstance::getCreateBy, bo.getCreateByIds()) + .in(CollUtil.isNotEmpty(categoryIds), "d", FlowDefinition::getCategory, categoryIds) + .between(params.get("beginTime") != null && params.get("endTime") != null, + "t", FlowTask::getCreateTime, params.get("beginTime"), params.get("endTime")) .eq(StringUtils.isNotBlank(userId), "uu", FlowUser::getProcessedBy, userId) .eq(StringUtils.isNotBlank(userId), "i", FlowInstance::getFlowStatus, BusinessStatusEnum.WAITING.getStatus()) .orderByDesc("t", FlowTask::getCreateTime) @@ -71,10 +74,8 @@ public interface FlwUserMapper extends BaseMapperPlus { return wrapper.page(page, FlowTaskVo.class); } - default Page getTaskCopyByPage(Page page, - FlowTaskBo bo, - List categoryIds, - String userId) { + default Page getTaskCopyByPage(Page page, FlowTaskBo bo, List categoryIds, String userId) { + Map params = bo.getParams(); MPJLambdaWrapper wrapper = JoinWrappers.lambda("a", FlowUser.class) .selectAs("b", FlowHisTask::getId, FlowTaskVo::getId) .selectAs("b", FlowHisTask::getUpdateTime, FlowTaskVo::getUpdateTime) @@ -98,32 +99,21 @@ public interface FlwUserMapper extends BaseMapperPlus { .leftJoin(FlowDefinition.class, "d", FlowDefinition::getId, FlowInstance::getDefinitionId) .leftJoin(FlowInstanceBizExt.class, "biz", FlowInstanceBizExt::getInstanceId, FlowInstance::getId) .eq("a", FlowUser::getType, "4") - .eq("a", FlowUser::getDelFlag, "0") - .eq("b", FlowHisTask::getDelFlag, "0") - .eq("d", FlowDefinition::getDelFlag, "0") - .like(hasText(bo.getNodeName()), "b", FlowHisTask::getNodeName, bo.getNodeName()) - .like(hasText(bo.getFlowName()), "d", FlowDefinition::getFlowName, bo.getFlowName()) - .like(hasText(bo.getFlowCode()), "d", FlowDefinition::getFlowCode, bo.getFlowCode()) - .like(hasText(bo.getFlowStatus()), "c", FlowInstance::getFlowStatus, bo.getFlowStatus()) - .in(hasItems(bo.getCreateByIds()), "c", FlowInstance::getCreateBy, bo.getCreateByIds()) - .in(hasItems(categoryIds), "d", FlowDefinition::getCategory, categoryIds) - .between(hasBetween(bo), "a", FlowUser::getCreateTime, bo.getParams().get("beginTime"), bo.getParams().get("endTime")) + .eq("a", FlowUser::getDelFlag, NOT_DELETED) + .eq("b", FlowHisTask::getDelFlag, NOT_DELETED) + .eq("d", FlowDefinition::getDelFlag, NOT_DELETED) + .like(StringUtils.isNotBlank(bo.getNodeName()), "b", FlowHisTask::getNodeName, bo.getNodeName()) + .like(StringUtils.isNotBlank(bo.getFlowName()), "d", FlowDefinition::getFlowName, bo.getFlowName()) + .like(StringUtils.isNotBlank(bo.getFlowCode()), "d", FlowDefinition::getFlowCode, bo.getFlowCode()) + .like(StringUtils.isNotBlank(bo.getFlowStatus()), "c", FlowInstance::getFlowStatus, bo.getFlowStatus()) + .in(CollUtil.isNotEmpty(bo.getCreateByIds()), "c", FlowInstance::getCreateBy, bo.getCreateByIds()) + .in(CollUtil.isNotEmpty(categoryIds), "d", FlowDefinition::getCategory, categoryIds) + .between(params.get("beginTime") != null && params.get("endTime") != null, + "a", FlowUser::getCreateTime, params.get("beginTime"), params.get("endTime")) .eq(StringUtils.isNotBlank(userId), "a", FlowUser::getProcessedBy, userId) .orderByDesc("a", FlowUser::getCreateTime) .orderByDesc("b", FlowHisTask::getUpdateTime); return wrapper.page(page, FlowTaskVo.class); } - default boolean hasText(String value) { - return StringUtils.isNotBlank(value); - } - - default boolean hasItems(List values) { - return values != null && !values.isEmpty(); - } - - default boolean hasBetween(FlowTaskBo bo) { - return bo != null && bo.getParams() != null && bo.getParams().get("beginTime") != null && bo.getParams().get("endTime") != null; - } - }