From 2fa5dcc3849f9614a4eeab991e03c49378828572 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Thu, 28 Aug 2025 10:32:40 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E4=BC=A0=E8=B4=A6=E5=A5=97id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/entity/salaryacct/param/FsdReportRuleJSONParam.java | 1 + .../salary/service/impl/SalaryAcctResultServiceImpl.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/com/engine/salary/entity/salaryacct/param/FsdReportRuleJSONParam.java b/src/com/engine/salary/entity/salaryacct/param/FsdReportRuleJSONParam.java index 43b9804c0..de4e22f68 100644 --- a/src/com/engine/salary/entity/salaryacct/param/FsdReportRuleJSONParam.java +++ b/src/com/engine/salary/entity/salaryacct/param/FsdReportRuleJSONParam.java @@ -25,6 +25,7 @@ public class FsdReportRuleJSONParam { private List deptids; private List jobtitleids; private List subcomids; + private List salarysobids; } diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java index e3dc1e40b..112a8145f 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java @@ -1609,6 +1609,9 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe resultMap.put("value", lsValSum.toString()); return resultMap; } + if (CollectionUtils.isNotEmpty(rule.getSalarysobids())) { + salaryAcctEmployeeList = salaryAcctEmployeeList.stream().filter(salaryAcctEmployee -> rule.getSalarysobids().contains(salaryAcctEmployee.getSalarySobId())).collect(Collectors.toList()); + } if (CollectionUtils.isNotEmpty(rule.getSubcomids())) { salaryAcctEmployeeList = salaryAcctEmployeeList.stream().filter(salaryAcctEmployee -> rule.getSubcomids().contains(salaryAcctEmployee.getSubcompanyId())).collect(Collectors.toList()); } From 7330197d77ae9a61baba06f6564b70fc13491edf Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Fri, 29 Aug 2025 10:38:30 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AF=8C=E5=A3=AB=E8=BE=BE=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=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"))