| | |
| | | import cn.iocoder.yudao.module.mes.controller.admin.qc.pendinginspect.vo.MesQcPendingInspectRespVO; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.qc.pendinginspect.MesQcPendingInspectMapper; |
| | | import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderService; |
| | | import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnsales.MesWmReturnSalesLineDO; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.wm.returnsales.MesWmReturnSalesLineMapper; |
| | | import cn.iocoder.yudao.module.mes.service.wm.batch.MesWmBatchService; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import jakarta.annotation.Resource; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | private MesQcPendingInspectMapper pendingInspectMapper; |
| | | @Resource |
| | | private MesProWorkOrderService workOrderService; |
| | | @Resource |
| | | private MesWmReturnSalesLineMapper returnSalesLineMapper; |
| | | @Resource |
| | | private MesWmBatchService batchService; |
| | | |
| | | @Override |
| | | public PageResult<MesQcPendingInspectRespVO> getPendingInspectPage(MesQcPendingInspectPageReqVO pageReqVO) { |
| | |
| | | if (order != null) row.setReelNo(order.getReelNo()); |
| | | }); |
| | | } |
| | | var returnLineIds = page.getRecords().stream() |
| | | .filter(row -> java.util.Objects.equals(row.getSourceDocType(), MesBizTypeConstants.WM_RETURN_SALES)) |
| | | .map(MesQcPendingInspectRespVO::getSourceLineId).filter(java.util.Objects::nonNull) |
| | | .collect(java.util.stream.Collectors.toSet()); |
| | | if (!returnLineIds.isEmpty()) { |
| | | var lines = returnSalesLineMapper.selectBatchIds(returnLineIds); |
| | | var lineMap = lines.stream().collect(java.util.stream.Collectors.toMap(MesWmReturnSalesLineDO::getId, line -> line)); |
| | | var batchIds = lines.stream().map(MesWmReturnSalesLineDO::getBatchId) |
| | | .filter(java.util.Objects::nonNull).collect(java.util.stream.Collectors.toSet()); |
| | | var batches = batchIds.isEmpty() ? java.util.Map.<Long, cn.iocoder.yudao.module.mes.dal.dataobject.wm.batch.MesWmBatchDO>of() |
| | | : batchService.getBatchMap(batchIds); |
| | | page.getRecords().forEach(row -> { |
| | | if (!java.util.Objects.equals(row.getSourceDocType(), MesBizTypeConstants.WM_RETURN_SALES)) return; |
| | | var line = lineMap.get(row.getSourceLineId()); |
| | | var batch = line == null || line.getBatchId() == null ? null : batches.get(line.getBatchId()); |
| | | if (batch != null) row.setReelNo(batch.getReelNo()); |
| | | }); |
| | | } |
| | | // 返回结果 |
| | | return new PageResult<>(page.getRecords(), page.getTotal()); |
| | | } |