diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutBillPlugin.java index efc1efe..2ffd973 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutBillPlugin.java @@ -165,6 +165,7 @@ public class MaterialOutBillPlugin extends AbstractBillPlugIn implements BeforeF DynamicObject ecma_matinventory = BusinessDataServiceHelper.loadSingle("ecma_matinventory", new QFilter[]{qFilters});//即时库存 if (ecma_matinventory != null) { BigDecimal qty = ecma_matinventory.getBigDecimal("qty");//即时库存-可用数量 + BigDecimal price2 = ecma_matinventory.getBigDecimal("price");//即时库存-当前成本单价 DynamicObjectCollection entryEntityCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity");//出库单分录 BigDecimal totalQty = BigDecimal.ZERO;//修改行相同的资源编码数量 BigDecimal totalAmount = BigDecimal.ZERO;//修改行不相同的资源编码数量 @@ -180,13 +181,20 @@ public class MaterialOutBillPlugin extends AbstractBillPlugIn implements BeforeF continue; } totalQty = totalQty.add(qty1); - if (rowIndex == i){ + if (rowIndex == i) { continue; } totalAmount = totalAmount.add(amount); } if (totalQty.compareTo(qty) == 0) { - this.getModel().setValue("amount", ecma_matinventory.getBigDecimal("amount").subtract(totalAmount), rowIndex);//金额 + BigDecimal amount = ecma_matinventory.getBigDecimal("amount").subtract(totalAmount); + this.getModel().setValue("amount", amount, rowIndex);//金额 + BigDecimal price1 = amount.divide(qty, 2, RoundingMode.HALF_UP); + this.getModel().setValue("price", price1, rowIndex);//单价(不含税) + } else { + this.getModel().setValue("price", price2, rowIndex);//单价(不含税) + BigDecimal result1 = newValue.multiply(price2).setScale(2, RoundingMode.HALF_UP); + this.getModel().setValue("amount", result1, rowIndex);//金额 } } }