diff --git a/klp-flow/src/main/java/com/klp/flow/domain/bo/TsComplaintAcceptBo.java b/klp-flow/src/main/java/com/klp/flow/domain/bo/TsComplaintAcceptBo.java index 00082c77..c3217532 100644 --- a/klp-flow/src/main/java/com/klp/flow/domain/bo/TsComplaintAcceptBo.java +++ b/klp-flow/src/main/java/com/klp/flow/domain/bo/TsComplaintAcceptBo.java @@ -96,5 +96,10 @@ public class TsComplaintAcceptBo extends BaseEntity { */ private List coilIds; + /** + * 受理单ID列表(批量查询用) + */ + private List acceptIds; + } diff --git a/klp-flow/src/main/java/com/klp/flow/domain/vo/TsComplaintTaskVo.java b/klp-flow/src/main/java/com/klp/flow/domain/vo/TsComplaintTaskVo.java index d056c53b..5e314021 100644 --- a/klp-flow/src/main/java/com/klp/flow/domain/vo/TsComplaintTaskVo.java +++ b/klp-flow/src/main/java/com/klp/flow/domain/vo/TsComplaintTaskVo.java @@ -82,5 +82,10 @@ public class TsComplaintTaskVo { @ExcelProperty(value = "备注") private String remark; + /** + * 关联的受理单信息 + */ + private TsComplaintAcceptVo acceptInfo; + } diff --git a/klp-flow/src/main/java/com/klp/flow/domain/vo/TsPlanExecuteRelVo.java b/klp-flow/src/main/java/com/klp/flow/domain/vo/TsPlanExecuteRelVo.java index 79954524..e7c54f87 100644 --- a/klp-flow/src/main/java/com/klp/flow/domain/vo/TsPlanExecuteRelVo.java +++ b/klp-flow/src/main/java/com/klp/flow/domain/vo/TsPlanExecuteRelVo.java @@ -81,5 +81,7 @@ public class TsPlanExecuteRelVo { @ExcelProperty(value = "备注") private String remark; + // 受理单 + private TsComplaintAcceptVo acceptInfo; } diff --git a/klp-flow/src/main/java/com/klp/flow/service/impl/TsComplaintAcceptServiceImpl.java b/klp-flow/src/main/java/com/klp/flow/service/impl/TsComplaintAcceptServiceImpl.java index a281f6ec..14055776 100644 --- a/klp-flow/src/main/java/com/klp/flow/service/impl/TsComplaintAcceptServiceImpl.java +++ b/klp-flow/src/main/java/com/klp/flow/service/impl/TsComplaintAcceptServiceImpl.java @@ -90,6 +90,7 @@ public class TsComplaintAcceptServiceImpl implements ITsComplaintAcceptService { lqw.eq(bo.getFlowStatus() != null, TsComplaintAccept::getFlowStatus, bo.getFlowStatus()); lqw.eq(bo.getPrincipalUserId() != null, TsComplaintAccept::getPrincipalUserId, bo.getPrincipalUserId()); lqw.eq(StringUtils.isNotBlank(bo.getPlanContent()), TsComplaintAccept::getPlanContent, bo.getPlanContent()); + lqw.in(bo.getAcceptIds() != null && !bo.getAcceptIds().isEmpty(), TsComplaintAccept::getAcceptId, bo.getAcceptIds()); return lqw; } diff --git a/klp-flow/src/main/java/com/klp/flow/service/impl/TsComplaintTaskServiceImpl.java b/klp-flow/src/main/java/com/klp/flow/service/impl/TsComplaintTaskServiceImpl.java index 538b5d64..399e0ef1 100644 --- a/klp-flow/src/main/java/com/klp/flow/service/impl/TsComplaintTaskServiceImpl.java +++ b/klp-flow/src/main/java/com/klp/flow/service/impl/TsComplaintTaskServiceImpl.java @@ -1,6 +1,7 @@ package com.klp.flow.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; @@ -9,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; import com.klp.flow.domain.TsComplaintAccept; +import com.klp.flow.domain.vo.TsComplaintAcceptVo; import com.klp.flow.mapper.TsComplaintAcceptMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -18,9 +20,11 @@ import com.klp.flow.domain.TsComplaintTask; import com.klp.flow.mapper.TsComplaintTaskMapper; import com.klp.flow.service.ITsComplaintTaskService; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.stream.Collectors; /** * 各部门投诉代办任务&意见Service业务层处理 @@ -41,7 +45,11 @@ public class TsComplaintTaskServiceImpl implements ITsComplaintTaskService { */ @Override public TsComplaintTaskVo queryById(Long taskId){ - return baseMapper.selectVoById(taskId); + TsComplaintTaskVo vo = baseMapper.selectVoById(taskId); + if (vo != null) { + enrichWithAcceptInfo(Collections.singletonList(vo)); + } + return vo; } /** @@ -51,6 +59,7 @@ public class TsComplaintTaskServiceImpl implements ITsComplaintTaskService { public TableDataInfo queryPageList(TsComplaintTaskBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + enrichWithAcceptInfo(result.getRecords()); return TableDataInfo.build(result); } @@ -60,7 +69,38 @@ public class TsComplaintTaskServiceImpl implements ITsComplaintTaskService { @Override public List queryList(TsComplaintTaskBo bo) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + List list = baseMapper.selectVoList(lqw); + enrichWithAcceptInfo(list); + return list; + } + + /** + * 批量查询受理单信息并填充到VO中 + */ + private void enrichWithAcceptInfo(List voList) { + if (CollUtil.isEmpty(voList)) { + return; + } + // 收集所有acceptId(去重) + List acceptIds = voList.stream() + .map(TsComplaintTaskVo::getAcceptId) + .filter(id -> id != null) + .distinct() + .collect(Collectors.toList()); + if (acceptIds.isEmpty()) { + return; + } + // 批量查询受理单信息 + List acceptList = tsComplaintAcceptMapper.selectVoBatchIds(acceptIds); + // 按acceptId建立索引 + Map acceptMap = acceptList.stream() + .collect(Collectors.toMap(TsComplaintAcceptVo::getAcceptId, a -> a, (a, b) -> a)); + // 填充到VO中 + for (TsComplaintTaskVo vo : voList) { + if (vo.getAcceptId() != null) { + vo.setAcceptInfo(acceptMap.get(vo.getAcceptId())); + } + } } private LambdaQueryWrapper buildQueryWrapper(TsComplaintTaskBo bo) { diff --git a/klp-flow/src/main/java/com/klp/flow/service/impl/TsPlanExecuteRelServiceImpl.java b/klp-flow/src/main/java/com/klp/flow/service/impl/TsPlanExecuteRelServiceImpl.java index 55145c70..e618fafe 100644 --- a/klp-flow/src/main/java/com/klp/flow/service/impl/TsPlanExecuteRelServiceImpl.java +++ b/klp-flow/src/main/java/com/klp/flow/service/impl/TsPlanExecuteRelServiceImpl.java @@ -1,6 +1,7 @@ package com.klp.flow.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -9,6 +10,8 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; import com.klp.flow.domain.TsComplaintAccept; +import com.klp.flow.domain.vo.TsComplaintAcceptVo; +import com.klp.flow.domain.vo.TsComplaintTaskVo; import com.klp.flow.mapper.TsComplaintAcceptMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -21,6 +24,8 @@ import com.klp.flow.service.ITsPlanExecuteRelService; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.Objects; +import java.util.stream.Collectors; /** * 最终方案下发部门及执行反馈Service业务层处理 @@ -51,16 +56,48 @@ public class TsPlanExecuteRelServiceImpl implements ITsPlanExecuteRelService { public TableDataInfo queryPageList(TsPlanExecuteRelBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + enrichWithAcceptInfo(result.getRecords()); return TableDataInfo.build(result); } + /** + * 批量查询受理单信息并填充到VO中 + */ + private void enrichWithAcceptInfo(List voList) { + if (CollUtil.isEmpty(voList)) { + return; + } + // 收集所有acceptId(去重) + List acceptIds = voList.stream() + .map(TsPlanExecuteRelVo::getAcceptId) + .filter(Objects::nonNull) + .distinct() + .collect(Collectors.toList()); + if (acceptIds.isEmpty()) { + return; + } + // 批量查询受理单信息 + List acceptList = tsComplaintAcceptMapper.selectVoBatchIds(acceptIds); + // 按acceptId建立索引 + Map acceptMap = acceptList.stream() + .collect(Collectors.toMap(TsComplaintAcceptVo::getAcceptId, a -> a, (a, b) -> a)); + // 填充到VO中 + for (TsPlanExecuteRelVo vo : voList) { + if (vo.getAcceptId() != null) { + vo.setAcceptInfo(acceptMap.get(vo.getAcceptId())); + } + } + } + /** * 查询最终方案下发部门及执行反馈列表 */ @Override public List queryList(TsPlanExecuteRelBo bo) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + List tsPlanExecuteRelVos = baseMapper.selectVoList(lqw); + enrichWithAcceptInfo(tsPlanExecuteRelVos); + return tsPlanExecuteRelVos; } private LambdaQueryWrapper buildQueryWrapper(TsPlanExecuteRelBo bo) {