2025-04-27 16:49:30 +08:00

42 lines
1.9 KiB
Java

package com.jdc.jdcproject.utils;
import com.jdc.jdcproject.entity.Renyuanjiegou;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class RenYuanUtil {
public static Map<String, Renyuanjiegou> renyuanSum(List<Renyuanjiegou> renyuanjiegouList) {
Map<String, Renyuanjiegou> result = new HashMap<>();
for (Renyuanjiegou renyuan : renyuanjiegouList) {
String changQuKey = renyuan.getChangQu() + "合计";
if (result.containsKey(changQuKey)) {
// 如果已有该 ChangQu 的记录,则累加各项
Renyuanjiegou existing = result.get(changQuKey);
existing.setZongRenShu(existing.getZongRenShu() + renyuan.getZongRenShu());
existing.setGuanLiRY(existing.getGuanLiRY() + renyuan.getGuanLiRY());
existing.setZhuanYeJishuRY(existing.getZhuanYeJishuRY() + renyuan.getZhuanYeJishuRY());
existing.setShenChanFZRY(existing.getShenChanFZRY() + renyuan.getShenChanFZRY());
existing.setFuWuRY(existing.getFuWuRY() + renyuan.getFuWuRY());
existing.setLaoWuRY(existing.getLaoWuRY() + renyuan.getLaoWuRY());
} else {
// 如果没有该厂区的合计记录,则直接插入当前厂区的合计行
Renyuanjiegou totalRenyuan = new Renyuanjiegou();
totalRenyuan.setChangQu(renyuan.getChangQu() + "合计");
totalRenyuan.setZongRenShu(renyuan.getZongRenShu());
totalRenyuan.setGuanLiRY(renyuan.getGuanLiRY());
totalRenyuan.setZhuanYeJishuRY(renyuan.getZhuanYeJishuRY());
totalRenyuan.setShenChanFZRY(renyuan.getShenChanFZRY());
totalRenyuan.setFuWuRY(renyuan.getFuWuRY());
totalRenyuan.setLaoWuRY(renyuan.getLaoWuRY());
result.put(changQuKey, totalRenyuan);
}
}
return result;
}
}