diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmdReportManagementControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmdReportManagementControllerService.java index 0a1a4276..266aa1ec 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmdReportManagementControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmdReportManagementControllerService.java @@ -22,6 +22,7 @@ public class QmdReportManagementControllerService { private final IQmsInspectionStandardService inspectionStandardService; private final IQmsInspectionStandardItemService inspectionStandardItemService; + private final IQmsQcMaterialService qcMaterialService; private final IQmsPdiDetectionRulesService pdiDetectionRulesService; private final IQmsPdiDetectionRulesStatusItemService pdiStatusItemService; private final IQmsPdiComponentAnagementService pdiComponentService; @@ -33,8 +34,13 @@ public class QmdReportManagementControllerService { * IQC报表查询 */ public List searchIqc(QmdReportManagementQO.IqcReportQO request) { + List materialIds = getIqcMaterialIds(request.getMaterialNo()); + if (CollectionUtil.isEmpty(materialIds)) { + return Collections.emptyList(); + } + QmsInspectionStandard currentStandard = inspectionStandardService.lambdaQuery() - .eq(QmsInspectionStandard::getMaterialId, request.getMaterialId()) + .in(QmsInspectionStandard::getMaterialId, materialIds) .eq(QmsInspectionStandard::getVersion, request.getVersion()) .last("LIMIT 1") .one(); @@ -51,7 +57,7 @@ public class QmdReportManagementControllerService { } List allStandards = inspectionStandardService.lambdaQuery() - .eq(QmsInspectionStandard::getMaterialId, request.getMaterialId()) + .in(QmsInspectionStandard::getMaterialId, materialIds) .list(); Map versionMap = allStandards.stream() .collect(Collectors.toMap(QmsInspectionStandard::getId, QmsInspectionStandard::getVersion, (a, b) -> a)); @@ -84,9 +90,14 @@ public class QmdReportManagementControllerService { * IQC版本号查询 */ public List searchIqcVersions(QmdReportManagementQO.IqcVersionQO request) { + List materialIds = getIqcMaterialIds(request.getMaterialNo()); + if (CollectionUtil.isEmpty(materialIds)) { + return Collections.emptyList(); + } + return inspectionStandardService.lambdaQuery() .select(QmsInspectionStandard::getVersion) - .eq(QmsInspectionStandard::getMaterialId, request.getMaterialId()) + .in(QmsInspectionStandard::getMaterialId, materialIds) .list() .stream() .map(QmsInspectionStandard::getVersion) @@ -251,6 +262,17 @@ public class QmdReportManagementControllerService { .toList(); } + private List getIqcMaterialIds(String materialNo) { + return qcMaterialService.lambdaQuery() + .select(QmsQcMaterial::getId) + .eq(QmsQcMaterial::getMaterialNo, materialNo) + .list() + .stream() + .map(QmsQcMaterial::getId) + .filter(Objects::nonNull) + .toList(); + } + private Map getPdiComponentMap(List items) { Set componentIds = items.stream() .map(QmsPdiDetectionRulesStatusItem::getComponentsId) diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmdReportManagementQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmdReportManagementQO.java index b66539e3..cf04988a 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmdReportManagementQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmdReportManagementQO.java @@ -14,11 +14,11 @@ public class QmdReportManagementQO { public static class IqcReportQO { /** - * 物料ID + * 物料编号 */ - @JsonAlias("material_id") - @NotNull(message = "物料ID不能为空") - private Long materialId; + @JsonAlias("material_no") + @NotBlank(message = "物料编号不能为空") + private String materialNo; /** * 版本号 @@ -31,11 +31,11 @@ public class QmdReportManagementQO { public static class IqcVersionQO { /** - * 物料ID + * 物料编号 */ - @JsonAlias("material_id") - @NotNull(message = "物料ID不能为空") - private Long materialId; + @JsonAlias("material_no") + @NotBlank(message = "物料编号不能为空") + private String materialNo; } @Data