其他出库申请物料带出价格 判空

This commit is contained in:
tanfengling@x-ri.com 2025-10-30 10:52:24 +08:00
parent e6041130dc
commit d8729b8eef
1 changed files with 18 additions and 14 deletions

View File

@ -105,21 +105,25 @@ public class OtherOutApplyBillPlugin extends AbstractBillPlugIn implements Befor
if (StringUtils.equals("tqq9_materiel", name)) { if (StringUtils.equals("tqq9_materiel", name)) {
ChangeData[] changeSet = e.getChangeSet(); ChangeData[] changeSet = e.getChangeSet();
DynamicObject newValue = (DynamicObject) changeSet[0].getNewValue();//物料库存信息 DynamicObject newValue = (DynamicObject) changeSet[0].getNewValue();//物料库存信息
DynamicObject masterid = newValue.getDynamicObject("masterid");//物料 if(newValue != null){
QFilter purinbillF = new QFilter("billentry.material.id", QCP.equals, newValue.getLong("id")); DynamicObject masterid = newValue.getDynamicObject("masterid");//物料
purinbillF = purinbillF.and("billstatus", QCP.equals, "C"); if(masterid != null){
//price QFilter purinbillF = new QFilter("billentry.material.id", QCP.equals, newValue.getLong("id"));
DynamicObject[] purinbills = BusinessDataServiceHelper.load("im_purinbill", "id,billno,billentry.material,billentry.price", purinbillF.toArray(), "auditdate desc"); purinbillF = purinbillF.and("billstatus", QCP.equals, "C");
if(purinbills != null && purinbills.length > 0){ //price
DynamicObject purinbill = purinbills[0]; DynamicObject[] purinbills = BusinessDataServiceHelper.load("im_purinbill", "id,billno,billentry.material,billentry.price", purinbillF.toArray(), "auditdate desc");
DynamicObjectCollection billentry = purinbill.getDynamicObjectCollection("billentry"); if(purinbills != null && purinbills.length > 0){
for (DynamicObject dynamicObject : billentry) { DynamicObject purinbill = purinbills[0];
String number = dynamicObject.getString("material.masterid.number"); DynamicObjectCollection billentry = purinbill.getDynamicObjectCollection("billentry");
if (StringUtils.equals(number, masterid.getString("number"))) { for (DynamicObject dynamicObject : billentry) {
BigDecimal price = dynamicObject.getBigDecimal("price"); String number = dynamicObject.getString("material.masterid.number");
this.getModel().setValue("tqq9_price", price); if (StringUtils.equals(number, masterid.getString("number"))) {
BigDecimal price = dynamicObject.getBigDecimal("price");
this.getModel().setValue("tqq9_price", price);
}
break;
}
} }
break;
} }
} }
} }