update 根据分页对象构建表格分页数据对象

This commit is contained in:
AprilWind 2024-12-16 15:51:45 +08:00
parent 568ba3dcfe
commit 640981b6d6
10 changed files with 67 additions and 52 deletions

View File

@ -18,7 +18,6 @@ public interface TaskAssigneeService {
*/
TaskAssigneeDTO selectRolesByTaskAssigneeList(TaskAssigneeBody taskQuery);
/**
* 查询岗位并返回任务指派的列表支持分页
*
@ -27,7 +26,6 @@ public interface TaskAssigneeService {
*/
TaskAssigneeDTO selectPostsByTaskAssigneeList(TaskAssigneeBody taskQuery);
/**
* 查询部门并返回任务指派的列表支持分页
*

View File

@ -34,25 +34,25 @@ public class FlwInstanceController extends BaseController {
private final InsService insService;
/**
* 分页查询正在运行的流程实例
* 查询正在运行的流程实例列表
*
* @param flowInstanceBo 参数
* @param pageQuery 分页
* @param flowInstanceBo 流程实例
* @param pageQuery 分页
*/
@GetMapping("/pageByRunning")
public TableDataInfo<FlowInstanceVo> pageByRunning(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
return flwInstanceService.pageByRunning(flowInstanceBo, pageQuery);
public TableDataInfo<FlowInstanceVo> selectRunningInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
return flwInstanceService.selectRunningInstanceList(flowInstanceBo, pageQuery);
}
/**
* 分页查询已结束的流程实例
* 查询已结束的流程实例列表
*
* @param flowInstanceBo 参数
* @param pageQuery 分页
* @param flowInstanceBo 流程实例
* @param pageQuery 分页
*/
@GetMapping("/pageByFinish")
public TableDataInfo<FlowInstanceVo> pageByFinish(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
return flwInstanceService.pageByFinish(flowInstanceBo, pageQuery);
public TableDataInfo<FlowInstanceVo> selectFinishInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
return flwInstanceService.selectFinishInstanceList(flowInstanceBo, pageQuery);
}
/**
@ -103,8 +103,8 @@ public class FlwInstanceController extends BaseController {
* @param pageQuery 分页
*/
@GetMapping("/pageByCurrent")
public TableDataInfo<FlowInstanceVo> pageByCurrent(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
return flwInstanceService.pageByCurrent(flowInstanceBo, pageQuery);
public TableDataInfo<FlowInstanceVo> selectCurrentInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
return flwInstanceService.selectCurrentInstanceList(flowInstanceBo, pageQuery);
}
/**

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.dromara.warm.flow.orm.entity.FlowDefinition;
import org.dromara.workflow.domain.vo.FlowDefinitionVo;
/**
* 实例信息Mapper接口
@ -21,6 +22,6 @@ public interface FlwDefMapper {
* @param queryWrapper 条件
* @return 结果
*/
Page<FlowDefinition> selectDefinitionList(@Param("page") Page<FlowDefinition> page, @Param(Constants.WRAPPER) Wrapper<FlowDefinition> queryWrapper);
Page<FlowDefinitionVo> selectDefinitionList(@Param("page") Page<FlowDefinition> page, @Param(Constants.WRAPPER) Wrapper<FlowDefinition> queryWrapper);
}

View File

@ -22,6 +22,6 @@ public interface FlwInstanceMapper {
* @param queryWrapper 条件
* @return 结果
*/
Page<FlowInstanceVo> page(@Param("page") Page<FlowInstanceVo> page, @Param(Constants.WRAPPER) Wrapper<FlowInstanceBo> queryWrapper);
Page<FlowInstanceVo> selectInstanceList(@Param("page") Page<FlowInstanceVo> page, @Param(Constants.WRAPPER) Wrapper<FlowInstanceBo> queryWrapper);
}

View File

