| | |
| | | |
| | | @Override |
| | | public List<ProductionProductMainDto> getByProductWorkOrderId(Long productWorkOrderId) { |
| | | return productionProductMainMapper.getByProductWorkOrderId(productWorkOrderId); |
| | | List<ProductionProductMainDto> productionProductMainDtos = productionProductMainMapper.getByProductWorkOrderId(productWorkOrderId); |
| | | |
| | | if (productionProductMainDtos == null || productionProductMainDtos.isEmpty()) { |
| | | return productionProductMainDtos; |
| | | } |
| | | |
| | | // 收集所有产品主记录ID |
| | | List<Long> productMainIds = productionProductMainDtos.stream() |
| | | .map(ProductionProductMainDto::getId) |
| | | .collect(Collectors.toList()); |
| | | |
| | | // 批量查询所有相关的质检记录 |
| | | List<QualityInspect> qualityInspects = qualityInspectMapper.selectList( |
| | | Wrappers.<QualityInspect>lambdaQuery() |
| | | .in(QualityInspect::getProductMainId, productMainIds) |
| | | ); |
| | | |
| | | if (!qualityInspects.isEmpty()) { |
| | | // 收集所有质检记录ID |
| | | List<Long> inspectIds = qualityInspects.stream() |
| | | .map(QualityInspect::getId) |
| | | .collect(Collectors.toList()); |
| | | |
| | | // 批量查询所有相关的不合格处理记录 |
| | | List<QualityUnqualified> qualityUnqualifieds = qualityUnqualifiedMapper.selectList( |
| | | Wrappers.<QualityUnqualified>lambdaQuery() |
| | | .in(QualityUnqualified::getInspectId, inspectIds) |
| | | ); |
| | | |
| | | // 构建质检ID到不合格处理记录的映射 |
| | | Map<Long, QualityUnqualified> inspectIdToUnqualifiedMap = qualityUnqualifieds.stream() |
| | | .collect(Collectors.toMap(QualityUnqualified::getInspectId, q -> q, (q1, q2) -> q1)); |
| | | |
| | | // 构建产品主ID到质检记录的映射 |
| | | Map<Long, QualityInspect> productMainIdToInspectMap = qualityInspects.stream() |
| | | .collect(Collectors.toMap(QualityInspect::getProductMainId, q -> q, (q1, q2) -> q1)); |
| | | |
| | | // 关联处理结果到产品主记录 |
| | | productionProductMainDtos.forEach(p -> { |
| | | QualityInspect qualityInspect = productMainIdToInspectMap.get(p.getId()); |
| | | if (qualityInspect != null) { |
| | | QualityUnqualified qualityUnqualified = inspectIdToUnqualifiedMap.get(qualityInspect.getId()); |
| | | if (qualityUnqualified != null) { |
| | | p.setDealResult(qualityUnqualified.getDealResult() == null ? "" : qualityUnqualified.getDealResult()); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | return productionProductMainDtos; |
| | | } |
| | | } |
| | | } |