供应商判空

This commit is contained in:
sez 2025-11-14 15:19:21 +08:00
parent f34c40b018
commit 8a7dc3efbd
1 changed files with 31 additions and 28 deletions

View File

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