From 1b143d9c9ed7b81036dc4182040f29f3e7d98ed3 Mon Sep 17 00:00:00 2001 From: zhangzhiguo Date: Wed, 26 Feb 2025 14:35:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C=E7=BB=93?= =?UTF-8?q?=E7=AE=97=E5=8D=95=E5=AE=9E=E9=99=85=E7=BB=93=E7=AE=97=E7=94=B2?= =?UTF-8?q?=E6=96=B9=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/EcInFinalsettleJusCustPlugin.java | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcInFinalsettleJusCustPlugin.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcInFinalsettleJusCustPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcInFinalsettleJusCustPlugin.java new file mode 100644 index 0000000..8dd7285 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcInFinalsettleJusCustPlugin.java @@ -0,0 +1,54 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.context.RequestContext; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +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.bos.servicehelper.user.UserServiceHelper; +import kd.sdk.plugin.Plugin; + +import java.util.ArrayList; +import java.util.EventObject; +import java.util.List; + +public class EcInFinalsettleJusCustPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener { + + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit fieldEdit = this.getView().getControl("zcgj_jscustomer"); + fieldEdit.addBeforeF7SelectListener(this); + } + + @Override + public void beforeF7Select(BeforeF7SelectEvent arg0) { + String name = arg0.getProperty().getName(); + if(name.equals("zcgj_jscustomer")){ + Object contractObj = this.getModel().getValue("contract"); + if(contractObj != null){ + DynamicObject contract = (DynamicObject)contractObj; + boolean ismulticontract = contract.getBoolean("ismulticontract");//多方合同 + DynamicObject parta = contract.getDynamicObject("parta"); + List ids = new ArrayList<>(); + ids.add(parta.getLong("id")); + if(ismulticontract){ + DynamicObjectCollection otherpart = contract.getDynamicObjectCollection("otherpart"); + for (DynamicObject dynamicObject : otherpart) { + ids.add(dynamicObject.getLong(2)); + } + } + List qFilterList = new ArrayList<>(); + qFilterList.add(new QFilter("id", QCP.in,ids)); + arg0.setCustomQFilters(qFilterList); + } + + } + } +}