Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java =================================================================== diff -u -r28933 -r29091 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java (.../InvoiceOptimizeManagerImpl.java) (revision 28933) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java (.../InvoiceOptimizeManagerImpl.java) (revision 29091) @@ -2053,9 +2053,16 @@ } Long invoicePlanIdOfTousseItem = tousseItem.getInvoicePlan().getId(); Long tousseDefinitionId = tousseItem.getTousseDefinitionId(); - int needSendAmount = + //剩下还需发货的数量 + int shouldSendAmount = MathTools.sub(tousseItem.getRecyclingAmount(), tousseItem.getSendOutAmount()).intValue(); + if(!tousseItem.isRecycling()){ + shouldSendAmount = + MathTools.sub(tousseItem.getAmount(), + tousseItem.getSendOutAmount()).intValue(); + } + int needSendAmount = shouldSendAmount; List matchedTousseInstances = new ArrayList(); List tousseInstanceList = invoicePlanIdToTousseListMap.get(invoicePlanIdOfTousseItem); tousseInstanceList.stream().forEach(tousseInstance -> {