diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsInspectionMainVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsInspectionMainVo.java index aaa8d781c..bb030dc29 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsInspectionMainVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsInspectionMainVo.java @@ -1,6 +1,7 @@ package com.klp.domain.vo; import java.util.Date; +import java.util.List; import com.fasterxml.jackson.annotation.JsonFormat; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; @@ -73,5 +74,9 @@ public class WmsInspectionMainVo { @ExcelProperty(value = "备注") private String remark; + /** + * 检验项目明细列表 + */ + private List detailList; } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsInspectionMainServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsInspectionMainServiceImpl.java index a6b9c9850..9acf2a9cb 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsInspectionMainServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsInspectionMainServiceImpl.java @@ -1,6 +1,7 @@ package com.klp.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; @@ -11,13 +12,18 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.klp.domain.bo.WmsInspectionMainBo; import com.klp.domain.vo.WmsInspectionMainVo; +import com.klp.domain.vo.WmsInspectionDetailVo; import com.klp.domain.WmsInspectionMain; +import com.klp.domain.WmsInspectionDetail; import com.klp.mapper.WmsInspectionMainMapper; +import com.klp.mapper.WmsInspectionDetailMapper; import com.klp.service.IWmsInspectionMainService; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.stream.Collectors; /** * 检验主Service业务层处理 @@ -30,6 +36,7 @@ import java.util.Collection; public class WmsInspectionMainServiceImpl implements IWmsInspectionMainService { private final WmsInspectionMainMapper baseMapper; + private final WmsInspectionDetailMapper detailMapper; /** * 查询检验主 @@ -46,6 +53,7 @@ public class WmsInspectionMainServiceImpl implements IWmsInspectionMainService { public TableDataInfo queryPageList(WmsInspectionMainBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + fillDetailList(result.getRecords()); return TableDataInfo.build(result); } @@ -55,7 +63,9 @@ public class WmsInspectionMainServiceImpl implements IWmsInspectionMainService { @Override public List queryList(WmsInspectionMainBo bo) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + List list = baseMapper.selectVoList(lqw); + fillDetailList(list); + return list; } private LambdaQueryWrapper buildQueryWrapper(WmsInspectionMainBo bo) { @@ -72,6 +82,21 @@ public class WmsInspectionMainServiceImpl implements IWmsInspectionMainService { return lqw; } + private void fillDetailList(List voList) { + if (CollUtil.isEmpty(voList)) { + return; + } + List mainIds = voList.stream().map(WmsInspectionMainVo::getMainId).collect(Collectors.toList()); + List allDetails = detailMapper.selectVoList( + new LambdaQueryWrapper().in(WmsInspectionDetail::getMainId, mainIds) + ); + Map> detailMap = allDetails.stream() + .collect(Collectors.groupingBy(WmsInspectionDetailVo::getMainId)); + for (WmsInspectionMainVo vo : voList) { + vo.setDetailList(detailMap.getOrDefault(vo.getMainId(), Collections.emptyList())); + } + } + /** * 新增检验主 */