From 8cd53675ba6727cf7c822b817d38ae1a7021bb07 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 8 Dec 2025 16:03:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E6=97=8F=E5=AF=8C=E5=88=9B=E5=BE=97?= =?UTF-8?q?=E8=96=AA=E8=B5=84=E6=8A=A5=E8=A1=A8=20=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/dzreport/DzSalaryReportMapper.java | 2 +- .../mapper/dzreport/DzSalaryReportMapper.xml | 7 +++- .../impl/DzSalaryReportServiceImpl.java | 33 +++++++++++++++---- 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/src/com/engine/salary/mapper/dzreport/DzSalaryReportMapper.java b/src/com/engine/salary/mapper/dzreport/DzSalaryReportMapper.java index 3f6fc0d30..6d5a6cf0e 100644 --- a/src/com/engine/salary/mapper/dzreport/DzSalaryReportMapper.java +++ b/src/com/engine/salary/mapper/dzreport/DzSalaryReportMapper.java @@ -18,7 +18,7 @@ public interface DzSalaryReportMapper { * * @return */ - List getReportList(@Param("month") String month, @Param("deptIds") Set deptIds); + List getReportList(@Param("month") String month, @Param("productGrouping") String productGrouping, @Param("deptIds") Set deptIds); /** diff --git a/src/com/engine/salary/mapper/dzreport/DzSalaryReportMapper.xml b/src/com/engine/salary/mapper/dzreport/DzSalaryReportMapper.xml index 0a8b54da9..6180ad4f3 100644 --- a/src/com/engine/salary/mapper/dzreport/DzSalaryReportMapper.xml +++ b/src/com/engine/salary/mapper/dzreport/DzSalaryReportMapper.xml @@ -10,12 +10,17 @@ and record.delete_type = 0 inner join hrsa_salary_item item on result.salary_item_id = item.id and item.delete_type = 0 inner join hrmresource e on e.id= result.employee_id + inner join cus_fielddata cus on cus.id = e.id and cus.SCOPE ='HrmCustomFieldByInfoType' and cus.SCOPEID = -1 where 1=1 and record.salary_month = #{month} + + and cus.field21 = #{productGrouping} + + - and e.id in + and e.departmentid in #{id} diff --git a/src/com/engine/salary/service/impl/DzSalaryReportServiceImpl.java b/src/com/engine/salary/service/impl/DzSalaryReportServiceImpl.java index 932d3134f..292d68585 100644 --- a/src/com/engine/salary/service/impl/DzSalaryReportServiceImpl.java +++ b/src/com/engine/salary/service/impl/DzSalaryReportServiceImpl.java @@ -41,24 +41,43 @@ public class DzSalaryReportServiceImpl extends Service implements DzSalaryReport String firstLevelDepartment = queryParam.getFirstDepartment(); String secondaryDepartment = queryParam.getSecondaryDepartment(); String thirdDepartment = queryParam.getThirdDepartment(); + String productGrouping = queryParam.getProductGrouping(); String month = queryParam.getMonth(); + if (StringUtils.isNotBlank(month) && month.length() == 7) { + month = month + "-01"; + } Set departmentIds = new HashSet<>(); if (StringUtils.isNotBlank(thirdDepartment)) { - departmentIds.add(thirdDepartment); + String[] split = thirdDepartment.split(","); + if (split.length > 0) { + departmentIds.addAll(Arrays.asList(split)); + } } else { if (StringUtils.isNotBlank(secondaryDepartment)) { - ArrayList allChildDeptByDepId = departmentComInfo.getAllChildDeptByDepId(new ArrayList(), secondaryDepartment); - departmentIds.addAll(allChildDeptByDepId); + String[] split = secondaryDepartment.split(","); + if (split.length > 0) { + for (String s : split) { + ArrayList allChildDeptByDepId = departmentComInfo.getAllChildDeptByDepId(new ArrayList(), s); + departmentIds.addAll(allChildDeptByDepId); + departmentIds.add(s); + } + } } else { if (StringUtils.isNotBlank(firstLevelDepartment)) { - ArrayList allChildDeptByDepId = departmentComInfo.getAllChildDeptByDepId(new ArrayList(), firstLevelDepartment); - departmentIds.addAll(allChildDeptByDepId); + String[] split = firstLevelDepartment.split(","); + if (split.length > 0) { + for (String s : split) { + ArrayList allChildDeptByDepId = departmentComInfo.getAllChildDeptByDepId(new ArrayList(), s); + departmentIds.addAll(allChildDeptByDepId); + departmentIds.add(s); + } + } } } } - List dzSalaryReportDTOS = getDzSalaryReportMapper().getReportList(month, departmentIds); + List dzSalaryReportDTOS = getDzSalaryReportMapper().getReportList(month, productGrouping,departmentIds); PageInfo pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), dzSalaryReportDTOS, DzSalaryReportDTO.class); // 遍历List 填充报表数据 List list = pageInfo.getList(); @@ -173,7 +192,7 @@ public class DzSalaryReportServiceImpl extends Service implements DzSalaryReport rs.executeQuery("SELECT MAX(changedate) as dismissdate FROM HrmStatusHistory WHERE resourceid= ? and type_n=5", userId); if (rs.next()) { String dismissDate = rs.getString("dismissdate"); - if(StringUtils.isBlank(dismissDate)){ + if (StringUtils.isBlank(dismissDate)) { dismissDate = resourceComInfo.getEndDate(userId); } report.setTerminationDate(dismissDate);