fix(system): 费用科目getInfoByOrgAndCode计费单位中英文均为null时过滤,避免返回null-null

This commit is contained in:
rcx
2026-08-26 15:49:58 +08:00
parent 0be73e9bfe
commit 182438e1dc
@@ -594,22 +594,28 @@ public class ExpenseAccountApplicationService {
// unit.add(expenseAccountPO.getBillingUnit2() + "-" + expenseAccountPO.getBillingUnitEn2());
// expenseAccountPO.setUnit(unit);
// }
// 组装计费单位列表(数组)
// 组装计费单位列表(数组),中文和英文都为null时过滤掉,避免出现"null-null"
List<Map<String, String>> unit = new ArrayList<>();
if (expenseAccountPO != null) {
Map<String, String> unit1 = new HashMap<>();
unit1.put("unit", expenseAccountPO.getBillingUnit() + "-" + expenseAccountPO.getBillingUnitEn());
unit.add(unit1);
Map<String, String> unit2 = new HashMap<>();
unit2.put("unit", expenseAccountPO.getBillingUnit2() + "-" + expenseAccountPO.getBillingUnitEn2());
unit.add(unit2);
addUnitIfPresent(unit, expenseAccountPO.getBillingUnit(), expenseAccountPO.getBillingUnitEn());
addUnitIfPresent(unit, expenseAccountPO.getBillingUnit2(), expenseAccountPO.getBillingUnitEn2());
expenseAccountPO.setUnit(unit);
}
return expenseAccountPO;
}
/**
* 组装计费单位,中文和英文都为null时不加入列表
*/
private void addUnitIfPresent(List<Map<String, String>> unit, String billingUnit, String billingUnitEn) {
if (billingUnit == null && billingUnitEn == null) {
return;
}
Map<String, String> unitMap = new HashMap<>();
unitMap.put("unit", billingUnit + "-" + billingUnitEn);
unit.add(unitMap);
}
public List<QueryExpenseAccountPO> selectExpenseAccount(SearchExpenseAccountDO searchExpenseAccountDO){
setDataPermissionForSearch(searchExpenseAccountDO);
return expenseAccountDomainService.selectExpenseAccount(searchExpenseAccountDO);