42 lines
1.9 KiB
Java
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;
|
|
}
|
|
}
|