From 02ce990a09d9e6ca2f713eebba0303f2631e43d5 Mon Sep 17 00:00:00 2001 From: 25655 <2565550274@qq.com> Date: Sat, 15 Feb 2025 11:24:05 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=201.1=E3=80=81=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E8=B5=84=E6=96=99=E7=94=B3=E6=8A=A5=E8=A6=81=E7=B4=A0=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=AD=97=E6=AE=B5=EF=BC=8C=E6=98=AF=E5=90=A6=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=EF=BC=88=E6=9E=9A=E4=B8=BE=EF=BC=8C=E6=98=AF=E5=90=A6?= =?UTF-8?q?=EF=BC=8C=E9=BB=98=E8=AE=A4=E7=A9=BA=EF=BC=89=EF=BC=9B=20=20=20?= =?UTF-8?q?2=E3=80=81=E5=90=88=E5=90=8C/=E5=8F=91=E8=BF=90/=E8=AE=A2?= =?UTF-8?q?=E8=88=B1=EF=BC=8C=E8=8E=B7=E5=8F=96=E5=AE=9E=E9=99=85=E8=A6=81?= =?UTF-8?q?=E7=B4=A0=E5=8A=9F=E8=83=BD=E8=B0=83=E6=95=B4=EF=BC=9A=20=20=20?= =?UTF-8?q?=E5=8E=9F=E9=80=BB=E8=BE=91=E9=85=8D=E7=BD=AE=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E5=8C=B9=E9=85=8D=E5=88=B0=E5=A4=9A=E6=9D=A1?= =?UTF-8?q?=EF=BC=8C=E6=89=8B=E5=8A=A8=E9=80=89=E6=8B=A9=EF=BC=9B=20=20=20?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=90=8E=EF=BC=9A=E5=A6=82=E6=9E=9C=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=E5=88=B0=E5=A4=9A=E6=9D=A1=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E5=8F=96=E7=94=B3=E6=8A=A5=E8=A6=81=E7=B4=A0=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E4=B8=BA=E6=98=AF=E7=9A=84=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=EF=BC=8C=E5=A6=82=E6=9E=9C=E4=B8=BA=E7=A9=BA=E6=88=96=E8=80=85?= =?UTF-8?q?=E4=B8=BA=E5=90=A6=EF=BC=8C=E5=88=99=E6=8C=89=E7=85=A7=E5=8E=9F?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=B8=8D=E5=81=9A=E5=A4=84=E7=90=86=EF=BC=8C?= =?UTF-8?q?=E5=85=B6=E4=BB=96=E9=80=BB=E8=BE=91=E4=B8=8D=E5=8F=98=20=20=20?= =?UTF-8?q?=E6=B6=89=E5=8F=8A=E8=B0=83=E6=95=B4=EF=BC=9A=E6=95=B4=E6=9C=BA?= =?UTF-8?q?=E5=92=8C=E9=85=8D=E4=BB=B6=E9=9C=80=E8=A6=81=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8C=E6=89=B9=E9=87=8F=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=EF=BC=88=E8=8E=B7=E5=8F=96=E7=94=B3=E6=8A=A5=E8=A6=81=E7=B4=A0?= =?UTF-8?q?=E6=8C=89=E9=92=AE=EF=BC=89=E5=92=8C=E5=8D=95=E7=8B=AC=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=EF=BC=88=E9=80=89=E6=8B=A9=E6=98=8E=E7=BB=86=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=EF=BC=89=20=20=20=E6=95=B4=E6=9C=BA=E5=8C=B9=E9=85=8D?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=9A=E4=BA=A7=E5=93=81=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E3=80=81=E5=9F=BA=E7=A1=80=E6=9C=BA=E5=9E=8B=E3=80=81=E6=8A=A5?= =?UTF-8?q?=E5=85=B3=E5=88=86=E7=B1=BB=E3=80=81=E6=B5=B7=E5=85=B3=E7=BC=96?= =?UTF-8?q?=E7=A0=81=EF=BC=9B=20=20=20=E9=85=8D=E4=BB=B6=E5=8C=B9=E9=85=8D?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=9A=E4=BA=A7=E5=93=81=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E3=80=81=E7=89=A9=E6=96=99=E7=BC=96=E7=A0=81=E3=80=81=E4=BF=9D?= =?UTF-8?q?=E7=AE=A1=E5=88=86=E7=B1=BB=E3=80=81=E6=B5=B7=E5=85=B3=E7=BC=96?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wm/es/salesorder/from/SalesOrderEdit.java | 40 ++++++++++++++----- .../form/ShippingDetailsFormPlugin.java | 23 +++++++---- .../storagetrans/form/StorageTransEdit.java | 36 +++++++++++++++++ 3 files changed, 83 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/yem/wm/es/salesorder/from/SalesOrderEdit.java b/src/main/java/com/yem/wm/es/salesorder/from/SalesOrderEdit.java index 4ff96ac3..e737f14f 100644 --- a/src/main/java/com/yem/wm/es/salesorder/from/SalesOrderEdit.java +++ b/src/main/java/com/yem/wm/es/salesorder/from/SalesOrderEdit.java @@ -734,6 +734,28 @@ public class SalesOrderEdit extends AbstractBillPlugIn implements Plugin, Before model.setValue("yem_hscode", hscodebase.getLong("id"), rowIndex); carryDeclaration(model, view, rowIndex, load, hscodebase); } + } else if (loads.length > 0) { + List list = new ArrayList<>(); + for (DynamicObject load : loads) { + boolean yemWhetheritdefaults = load.getBoolean("yem_whetheritdefaults"); + if (yemWhetheritdefaults) { + list.add(load); + } + } + if (list.size() == 1) { + DynamicObject load = list.get(0); + load = BusinessDataServiceHelper.loadSingle(load.getPkValue(), load.getDynamicObjectType().getName()); + DynamicObject customclass = load.getDynamicObject("yem_customclass"); + if (YEM.isNotEmpty(customclass)) { + model.setValue("yem_customclass", customclass.getLong("id"), rowIndex); + } + DynamicObject hscodebase = load.getDynamicObject("yem_hscodebase"); + if (YEM.isNotEmpty(hscodebase)) { + hscodebase = BusinessDataServiceHelper.loadSingle(hscodebase.getPkValue(), hscodebase.getDynamicObjectType().getName()); + model.setValue("yem_hscode", hscodebase.getLong("id"), rowIndex); + carryDeclaration(model, view, rowIndex, load, hscodebase); + } + } } } @@ -1982,21 +2004,21 @@ public class SalesOrderEdit extends AbstractBillPlugIn implements Plugin, Before setNewpPrice(dataEntity, view); checkGiftsGivenNumber(dataEntity, e); DynamicObjectCollection collection = dataEntity.getDynamicObjectCollection("yem_es_salesorder_zp"); - Map map = new HashMap<>(); + Map map = new HashMap<>(); for (DynamicObject dynamicObject : collection) { DynamicObject yemGiveproactype = dynamicObject.getDynamicObject("yem_giveproactype"); if (yemGiveproactype != null) { long aLong = yemGiveproactype.getLong("id"); BigDecimal yemSingleamt = dynamicObject.getBigDecimal("yem_singleamt"); - if (map.get(aLong)!=null){ - if (map.get(aLong).compareTo(yemSingleamt)!=0){ + if (map.get(aLong) != null) { + if (map.get(aLong).compareTo(yemSingleamt) != 0) { // ConfirmCallBackListener confirmCallBackListener = new ConfirmCallBackListener("checkGiftsGivenNumber", this); // this.getView().showConfirm("赠送配件分录同一机型存在多个单台配件金额,请检查后在进行提交!!!", MessageBoxOptions.OKCancel, confirmCallBackListener); this.getView().showMessage("赠送配件分录同一机型存在多个单台配件金额,请检查后在进行提交!!!"); e.setCancel(true); } - }else { - map.put(aLong,yemSingleamt); + } else { + map.put(aLong, yemSingleamt); } } } @@ -2050,10 +2072,10 @@ public class SalesOrderEdit extends AbstractBillPlugIn implements Plugin, Before BigDecimal qtyint = dynamicObject.getBigDecimal("yem_qtyint"); if (giveproactype == null) continue; long id = giveproactype.getLong("id"); - if (maps.containsKey(id)){ - maps.put(id,maps.get(id).add(qtyint)); - }else { - maps.put(id,qtyint); + if (maps.containsKey(id)) { + maps.put(id, maps.get(id).add(qtyint)); + } else { + maps.put(id, qtyint); } } for (Long id : maps.keySet()) { diff --git a/src/main/java/com/yem/wm/es/shippingdetails/form/ShippingDetailsFormPlugin.java b/src/main/java/com/yem/wm/es/shippingdetails/form/ShippingDetailsFormPlugin.java index efd30488..5dd1931e 100644 --- a/src/main/java/com/yem/wm/es/shippingdetails/form/ShippingDetailsFormPlugin.java +++ b/src/main/java/com/yem/wm/es/shippingdetails/form/ShippingDetailsFormPlugin.java @@ -292,18 +292,27 @@ public class ShippingDetailsFormPlugin extends AbstractBillPlugIn implements Bef } StringBuilder sb = new StringBuilder(); for (int i : selectRows) { - DynamicObject[] load = getDeclarationElementsUseCarry(model, i, null); - if (load.length == 1) { + DynamicObject[] loads = getDeclarationElementsUseCarry(model, i, null); + if (loads.length == 1) { // DynamicObject hscode = (DynamicObject) model.getValue("yem_hscode", i); // carryDeclaration(model, view, i, load[0], hscode); carryReportCategoryAndHsCode(model, view, i, ""); - } else { - if (load.length == 0) { - sb.append(String.format("第 %s 行未获匹配申报要素!!", i + 1)).append("\r\n"); + } else if (loads.length > 0) { + List list = new ArrayList<>(); + for (DynamicObject load : loads) { + boolean yemWhetheritdefaults = load.getBoolean("yem_whetheritdefaults"); + if (yemWhetheritdefaults) { + list.add(load); + } } - if (load.length > 1) { + if (list.size() == 1) { + carryReportCategoryAndHsCode(model, view, i, ""); + } + if (list.size() != 1) { sb.append(String.format("第 %s 行匹配到多条申报要素,请手动选择!!", i + 1)).append("\r\n"); } + } else { + sb.append(String.format("第 %s 行未获匹配申报要素!!", i + 1)).append("\r\n"); } } if (sb.length() > 0) { @@ -538,7 +547,7 @@ public class ShippingDetailsFormPlugin extends AbstractBillPlugIn implements Bef DynamicObject yemEsMaterialinfo = dynamicObjectCollection.get(currentRowIndex); long yemCoreentryid = yemEsMaterialinfo.getLong("yem_coreentryid"); DynamicObjectCollection yemEsSalesorderZ = yemEsMaterialinfo.getDynamicObjectCollection("yem_es_salesorder_z"); - if (!yemEsSalesorderZ.isEmpty()){ + if (!yemEsSalesorderZ.isEmpty()) { for (DynamicObject dynamicObject : yemEsSalesorderZ) { String yemVehicleno = dynamicObject.getString("yem_vehicleno"); list.add(yemVehicleno); diff --git a/src/main/java/com/yem/wm/es/storagetrans/form/StorageTransEdit.java b/src/main/java/com/yem/wm/es/storagetrans/form/StorageTransEdit.java index c8f2c978..55253e09 100644 --- a/src/main/java/com/yem/wm/es/storagetrans/form/StorageTransEdit.java +++ b/src/main/java/com/yem/wm/es/storagetrans/form/StorageTransEdit.java @@ -21,6 +21,7 @@ import kd.bos.entity.datamodel.events.*; import kd.bos.entity.property.EntryProp; import kd.bos.form.*; import kd.bos.form.control.AttachmentPanel; +import kd.bos.form.control.EntryGrid; import kd.bos.form.control.events.UploadListener; import kd.bos.form.events.AfterDoOperationEventArgs; import kd.bos.form.events.BeforeDoOperationEventArgs; @@ -443,6 +444,41 @@ public class StorageTransEdit extends AbstractBillPlugIn implements BeforeF7Sele if ("test_islastship".equals(operateKey)) { view.showSuccessNotification(String.valueOf(isLastShip(dataEntity))); } + if ("requestacdeclaration".equals(operateKey)) { + EntryGrid control = this.getControl("yem_es_materialinfo"); + int[] selectRows = control.getSelectRows(); + if (selectRows.length == 0) { + DynamicObjectCollection yemEsMaterialinfo = this.getModel().getEntryEntity("yem_es_materialinfo"); + for (int i = 0; i < yemEsMaterialinfo.size(); i++) { + carryReportCategoryAndHsCode(model, view, i, ""); + } + } + StringBuilder sb = new StringBuilder(); + for (int i : selectRows) { + DynamicObject[] loads = getDeclarationElementsUseCarry(model, i, null); + if (loads.length == 1) { +// DynamicObject hscode = (DynamicObject) model.getValue("yem_hscode", i); +// carryDeclaration(model, view, i, load[0], hscode); + carryReportCategoryAndHsCode(model, view, i, ""); + } else if (loads.length > 0) { + List list = new ArrayList<>(); + for (DynamicObject load : loads) { + boolean yemWhetheritdefaults = load.getBoolean("yem_whetheritdefaults"); + if (yemWhetheritdefaults) { + list.add(load); + } + } + if (list.size() == 1) { + carryReportCategoryAndHsCode(model, view, i, ""); + } + if (list.size() != 1) { + sb.append(String.format("第 %s 行匹配到多条申报要素,请手动选择!!", i + 1)).append("\r\n"); + } + } else { + sb.append(String.format("第 %s 行未获匹配申报要素!!", i + 1)).append("\r\n"); + } + } + } }