diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsQualityInspectorServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsQualityInspectorServiceImpl.java index 84bd3551..6afdccac 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsQualityInspectorServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsQualityInspectorServiceImpl.java @@ -107,7 +107,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl modelNos) { + private void savePqcModelBindings(Long inspectorId, List modelNos) { List normalizedModelNos = normalizeModelNos(modelNos); if (!normalizedModelNos.isEmpty()) { List existingModelNos = pqcInspectionRuleService.lambdaQuery() @@ -127,7 +127,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl getPqcModelsByUserId(Long userId) { - if (userId == null) { + private List getPqcModelsByInspectorId(Long inspectorId) { + if (inspectorId == null) { return Collections.emptyList(); } return pqcInspectionRuleService.lambdaQuery() - .eq(QmsPqcInspectionRule::getInspectorId, userId) + .eq(QmsPqcInspectionRule::getInspectorId, inspectorId) .orderByAsc(QmsPqcInspectionRule::getModelNo) .list() .stream() @@ -168,26 +168,30 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl userIds = records.stream() + List inspectorIds = records.stream() .filter(vo -> Objects.equals(vo.getInspectionType(), 2)) - .map(QmsQualityInspectorVO::getUserId) + .map(QmsQualityInspectorVO::getId) .filter(Objects::nonNull) .distinct() .collect(Collectors.toList()); - if (userIds.isEmpty()) { + if (inspectorIds.isEmpty()) { return; } Map> modelNoMap = pqcInspectionRuleService.lambdaQuery() - .in(QmsPqcInspectionRule::getInspectorId, userIds) + .in(QmsPqcInspectionRule::getInspectorId, inspectorIds) .list() .stream() .collect(Collectors.groupingBy( QmsPqcInspectionRule::getInspectorId, - Collectors.mapping(QmsPqcInspectionRule::getModelNo, Collectors.toList()) + Collectors.mapping(QmsPqcInspectionRule::getModelNo, + Collectors.collectingAndThen(Collectors.toList(), modelNos -> modelNos.stream() + .filter(Objects::nonNull) + .distinct() + .collect(Collectors.toList()))) )); records.forEach(vo -> { if (Objects.equals(vo.getInspectionType(), 2)) { - vo.setPqcModelNos(modelNoMap.getOrDefault(vo.getUserId(), Collections.emptyList())); + vo.setPqcModelNos(modelNoMap.getOrDefault(vo.getId(), Collections.emptyList())); } }); } @@ -336,7 +340,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl