diff --git a/lc123/cloud/app/plugin/form/pm/PurorderCalculateBillPlugin.java b/lc123/cloud/app/plugin/form/pm/PurorderCalculateBillPlugin.java index 95a37f1..0705a21 100644 --- a/lc123/cloud/app/plugin/form/pm/PurorderCalculateBillPlugin.java +++ b/lc123/cloud/app/plugin/form/pm/PurorderCalculateBillPlugin.java @@ -12,7 +12,7 @@ import java.math.BigDecimal; /** * 采购订单计算 - * 供应商发生改变,历史未到账余额,历史未到账数量 + * 供应商发生改变,历史未到账余额,历史未到账数量 */ public class PurorderCalculateBillPlugin extends AbstractBillPlugIn { @@ -23,39 +23,42 @@ public class PurorderCalculateBillPlugin extends AbstractBillPlugIn { String name = e.getProperty().getName(); ChangeData[] changeSet = e.getChangeSet(); Object newValue = changeSet[0].getNewValue(); - if("supplier".equals(name)){ + if ("supplier".equals(name)) { BigDecimal totalAmount = BigDecimal.ZERO; BigDecimal totalCount = BigDecimal.ZERO; DynamicObject supplier = (DynamicObject) newValue; - // 查询正常的采购订单 总额,总数量 - QFilter f1 = new QFilter("supplier.id", "=", supplier.getPkValue()); - QFilter f2 = new QFilter("billstatus", "=", "C");//已审核的订单 - QFilter f3 = new QFilter("closestatus", "=", "A");//排除已关闭的订单 - DynamicObject[] pmBillArr = BusinessDataServiceHelper.load("pm_purorderbill", - "id,billno,totalamount,billentry.qty", - new QFilter[]{f1, f2, f3}); - for (DynamicObject bill : pmBillArr) { - totalAmount = totalAmount.add(bill.getBigDecimal("totalamount")); - DynamicObjectCollection entries = bill.getDynamicObjectCollection("billentry"); - for (DynamicObject entry : entries) { - totalCount = totalCount.add(entry.getBigDecimal("qty")); + if (null != supplier) { + // 查询正常的采购订单 总额,总数量 + QFilter f1 = new QFilter("supplier.id", "=", supplier.getPkValue()); + QFilter f2 = new QFilter("billstatus", "=", "C");//已审核的订单 + QFilter f3 = new QFilter("closestatus", "=", "A");//排除已关闭的订单 + DynamicObject[] pmBillArr = BusinessDataServiceHelper.load("pm_purorderbill", + "id,billno,totalamount,billentry.qty", + new QFilter[]{f1, f2, f3}); + for (DynamicObject bill : pmBillArr) { + totalAmount = totalAmount.add(bill.getBigDecimal("totalamount")); + DynamicObjectCollection entries = bill.getDynamicObjectCollection("billentry"); + for (DynamicObject entry : entries) { + totalCount = totalCount.add(entry.getBigDecimal("qty")); + } } - } - //查询采购入库单的总金额,总数量 - QFilter qf1 = new QFilter("supplier.id", "=", supplier.getPkValue()); - QFilter qf2 = new QFilter("billstatus", "=", "C"); - DynamicObject[] imBillArr = BusinessDataServiceHelper.load("im_purinbill", - "id,billno,billentry.qty,billentry.amountandtax", - new QFilter[]{qf1, qf2}); - for (DynamicObject bill : imBillArr) { - DynamicObjectCollection entries = bill.getDynamicObjectCollection("billentry"); - for (DynamicObject entry : entries) { - totalAmount = totalAmount.subtract(entry.getBigDecimal("amountandtax")); - totalCount = totalCount.subtract(entry.getBigDecimal("qty")); + //查询采购入库单的总金额,总数量 + QFilter qf1 = new QFilter("supplier.id", "=", supplier.getPkValue()); + QFilter qf2 = new QFilter("billstatus", "=", "C"); + DynamicObject[] imBillArr = BusinessDataServiceHelper.load("im_purinbill", + "id,billno,billentry.qty,billentry.amountandtax", + new QFilter[]{qf1, qf2}); + for (DynamicObject bill : imBillArr) { + DynamicObjectCollection entries = bill.getDynamicObjectCollection("billentry"); + for (DynamicObject entry : entries) { + totalAmount = totalAmount.subtract(entry.getBigDecimal("amountandtax")); + totalCount = totalCount.subtract(entry.getBigDecimal("qty")); + } } + this.getModel().setValue("tqq9_lswdhje", totalAmount); + this.getModel().setValue("tqq9_lswdhsl", totalCount); } - this.getModel().setValue("tqq9_lswdhje", totalAmount); - this.getModel().setValue("tqq9_lswdhsl", totalCount); + } } }