diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/investigationManage/InvestigationManageApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/investigationManage/InvestigationManageApplicationService.java index 728655db5..034e168e1 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/investigationManage/InvestigationManageApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/investigationManage/InvestigationManageApplicationService.java @@ -167,7 +167,11 @@ public class InvestigationManageApplicationService { } List detailList = investigationManagePO.getInvestigetionManageDetailList(); - + + // 物料编码相同的明细排在一起展示(稳定排序,同编码内保持原顺序;仅排序不聚合,各条明细独立) + detailList.sort(Comparator.comparing(InvestigetionManageDetailPO::getMaterialCode, + Comparator.nullsLast(Comparator.naturalOrder()))); + // 性能优化:批量获取批次属性,避免N+1查询问题 // 1. 收集所有唯一的materialBaseInfoId Set materialBaseInfoIdSet = detailList.stream()