Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java =================================================================== diff -u -r27815 -r27845 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java (.../InvoiceOptimizeManagerImpl.java) (revision 27815) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java (.../InvoiceOptimizeManagerImpl.java) (revision 27845) @@ -962,9 +962,11 @@ */ writebackCommon(invoiceList); writebackForWriteBackInventoryDao(invoiceList, disposableGoodsStorageAdjustVoTotalList); - logger.debug("发货完成,耗时(毫秒数):" + (System.currentTimeMillis() - start)); - if(true){ -// throw new RuntimeException("test new"); + String debugInfo = "发货完成,耗时(毫秒数):" + (System.currentTimeMillis() - start); + logger.debug(debugInfo); + //启用发货保存调试模式(默认不启用) + if(CssdUtils.getSystemSetConfigByNameBool("enableInvoiceSubmitDebug")){ + throw new RuntimeException("调试:" + debugInfo); } context.setInvoiceList(invoiceList); return context; @@ -2022,7 +2024,7 @@ Long tousseDefinitionId = tousseItem.getTousseDefinitionId(); int waitSendAmount = CssdUtils.getWaitDeliverAmount2(tousseItem, invoiceOrigin, afterRecyclingTousseDeliver, - false, objectDao); + (invoicePlan.isProxyDisinfection() || invoicePlan.isBorrowingSingle()), objectDao); int needSendAmount = MathTools.sub(waitSendAmount, tousseItem.getSendOutAmount()).intValue(); if(needSendAmount <= 0){ continue; @@ -2494,7 +2496,7 @@ } int waitSendAmount = CssdUtils.getWaitDeliverAmount2(tousseItem, invoiceOrigin, afterRecyclingTousseDeliver, - false, objectDao); + (invoicePlan.isProxyDisinfection() || invoicePlan.isBorrowingSingle()), objectDao); int needSendAmount = MathTools.sub(waitSendAmount, tousseItem.getSendOutAmount()).intValue(); if(needSendAmount <= 0){ continue; @@ -2749,7 +2751,7 @@ //本申请项还需待发的数量 int waitSendAmount = CssdUtils.getWaitDeliverAmount2(tousseItem, invoiceOrigin, afterRecyclingTousseDeliver, - false, objectDao); + (invoicePlan.isProxyDisinfection() || invoicePlan.isBorrowingSingle()), objectDao); int needSendAmount = MathTools.sub(waitSendAmount, tousseItem.getSendOutAmount()).intValue(); if(needSendAmount <= 0){ continue; @@ -2985,11 +2987,11 @@ if(alreadyMatchedTiCountOfTd >= tdIdToSendAmountMap.get(tousseDefinitionId).intValue()){ continue; } - + InvoicePlan invoicePlan = tousseItem.getInvoicePlan(); //本申请项待发的数量 int waitSendAmount = CssdUtils.getWaitDeliverAmount2(tousseItem, invoiceOrigin, afterRecyclingTousseDeliver, - false, objectDao); + (invoicePlan.isProxyDisinfection() || invoicePlan.isBorrowingSingle()), objectDao); //该申请项还需要发货的数量 int needSendAmount = MathTools.sub(waitSendAmount, @@ -3317,7 +3319,7 @@ //本申请项的待发数量 int waitSendAmountForTousseItem = CssdUtils.getWaitDeliverAmount2(tousseItem, invoiceOrigin, afterRecyclingTousseDeliver, - false, objectDao); + (invoicePlan.isProxyDisinfection() || invoicePlan.isBorrowingSingle()), objectDao); //当前申请项还需待发的数量 int needSendAmountForThisTousseItem = MathTools.sub(waitSendAmountForTousseItem, tousseItem.getSendOutAmount()).intValue(); if(needSendAmountForThisTousseItem <= 0){