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); + } + + } + } +}