diff --git a/src/main/java/com/yem/wm/im/tracktaskconsole/form/tracktaskconsoleFormPlugIn.java b/src/main/java/com/yem/wm/im/tracktaskconsole/form/tracktaskconsoleFormPlugIn.java index 9610c7c6..48d2ce50 100644 --- a/src/main/java/com/yem/wm/im/tracktaskconsole/form/tracktaskconsoleFormPlugIn.java +++ b/src/main/java/com/yem/wm/im/tracktaskconsole/form/tracktaskconsoleFormPlugIn.java @@ -257,8 +257,8 @@ public class tracktaskconsoleFormPlugIn extends AbstractBillPlugIn implements Be model.setValue("yem_gmpjqty", easyem_gmpjqty.add(cmmpyem_gmpjqty), i); BigDecimal tolreqqty = gettolreqqty(yem_bd_products, materialNumid); BigDecimal yemEsDelivernoticeqty = getDelivernoticeqty(yem_bd_products, materialNumid); - BigDecimal yem_tolreqqty = tolreqqty.subtract(yemEsDelivernoticeqty); - yem_tolreqqty = yem_tolreqqty.subtract(yemCancelNum); + BigDecimal yem_tolreqqty = tolreqqty.subtract(yemEsDelivernoticeqty); + yem_tolreqqty = yem_tolreqqty.subtract(yemCancelNum); model.setValue("yem_tolreqqty", yem_tolreqqty, i); //处理库存差 BigDecimal yem_qtysub = easyem_gmpjqty.add(cmmpyem_gmpjqty).add(yem_buyfromcmmp).subtract(yem_tolreqqty); @@ -290,11 +290,8 @@ public class tracktaskconsoleFormPlugIn extends AbstractBillPlugIn implements Be * 获取销售出库其他出库的已审核数量汇总数据 * * @param yem_bd_products 产品分类 - * - * @param materialNumid 物料编码 - * + * @param materialNumid 物料编码 * @return 数量汇总值 - * */ @NotNull private static BigDecimal getDelivernoticeqty(DynamicObject yem_bd_products, long materialNumid) { @@ -307,16 +304,23 @@ public class tracktaskconsoleFormPlugIn extends AbstractBillPlugIn implements Be //调出仓库的仓库分类为(国贸各事业部仓库) DynamicObject[] yemEsDelivernotice = BusinessDataServiceHelper.load("yem_es_delivernotice", "id,billno" + - ",yem_es_materialinfo,yem_es_materialinfo.yem_qty,yem_es_materialinfo.yem_materiel,billstatus,yem_billtype,yem_bd_products" + ",yem_es_materialinfo,yem_es_materialinfo.yem_qty,yem_es_materialinfo.yem_materiel,yem_es_materialinfo.yem_warehouse" + + ",billstatus,yem_billtype,yem_bd_products" , new QFilter[]{qFilter}); BigDecimal yemEsDelivernoticeqty = BigDecimal.ZERO; for (DynamicObject dynamicObject : yemEsDelivernotice) { DynamicObjectCollection yemEsMaterialinfo1 = dynamicObject.getDynamicObjectCollection("yem_es_materialinfo"); for (DynamicObject object : yemEsMaterialinfo1) { - long aLong = object.getLong("yem_materiel.id"); - BigDecimal yemQty = object.getBigDecimal("yem_qty"); - if (aLong == materialNumid) { - yemEsDelivernoticeqty = yemQty.add(yemEsDelivernoticeqty); + DynamicObject yemWarehouse = object.getDynamicObject("yem_warehouse"); + if (yemWarehouse != null) { + String yemSort = yemWarehouse.getString("yem_sort"); + if (yemSort.equals("D")) { + long aLong = object.getLong("yem_materiel.id"); + BigDecimal yemQty = object.getBigDecimal("yem_qty"); + if (aLong == materialNumid) { + yemEsDelivernoticeqty = yemQty.add(yemEsDelivernoticeqty); + } + } } } }