支出财务确认单科目分类增加单据类型判断

This commit is contained in:
zhangzhiguo 2025-07-16 15:30:59 +08:00
parent 5aa051cbcf
commit 552af0d182
1 changed files with 4 additions and 14 deletions

View File

@ -124,10 +124,11 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme
if(dynamicObjectCollection!=null){ if(dynamicObjectCollection!=null){
DynamicObject zcgjExpenseitem = dynamicObjectCollection.get(rowIndex).getDynamicObject("zcgj_expenseitem"); DynamicObject zcgjExpenseitem = dynamicObjectCollection.get(rowIndex).getDynamicObject("zcgj_expenseitem");
QFilter filter = new QFilter("zcgj_entryentity.zcgj_fee",QCP.equals,zcgjExpenseitem.getLong("id")); QFilter filter = new QFilter("zcgj_entryentity.zcgj_fee",QCP.equals,zcgjExpenseitem.getLong("id"));
QFilter biztypefilter = new QFilter("zcgj_biztype",QCP.equals,"10"); //过滤业务单据为支出财务确认单
//分录过滤 //分录过滤
//使用BusinessDataServiceHelper.load查出来的数据返回的是符合条件的整单即使只有分录中的某一行符合条件也会返回整张单包括其他分录行的数据 //使用BusinessDataServiceHelper.load查出来的数据返回的是符合条件的整单即使只有分录中的某一行符合条件也会返回整张单包括其他分录行的数据
//使用 QueryServiceHelper.query查出来的数据只会包含符合条件的分录行不含其他行数据 //使用 QueryServiceHelper.query查出来的数据只会包含符合条件的分录行不含其他行数据
DynamicObjectCollection accountfeeEntries = QueryServiceHelper.query("zcgj_accountfee", "zcgj_entryentity.zcgj_accounttype", new QFilter[]{filter}); DynamicObjectCollection accountfeeEntries = QueryServiceHelper.query("zcgj_accountfee", "zcgj_entryentity.zcgj_accounttype", new QFilter[]{filter,biztypefilter});
if(accountfeeEntries!=null && accountfeeEntries.size()==1){ if(accountfeeEntries!=null && accountfeeEntries.size()==1){
long id = accountfeeEntries.get(0).getLong("zcgj_entryentity.zcgj_accounttype"); long id = accountfeeEntries.get(0).getLong("zcgj_entryentity.zcgj_accounttype");
this.getModel().setValue("zcgj_accounttype",id,rowIndex); this.getModel().setValue("zcgj_accounttype",id,rowIndex);
@ -288,18 +289,6 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme
HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(Long.parseLong(RequestContext.get().getUserId())); HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(Long.parseLong(RequestContext.get().getUserId()));
//有权的组织 //有权的组织
List<Long> hasPermOrgs = userHasPermOrgs.getHasPermOrgs(); List<Long> hasPermOrgs = userHasPermOrgs.getHasPermOrgs();
//IPageCache iPageCache = this.getView().getParentView().getService(IPageCache.class);
//String listOrgId = iPageCache.get("current_zcgj_orgid_out");
//List<Long> ids = new ArrayList<>();
/*if(StringUtils.isNotBlank(listOrgId)){
for (String s : listOrgId.split(",")) {
hasPermOrgs.add(Long.parseLong(s));
}
}*/
// DynamicObject zcgjOrg = (DynamicObject) this.getModel().getValue("zcgj_org");
ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
QFilter qFilter = new QFilter("org", QCP.in, hasPermOrgs); QFilter qFilter = new QFilter("org", QCP.in, hasPermOrgs);
showParameter.getListFilterParameter().getQFilters().add(qFilter); showParameter.getListFilterParameter().getQFilters().add(qFilter);
@ -323,10 +312,11 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme
DynamicObject zcgjExpenseitem = dynamicObjectCollection.get(row).getDynamicObject("zcgj_expenseitem"); DynamicObject zcgjExpenseitem = dynamicObjectCollection.get(row).getDynamicObject("zcgj_expenseitem");
if(zcgjExpenseitem!=null){ if(zcgjExpenseitem!=null){
QFilter filter = new QFilter("zcgj_entryentity.zcgj_fee",QCP.equals,zcgjExpenseitem.getLong("id")); QFilter filter = new QFilter("zcgj_entryentity.zcgj_fee",QCP.equals,zcgjExpenseitem.getLong("id"));
QFilter biztypefilter = new QFilter("zcgj_biztype",QCP.equals,"10"); //过滤业务单据为支出财务确认单
//分录过滤 //分录过滤
//使用BusinessDataServiceHelper.load查出来的数据返回的是符合条件的整单即使只有分录中的某一行符合条件也会返回整张单包括其他分录行的数据 //使用BusinessDataServiceHelper.load查出来的数据返回的是符合条件的整单即使只有分录中的某一行符合条件也会返回整张单包括其他分录行的数据
//使用 QueryServiceHelper.query查出来的数据只会包含符合条件的分录行不含其他行数据 //使用 QueryServiceHelper.query查出来的数据只会包含符合条件的分录行不含其他行数据
DynamicObjectCollection accountfeeEntries = QueryServiceHelper.query("zcgj_accountfee", "zcgj_entryentity.zcgj_accounttype.number", new QFilter[]{filter}); DynamicObjectCollection accountfeeEntries = QueryServiceHelper.query("zcgj_accountfee", "zcgj_entryentity.zcgj_accounttype.number", new QFilter[]{filter,biztypefilter});
List<String> numbers = new ArrayList<>(); List<String> numbers = new ArrayList<>();
if(accountfeeEntries!=null){ if(accountfeeEntries!=null){
for (DynamicObject dynamicObject : accountfeeEntries) { for (DynamicObject dynamicObject : accountfeeEntries) {