Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r21793 -r21795 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 21793) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 21795) @@ -2947,14 +2947,7 @@ private void createAutoDeductionInvoiceItem(Invoice invoice, InvoicePlan invoicePlan, Set tousseInstances, SubmitInvoiceContext submitInvoiceContext) { - // 获得浮动价格系数 - BigDecimal floatPercent = null; - if(invoicePlan != null){ - floatPercent = invoicePlan.getDisposablePriceFluctuation(); - assertInvoicePlanDisposablePriceFluctuation(invoicePlan, floatPercent); - }else{ - floatPercent = supplyRoomConfigManager.getDisposableGoodsFluctuation(); - } + BigDecimal totalPrice = new BigDecimal(invoice.getTotalPrice()); List autoDeductionDisposableGoodsItems = submitInvoiceContext .getAutoDeductionDisposableGoodsItems(); @@ -3016,7 +3009,14 @@ allIdentifications.addAll(identifications); } - + // 获得浮动价格系数 + BigDecimal floatPercent = null; + if(invoicePlan != null){ + floatPercent = invoicePlan.getDisposablePriceFluctuation(); + assertInvoicePlanDisposablePriceFluctuation(invoicePlan, floatPercent); + }else{ + floatPercent = supplyRoomConfigManager.getDisposableGoodsFluctuation(); + } int amountAwaitingSent = amount; DiposableGoodsItem diposableGoodsItem = null; @@ -3347,7 +3347,7 @@ String applicant = null; Date applicationTime = null; Date recyclingTime = null; - BigDecimal disposablePriceFluctuation = null; + if (invoicePlan != null) { departCoding = invoicePlan.getDepartCoding(); depart = invoicePlan.getDepart(); @@ -3356,12 +3356,9 @@ recyclingTime = invoicePlan.getRecyclingTime(); settleAccountsDepart = invoicePlan.getSettleAccountsDepart(); settleAccountsDepartCoding = invoicePlan.getSettleAccountsDepartCoding(); - disposablePriceFluctuation = invoicePlan.getDisposablePriceFluctuation(); - assertInvoicePlanDisposablePriceFluctuation(invoicePlan, disposablePriceFluctuation); } else { applicationTime = date; recyclingTime = date; - disposablePriceFluctuation = supplyRoomConfigManager.getDisposableGoodsFluctuation(); } invoice.setInvoicePlanType(invoicePlanType); invoice.setDepart(depart); @@ -3377,6 +3374,16 @@ int sendAmount = createInvoiceItem(submitInvoiceContext, invoiceItem,expensiveGoodsItems, invoice,depart,departCoding); amountAwaitingSent -= sendAmount; }else if (InvoiceItem.DIPOSABLE_YES.equals(invoiceItem.getDiposable())) { + BigDecimal disposablePriceFluctuation = null; + if (invoicePlan != null) { + disposablePriceFluctuation = invoicePlan + .getDisposablePriceFluctuation(); + assertInvoicePlanDisposablePriceFluctuation(invoicePlan, + disposablePriceFluctuation); + } else { + disposablePriceFluctuation = supplyRoomConfigManager + .getDisposableGoodsFluctuation(); + } if (invoiceItem.expensiveDisposablegoods()) {// 高值耗材 List expensiveDisposablegoodsList = invoiceItem .getExpensiveDisposablegoods();