zhanghua
2025-02-22 5067a85bba03e5320c728b0c0ca713242beb8779
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 分组,并取每组中 版本号 最大的那一个
//        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,19 @@
        }
        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());
    }
}