From eff3960271f3257c6bfdb8cfb1a361cbacc0a51a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E8=B4=B5=E5=BC=BA?= Date: Thu, 22 May 2025 15:44:41 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=84=E4=BC=B0=E4=BB=BB=E5=8A=A1-=E5=88=86?= =?UTF-8?q?=E5=BD=95=E5=90=88=E5=90=8C=E6=B8=85=E5=8D=95F7=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E8=A1=A8=E5=A4=B4=E5=BC=80=E5=A7=8B-=E7=BB=93?= =?UTF-8?q?=E6=9D=9F=E6=97=B6=E9=97=B4=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ContractDataSelectF7Plugin.java | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 main/java/shkd/repc/resm/formplugin/ContractDataSelectF7Plugin.java diff --git a/main/java/shkd/repc/resm/formplugin/ContractDataSelectF7Plugin.java b/main/java/shkd/repc/resm/formplugin/ContractDataSelectF7Plugin.java new file mode 100644 index 0000000..bc2c4ab --- /dev/null +++ b/main/java/shkd/repc/resm/formplugin/ContractDataSelectF7Plugin.java @@ -0,0 +1,61 @@ +package shkd.repc.resm.formplugin; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.form.field.BasedataEdit; +import kd.bos.form.field.RefBillEdit; +import kd.bos.form.field.events.BeforeF7SelectEvent; +import kd.bos.form.field.events.BeforeF7SelectListener; +import kd.bos.form.plugin.AbstractFormPlugin; +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; + +import java.util.*; + +/** + * 动态表单插件 + */ +public class ContractDataSelectF7Plugin extends AbstractFormPlugin implements Plugin , BeforeF7SelectListener { + + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit bEdit = this.getView().getControl("contract"); + bEdit.addBeforeF7SelectListener(this); + } + + @Override + public void beforeF7Select(BeforeF7SelectEvent evt) { + + + // 评估期间.开始 + Date startTime = (Date) this.getModel().getValue("starttime"); + //评估期间.结束 + Date endTime = (Date) this.getModel().getValue("endtime"); + if (startTime !=null && endTime !=null){ + ListShowParameter formShowParameter = (ListShowParameter) evt.getFormShowParameter(); + List canSeeDataId = new ArrayList<>(); + + // 查找所有可用的合同清单数据(使用状态 = "1") + QFilter statusFilter = new QFilter("enable", QCP.equals, "1"); + QFilter startTimeFilter = new QFilter("sign_date", QCP.large_equals, startTime); + QFilter endTimeFilter = new QFilter("sign_date", QCP.less_equals, endTime); + DynamicObject[] settlePlanBills = BusinessDataServiceHelper.load("resm_contract_book", "id,bill,qeug_applyamount", statusFilter.and(startTimeFilter).and(endTimeFilter).toArray()); + + // 若无数据,直接返回 + if (settlePlanBills == null || settlePlanBills.length == 0) { + return; + } + // 遍历所有数据 + for (DynamicObject settlePlanBill : settlePlanBills) { + long id = settlePlanBill.getLong("id"); + canSeeDataId.add(id); + + } + List qFilters = Collections.singletonList(new QFilter("id", QCP.in, canSeeDataId)); + formShowParameter.getListFilterParameter().setQFilters(qFilters); + } + } +} \ No newline at end of file