一开始总是报错Integer.parseInt java.lang.NumberFormatException: For input string:,查询是转换的问题,list拿到的是Object类型,多次转换计算数值,中间出错
public Result collectionStatistics(AccountRechargeRequest request) {
LoggerUtils.infoData("/collectionStatistics", request);
var list = dataBaseDao.statementDao.collectionStatistics(request);
var eid = "employee_id";
HashMap<String, Object> sumMap = new HashMap<String, Object>();
for (var e : list) {
if (e.containsKey(eid)) {
e.put("name", SystemConfigService.findEmployeeName(Integer.parseInt(e.get(eid).toString())));
} else {
e.put("name", "其他");
}
}
var r = new Result(list);
ArrayList<HashMap<String, Object>> result = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
var map = new HashMap<String, Object>();
var e = list.get(i);
map.put("sum", e.get("sum") == null ? e.get("sum") : BigDecimal.valueOf(Double.parseDouble(e.get("sum").toString())).divide(BigDecimal.valueOf(1)));
result.add(map);
}
double sumSalesVolume = result.stream().mapToDouble(e -> Double.valueOf(e.get("sum") == null ? "0" : e.get("sum").toString())).sum();
DecimalFormat format = new DecimalFormat("0");
Object sum = format.format(sumSalesVolume);
sumMap.put("sumMap", sum);
r.setSumMap(sumMap);
return r;
}