From b05a23820f86588a60f57bce080b8da6beb808e7 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Wed, 2 Jul 2025 14:52:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E8=AE=BE=E5=A4=87=E8=B5=8B=E5=80=BC=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/MaterialOutApplyPluginExt.java | 49 ++++++++++++------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutApplyPluginExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutApplyPluginExt.java index 5efdf9e..2ad708e 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutApplyPluginExt.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutApplyPluginExt.java @@ -11,6 +11,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; + import kd.bos.bill.AbstractBillPlugIn; import kd.bos.bill.OperationStatus; import kd.bos.dataentity.entity.DynamicObject; @@ -33,7 +34,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.ec.basedata.common.utils.OpenPageUtils; /** - * 出库单:领料出库与领料申请关联逻辑 + * 出库单:领料出库与领料申请关联逻辑和使用设备赋值逻辑 */ public class MaterialOutApplyPluginExt extends AbstractBillPlugIn implements BeforeF7SelectListener { private static final String APPLYBILL = "applybill"; @@ -45,7 +46,7 @@ public class MaterialOutApplyPluginExt extends AbstractBillPlugIn implements Bef public void registerListener(EventObject e) { super.registerListener(e); - BasedataEdit basedataEdit = (BasedataEdit)this.getControl("applybill"); + BasedataEdit basedataEdit = (BasedataEdit) this.getControl("applybill"); basedataEdit.addBeforeF7SelectListener(this); basedataEdit.addBeforeF7ViewDetailListener((beforeF7ViewDetailEvent) -> { beforeF7ViewDetailEvent.setCancel(true); @@ -63,9 +64,9 @@ public class MaterialOutApplyPluginExt extends AbstractBillPlugIn implements Bef public void beforeDoOperation(BeforeDoOperationEventArgs args) { super.beforeDoOperation(args); - FormOperate operate = (FormOperate)args.getSource(); + FormOperate operate = (FormOperate) args.getSource(); String operateKey = operate.getOperateKey(); - DynamicObject applyBill = (DynamicObject)this.getModel().getValue("applybill"); + DynamicObject applyBill = (DynamicObject) this.getModel().getValue("applybill"); if (StringUtils.equals("addnewentry", operateKey)) { if (applyBill != null) { this.openApplyEntryForm(); @@ -77,8 +78,8 @@ public class MaterialOutApplyPluginExt extends AbstractBillPlugIn implements Bef } protected void beforeApplyBillSelect(BeforeF7SelectEvent arg0) { - DynamicObject project = (DynamicObject)this.getModel().getValue("project"); - DynamicObject warehouse = (DynamicObject)this.getModel().getValue("warehouse"); + DynamicObject project = (DynamicObject) this.getModel().getValue("project"); + DynamicObject warehouse = (DynamicObject) this.getModel().getValue("warehouse"); if (warehouse == null) { this.getView().showTipNotification(ResManager.loadKDString("请先选中仓库。", "MaterialOutApplyPlugin_1", "ec-ecma-formplugin", new Object[0]), 3000); arg0.setCancel(true); @@ -103,12 +104,24 @@ public class MaterialOutApplyPluginExt extends AbstractBillPlugIn implements Bef ChangeData changeData = e.getChangeSet()[0]; if (StringUtils.equals(name, "applybill")) { this.applyBillChanged(changeData); + } else if (StringUtils.equals(name, "material")) { + //资源编码 + DynamicObject material = (DynamicObject) changeData.getNewValue(); + int rowIndex = changeData.getRowIndex(); //修改行所在行行号 + DynamicObject applybill = (DynamicObject) this.getModel().getValue("applybill");//领料申请单 + if (material != null && rowIndex > 0 && applybill == null) { + DynamicObjectCollection entryEntityCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity");//出库单明细 + DynamicObject entryEntity = entryEntityCollection.get(0); + DynamicObject zcgj_shebei = entryEntity.getDynamicObject("zcgj_shebei");//使用设备 + if (zcgj_shebei != null) { + this.getModel().setValue("zcgj_shebei", zcgj_shebei, rowIndex);//使用设备 + } + } } - } protected void applyBillChanged(ChangeData changeData) { - DynamicObject newValue = (DynamicObject)changeData.getNewValue(); + DynamicObject newValue = (DynamicObject) changeData.getNewValue(); if (newValue != null) { newValue = BusinessDataServiceHelper.loadSingle(newValue.getPkValue(), "ecma_materialapplybill"); this.carryHeadData(newValue); @@ -128,8 +141,8 @@ public class MaterialOutApplyPluginExt extends AbstractBillPlugIn implements Bef if (applyEntries != null && !applyEntries.isEmpty()) { Iterator var4 = applyEntries.iterator(); - while(var4.hasNext()) { - DynamicObject applyEntry = (DynamicObject)var4.next(); + while (var4.hasNext()) { + DynamicObject applyEntry = (DynamicObject) var4.next(); BigDecimal restQty = applyEntry.getBigDecimal("restqty"); if (restQty.compareTo(BigDecimal.ZERO) != 0) { DynamicObject newEntry = new DynamicObject(entries.getDynamicObjectType()); @@ -168,8 +181,8 @@ public class MaterialOutApplyPluginExt extends AbstractBillPlugIn implements Bef if (applyEntries != null && !applyEntries.isEmpty()) { Iterator var5 = applyEntries.iterator(); - while(var5.hasNext()) { - DynamicObject applyEntry = (DynamicObject)var5.next(); + while (var5.hasNext()) { + DynamicObject applyEntry = (DynamicObject) var5.next(); if (applyEntryIdList.contains(applyEntry.getPkValue())) { DynamicObject newEntry = new DynamicObject(entries.getDynamicObjectType()); newEntry.set("applyentryid", applyEntry.getLong("id")); @@ -259,13 +272,13 @@ public class MaterialOutApplyPluginExt extends AbstractBillPlugIn implements Bef } private void openApplyEntryForm() { - DynamicObject applyBill = (DynamicObject)this.getModel().getValue("applybill");//领料申请单 + DynamicObject applyBill = (DynamicObject) this.getModel().getValue("applybill");//领料申请单 DynamicObjectCollection entries = this.getModel().getEntryEntity("entryentity"); StringBuffer selectedEntryIdBuff = new StringBuffer(); Iterator var4 = entries.iterator(); - while(var4.hasNext()) { - DynamicObject entry = (DynamicObject)var4.next(); + while (var4.hasNext()) { + DynamicObject entry = (DynamicObject) var4.next(); selectedEntryIdBuff.append(entry.get("applyentryid")).append(","); } @@ -284,10 +297,10 @@ public class MaterialOutApplyPluginExt extends AbstractBillPlugIn implements Bef public void closedCallBack(ClosedCallBackEvent closedCallBackEvent) { String actionID = closedCallBackEvent.getActionId(); Object returnData = closedCallBackEvent.getReturnData(); - DynamicObject applyBill = (DynamicObject)this.getModel().getValue("applybill"); + DynamicObject applyBill = (DynamicObject) this.getModel().getValue("applybill"); if (StringUtils.equals(actionID, "applyEntryCallback") && returnData != null) { - Map data = (Map)returnData; - List applyEntryIdList = (List)data.get("applyEntryIdList"); + Map data = (Map) returnData; + List applyEntryIdList = (List) data.get("applyEntryIdList"); if (applyBill != null) { DynamicObject applyBillData = BusinessDataServiceHelper.loadSingle(applyBill.getPkValue(), "ecma_materialapplybill"); this.carryEntryDataFromReturnData(applyBillData, applyEntryIdList);