From 0fe98ca955f7c0955db7dc94390801074249f4ba Mon Sep 17 00:00:00 2001 From: ljw Date: Mon, 9 Dec 2024 17:56:49 +0800 Subject: [PATCH] =?UTF-8?q?fix:=201.=E8=AE=A2=E8=88=B1=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E5=8D=95=EF=BC=8C=E5=8F=91=E8=BF=90=E6=98=8E=E7=BB=86=E5=8D=95?= =?UTF-8?q?=20=E8=8E=B7=E5=8F=96=E6=95=B4=E6=9C=BA=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../storagetrans/form/StorageTransEdit.java | 52 ++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) 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 23de8d05..13132da3 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 @@ -1,7 +1,9 @@ package com.yem.wm.es.storagetrans.form; import com.yem.or.utils.OrderApiUtils; +import com.yem.wm.es.Util.PlanJobCMMP; import com.yem.wm.es.Util.TotalUtil; +import com.yem.wm.es.Util.ViewInterfaceDocking; import com.yem.wm.es.Util.ZJUtils; import com.yem.wm.es.contactbook.op.ContactBookSaveOp; import com.yem.wm.es.salesorder.utils.SalesOrderUtils; @@ -645,8 +647,56 @@ public class StorageTransEdit extends AbstractBillPlugIn implements BeforeF7Sele DynamicObject dataEntity = model.getDataEntity(true); IFormView view = this.getView(); if (operateKey.equals("getmachine")) { - ZJUtils.renewMachineProductInfo(view, model); +// ZJUtils.renewMachineProductInfo(view, model); // renewMachineProductInfo(); + HashMap map = new HashMap<>(); + Set resourcesCodeSet = new HashSet(); + Set vehicleNoSet = new HashSet(); + int machineProductInfoRows = model.getEntryRowCount("yem_es_salesorder_z"); + for (int i = 0; i < machineProductInfoRows; i++) { + DynamicObject resourcesCode = (DynamicObject) model.getValue("yem_resourcescode", i); + if (YEM.isNotEmpty(resourcesCode)) { + resourcesCodeSet.add(resourcesCode.getString("number")); + } + String vehicleNo = (String) model.getValue("yem_vehicleno", i); + vehicleNoSet.add(vehicleNo); + } + if (resourcesCodeSet.size() > 0) { + map.put(PlanJobCMMP.productCode, resourcesCodeSet); + } + if (vehicleNoSet.size() > 0) { + map.put(PlanJobCMMP.planPin, vehicleNoSet); + } + int rowIndex = this.getModel().getEntryCurrentRowIndex("yem_es_materialinfo"); + long productsid = this.getModel().getEntryEntity("yem_es_materialinfo").get(rowIndex).getDynamicObject("yem_products").getLong("id"); + List dockings = ViewInterfaceDocking.docking(ViewInterfaceDocking.PLAN_JOB, map, productsid); + + if (YEM.isNotEmpty(dockings)) { + dockings.sort(new Comparator() { + @Override + public int compare(Map o1, Map o2) { + Date date1 = (Date) o1.get(PlanJobCMMP.jobTime); + Date date2 = (Date) o1.get(PlanJobCMMP.jobTime); + return date1.compareTo(date2); + } + }); + for (int i = 0; i < machineProductInfoRows; i++) { + DynamicObject resourcesCodeObj = (DynamicObject) model.getValue("yem_resourcescode", i); + String resourcesCode = YEM.isNotEmpty(resourcesCodeObj) ? resourcesCodeObj.getString("number") : ""; + String vehicleNo = (String) model.getValue("yem_vehicleno", i); + for (Map docking : dockings) { + String planPin = (String) docking.get(PlanJobCMMP.planPin); + String productCode = (String) docking.get(PlanJobCMMP.productCode); + if (resourcesCode.equals(productCode) && vehicleNo.equals(planPin)) { + model.setValue("yem_engineno", docking.get(PlanJobCMMP.stockBatch), i);//发动机号 + model.setValue("yem_enginemodel", docking.get(PlanJobCMMP.specification), i);//发动机型号 + model.setValue("yem_enginevendor", docking.get(PlanJobCMMP.supName), i);//发动机厂商 + ZJUtils.setInstructionValue(model, docking, i); + } + } + } + } + view.invokeOperation("save"); } if ("draw".equals(operateKey)) { String creditbackstatus = dataEntity.getString("yem_creditbackstatus");