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

This commit is contained in:
xuhaihui 2025-12-04 17:25:38 +08:00
parent 79defbcd1a
commit a4f769c50f
1 changed files with 10 additions and 6 deletions

View File

@ -96,6 +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<>();
DynamicObject org = (DynamicObject) this.getModel().getValue("org");//所属组织
QFilter filter = new QFilter("zcgj_companyblentry.zcgj_org.id", QCP.equals, org.getPkValue());
@ -104,14 +105,17 @@ public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements Befor
if (companyBelong != null) {
DynamicObject zcgj_headquarters = companyBelong.getDynamicObject("zcgj_headquarters");//本部
if (zcgj_headquarters != null) {
qFilter.add(new QFilter("org", QCP.equals, zcgj_headquarters.getPkValue()));
qFilter.add(new QFilter("useorg", QCP.equals, zcgj_headquarters.getPkValue()));
} else {
qFilter.add(new QFilter("useorg", QCP.equals, org.getPkValue()));
QFilter headOrgFilter = new QFilter("org", QCP.equals, zcgj_headquarters.getPkValue());
headOrgFilter = headOrgFilter.and(new QFilter("useorg", QCP.equals, zcgj_headquarters.getPkValue()));
orFilters.add(headOrgFilter);
}
} 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")) {