From e458d083f65511248142064db4503b6bd325bdad Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Mon, 25 Aug 2025 17:00:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=BB=B4=E4=BF=AE=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E8=A1=A8=E5=8D=95=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pr/plugin/form/MaintenanceBillPlugin.java | 59 ++++++++++++++++--- 1 file changed, 51 insertions(+), 8 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceBillPlugin.java index 375c1c1..18fe169 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceBillPlugin.java @@ -2,30 +2,73 @@ package zcgj.zcdev.zcdev.pr.plugin.form; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.dataentity.metadata.IDataEntityProperty; +import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; +import kd.bos.form.field.BasedataEdit; +import kd.bos.form.field.events.BeforeF7SelectEvent; +import kd.bos.form.field.events.BeforeF7SelectListener; +import kd.bos.list.ListShowParameter; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.sdk.plugin.Plugin; -public class MaintenanceBillPlugin extends AbstractBillPlugIn implements Plugin { +import java.util.EventObject; + +/** + * 设备维修申请表单插件 + */ +public class MaintenanceBillPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener { + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit zcgj_equipment = this.getView().getControl("zcgj_equipment");//设备名称 + zcgj_equipment.addBeforeF7SelectListener(this); + } @Override public void propertyChanged(PropertyChangedArgs e) { super.propertyChanged(e); String name = e.getProperty().getName(); - if (name.equals("zcgj_project")){ + if (name.equals("zcgj_project")) { Object zcgj_project = this.getModel().getValue("zcgj_project"); - if(zcgj_project!=null){ + if (zcgj_project != null) { DynamicObject project = (DynamicObject) zcgj_project; DynamicObject projectinfo = BusinessDataServiceHelper.loadSingle("ec_project_f7", new QFilter[]{new QFilter("id", QCP.equals, project.getLong("id"))}); DynamicObject fiaccountorg = projectinfo.getDynamicObject("fiaccountorg"); - this.getModel().setValue("zcgj_accountorg",fiaccountorg); - this.getView().setEnable(false,"zcgj_accountorg"); - }else { - this.getModel().setValue("zcgj_accountorg",null); - this.getView().setEnable(true,"zcgj_accountorg"); + this.getModel().setValue("zcgj_accountorg", fiaccountorg); + this.getView().setEnable(false, "zcgj_accountorg"); + } else { + this.getModel().setValue("zcgj_accountorg", null); + this.getView().setEnable(true, "zcgj_accountorg"); + } + } else if (name.equals("zcgj_accountorg")) { + //财务记账组织 + ChangeData[] changeSet = e.getChangeSet(); + ChangeData changeData = changeSet[0]; + Object newValue = changeData.getNewValue();//新值 + Object oldValue = changeData.getOldValue();//旧值 + if (newValue == null || !newValue.equals(oldValue)) { + DynamicObjectCollection entryCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity");//设备维修信息分录 + entryCollection.clear(); + this.getView().updateView("entryentity");//刷新分录 } } } + + @Override + public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { + ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + Object zcgj_accountOrg = this.getModel().getValue("zcgj_accountorg");//财务记账组织 + if (zcgj_accountOrg != null) { + DynamicObject zcgj_accountOrg1 = (DynamicObject) zcgj_accountOrg; + QFilter qFilter = new QFilter("useorg", QCP.equals, zcgj_accountOrg1.getPkValue()); + formShowParameter.getListFilterParameter().getQFilters().add(qFilter); + } else { + this.getView().showErrorNotification("请先填写财务记账组织!!"); + beforeF7SelectEvent.setCancel(true); + } + } }