From 5c03fd576a2081671e32d49cd306bdd73f63a841 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Wed, 10 Dec 2025 16:16:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E6=AC=BE=E7=94=B3=E8=AF=B7=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=80=BB=E9=83=A8=E4=BB=A3=E6=94=B6=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E8=B5=8B=E5=80=BC=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/ContractSelectProjectPlugin.java | 36 +++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSelectProjectPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSelectProjectPlugin.java index 2fd822b..09f1653 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSelectProjectPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSelectProjectPlugin.java @@ -1,13 +1,20 @@ package zcgj.zcdev.zcdev.pr.plugin.form; import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.datamodel.events.ChangeData; +import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.form.control.events.BeforeItemClickEvent; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.QueryServiceHelper; import kd.sdk.plugin.Plugin; import java.util.EventObject; /** - * 收付款申请单选择合同时项目提醒插件 + * 收付款申请单选择合同时项目提醒插件 */ public class ContractSelectProjectPlugin extends AbstractBillPlugIn implements Plugin { @@ -24,11 +31,36 @@ public class ContractSelectProjectPlugin extends AbstractBillPlugIn implements P //工具栏上的所有按钮的点击都会激活itemClick和beforeItemClick方法, 需 //要开发人员实现不同按钮的逻辑 if (evt.getItemKey().equals("selectcontract")) { Object project = this.getModel().getValue("project"); - if(project == null) { + if (project == null) { evt.setCancel(true); this.getView().showErrorNotification("请选择项目"); } } super.beforeItemClick(evt); } + + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + String name = e.getProperty().getName(); + if (name.equals("zcgj_hqrec")) { + //总部代收 + ChangeData changeData = e.getChangeSet()[0]; + Object newValue = changeData.getNewValue(); + if (newValue != null && newValue.equals("20")) { + DynamicObject org = (DynamicObject) this.getModel().getValue("org");//所属组织 + if (org != null) { + QFilter filter = new QFilter("zcgj_companyblentry.zcgj_org", QCP.equals, org.getPkValue());//组织 + DynamicObject zcgj_companybelong = BusinessDataServiceHelper.loadSingle("zcgj_companybelong", "zcgj_headquarters", + new QFilter[]{filter});//"公司归属区域" + if (zcgj_companybelong != null) { + DynamicObject zcgj_headquarters = zcgj_companybelong.getDynamicObject("zcgj_headquarters");//本部 + this.getModel().setValue("zcgj_hqorg", zcgj_headquarters);//总部代收组织 + } + } + } else { + this.getModel().setValue("zcgj_hqorg", null);//总部代收组织 + } + } + } }