diff --git a/ym-packing/src/main/java/com/cnbm/packing/service/impl/WoPackagingBoxServiceBizImpl.java b/ym-packing/src/main/java/com/cnbm/packing/service/impl/WoPackagingBoxServiceBizImpl.java index 052277b..9a245a1 100644 --- a/ym-packing/src/main/java/com/cnbm/packing/service/impl/WoPackagingBoxServiceBizImpl.java +++ b/ym-packing/src/main/java/com/cnbm/packing/service/impl/WoPackagingBoxServiceBizImpl.java @@ -142,13 +142,19 @@ public class WoPackagingBoxServiceBizImpl extends CrudServiceImpl wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(entity.getBoxNo()), WoPackagingBoxSubstrate.PACKAGING_BOX_ID, entity.getBoxNo()); //重复上片基板去重 -// wrapper.select("DISTINCT WO_SUBSTRATE_ID").orderByDesc("CREATE_TIME"); // wrapper.orderByAsc(WoPackagingBoxSubstrate.SLOT); List woPackagingBoxSubstrateList = substrateMapper.selectList(wrapper); - List distinctList = woPackagingBoxSubstrateList.stream().collect( - Collectors.collectingAndThen( - Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(WoPackagingBoxSubstrate::getWoSubstrateId))), ArrayList::new) - ); + List distinctList = new ArrayList<>(); + Map> map = woPackagingBoxSubstrateList.stream().sorted(Comparator.comparing(WoPackagingBoxSubstrate::getCreateTime).reversed()) + .collect(Collectors.groupingBy(WoPackagingBoxSubstrate::getWoSubstrateId)); + for (Map.Entry> entry : map.entrySet()) { + //取list首并放入到新list中 + distinctList.add(entry.getValue().get(0)); + } +// List distinctList = woPackagingBoxSubstrateList.stream().collect( +// Collectors.collectingAndThen( +// Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(WoPackagingBoxSubstrate::getWoSubstrateId))), ArrayList::new) +// ); List sortedDistinctList = distinctList.stream().sorted(Comparator.comparing(WoPackagingBoxSubstrate::getSlot)).collect(Collectors.toList()); dto.setSubstrateList(sortedDistinctList); return dto;