From 3af4c1ff5d146eaf48a3ac18fa64caa669fe3b92 Mon Sep 17 00:00:00 2001 From: 25655 <2565550274@qq.com> Date: Sat, 22 Mar 2025 14:37:03 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=201.=E6=80=BB=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=EF=BC=8C=E5=BA=93=E5=AD=98=E5=B7=AE=E8=AE=A1?= =?UTF-8?q?=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trackplace/form/TrackplaceFormPlugIn.java | 5 +- .../form/tracktaskconsoleFormPlugIn.java | 65 +++++++++++++++++-- 2 files changed, 60 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/yem/wm/im/trackplace/form/TrackplaceFormPlugIn.java b/src/main/java/com/yem/wm/im/trackplace/form/TrackplaceFormPlugIn.java index 6fb4b719..9019c01d 100644 --- a/src/main/java/com/yem/wm/im/trackplace/form/TrackplaceFormPlugIn.java +++ b/src/main/java/com/yem/wm/im/trackplace/form/TrackplaceFormPlugIn.java @@ -11,13 +11,12 @@ import kd.bos.dataentity.metadata.dynamicobject.DynamicProperty; import kd.bos.entity.datamodel.IDataModel; import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; -import kd.bos.entity.operate.result.OperationResult; import kd.bos.exception.KDBizException; import kd.bos.form.FormShowParameter; import kd.bos.form.IFormView; -import kd.bos.form.control.AttachmentPanel; import kd.bos.form.control.EntryGrid; -import kd.bos.form.control.events.*; +import kd.bos.form.control.events.RowClickEvent; +import kd.bos.form.control.events.RowClickEventListener; import kd.bos.form.events.*; import kd.bos.form.field.BasedataEdit; import kd.bos.form.field.events.BeforeF7SelectEvent; 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 8c06672a..9d94cbc7 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 @@ -38,6 +38,7 @@ import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.QueryServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; +import org.jetbrains.annotations.NotNull; import java.math.BigDecimal; import java.util.*; @@ -79,7 +80,7 @@ public class tracktaskconsoleFormPlugIn extends AbstractBillPlugIn implements Be map.put("现产", "A"); map.put("改制", "B"); map.put("外购", "D"); - map.put("库存车","G"); + map.put("库存车", "G"); fillEntityCombo(map); } if (billtype.equals("yem_tracktaskconsole_pj")) { @@ -188,7 +189,7 @@ public class tracktaskconsoleFormPlugIn extends AbstractBillPlugIn implements Be if (yemMateriel != null) { String number = yemMateriel.getString("number"); QFilter qFilter = new QFilter("yem_materialentry.yem_materiel.number", QCP.equals, number); - qFilter.and(new QFilter("enable",QCP.equals,"1")); + qFilter.and(new QFilter("enable", QCP.equals, "1")); String selectfield = DynamicObjectUtil.getSelectfields("yem_materialinventoryage", false); String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_materialinventoryage", "yem_materialentry", false); DynamicObject[] load = BusinessDataServiceHelper.load("yem_materialinventoryage", selectfields, new QFilter[]{qFilter}); @@ -204,12 +205,12 @@ public class tracktaskconsoleFormPlugIn extends AbstractBillPlugIn implements Be date = getDate(i, number, dynamicObject, yemBizdate); } } - }else { + } else { this.getModel().setValue("yem_ageingdata", 0, i); this.getModel().setValue("yem_ageingdate", 0, i); this.getModel().setValue("yem_ageing", 0, i); } - }else { + } else { this.getModel().setValue("yem_ageingdata", 0, i); this.getModel().setValue("yem_ageingdate", 0, i); this.getModel().setValue("yem_ageing", 0, i); @@ -229,12 +230,13 @@ public class tracktaskconsoleFormPlugIn extends AbstractBillPlugIn implements Be DynamicObject materialEntry = materialEntries.get(i); String materialNum = materialEntry.getString("yem_materiel.number"); long materialNumid = materialEntry.getLong("yem_materiel.id"); + BigDecimal yemCancelNum = materialEntry.getBigDecimal("yem_cancel_num"); //已采购 BigDecimal yem_buyfromcmmp = getbuyfromcmmp(materialNum, yem_bd_products); model.setValue("yem_buyfromcmmp", yem_buyfromcmmp, i); //储备 DynamicObjectCollection yem_accreserveapply = QueryServiceHelper.query("yem_accreserveapply", "yem_detailinfo.yem_qty", new QFilter[]{new QFilter("yem_detailinfo.yem_materiel.id", QCP.equals, materialNumid), new QFilter("status", QCP.equals, "C")}, "yem_audittime desc", 1); - if (yem_accreserveapply != null && yem_accreserveapply.size() > 0) { + if (yem_accreserveapply != null && !yem_accreserveapply.isEmpty()) { model.setValue("yem_accreserveqty", yem_accreserveapply.get(0).getBigDecimal("yem_detailinfo.yem_qty"), i); } //VMI-eas数量+CMMP数量 @@ -254,7 +256,10 @@ public class tracktaskconsoleFormPlugIn extends AbstractBillPlugIn implements Be BigDecimal cmmpyem_gmpjqty = getSumCMMPQty(materialNum, "D", yem_bd_products); model.setValue("yem_gmpjqty", easyem_gmpjqty.add(cmmpyem_gmpjqty), i); BigDecimal tolreqqty = gettolreqqty(yem_bd_products, materialNumid); - model.setValue("yem_tolreqqty", tolreqqty, i); + BigDecimal yemEsDelivernoticeqty = getDelivernoticeqty(yem_bd_products, materialNumid); + 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); model.setValue("yem_qtysub", yem_qtysub, i); @@ -281,8 +286,54 @@ public class tracktaskconsoleFormPlugIn extends AbstractBillPlugIn implements Be } } + /** + * 获取销售出库其他出库的已审核数量汇总数据 + * + * @param yem_bd_products 产品分类 + * + * @param materialNumid 物料编码 + * + * @return 数量汇总值 + * + */ + @NotNull + private static BigDecimal getDelivernoticeqty(DynamicObject yem_bd_products, long materialNumid) { + List productId = getProductId(yem_bd_products); + //获取仓库分类为(国贸各事业部仓库)id集合 + DynamicObjectCollection whColl = QueryServiceHelper.query("yem_warehouse", "id", + new QFilter[]{new QFilter("yem_sort", QCP.equals, "D"), + new QFilter("enable", QCP.equals, "1")}); + ArrayList whids = new ArrayList<>(); + for (DynamicObject wh : whColl) { + whids.add(wh.getLong("id")); + } + QFilter qFilter = new QFilter("billstatus", QCP.equals, "C"); + qFilter.and("yem_billtype.number", QCP.equals, "yem_es_delivernotice_o"); + qFilter.and("yem_es_materialinfo.yem_materiel.id", QCP.equals, materialNumid); + qFilter.and("yem_bd_products.id", QCP.in, productId); + qFilter.and("yem_es_materialinfo.yem_warehouse.yem_sort.id", QCP.in, whids); + //调出仓库的仓库分类为(国贸各事业部仓库) + + 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" + , 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); + } + } + } + return yemEsDelivernoticeqty; + } + /** * 账龄赋值 + * * @param i * @param number * @param dynamicObject @@ -492,7 +543,7 @@ public class tracktaskconsoleFormPlugIn extends AbstractBillPlugIn implements Be "yem_es_materialinfo.yem_qty, yem_es_materialinfo.yem_materiel", new QFilter[]{ new QFilter("yem_es_materialinfo.yem_materiel.id", QCP.equals, materialNumid), new QFilter("yem_bd_products.id", QCP.in, productId) - }); + }); BigDecimal stockqty = BigDecimal.ZERO; for (DynamicObject yemStockqty : yem_stockqtys) { DynamicObjectCollection collection = yemStockqty.getDynamicObjectCollection("yem_es_materialinfo");