设备成本核算优化设备名称过滤逻辑

This commit is contained in:
xuhaihui 2025-12-04 17:38:17 +08:00
parent a4f769c50f
commit 0beb83167c
1 changed files with 9 additions and 10 deletions

View File

@ -96,7 +96,7 @@ public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements Befor
} else if (StringUtils.equals(name, "equipment")) {
//设备名称
List<QFilter> qFilter = new ArrayList<>();
List<QFilter> orFilters = new ArrayList<>();
List<Long> orgIds = new ArrayList<>();
DynamicObject org = (DynamicObject) this.getModel().getValue("org");//所属组织
QFilter filter = new QFilter("zcgj_companyblentry.zcgj_org.id", QCP.equals, org.getPkValue());
@ -105,17 +105,16 @@ public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements Befor
if (companyBelong != null) {
DynamicObject zcgj_headquarters = companyBelong.getDynamicObject("zcgj_headquarters");//本部
if (zcgj_headquarters != null) {
QFilter headOrgFilter = new QFilter("org", QCP.equals, zcgj_headquarters.getPkValue());
headOrgFilter = headOrgFilter.and(new QFilter("useorg", QCP.equals, zcgj_headquarters.getPkValue()));
orFilters.add(headOrgFilter);
orgIds.add((Long) zcgj_headquarters.getPkValue());
orgIds.add((Long) org.getPkValue());
qFilter.add(new QFilter("org", QCP.equals, zcgj_headquarters.getPkValue()));
qFilter.add(new QFilter("useorg", QCP.in, orgIds));
} else {
qFilter.add(new QFilter("useorg", QCP.equals, org.getPkValue()));
}
} else {
qFilter.add(new QFilter("useorg", QCP.equals, org.getPkValue()));
}
orFilters.add(new QFilter("useorg", QCP.equals, org.getPkValue()));
QFilter finalFilter = orFilters.get(0);
for (int i = 1; i < orFilters.size(); i++) {
finalFilter = finalFilter.or(orFilters.get(i));
}
qFilter.add(finalFilter);
parameter.getListFilterParameter().setQFilters(qFilter);
} else if (StringUtils.equals(name, "project")) {