diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java index 5ac07d7..e047ed1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java @@ -4,7 +4,9 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.Comparator; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -172,7 +174,11 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { // projectDataSearch.setBusinessAssayTaskDataId(businessAssayTaskData.getId()); projectDataSearch.setBusinessAssayTaskDataIdList(businessAssayTaskDataIdList); List projectAndParameterList = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch); - Map> projectAndParameterMap = projectAndParameterList.stream().collect(Collectors.groupingBy(BusinessAssayProjectAndParameterRespVO::getDicId)); + + Map> projectAndParameterMap = projectAndParameterList.stream().sorted(Comparator.comparing(BusinessAssayProjectAndParameterRespVO::getParamNo)).collect(Collectors.groupingBy(BusinessAssayProjectAndParameterRespVO::getDicId, + LinkedHashMap::new, // 保持组首次出现的顺序(可选) + Collectors.toList() // ArrayList 保持组内顺序 + )); for (Map.Entry> entry : projectAndParameterMap.entrySet()) { BusinessAssayProjectAndParameterRespVO ep = entry.getValue().get(0); String fieldIndex = "e" + ep.getDicId(); @@ -453,7 +459,10 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { // projectDataSearch.setBusinessAssayTaskDataId(businessAssayTaskData.getId()); projectDataSearch.setBusinessAssayTaskDataIdList(businessAssayTaskDataIdList); List projectAndParameterList = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch); - Map> projectAndParameterMap = projectAndParameterList.stream().collect(Collectors.groupingBy(BusinessAssayProjectAndParameterRespVO::getDicId)); + Map> projectAndParameterMap = projectAndParameterList.stream().sorted(Comparator.comparing(BusinessAssayProjectAndParameterRespVO::getParamNo)).collect(Collectors.groupingBy(BusinessAssayProjectAndParameterRespVO::getDicId, + LinkedHashMap::new, // 保持组首次出现的顺序(可选) + Collectors.toList() // ArrayList 保持组内顺序 + )); for (Map.Entry> entry : projectAndParameterMap.entrySet()) { BusinessAssayProjectAndParameterRespVO ep = entry.getValue().get(0); String fieldIndex = "e" + ep.getDicId();