//根据LeWarehouseCode字段进行分组
// Map<String, List<SodRecExt2>> map = list.stream().collect(
// Collectors.groupingBy(
// SodRecExt2::getLeWarehouseCode
// ));
// Map<String, Map<String, List<SodRecExt2>>> prodMap= list.stream().collect(Collectors.groupingBy(SodRecExt2::
// getLeWarehouseCode, Collectors.groupingBy(item -> {
// if(!item.getLeWarehouseCode().equals(CommonEnum.WdtErpWarehouse.YC030C.getCode()) && item.getIfSubOrder()
// .equals("1")) {
// return "splitPreSale";
// }else {
// return "noSplitPreSale";
// }
// })));
Map<String, Map<String, Map<String, List<SodRecExt2>>>> prodMap= list.stream().collect(Collectors.groupingBy(SodRecExt2::
getLeWarehouseCode, Collectors.groupingBy(itemWarehouse -> {
if(!itemWarehouse.getLeWarehouseCode().equals(CommonEnum.WdtErpWarehouse.YC030C.getCode()) && itemWarehouse.getIfSubOrder()
.equals("1")) {
return "splitPreSale";
}else {
return "noSplitPreSale";
}
},Collectors.groupingBy(itemRz285345 -> {
if(!itemRz285345.getLeWarehouseCode().equals(CommonEnum.WdtErpWarehouse.RZ285345.getCode()) && itemRz285345.getLeDecideLogistics()
.equals("1")) {
return "decideLogistics1";
} else {
return "decideLogistics0";
}
}))));
// private static String fetchGroupKey(SodRecExt2 sodRecExt2){
// String fetchGroupKey="";
// if (sodRecExt2.getLeWarehouseCode().equals(CommonEnum.WdtErpWarehouse.RZ285345.getCode())){
// fetchGroupKey = sodRecExt2.getLeWarehouseCode()+'-'+sodRecExt2.getIfSubOrder();
// } else {
//
// }
// return sodRecExt2.getLeWarehouseCode()+'-'+sodRecExt2.getIfSubOrder();
// }
//从list集合中,取出按sku设置库存的集合
Map<String, List<BuyGiftGradeLe>> buyGiftMap= buyGiftGradeLes.stream().collect(Collectors.groupingBy(
buyGiftGradeLe -> {
if(buyGiftGradeLe.getBuyLeId() !=null) {
return "giftBySku";
}else {
return "other";
}
}));
LinkedHashMap<Long, BigDecimal> linkedMap = new LinkedHashMap<>();
//将HashMap转换成LinkedHashMap
map.entrySet().stream().sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))
.forEachOrdered(entry -> linkedMap.put(entry.getKey(), entry.getValue()));
List<BigDecimal> collect = linkedMap.values().stream().collect(Collectors.toList());