From e139625fb4228b06b8112d54d2e68ae4f35204a6 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Thu, 4 Dec 2025 16:02:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=90=8C=E3=80=81=E6=9D=90=E6=96=99?= =?UTF-8?q?=E3=80=81=E8=AE=BE=E5=A4=87=E6=88=90=E6=9C=AC=E6=A0=B8=E7=AE=97?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=B7=A5=E7=A8=8B=E9=A1=B9=E7=9B=AE=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/EcCoContractCostFormPlugin.java | 40 +++++++++++++++++++ .../form/EcCoMainMatCostFormPlugin.java | 40 +++++++++++++++++++ .../plugin/form/EcEqCostSplitBillPlugin.java | 9 +++++ 3 files changed, 89 insertions(+) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcCoContractCostFormPlugin.java create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcCoMainMatCostFormPlugin.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcCoContractCostFormPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcCoContractCostFormPlugin.java new file mode 100644 index 0000000..20cf4e6 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcCoContractCostFormPlugin.java @@ -0,0 +1,40 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.utils.StringUtils; +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 java.util.ArrayList; +import java.util.EventObject; +import java.util.List; + +/** + * 合同成本核算表单插件 + */ +public class EcCoContractCostFormPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { + + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit project = (BasedataEdit) this.getControl("project");//工程项目 + project.addBeforeF7SelectListener(this); + } + + public void beforeF7Select(BeforeF7SelectEvent arg0) { + ListShowParameter parameter = (ListShowParameter) arg0.getFormShowParameter(); + String name = arg0.getProperty().getName(); + if (StringUtils.equals(name, "project")) { + //工程项目 + List qFilter = new ArrayList<>(); + DynamicObject org = (DynamicObject) this.getModel().getValue("org");//所属组织 + qFilter.add(new QFilter("projectorg", QCP.equals, org.getPkValue())); + parameter.getListFilterParameter().setQFilters(qFilter); + } + } +} \ No newline at end of file diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcCoMainMatCostFormPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcCoMainMatCostFormPlugin.java new file mode 100644 index 0000000..cf16c5c --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcCoMainMatCostFormPlugin.java @@ -0,0 +1,40 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.utils.StringUtils; +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 java.util.ArrayList; +import java.util.EventObject; +import java.util.List; + +/** + * 材料成本核算表单插件 + */ +public class EcCoMainMatCostFormPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { + + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit project = (BasedataEdit) this.getControl("project");//工程项目 + project.addBeforeF7SelectListener(this); + } + + public void beforeF7Select(BeforeF7SelectEvent arg0) { + ListShowParameter parameter = (ListShowParameter) arg0.getFormShowParameter(); + String name = arg0.getProperty().getName(); + if (StringUtils.equals(name, "project")) { + //工程项目 + List qFilter = new ArrayList<>(); + DynamicObject org = (DynamicObject) this.getModel().getValue("org");//所属组织 + qFilter.add(new QFilter("projectorg", QCP.equals, org.getPkValue())); + parameter.getListFilterParameter().setQFilters(qFilter); + } + } +} diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcEqCostSplitBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcEqCostSplitBillPlugin.java index 7a4fbe5..8ebe823 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcEqCostSplitBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcEqCostSplitBillPlugin.java @@ -26,6 +26,7 @@ import java.util.*; * 说明 1:过滤成本分解结构字段 * 2:期间初始化赋值 * 3:结算单编码超链接跳转 + * 4:设备名称、成本分解结构、工程项目、结算明细过滤逻辑 */ public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener, HyperLinkClickListener { @Override @@ -35,6 +36,8 @@ public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements Befor procbs.addBeforeF7SelectListener(this); BasedataEdit equipment = (BasedataEdit) this.getControl("equipment");//设备名称 equipment.addBeforeF7SelectListener(this); + BasedataEdit project = (BasedataEdit) this.getControl("project");//工程项目 + project.addBeforeF7SelectListener(this); EntryGrid control = this.getControl("settlesplitentity");//结算明细 control.addHyperClickListener(this); } @@ -108,6 +111,12 @@ public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements Befor qFilter.add(new QFilter("useorg", QCP.equals, org.getPkValue())); parameter.getListFilterParameter().setQFilters(qFilter); + } else if (StringUtils.equals(name, "project")) { + //工程项目 + List qFilter = new ArrayList<>(); + DynamicObject org = (DynamicObject) this.getModel().getValue("org");//所属组织 + qFilter.add(new QFilter("projectorg", QCP.equals, org.getPkValue())); + parameter.getListFilterParameter().setQFilters(qFilter); } } }