Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java =================================================================== diff -u -r28461 -r28463 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java (.../InvoiceOptimizeManagerImpl.java) (revision 28461) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java (.../InvoiceOptimizeManagerImpl.java) (revision 28463) @@ -6370,12 +6370,15 @@ * 2.对有找到相关物品的目标收货仓库的批次库存对象进行update更新 */ List> disaposableGoodsBatchStockIncreaseUpdateMapList = new ArrayList>(); - List needInsertBatchStockBatchIdList = new ArrayList(); Set allBatchIdSet = batchIdToAmountMap.keySet(); - if(CollectionUtils.isNotEmpty(targetBatchStockList)){ + List needInsertBatchStockBatchIdList = new ArrayList(); + if(CollectionUtils.isEmpty(targetBatchStockList)){ + needInsertBatchStockBatchIdList.addAll(allBatchIdSet); + }else{ + Set alreadyBatchIdSet = targetBatchStockList.stream().map(DisposableGoodsBatchStock::getDisposableGoodsBatchId).collect(Collectors.toSet()); batchIdToAmountMap.entrySet().forEach(entry -> { Long batchId = entry.getKey(); - if(!allBatchIdSet.contains(batchId)){ + if(!alreadyBatchIdSet.contains(batchId)){ needInsertBatchStockBatchIdList.add(batchId); } }); @@ -6405,8 +6408,6 @@ return disaposableGoodsBatchStockIncreaseUpdateMapList.size(); } }); - }else{ - needInsertBatchStockBatchIdList.addAll(allBatchIdSet); } //如果有需要插入库存新数据时 if(CollectionUtils.isNotEmpty(needInsertBatchStockBatchIdList)){