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"))