支出财务确认单,唯一科目分类时自动赋值

This commit is contained in:
zhangzhiguo 2025-06-26 17:13:37 +08:00
parent 594a86c755
commit 5d5fc9ea02
1 changed files with 16 additions and 2 deletions

View File

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