From 0d0725d53e33657d53f7d6236d98df40c3a7b859 Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Mon, 16 Dec 2024 17:08:11 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=A2=9E=E5=8A=A0=E7=B1=BB=E5=88=AB=E6=A0=91?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/mapper/FlwCategoryMapper.java | 16 ++++++++++++++++ .../service/impl/FlwDefinitionServiceImpl.java | 15 ++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwCategoryMapper.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwCategoryMapper.java index bad2465ac..91d455b18 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwCategoryMapper.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwCategoryMapper.java @@ -1,11 +1,15 @@ package org.dromara.workflow.mapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.dromara.common.mybatis.annotation.DataColumn; import org.dromara.common.mybatis.annotation.DataPermission; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.common.mybatis.helper.DataBaseHelper; import org.dromara.workflow.domain.FlowCategory; import org.dromara.workflow.domain.vo.FlowCategoryVo; +import java.util.List; + /** * 流程分类Mapper接口 * @@ -25,4 +29,16 @@ public interface FlwCategoryMapper extends BaseMapperPlus selectListByParentId(Long parentId) { + return this.selectList(new LambdaQueryWrapper() + .select(FlowCategory::getCategoryId) + .apply(DataBaseHelper.findInSet(parentId, "ancestors"))); + } + } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java index d0073d5f4..42a4c3919 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java @@ -2,6 +2,7 @@ package org.dromara.workflow.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -28,7 +29,9 @@ import org.dromara.warm.flow.orm.entity.FlowDefinition; import org.dromara.warm.flow.orm.entity.FlowHisTask; import org.dromara.warm.flow.orm.mapper.FlowDefinitionMapper; import org.dromara.warm.flow.orm.mapper.FlowHisTaskMapper; +import org.dromara.workflow.domain.FlowCategory; import org.dromara.workflow.domain.vo.FlowDefinitionVo; +import org.dromara.workflow.mapper.FlwCategoryMapper; import org.dromara.workflow.mapper.FlwDefMapper; import org.dromara.workflow.service.IFlwDefinitionService; import org.springframework.stereotype.Service; @@ -37,6 +40,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.List; +import java.util.stream.Collectors; /** * 流程定义 服务层实现 @@ -52,6 +56,7 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService { private final FlowDefinitionMapper flowDefinitionMapper; private final FlwDefMapper flwDefMapper; private final FlowHisTaskMapper flowHisTaskMapper; + private final FlwCategoryMapper flwCategoryMapper; /** * 查询流程定义列表 @@ -64,7 +69,15 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(flowDefinition.getFlowCode()), "flow_code", flowDefinition.getFlowCode()); queryWrapper.like(StringUtils.isNotBlank(flowDefinition.getFlowName()), "flow_Name", flowDefinition.getFlowName()); - queryWrapper.eq(StringUtils.isNotBlank(flowDefinition.getCategory()), "category", flowDefinition.getCategory()); + if (StringUtils.isNotBlank(flowDefinition.getCategory())) { + Long categoryId = Convert.toLong(flowDefinition.getCategory()); + List categoryIds = flwCategoryMapper.selectListByParentId(categoryId) + .stream() + .map(FlowCategory::getCategoryId) + .collect(Collectors.toList()); + categoryIds.add(categoryId); + queryWrapper.in("category", categoryIds); + } queryWrapper.orderByDesc("create_time"); Page page = flwDefMapper.selectDefinitionList(pageQuery.build(), queryWrapper); return TableDataInfo.build(page);