From 81bea06024898f5d228b27898f60de160342e401 Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Wed, 20 Aug 2025 15:08:10 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=97=A0=E5=90=88=E5=90=8C=E9=A2=84?= =?UTF-8?q?=E4=BB=98=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/PrepaybillNoContractListPlugin.java | 57 ++++++++++++++++ .../form/PrepaybillNoContractPlugin.java | 67 +++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractListPlugin.java create mode 100644 code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractPlugin.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractListPlugin.java new file mode 100644 index 0000000..0f86a45 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractListPlugin.java @@ -0,0 +1,57 @@ +package zcgj.zcdev.zcdev.fs.plugin.form; + +import kd.bos.form.FormShowParameter; +import kd.bos.form.control.events.BeforeItemClickEvent; +import kd.bos.form.events.SetFilterEvent; +import kd.bos.list.ListShowParameter; +import kd.bos.list.events.BeforeShowBillFormEvent; +import kd.bos.list.plugin.AbstractListPlugin; +import kd.bos.orm.query.QFilter; + +import java.util.Map; + +/** + * 预付单无合同列表插件 + */ +public class PrepaybillNoContractListPlugin extends AbstractListPlugin { + + private static String current_opkey = ""; + + @Override + public void setFilter(SetFilterEvent e) { + ListShowParameter param = (ListShowParameter) this.getView().getFormShowParameter(); + String isec = param.getCustomParam("isec"); + if (isec!=null) { + if(isec.equals("true")) { + this.getView().setVisible(false, "tblnew"); + } + e.addCustomQFilter(new QFilter("zcgj_isec", "=", Boolean.valueOf(isec))); + }else{ + e.addCustomQFilter(new QFilter("zcgj_isec", "=", false)); + this.getView().setVisible(false, "zcgj_newecbill"); + } + } + + @Override + public void beforeShowBill(BeforeShowBillFormEvent e) { + FormShowParameter formShowParameter = this.getView().getFormShowParameter(); + if(null!=formShowParameter && current_opkey.equals("zcgj_newecbill")){ + Map customParams =formShowParameter.getCustomParams(); + if(null!=customParams){ + customParams.put("isec",true); + e.getParameter().setCustomParams(customParams); + } + current_opkey =""; + } + super.beforeShowBill(e); + } + + @Override + public void beforeItemClick(BeforeItemClickEvent evt) { + String itemKey = evt.getItemKey(); + if("zcgj_newecbill".equals(itemKey)) { + current_opkey = "zcgj_newecbill"; + } + super.beforeItemClick(evt); + } +} diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractPlugin.java new file mode 100644 index 0000000..e35593c --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractPlugin.java @@ -0,0 +1,67 @@ +package zcgj.zcdev.zcdev.fs.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.LocaleString; +import kd.bos.entity.datamodel.IDataModel; +import kd.bos.form.events.PreOpenFormEventArgs; + +import java.util.EventObject; + +/** + * 预付单无合同列表插件 + */ +public class PrepaybillNoContractPlugin extends AbstractBillPlugIn { + + private static boolean editTitle = false; + + @Override + public void afterCreateNewData(EventObject e) { + + Object isecObj = this.getView().getFormShowParameter().getCustomParam("isec"); + if(null!=isecObj){ + boolean isec1 = (boolean)isecObj; + IDataModel model = this.getModel(); + model.setValue("zcgj_isec", isec1); + editTitle = isec1; + this.getView().updateView("zcgj_isec"); + if(isec1){ + this.getView().setFormTitle(new LocaleString("无合同预付单单")); + } + } + } + + @Override + public void afterBindData(EventObject e) { + super.afterBindData(e); + boolean isec=(boolean)this.getModel().getValue("zcgj_isec"); + if(isec){ + this.getView().setFormTitle(new LocaleString("无合同预付单单")); + } + } + + @Override + public void preOpenForm(PreOpenFormEventArgs e) { + super.preOpenForm(e); + /* OperationStatus status = e.getFormShowParameter().getStatus(); + if (!status.equals(OperationStatus.ADDNEW)) { + Object pkId = ((BillShowParameter)e.getSource()).getPkId(); + if (pkId == null) { + return; + } + try { + String formId = e.getFormShowParameter().getFormId(); + DynamicObject upLookBill = QueryServiceHelper.queryOne(formId, "zcgj_isec", new QFilter[]{new QFilter("id", "=", pkId)}); + boolean isec = upLookBill.getBoolean("zcgj_isec"); + if (isec) { + BillShowParameter billShowParameter = (BillShowParameter)e.getFormShowParameter(); + billShowParameter.setCaption(ResManager.loadKDString("无合同付款申请单", "PublicReimAssetBillEdit_1", "fi-er-formplugin", new Object[0])); + } + } catch (Exception var8) { + //logger.error("没有找到相应的对公报销单,其pk为:" + pkId); + } + }if(editTitle){ + BillShowParameter billShowParameter = (BillShowParameter)e.getFormShowParameter(); + billShowParameter.setCaption(ResManager.loadKDString("无合同付款申请单", "PublicReimAssetBillEdit_1", "fi-er-formplugin", new Object[0])); + }*/ + } +} From b5eabae785e361e5c82f938ea865b321b3275047 Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Wed, 20 Aug 2025 15:08:39 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E7=A7=91=E7=9B=AE=E4=BD=99=E9=A2=9D?= =?UTF-8?q?=E5=8F=96=E6=95=B0=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/common/AssistbalanceAutoData.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/common/AssistbalanceAutoData.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/common/AssistbalanceAutoData.java index 697d707..0efce5d 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/common/AssistbalanceAutoData.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/common/AssistbalanceAutoData.java @@ -34,10 +34,25 @@ public class AssistbalanceAutoData { Map orgNumberMap = new HashMap<>(); for (int i = 0; i < load.length; i++) { DynamicObject dynamicObject = load[i]; - orgNumberMap.put(dynamicObject.getString("number"), dynamicObject); - orgIds.add(dynamicObject.getLong("id")); + //orgNumberMap.put(dynamicObject.getString("number"), dynamicObject); + //orgIds.add(dynamicObject.getLong("id")); } + DynamicObject[] costcompany = BusinessDataServiceHelper.load("zcgj_minecompany", "zcgj_costcompany", new QFilter[]{}); + if(costcompany != null){ + List ids = new ArrayList<>(); + for (DynamicObject dynamicObject : costcompany) { + DynamicObject minecompany = dynamicObject.getDynamicObject("zcgj_costcompany"); + long id = minecompany.getLong("id"); + ids.add(id); + } + QFilter idFilter = new QFilter("id", QCP.in, ids); + DynamicObject[] org = BusinessDataServiceHelper.load("bos_org", "id,structure.longnumber,structure.view", new QFilter[]{idFilter}); + for (DynamicObject dynamicObject : org) { + orgNumberMap.put(dynamicObject.getString("number"), dynamicObject); + orgIds.add(dynamicObject.getLong("id")); + } + } //查询科目余额配置表 DynamicObject[] accountConf = BusinessDataServiceHelper.load("zcgj_conf_balanceaccount", "zcgj_account", new QFilter[]{}); From f23ba4b6906d33dc8fc0aa2be0fdce54b0b0b115 Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Wed, 20 Aug 2025 15:08:54 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E5=AF=B9=E5=85=AC=E6=8A=A5=E9=94=80?= =?UTF-8?q?=E5=8D=95=E6=97=A0=E5=90=88=E5=90=8C=E4=BB=98=E6=AC=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fs/plugin/form/PublicreimbursebillNoContractListPlugin.java | 1 - 1 file changed, 1 deletion(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PublicreimbursebillNoContractListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PublicreimbursebillNoContractListPlugin.java index 01bce29..8f927c4 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PublicreimbursebillNoContractListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PublicreimbursebillNoContractListPlugin.java @@ -58,7 +58,6 @@ public class PublicreimbursebillNoContractListPlugin extends AbstractListPlugin public void beforeItemClick(BeforeItemClickEvent evt) { String itemKey = evt.getItemKey(); if("zcgj_newecbill".equals(itemKey)) { - System.out.println(); current_opkey = "zcgj_newecbill"; } super.beforeItemClick(evt); 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 4/6] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E6=8F=92=E4=BB=B6=E6=B7=BB=E5=8A=A0=EF=BC=9A=E8=B5=8B?= =?UTF-8?q?=E5=80=BC=E6=A0=B8=E7=AE=97=E7=BB=84=E7=BB=87=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=92=8C=E4=BD=BF=E7=94=A8=E8=AE=BE=E5=A4=87=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E6=B7=BB=E5=8A=A0=EF=BC=9B=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=8D=95=E4=BC=98=E5=8C=96=E9=87=87=E8=B4=AD=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E8=BF=87=E6=BB=A4=E9=80=BB=E8=BE=91=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=9B=E9=87=87=E8=B4=AD=E7=94=B3=E8=AF=B7=E5=8D=95?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=AD=97=E6=AE=B5=E8=BF=87=E6=BB=A4=E9=80=BB?= =?UTF-8?q?=E8=BE=91=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); + } + } } From 8a60710f9520be636453bb14ccc02dc18aecd891 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Thu, 21 Aug 2025 14:11:23 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=A0=B8=E7=AE=97=E7=BB=84=E7=BB=87=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=90=8E=E6=B8=85=E7=A9=BA=E5=88=86=E5=BD=95=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=9B=E8=AE=BE=E5=A4=87=E7=BB=B4=E4=BF=AE=E7=A1=AE=E8=AE=A4?= =?UTF-8?q?=E5=8D=95=E6=B7=BB=E5=8A=A0=E8=A1=A8=E5=8D=95=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=EF=BC=8C=E8=BF=87=E6=BB=A4=E5=90=88=E5=90=8C=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=92=8C=E8=B4=A2=E5=8A=A1=E8=AE=B0=E8=B4=A6?= =?UTF-8?q?=E7=BB=84=E7=BB=87=E4=BF=AE=E6=94=B9=E5=90=8E=E6=B8=85=E7=A9=BA?= =?UTF-8?q?=E5=90=88=E5=90=8C=E5=90=8D=E7=A7=B0=E9=80=BB=E8=BE=91=EF=BC=9B?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=8D=95=E6=B7=BB=E5=8A=A0=E8=B4=A2=E5=8A=A1?= =?UTF-8?q?=E8=AE=B0=E8=B4=A6=E7=BB=84=E7=BB=87=E4=BF=AE=E6=94=B9=E5=90=8E?= =?UTF-8?q?=E6=B8=85=E7=A9=BA=E9=87=87=E8=B4=AD=E7=94=B3=E8=AF=B7=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/MaintenanceConfirmBillPlugin.java | 60 +++++++++++++++++++ .../form/MaterialInbPurchaseApplyPlugin.java | 13 ++++ .../pr/plugin/form/MaterialOutBillPlugin.java | 13 ++++ 3 files changed, 86 insertions(+) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java new file mode 100644 index 0000000..1a8f589 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java @@ -0,0 +1,60 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.datamodel.events.ChangeData; +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:过滤合同名称字段 + */ +public class MaintenanceConfirmBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit zcgj_contract = this.getControl("zcgj_contract"); //合同名称 + if (zcgj_contract != null) { + zcgj_contract.addBeforeF7SelectListener(this); + } + } + + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + String key = e.getProperty().getName(); + if ("zcgj_accountorg".equals(key)) { + //财务记账组织 + ChangeData[] changeSet = e.getChangeSet(); + ChangeData changeData = changeSet[0]; + Object newValue = changeData.getNewValue();//新值 + Object oldValue = changeData.getOldValue();//旧值 + if (newValue == null || !newValue.equals(oldValue)) { + this.getModel().setValue("zcgj_contract", null);//清空合同名称 + } + } + } + + @Override + public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { + String name = beforeF7SelectEvent.getProperty().getName(); + ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + Object zcgj_accountorg = this.getModel().getValue("zcgj_accountorg");//核算组织 + if (zcgj_accountorg != null) { + DynamicObject zcgj_accountorg1 = (DynamicObject) zcgj_accountorg; + QFilter qFilter = new QFilter("project.projectorg", QCP.equals, zcgj_accountorg1.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/MaterialInbPurchaseApplyPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java index 2f5d22e..423392f 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 @@ -80,6 +80,15 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement } else if ("warehouse".equals(key)) { //仓库 this.getModel().setValue("zcgj_purchaseapply", null);//清空采购申请单字段 + } else if ("fiaccountorg".equals(key)) { + //财务记账组织 + ChangeData[] changeSet = e.getChangeSet(); + ChangeData changeData = changeSet[0]; + Object newValue = changeData.getNewValue();//新值 + Object oldValue = changeData.getOldValue();//旧值 + if (newValue == null || !newValue.equals(oldValue)) { + this.getModel().setValue("zcgj_purchaseapply", null);//清空采购申请 + } } } @@ -88,6 +97,10 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement String propertyName = beforeF7SelectEvent.getProperty().getName(); Object project = this.getModel().getValue("project");//项目 Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织 + if (fiaccountorg == null) { + this.getView().showErrorNotification("请先填写财务记账组织!!"); + beforeF7SelectEvent.setCancel(true); + } if (project != null && fiaccountorg != null) { DynamicObject project1 = (DynamicObject) project; DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg; 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 index fcbeab5..87d326d 100644 --- 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 @@ -2,6 +2,8 @@ package zcgj.zcdev.zcdev.pr.plugin.form; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.form.field.BasedataEdit; import kd.bos.form.field.events.BeforeF7SelectEvent; @@ -41,6 +43,17 @@ public class MaterialOutBillPlugin extends AbstractBillPlugIn implements BeforeF } else { this.getModel().setValue("zcgj_fiorg", null); } + } else if ("zcgj_fiorg".equals(key)) { + //核算组织 + ChangeData[] changeSet = e.getChangeSet(); + ChangeData changeData = changeSet[0]; + Object newValue = changeData.getNewValue();//新值 + Object oldValue = changeData.getOldValue();//旧值 + if (newValue == null || !newValue.equals(oldValue)) { + DynamicObjectCollection entryCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity");//出库单分录 + entryCollection.clear(); + this.getView().updateView("entryentity");//刷新分录 + } } } From 6b61492c7ba90e9beddecbcf814720c7aa389ee5 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Thu, 21 Aug 2025 15:42:36 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E5=8D=95=E6=B7=BB=E5=8A=A0=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E6=9C=9F=E9=97=B4=E5=88=9D=E5=A7=8B=E5=8C=96=E8=B5=8B=E5=80=BC?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/MaintenanceConfirmBillPlugin.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java index 1a8f589..2a42702 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java @@ -10,12 +10,15 @@ 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 java.util.Calendar; import java.util.EventObject; /** * 设备维修确认单表单插件 * 说明 1:过滤合同名称字段 + * 2:结算期间初始化赋值 */ public class MaintenanceConfirmBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { @Override @@ -27,6 +30,19 @@ public class MaintenanceConfirmBillPlugin extends AbstractBillPlugIn implements } } + public void afterCreateNewData(EventObject e) { + Calendar cal = Calendar.getInstance(); + int year = cal.get(1); + int month = cal.get(2) + 1; + QFilter yearFilter = new QFilter("periodyear", "=", year); + QFilter monthFilter = new QFilter("periodnumber", "=", month); + DynamicObject[] peridoArr = BusinessDataServiceHelper.load("bd_period", "id", new QFilter[]{yearFilter, monthFilter});//会计期间 + if (peridoArr.length != 0) { + DynamicObject period = peridoArr[0]; + this.getModel().setValue("zcgj_period", period);//结算期间 + } + } + @Override public void propertyChanged(PropertyChangedArgs e) { super.propertyChanged(e);