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();