From d0b275ac9b4b071359356edf238e7d0c9114dbd1 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 11 二月 2025 19:33:47 +0800 Subject: [PATCH] 流程列表增加分页接口 --- flowable/src/main/java/com/ycl/domain/query/ProcessConfigInfoQuery.java | 3 + flowable/src/main/resources/mapper/FlowDeployMapper.xml | 29 ++++++++++++++ business/src/main/java/com/ycl/controller/ProcessConfigInfoController.java | 10 ++++ business/src/main/java/com/ycl/service/ProcessConfigInfoService.java | 8 ++++ flowable/src/main/java/com/ycl/mapper/FlowDeployMapper.java | 10 +++++ business/src/main/java/com/ycl/service/impl/ProcessConfigInfoServiceImpl.java | 27 ++++++++----- 6 files changed, 75 insertions(+), 12 deletions(-) diff --git a/business/src/main/java/com/ycl/controller/ProcessConfigInfoController.java b/business/src/main/java/com/ycl/controller/ProcessConfigInfoController.java index 7b4ded0..d63490e 100644 --- a/business/src/main/java/com/ycl/controller/ProcessConfigInfoController.java +++ b/business/src/main/java/com/ycl/controller/ProcessConfigInfoController.java @@ -43,8 +43,16 @@ @GetMapping("list") @ApiOperation(value = "鍒楄〃", notes = "鍒楄〃") - @PreAuthorize("@ss.hasPermi('processConfigInfo:list')") +// @PreAuthorize("@ss.hasPermi('processConfigInfo:list')") public Result list(ProcessConfigInfoQuery query) { return processConfigInfoService.list(query); } + + + @GetMapping("page") + @ApiOperation(value = "鍒楄〃", notes = "鍒楄〃") +// @PreAuthorize("@ss.hasPermi('processConfigInfo:list')") + public Result page(ProcessConfigInfoQuery query) { + return processConfigInfoService.getPage(query); + } } diff --git a/business/src/main/java/com/ycl/service/ProcessConfigInfoService.java b/business/src/main/java/com/ycl/service/ProcessConfigInfoService.java index 95e56af..a1171e5 100644 --- a/business/src/main/java/com/ycl/service/ProcessConfigInfoService.java +++ b/business/src/main/java/com/ycl/service/ProcessConfigInfoService.java @@ -37,4 +37,12 @@ * @return */ Result list(ProcessConfigInfoQuery query); + + /** + * 鏌ヨ鍒嗛〉鏁版嵁 + * + * @param query + * @return + */ + Result getPage(ProcessConfigInfoQuery query); } diff --git a/business/src/main/java/com/ycl/service/impl/ProcessConfigInfoServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProcessConfigInfoServiceImpl.java index 9927f1c..d16c1be 100644 --- a/business/src/main/java/com/ycl/service/impl/ProcessConfigInfoServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProcessConfigInfoServiceImpl.java @@ -1,5 +1,6 @@ package com.ycl.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.github.pagehelper.PageInfo; @@ -8,6 +9,7 @@ import com.ycl.domain.entity.ProcessConfigInfo; import com.ycl.domain.entity.SysForm; import com.ycl.domain.query.ProcessConfigInfoQuery; +import com.ycl.framework.utils.PageUtil; import com.ycl.mapper.FlowDeployMapper; import com.ycl.mapper.ProcessConfigInfoMapper; import com.ycl.service.ISysDeployFormService; @@ -91,19 +93,8 @@ public Result list(ProcessConfigInfoQuery query) { List<FlowProcDefWithConfigDto> dataList = flowDeployMapper.selectDeployListWithConfig(query); -// // 鏍规嵁 processDefId 鍒嗙粍锛屽苟鍙栨瘡缁勪腑 鐗堟湰鍙� 鏈�澶х殑閭d竴涓� -// Map<String, FlowProcDefWithConfigDto> groupedByProcessDefId = dataList.stream() -// .collect(Collectors.toMap( -// FlowProcDefWithConfigDto::getProcessDefId, // keyMapper: 鎻愬彇 processDefId 浣滀负閿� -// Function.identity(), // valueMapper: 鐩存帴浣跨敤瀵硅薄浣滀负鍊� -// BinaryOperator.maxBy(Comparator.comparingInt(FlowProcDefWithConfigDto::getProcessDefVersion)) // mergeFunction: 姣旇緝 processDefVersion锛屽彇鏈�澶х殑 -// )); -// List<FlowProcDefWithConfigDto> resultList = new ArrayList<>(groupedByProcessDefId.values()); - // 鍔犺浇鎸傝〃鍗� for (FlowProcDefWithConfigDto procDef : dataList) { - // 鎺掗櫎鏆傚仠鐨� - SysForm sysForm = sysDeployFormService.selectSysDeployFormByDeployId(procDef.getDeploymentId()); if (Objects.nonNull(sysForm)) { procDef.setFormName(sysForm.getFormName()); @@ -112,4 +103,18 @@ } return Result.ok().data(dataList); } + + @Override + public Result getPage(ProcessConfigInfoQuery query) { + IPage<FlowProcDefWithConfigDto> page = PageUtil.getPage(query, FlowProcDefWithConfigDto.class); + flowDeployMapper.selectDeployListWithConfigPage(page,query); + for (FlowProcDefWithConfigDto procDef : page.getRecords()) { + SysForm sysForm = sysDeployFormService.selectSysDeployFormByDeployId(procDef.getDeploymentId()); + if (Objects.nonNull(sysForm)) { + procDef.setFormName(sysForm.getFormName()); + procDef.setFormId(sysForm.getFormId()); + } + } + return Result.ok().data(page.getRecords()).total(page.getTotal()); + } } diff --git a/flowable/src/main/java/com/ycl/domain/query/ProcessConfigInfoQuery.java b/flowable/src/main/java/com/ycl/domain/query/ProcessConfigInfoQuery.java index deb8e97..68595f9 100644 --- a/flowable/src/main/java/com/ycl/domain/query/ProcessConfigInfoQuery.java +++ b/flowable/src/main/java/com/ycl/domain/query/ProcessConfigInfoQuery.java @@ -26,5 +26,8 @@ /** 閲嶇偣鍒嗙被 */ private String importanceType; + /** 娴佺▼鍚嶇О */ + private String name; + } diff --git a/flowable/src/main/java/com/ycl/mapper/FlowDeployMapper.java b/flowable/src/main/java/com/ycl/mapper/FlowDeployMapper.java index 6e4f4a3..0c87247 100644 --- a/flowable/src/main/java/com/ycl/mapper/FlowDeployMapper.java +++ b/flowable/src/main/java/com/ycl/mapper/FlowDeployMapper.java @@ -1,8 +1,10 @@ package com.ycl.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.domain.dto.FlowProcDefDto; import com.ycl.domain.dto.FlowProcDefWithConfigDto; import com.ycl.domain.query.ProcessConfigInfoQuery; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -29,4 +31,12 @@ * @return */ List<FlowProcDefWithConfigDto> selectDeployListWithConfig(ProcessConfigInfoQuery query); + + /** + * 鍒嗛〉 + * + * @param page + * @param query + */ + IPage selectDeployListWithConfigPage(IPage<FlowProcDefWithConfigDto> page, @Param("query") ProcessConfigInfoQuery query); } diff --git a/flowable/src/main/resources/mapper/FlowDeployMapper.xml b/flowable/src/main/resources/mapper/FlowDeployMapper.xml index f8e81fd..f1d880a 100644 --- a/flowable/src/main/resources/mapper/FlowDeployMapper.xml +++ b/flowable/src/main/resources/mapper/FlowDeployMapper.xml @@ -53,4 +53,33 @@ order by rd.deploy_time_ desc </select> + <select id="selectDeployListWithConfigPage" resultType="com.ycl.domain.dto.FlowProcDefWithConfigDto"> + SELECT + rp.id_ as id, + rp.deployment_id_ as deploymentId, + rd.name_ as name, + rd.category_ as category, + rp.key_ as flowKey, + rp.version_ as version, + rp.suspension_state_ as suspensionState, + rd.deploy_time_ as deploymentTime, + pc.project_type, + pc.fund_type, + pc.invest_type, + pc.importance_type, + pc.process_def_id, + pc.process_def_version, + pc.deploy_id + FROM + act_re_procdef rp + LEFT JOIN act_re_deployment rd ON rp.deployment_id_ = rd.id_ + LEFT JOIN t_process_config_info pc ON pc.process_def_id = rp.id_ AND pc.process_def_version = rp.version_ + <where> + <if test="query.name != null and query.name != ''"> + AND rd.name_ like concat('%', #{query.name}, '%') + </if> + </where> + order by rd.deploy_time_ desc + </select> + </mapper> -- Gitblit v1.8.0