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