@ -25,7 +25,7 @@ public interface IFlwInstanceService {
* @param pageQuery 分页
* @return 结果
*/
TableDataInfo<FlowInstanceVo> pageByRunning(FlowInstanceBo flowInstanceBo, PageQuery pageQuery);
TableDataInfo<FlowInstanceVo> selectRunningInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery);
/**
* 分页查询已结束的流程实例
@ -34,7 +34,7 @@ public interface IFlwInstanceService {
* @param pageQuery 分页
* @return 结果
*/
TableDataInfo<FlowInstanceVo> pageByFinish(FlowInstanceBo flowInstanceBo, PageQuery pageQuery);
TableDataInfo<FlowInstanceVo> selectFinishInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery);
/**
* 按照业务id查询流程实例
@ -91,7 +91,7 @@ public interface IFlwInstanceService {
* @param pageQuery 分页
* @return 结果
*/
TableDataInfo<FlowInstanceVo> pageByCurrent(FlowInstanceBo instanceBo, PageQuery pageQuery);
TableDataInfo<FlowInstanceVo> selectCurrentInstanceList(FlowInstanceBo instanceBo, PageQuery pageQuery);
/**
* 获取流程图,流程记录

View File

@ -47,6 +47,7 @@ import java.util.List;
@RequiredArgsConstructor
@Service
public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
private final DefService defService;
private final FlowDefinitionMapper flowDefinitionMapper;
private final FlwDefMapper flwDefMapper;
@ -65,11 +66,8 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
queryWrapper.like(StringUtils.isNotBlank(flowDefinition.getFlowName()), "flow_Name", flowDefinition.getFlowName());
queryWrapper.eq(StringUtils.isNotBlank(flowDefinition.getCategory()), "category", flowDefinition.getCategory());
queryWrapper.orderByDesc("create_time");
Page<FlowDefinition> page = flwDefMapper.selectDefinitionList(pageQuery.build(), queryWrapper);
TableDataInfo<FlowDefinitionVo> build = TableDataInfo.build();
build.setRows(BeanUtil.copyToList(page.getRecords(), FlowDefinitionVo.class));
build.setTotal(page.getTotal());
return build;
Page<FlowDefinitionVo> page = flwDefMapper.selectDefinitionList(pageQuery.build(), queryWrapper);
return TableDataInfo.build(page);
}
/**

View File

@ -20,7 +20,10 @@ import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.warm.flow.core.FlowFactory;
import org.dromara.warm.flow.core.constant.ExceptionCons;
import org.dromara.warm.flow.core.dto.FlowParams;
import org.dromara.warm.flow.core.entity.*;
import org.dromara.warm.flow.core.entity.Definition;
import org.dromara.warm.flow.core.entity.Instance;
import org.dromara.warm.flow.core.entity.Node;
import org.dromara.warm.flow.core.entity.Task;
import org.dromara.warm.flow.core.enums.NodeType;
import org.dromara.warm.flow.core.enums.SkipType;
import org.dromara.warm.flow.core.service.DefService;
@ -28,7 +31,10 @@ import org.dromara.warm.flow.core.service.InsService;
import org.dromara.warm.flow.core.service.NodeService;
import org.dromara.warm.flow.core.service.TaskService;
import org.dromara.warm.flow.core.utils.AssertUtil;
import org.dromara.warm.flow.orm.entity.*;
import org.dromara.warm.flow.orm.entity.FlowHisTask;
import org.dromara.warm.flow.orm.entity.FlowInstance;
import org.dromara.warm.flow.orm.entity.FlowNode;
import org.dromara.warm.flow.orm.entity.FlowTask;
import org.dromara.warm.flow.orm.mapper.FlowHisTaskMapper;
import org.dromara.warm.flow.orm.mapper.FlowInstanceMapper;
import org.dromara.warm.flow.orm.mapper.FlowNodeMapper;
@ -78,14 +84,11 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
* @param pageQuery 分页
*/
@Override
public TableDataInfo<FlowInstanceVo> pageByRunning(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
public TableDataInfo<FlowInstanceVo> selectRunningInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
QueryWrapper<FlowInstanceBo> queryWrapper = buildQueryWrapper(flowInstanceBo);
queryWrapper.in("fi.flow_status", BusinessStatusEnum.runningStatus());
Page<FlowInstanceVo> page = flwInstanceMapper.page(pageQuery.build(), queryWrapper);
TableDataInfo<FlowInstanceVo> build = TableDataInfo.build();
build.setRows(BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class));
build.setTotal(page.getTotal());
return build;
Page<FlowInstanceVo> page = flwInstanceMapper.selectInstanceList(pageQuery.build(), queryWrapper);
return TableDataInfo.build(page);
}
/**
@ -95,14 +98,11 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
* @param pageQuery 分页
*/
@Override
public TableDataInfo<FlowInstanceVo> pageByFinish(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
public TableDataInfo<FlowInstanceVo> selectFinishInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
QueryWrapper<FlowInstanceBo> queryWrapper = buildQueryWrapper(flowInstanceBo);
queryWrapper.in("fi.flow_status", BusinessStatusEnum.finishStatus());
Page<FlowInstanceVo> page = flwInstanceMapper.page(pageQuery.build(), queryWrapper);
TableDataInfo<FlowInstanceVo> build = TableDataInfo.build();
build.setRows(BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class));
build.setTotal(page.getTotal());
return build;
Page<FlowInstanceVo> page = flwInstanceMapper.selectInstanceList(pageQuery.build(), queryWrapper);
return TableDataInfo.build(page);
}
/**
@ -227,18 +227,15 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
/**
* 获取当前登陆人发起的流程实例
*
* @param instanceBo 参数
* @param instanceBo 流程实例
* @param pageQuery 分页
*/
@Override
public TableDataInfo<FlowInstanceVo> pageByCurrent(FlowInstanceBo instanceBo, PageQuery pageQuery) {
public TableDataInfo<FlowInstanceVo> selectCurrentInstanceList(FlowInstanceBo instanceBo, PageQuery pageQuery) {
QueryWrapper<FlowInstanceBo> queryWrapper = buildQueryWrapper(instanceBo);
queryWrapper.eq("fi.create_by", LoginHelper.getUserIdStr());
Page<FlowInstanceVo> page = flwInstanceMapper.page(pageQuery.build(), queryWrapper);
TableDataInfo<FlowInstanceVo> build = TableDataInfo.build();
build.setRows(BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class));
build.setTotal(page.getTotal());
return build;
Page<FlowInstanceVo> page = flwInstanceMapper.selectInstanceList(pageQuery.build(), queryWrapper);
return TableDataInfo.build(page);
}
/**
@ -249,7 +246,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
@Override
public Map<String, Object> flowImage(String businessId) {
Map<String, Object> map = new HashMap<>(16);
FlowInstance flowInstance = selectInstByBusinessId(businessId);
FlowInstance flowInstance = this.selectInstByBusinessId(businessId);
if (flowInstance == null) {
throw new ServiceException(ExceptionCons.NOT_FOUNT_INSTANCE);
}
@ -357,10 +354,10 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
if (task == null) {
FlowHisTask flowHisTask = flwTaskService.selectHisTaskById(taskId);
if (flowHisTask != null) {
return selectInstById(flowHisTask.getInstanceId());
return this.selectInstById(flowHisTask.getInstanceId());
}
} else {
return selectInstById(task.getInstanceId());
return this.selectInstById(task.getInstanceId());
}
return null;
}
@ -385,7 +382,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
instanceIds.add(flowHisTask.getInstanceId());
}
if (!instanceIds.isEmpty()) {
return selectInstListByIdList(new ArrayList<>(instanceIds));
return this.selectInstListByIdList(new ArrayList<>(instanceIds));
}
return Collections.emptyList();
}

View File

@ -249,7 +249,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
queryWrapper.eq("t.node_type", NodeType.BETWEEN.getKey());
queryWrapper.in("t.processed_by", SpringUtils.getBean(WorkflowPermissionHandler.class).permissions());
queryWrapper.in("t.flow_status", BusinessStatusEnum.WAITING.getStatus());
Page<FlowTaskVo> page = getFlowTaskVoPage(pageQuery, queryWrapper);
Page<FlowTaskVo> page = this.getFlowTaskVoPage(pageQuery, queryWrapper);
return TableDataInfo.build(page);
}

View File

@ -3,8 +3,26 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.workflow.mapper.FlwDefMapper">
<resultMap type="org.dromara.workflow.domain.vo.FlowDefinitionVo" id="FlowDefinitionResult">
<result property="id" column="id"/>
<result property="flowCode" column="flow_code"/>
<result property="flowName" column="flow_name"/>
<result property="category" column="category"/>
<result property="version" column="version"/>
<result property="isPublish" column="is_publish"/>
<result property="formCustom" column="form_custom"/>
<result property="formPath" column="form_path"/>
<result property="activityStatus" column="activity_status"/>
<result property="listenerType" column="listener_type"/>
<result property="listenerPath" column="listener_path"/>
<result property="ext" column="ext"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
<result property="tenantId" column="tenant_id"/>
</resultMap>
<select id="selectDefinitionList" resultType="org.dromara.warm.flow.orm.entity.FlowDefinition">
<select id="selectDefinitionList" resultMap="FlowDefinitionResult">
select *
from (
select a.*

View File

@ -24,7 +24,8 @@
<result property="createBy" column="create_by"/>
<result property="category" column="category"/>
</resultMap>
<select id="page" resultMap="FlowInstanceResult">
<select id="selectInstanceList" resultMap="FlowInstanceResult">
select fi.id,
fi.create_time,
fi.update_time,
@ -44,6 +45,8 @@
fd.flow_code,
fd.version,
fi.create_by,
fd.form_custom,
fd.form_path,
fd.category
from flow_instance fi
left join flow_definition fd on fi.definition_id = fd.id