mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-09-19 01:48:47 +08:00
update 优化流程定义增加类别树查询
This commit is contained in:
parent
3d5c00f03d
commit
0d0725d53e
@ -1,11 +1,15 @@
|
|||||||
package org.dromara.workflow.mapper;
|
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.DataColumn;
|
||||||
import org.dromara.common.mybatis.annotation.DataPermission;
|
import org.dromara.common.mybatis.annotation.DataPermission;
|
||||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
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.FlowCategory;
|
||||||
import org.dromara.workflow.domain.vo.FlowCategoryVo;
|
import org.dromara.workflow.domain.vo.FlowCategoryVo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程分类Mapper接口
|
* 流程分类Mapper接口
|
||||||
*
|
*
|
||||||
@ -25,4 +29,16 @@ public interface FlwCategoryMapper extends BaseMapperPlus<FlowCategory, FlowCate
|
|||||||
})
|
})
|
||||||
long countCategoryById(Long categoryId);
|
long countCategoryById(Long categoryId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据父流程分类ID查询其所有子流程分类的列表
|
||||||
|
*
|
||||||
|
* @param parentId 父流程分类ID
|
||||||
|
* @return 包含子流程分类的列表
|
||||||
|
*/
|
||||||
|
default List<FlowCategory> selectListByParentId(Long parentId) {
|
||||||
|
return this.selectList(new LambdaQueryWrapper<FlowCategory>()
|
||||||
|
.select(FlowCategory::getCategoryId)
|
||||||
|
.apply(DataBaseHelper.findInSet(parentId, "ancestors")));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package org.dromara.workflow.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
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.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
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.entity.FlowHisTask;
|
||||||
import org.dromara.warm.flow.orm.mapper.FlowDefinitionMapper;
|
import org.dromara.warm.flow.orm.mapper.FlowDefinitionMapper;
|
||||||
import org.dromara.warm.flow.orm.mapper.FlowHisTaskMapper;
|
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.domain.vo.FlowDefinitionVo;
|
||||||
|
import org.dromara.workflow.mapper.FlwCategoryMapper;
|
||||||
import org.dromara.workflow.mapper.FlwDefMapper;
|
import org.dromara.workflow.mapper.FlwDefMapper;
|
||||||
import org.dromara.workflow.service.IFlwDefinitionService;
|
import org.dromara.workflow.service.IFlwDefinitionService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -37,6 +40,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程定义 服务层实现
|
* 流程定义 服务层实现
|
||||||
@ -52,6 +56,7 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
|
|||||||
private final FlowDefinitionMapper flowDefinitionMapper;
|
private final FlowDefinitionMapper flowDefinitionMapper;
|
||||||
private final FlwDefMapper flwDefMapper;
|
private final FlwDefMapper flwDefMapper;
|
||||||
private final FlowHisTaskMapper flowHisTaskMapper;
|
private final FlowHisTaskMapper flowHisTaskMapper;
|
||||||
|
private final FlwCategoryMapper flwCategoryMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询流程定义列表
|
* 查询流程定义列表
|
||||||
@ -64,7 +69,15 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
|
|||||||
QueryWrapper<FlowDefinition> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<FlowDefinition> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.like(StringUtils.isNotBlank(flowDefinition.getFlowCode()), "flow_code", flowDefinition.getFlowCode());
|
queryWrapper.like(StringUtils.isNotBlank(flowDefinition.getFlowCode()), "flow_code", flowDefinition.getFlowCode());
|
||||||
queryWrapper.like(StringUtils.isNotBlank(flowDefinition.getFlowName()), "flow_Name", flowDefinition.getFlowName());
|
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<Long> categoryIds = flwCategoryMapper.selectListByParentId(categoryId)
|
||||||
|
.stream()
|
||||||
|
.map(FlowCategory::getCategoryId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
categoryIds.add(categoryId);
|
||||||
|
queryWrapper.in("category", categoryIds);
|
||||||
|
}
|
||||||
queryWrapper.orderByDesc("create_time");
|
queryWrapper.orderByDesc("create_time");
|
||||||
Page<FlowDefinitionVo> page = flwDefMapper.selectDefinitionList(pageQuery.build(), queryWrapper);
|
Page<FlowDefinitionVo> page = flwDefMapper.selectDefinitionList(pageQuery.build(), queryWrapper);
|
||||||
return TableDataInfo.build(page);
|
return TableDataInfo.build(page);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user