From 5d5fc9ea020b649d62a7ff36f2e48391a4fa2ae2 Mon Sep 17 00:00:00 2001 From: zhangzhiguo Date: Thu, 26 Jun 2025 17:13:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E5=87=BA=E8=B4=A2=E5=8A=A1=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E5=8D=95=EF=BC=8C=E5=94=AF=E4=B8=80=E7=A7=91=E7=9B=AE?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E6=97=B6=E8=87=AA=E5=8A=A8=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/OutContractFinaceConfirmePlugin.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java index 35d1b87..52bff3d 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java @@ -114,7 +114,21 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme } }else if(StringUtils.equals(name, "zcgj_expenseitem")){ //费用项目发生改变时,清空科目分类 int rowIndex = changeData.getRowIndex(); - this.getModel().setValue("zcgj_accounttype",null,rowIndex); + DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_expenseitementry"); + if(dynamicObjectCollection!=null){ + DynamicObject zcgjExpenseitem = dynamicObjectCollection.get(rowIndex).getDynamicObject("zcgj_expenseitem"); + QFilter filter = new QFilter("zcgj_entryentity.zcgj_fee",QCP.equals,zcgjExpenseitem.getLong("id")); + //分录过滤 + //使用BusinessDataServiceHelper.load查出来的数据,返回的是符合条件的整单,即使只有分录中的某一行符合条件,也会返回整张单包括其他分录行的数据 + //使用 QueryServiceHelper.query查出来的数据只会包含符合条件的分录行,不含其他行数据 + DynamicObjectCollection accountfeeEntries = QueryServiceHelper.query("zcgj_accountfee", "zcgj_entryentity.zcgj_accounttype", new QFilter[]{filter}); + if(accountfeeEntries!=null && accountfeeEntries.size()==1){ + long id = accountfeeEntries.get(0).getLong("zcgj_entryentity.zcgj_accounttype"); + this.getModel().setValue("zcgj_accounttype",id,rowIndex); + }else{ + this.getModel().setValue("zcgj_accounttype",null,rowIndex); + } + } } @@ -256,7 +270,6 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme }else if(name.equals("zcgj_accounttype")){ //科目分类根据科目分类基础资料过滤 int row = beforeF7SelectEvent.getRow(); - System.out.println(); DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_expenseitementry"); if(dynamicObjectCollection!=null){ DynamicObject zcgjExpenseitem = dynamicObjectCollection.get(row).getDynamicObject("zcgj_expenseitem"); @@ -276,6 +289,7 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme } } + QFilter qFilter = new QFilter("number", QCP.in, numbers); QFilter treeFilter = new QFilter("number", QCP.in, numbers); ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();