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