From 7330197d77ae9a61baba06f6564b70fc13491edf Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Fri, 29 Aug 2025 10:38:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=8C=E5=A3=AB=E8=BE=BE=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salaryacct/param/FsdReportJSONParam.java | 2 ++ .../service/impl/SalaryAcctResultServiceImpl.java | 14 ++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/com/engine/salary/entity/salaryacct/param/FsdReportJSONParam.java b/src/com/engine/salary/entity/salaryacct/param/FsdReportJSONParam.java index 7f5a5db9d..5c850529d 100644 --- a/src/com/engine/salary/entity/salaryacct/param/FsdReportJSONParam.java +++ b/src/com/engine/salary/entity/salaryacct/param/FsdReportJSONParam.java @@ -21,6 +21,8 @@ public class FsdReportJSONParam { private String xh; + private String historyTableName; + private String name; private FsdReportRuleJSONParam rule; diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java index 112a8145f..8bcd1c2a7 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java @@ -1404,10 +1404,16 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe List totalSalaryAcctEmpIds = totalSalaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toList()); log.info("salaryReport 当月核算人数{}", totalSalaryAcctEmpIds == null ? 0 : totalSalaryAcctEmpIds.size()); List totalAcctResultPOList = listByAcctEmployeeIdsAndSalaryItemIds(totalSalaryAcctEmpIds, itemIds); + + List fsdReportJSONParams = JsonUtil.parseList(param.getParam(), FsdReportJSONParam.class); // 获取建模中的历史数据 RecordSet rs = new RecordSet(); List lssjList = new ArrayList(); - rs.execute("select lb,xzssy,dygzrs,dygzze from uf_xcfxbzblssj where xzssy >= '"+ SalaryDateUtil.getFormatYearMonth(salaryMonth)+"' and xzssy <='"+ SalaryDateUtil.getFormatYearMonth(salaryMonth)+"'"); + String historyTableName = ""; + if (CollectionUtils.isNotEmpty(fsdReportJSONParams) && fsdReportJSONParams.get(0) != null) { + historyTableName = fsdReportJSONParams.get(0).getHistoryTableName(); + } + rs.execute("select lb,xzssy,dygzrs,dygzze from " +historyTableName+ " where xzssy >= '"+ SalaryDateUtil.getFormatYearMonth(salaryMonth)+"' and xzssy <='"+ SalaryDateUtil.getFormatYearMonth(salaryMonth)+"'"); while (rs.next()) { lssjList.add(FsdReportLssjDTO.builder() .lb(rs.getString("lb")) @@ -1416,9 +1422,9 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe .dygzze(SalaryEntityUtil.string2BigDecimalDefault0(rs.getString("dygzze"))) .build()); } + log.info("salaryReport 当月核算历史数据人数{}", lssjList == null ? 0 : lssjList.size()); Map> lssjMap = SalaryEntityUtil.group2Map(lssjList, FsdReportLssjDTO::getLb); - List fsdReportJSONParams = JsonUtil.parseList(param.getParam(), FsdReportJSONParam.class); for (FsdReportJSONParam rangeParam : fsdReportJSONParams) { List childrenParamList = rangeParam.getChildren(); if (!CollectionUtils.isEmpty(childrenParamList)) { @@ -1461,7 +1467,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe totalAcctResultPOList = listByAcctEmployeeIdsAndSalaryItemIds(totalSalaryAcctEmpIds, itemIds); // 获取建模中的历史数据 lssjList = new ArrayList(); - rs.execute("select lb,xzssy,dygzrs,dygzze from uf_xcfxbzblssj where xzssy >= '"+ SalaryDateUtil.getFormatYearMonth(thisYearStartDate)+"' and xzssy <='"+ SalaryDateUtil.getFormatYearMonth(salaryMonth)+"'"); + rs.execute("select lb,xzssy,dygzrs,dygzze from "+historyTableName+" where xzssy >= '"+ SalaryDateUtil.getFormatYearMonth(thisYearStartDate)+"' and xzssy <='"+ SalaryDateUtil.getFormatYearMonth(salaryMonth)+"'"); while (rs.next()) { lssjList.add(FsdReportLssjDTO.builder() .lb(rs.getString("lb")) @@ -1518,7 +1524,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe totalAcctResultPOList = listByAcctEmployeeIdsAndSalaryItemIds(totalSalaryAcctEmpIds, itemIds); // 获取建模中的历史数据 lssjList = new ArrayList(); - rs.execute("select lb,xzssy,dygzrs,dygzze from uf_xcfxbzblssj where xzssy >= '"+ SalaryDateUtil.getFormatYearMonth(lastYearStartDate)+"' and xzssy <='"+ SalaryDateUtil.getFormatYearMonth(lastYearEndDate)+"'"); + rs.execute("select lb,xzssy,dygzrs,dygzze from "+historyTableName+" where xzssy >= '"+ SalaryDateUtil.getFormatYearMonth(lastYearStartDate)+"' and xzssy <='"+ SalaryDateUtil.getFormatYearMonth(lastYearEndDate)+"'"); while (rs.next()) { lssjList.add(FsdReportLssjDTO.builder() .lb(rs.getString("lb"))