光阳摩托调整

This commit is contained in:
Harryxzy 2025-07-29 14:25:19 +08:00
parent 60a39c4a19
commit 50e353d889
1 changed files with 21 additions and 6 deletions

View File

@ -1467,7 +1467,9 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
rows.add(row);
}
return ExcelUtilPlus.genWorkbookV2(rows, sheetName);
YearMonth yearMonth = SalaryDateUtil.localDate2YearMonth(param.getSalaryMonth()).minusMonths(1);
String title ="常州光阳摩托车有限公司"+yearMonth.getYear()+""+yearMonth.getMonthValue()+"月发放工资明细";
return ExcelUtilPlus.genWorkbookV2(rows, sheetName, title);
}
@Override
@ -1572,20 +1574,33 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
list.add(entry.getValue());
}
// 获取所有的用工性质信息
rs.execute("select id,name from hrmusekind order by id");
rs.execute("select id,name from hrmusekind ");
LinkedHashMap<Long, String> hrmusekindMap = new LinkedHashMap<>();
while (rs.next()) {
hrmusekindMap.put(Long.valueOf(rs.getInt("id")), Util.formatMultiLang(rs.getString("name")));
}
int qtryYgxzId = NumberUtils.isCreatable(baseBean.getPropValue("czgymtSalaryReport", "qtry_ygxz_id")) ? Integer.valueOf(baseBean.getPropValue("czgymtSalaryReport", "qtry_ygxz_id")) : -1;
hrmusekindMap.put(Long.valueOf(qtryYgxzId), "台籍");
hrmusekindMap.put(Long.valueOf(qtryYgxzId), "台方");
// 获取用工性质顺序
List<Long> ygxzIdOrder = Arrays.stream(baseBean.getPropValue("czgymtSalaryReport", "ygxz_id_order").split(","))
.filter(NumberUtils::isCreatable).map(Long::valueOf).collect(Collectors.toList());
// hrmusekindMap的key根据ygxzIdOrder排序
hrmusekindMap = hrmusekindMap.entrySet().stream().sorted(Map.Entry.comparingByKey(Comparator.comparingLong(ygxzId -> ygxzIdOrder.indexOf(ygxzId))))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, LinkedHashMap::new));
// 每个用工性质需要有一个小记
ArrayList<Map<String, Object>> dataList = new ArrayList<>();
List<Long> notExitYgxzIds = groupByYgxz.keySet().stream().filter(id -> !hrmusekindMap.containsKey(id)).collect(Collectors.toList());
LinkedHashMap<Long, String> finalHrmusekindMap = hrmusekindMap;
List<Long> notExitYgxzIds = groupByYgxz.keySet().stream().filter(id -> !finalHrmusekindMap.containsKey(id)).collect(Collectors.toList());
List<Long> needSumToDepYgxzIds = Arrays.stream(baseBean.getPropValue("czgymtSalaryReport", "need_sum_to_dep_ygxz_ids").split(","))
.filter(NumberUtils::isCreatable).map(Long::valueOf).collect(Collectors.toList());
for (Map.Entry<Long, String> entry : hrmusekindMap.entrySet()) {
List<Map<String, Object>> maps = groupByYgxz.get(entry.getKey());
if (maps != null && CollectionUtils.isNotEmpty(maps)) {
dataList.addAll(maps);
if (needSumToDepYgxzIds.contains(entry.getKey())) {
dataList.addAll(maps);
}
// 加入合计行
Map<String, Object> ygxzSumMap = new HashMap<>();
for (SalaryItemPO item : salaryItemList) {
@ -1688,7 +1703,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
}
rows.add(row);
}
YearMonth yearMonth = SalaryDateUtil.localDate2YearMonth(param.getSalaryMonth());
YearMonth yearMonth = SalaryDateUtil.localDate2YearMonth(param.getSalaryMonth()).minusMonths(1);
String title ="常州光阳摩托车有限公司"+yearMonth.getYear()+""+yearMonth.getMonthValue()+"月发放工资汇总";
return ExcelUtilPlus.genWorkbookV2(rows, sheetName, title);