| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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()); |
| | |
| | | } |
| | | 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()); |
| | | } |
| | | |
| | | } |