Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java =================================================================== diff -u -r28492 -r28493 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java (.../InvoiceOptimizeManagerImpl.java) (revision 28492) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java (.../InvoiceOptimizeManagerImpl.java) (revision 28493) @@ -1157,6 +1157,9 @@ * @return */ private Map> getAllNotSentForeignTousseAppIdToForeignTousseInstanceListMap(List invoicePlanIdList){ + if(CollectionUtils.isEmpty(invoicePlanIdList)){ + return null; + } List tousseInstanceList = tousseInstanceManager.getNotSentTousseInstanceListByForeignTousseApplicationIdListForInvoice(invoicePlanIdList); if(CollectionUtils.isNotEmpty(tousseInstanceList)){ Map> invoicePlanIdToAllTiListMap = @@ -3650,6 +3653,9 @@ } return mergeList; }).orElse(new ArrayList()); + if(CollectionUtils.isEmpty(restList)){ + return tousseItemMatchExpensiveDisposableGoodsListMap; + } //遍历申请项 for(TousseItem tousseItem : tousseItemList){ @@ -3668,7 +3674,13 @@ List senEdgList = edgList.subList(0, Math.min(needSendAmount, edgSize)); needMatchList.addAll(senEdgList); tousseItemMatchExpensiveDisposableGoodsListMap.put(tousseItem, needMatchList); + restList.removeAll(senEdgList); + }else{ + break; } + if(CollectionUtils.isEmpty(restList)){ + break; + } } if(CollectionUtils.isNotEmpty(CollectionUtils.subtract(restList, tousseItemMatchExpensiveDisposableGoodsListMap.values().stream().reduce((list1,list2) -> {