目录

java-list-分组求和-java8

目录

java list 分组求和 java8

//list 分组求和 java8
Map newLog =
stockLogs.stream().collect(
Collectors.groupingBy(
StockLog::getBarcode,
Collectors.summarizingLong(StockLog::getStockUseNum
)
)
);
Iterator> it = newLog.entrySet().iterator();
while (it.hasNext()){
String key = it.next().getKey();
List stockLogList = stockLogService.findByMaterielSkuBarcodeAndFactoryId(key, fid);//找到所有的log 为了给stock 重新计算
long number= 0l;
for (int i = 0; i < stockLogList.size(); i++) {
number+=stockLogList.get(i).getStockUseNum();
}
Stock byMaterielSkuId = stockService.findByBarcodeAndFactoryId(key,fid);
byMaterielSkuId.setStockUseNum(number);
byMaterielSkuId.setLastTime(new Date());
stockService.save(byMaterielSkuId);
}