From 80427613d10cbe89b74a58286d360ddd8eaba4ea Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Thu, 21 Aug 2025 10:49:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E6=B7=BB=E5=8A=A0=EF=BC=9A=E8=B5=8B=E5=80=BC?= =?UTF-8?q?=E6=A0=B8=E7=AE=97=E7=BB=84=E7=BB=87=E9=80=BB=E8=BE=91=E5=92=8C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E8=AE=BE=E5=A4=87=E8=BF=87=E6=BB=A4=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E6=B7=BB=E5=8A=A0=EF=BC=9B=E5=85=A5=E5=BA=93=E5=8D=95?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=87=87=E8=B4=AD=E7=94=B3=E8=AF=B7=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E8=BF=87=E6=BB=A4=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=9B=E9=87=87=E8=B4=AD=E7=94=B3=E8=AF=B7=E5=8D=95=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=AD=97=E6=AE=B5=E8=BF=87=E6=BB=A4=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/MaterialInbPurchaseApplyPlugin.java | 7 ++- .../pr/plugin/form/MaterialOutBillPlugin.java | 61 +++++++++++++++++++ .../pr/plugin/form/PurchaseAppBillPlugin.java | 37 ++++++++++- 3 files changed, 101 insertions(+), 4 deletions(-) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutBillPlugin.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java index 14a7220..2f5d22e 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java @@ -87,11 +87,14 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { String propertyName = beforeF7SelectEvent.getProperty().getName(); Object project = this.getModel().getValue("project");//项目 - if (project != null) { + Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织 + if (project != null && fiaccountorg != null) { DynamicObject project1 = (DynamicObject) project; + DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg; ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); List qFilters = new ArrayList<>(); - qFilters.add(new QFilter("project.id", QCP.in, project1.get("id"))); + qFilters.add(new QFilter("project.id", QCP.in, project1.get("id")));// 项目 + qFilters.add(new QFilter("purchaseorg.id", QCP.in, fiaccountorg1.get("id")));//采购组织 formShowParameter.getListFilterParameter().setQFilters(qFilters); } } diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutBillPlugin.java new file mode 100644 index 0000000..fcbeab5 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutBillPlugin.java @@ -0,0 +1,61 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.datamodel.events.PropertyChangedArgs; +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.EventObject; + +/** + * 出库单表单插件 + * 说明:1:核算组织由项目中的财务记账组织携带而来 + * 2:使用设备过滤,通过核算组织与使用设备中的使用组织比对而来过滤 + */ +public class MaterialOutBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { + + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit zcgj_shebei = this.getControl("zcgj_shebei"); //使用设备 + if (zcgj_shebei != null) { + zcgj_shebei.addBeforeF7SelectListener(this); + } + } + + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + String key = e.getProperty().getName(); + if ("project".equals(key) || "warehouse".equals(key)) { + //项目,仓库 + Object project = this.getModel().getValue("project");// 项目 + if (project != null) { + DynamicObject project1 = (DynamicObject) project; + this.getModel().setValue("zcgj_fiorg", project1.get("fiaccountorg"));//核算组织 ← 项目-财务记账组织 + } else { + this.getModel().setValue("zcgj_fiorg", null); + } + } + } + + @Override + public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { + String name = beforeF7SelectEvent.getProperty().getName(); + ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + Object zcgj_fiorg = this.getModel().getValue("zcgj_fiorg");//核算组织 + if (zcgj_fiorg != null) { + DynamicObject zcgj_fiorg1 = (DynamicObject) zcgj_fiorg; + QFilter qFilter = new QFilter("useorg", QCP.equals, zcgj_fiorg1.getPkValue()); + formShowParameter.getListFilterParameter().getQFilters().add(qFilter); + } else { + this.getView().showErrorNotification("请先填写核算组织!"); + beforeF7SelectEvent.setCancel(true); + } + } +} diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PurchaseAppBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PurchaseAppBillPlugin.java index 14f75f9..73f872d 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PurchaseAppBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PurchaseAppBillPlugin.java @@ -1,17 +1,50 @@ package zcgj.zcdev.zcdev.pr.plugin.form; import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +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; /** - * 采购申请单表单插件:初始默认采购组织等于所属组织 + * 采购申请单表单插件 + * 说明 1:初始默认采购组织等于所属组织 + * 2:过滤项目:项目的项目组织与财务记账组织一致才显示 */ -public class PurchaseAppBillPlugin extends AbstractBillPlugIn { +public class PurchaseAppBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit project = this.getControl("project"); //项目 + if (project != null) { + project.addBeforeF7SelectListener(this); + } + } + @Override public void afterCreateNewData(EventObject e) { super.afterCreateNewData(e); Object org = this.getModel().getValue("org");//所属组织 this.getModel().setValue("purchaseorg", org);//采购组织 } + + @Override + public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { + String propertyName = beforeF7SelectEvent.getProperty().getName(); + Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织 + if (fiaccountorg != null){ + DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg; + ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + List qFilters = new ArrayList<>(); + qFilters.add(new QFilter("projectorg.id", QCP.in, fiaccountorg1.get("id")));//项目组织 + formShowParameter.getListFilterParameter().setQFilters(qFilters); + } + } }