树型列表数据从下往上汇总
数据库表数据id,pid,money,实现money这一列从下往上汇总
1、先查询所有数据并倒叙
2、编写一下代码并实现
public static List<Map<String,String>> publicSumParentMoneyInfo( List<Map<String,String>> data) {
List<Map<String, String>> result = new ArrayList<>();
Map<String, Map<String, String>> coll = new HashMap<>();
String money1, money2, sumParentMoney;
double pmoney, cmoney;
//循环数据,用id值作为key
for (Map<String, String> map : data) {
coll.put(map.get("id"), map);
}
//月份合计总金额汇总
for (Map<String, String> map : data) {
if (coll.containsKey(map.get("pIdKey"))) {
Map<String, String> mp = coll.get(map.get("pIdKey"));
money1 = mp.get("moneyKey");
//如果为空,设置为0
if (money1 == null || "".equals(money1)) {
money1 = "0";
}
//如果为空格,设置为0
money2 = map.get("moneyKey");
if (money2 == null || "".equals(money2)) {
money2 = "0";
}
pmoney = Double.valueOf(money1);
cmoney = Double.valueOf(money2);
//两个金额相加
sumParentMoney = String.valueOf(pmoney + cmoney);
//如果合计金额为0,显示空
if ("0.0".equals(sumParentMoney)) {
sumParentMoney = "";
}
mp.put(moneyKey, sumParentMoney);
}
//重新返回数据
result.add(map);
}
return result;
}

浙公网安备 33010602011771号