From 024481fa9eea6d1c476ae6049bee38498bc0843a Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Fri, 3 Jan 2025 10:09:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=AF=E6=B9=BE=E6=89=B9=E9=87=8F=E8=B0=83?= =?UTF-8?q?=E8=96=AA=EF=BC=8C=E6=9B=BF=E6=8D=A2=E5=B2=97=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SalaryAcctExcelServiceImpl.java | 50 ++++++++++++++++--- .../impl/SalaryAcctResultServiceImpl.java | 24 ++++++++- 2 files changed, 66 insertions(+), 8 deletions(-) diff --git a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java index d096dffce..fc0898d05 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java @@ -1699,6 +1699,9 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc if (StringUtils.isBlank(param.getSxrq())) { throw new SalaryRunTimeException("生效日期不能为空"); } + // 查询港湾职位信息 + BaseBean baseBean = new BaseBean(); + String gwFieldId = baseBean.getPropValue("shgwSalary", "gw_field_id"); if (param.getTxcj() == 0) { // 第一层级,带出所有的被调薪人 rs.execute("select bdxr,gskjywr from uf_pltxjzgljmb "); @@ -1738,6 +1741,21 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc } }); + Map gwEmpGwMap = new HashMap<>(); + Map gwEmpGwIdMap = new HashMap<>(); + partition.forEach(part -> { + // 查询港湾职位信息 + String empIdStr = StringUtils.join(part, ","); + rs.execute("SELECT a.id as id,zwmc,b.id as zwid FROM cus_fielddata a left join uf_zwxxjmb b on a.field"+gwFieldId+"=b.id where a.scopeid=3 and a.id in ( "+ empIdStr + " )"); + while (rs.next()) { + String empId = rs.getString("id"); + int zwId = rs.getInt("zwid"); + String zwmc = rs.getString("zwmc"); + gwEmpGwMap.put(empId, zwmc); + gwEmpGwIdMap.put(empId, Long.valueOf(zwId)); + } + }); + Map employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId); // 过滤薪资档案 salaryArchivePOS = salaryArchivePOS.stream().filter(po -> taxAgentEmpList.contains(po.getTaxAgentId()+"-"+po.getEmployeeId())).collect(Collectors.toList()); @@ -1757,8 +1775,8 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc .employeeName(e.getUsername()) .bmId(e.getDepartmentId()) .bmName(e.getDepartmentName()) - .jobTitleId(e.getJobtitleId()) - .jobTitleName(e.getJobtitleName()) + .jobTitleId(gwEmpGwIdMap.getOrDefault(weaver.general.Util.null2String(emp.getEmployeeId()), 0L)) + .jobTitleName(gwEmpGwMap.getOrDefault(weaver.general.Util.null2String(emp.getEmployeeId()), "")) .gskjywr(taxAgentNameMap.get(emp.getTaxAgentId())).build(); Double lastYearJxValue = lastYearJxMap.get(emp.getEmployeeId()) == null ? new Double(0) : lastYearJxMap.get(emp.getEmployeeId()); dto.setQnjxfs(lastYearJxValue); @@ -1788,6 +1806,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc if (StringUtils.isBlank(param.getSxrq())) { throw new SalaryRunTimeException("生效日期不能为空"); } + RecordSet gwBmRs = new RecordSet(); rs.execute("select id from uf_txjlgljmb where nd='"+ param.getSxrq()+ "'"); rs.next(); int mainId = rs.getInt("id"); @@ -1797,13 +1816,21 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc while (rs.next()) { Long empId = Long.valueOf(rs.getInt("xm")); DataCollectionEmployee emp = empMap.getOrDefault(empId, DataCollectionEmployee.builder().username("").departmentName("").departmentId(0L).build()); + gwBmRs.execute("SELECT a.id as id,zwmc,b.id as zwid FROM cus_fielddata a left join uf_zwxxjmb b on a.field"+gwFieldId+"=b.id where a.scopeid=3 and a.id =" + weaver.general.Util.null2String(empId)); + Long zwId=0L; + String zwmc=""; + while (gwBmRs.next()) { + zwId = Long.valueOf(gwBmRs.getInt("zwid")); + zwmc = gwBmRs.getString("zwmc"); + } + result.add(pltxEmployeeDTO.builder() .employee(empId) .employeeName(emp.getUsername()) .bmId(emp.getDepartmentId()) .bmName(emp.getDepartmentName()) - .jobTitleId(emp.getJobtitleId()) - .jobTitleName(emp.getJobtitleName()) + .jobTitleId(zwId) + .jobTitleName(zwmc) .gskjywr(rs.getString("gskjywr")) .qnjxfs(rs.getDouble("qnjxfs") == -1 ? null : rs.getDouble("qnjxfs")) .jbgz(rs.getDouble("jbgz") == -1 ? null : rs.getDouble("jbgz")) @@ -1942,13 +1969,24 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc if (rs.next()) { jxjg = rs.getDouble("jxjg") == -1 ? 0 : rs.getDouble("jxjg"); } + // 查询港湾职位信息 + BaseBean baseBean = new BaseBean(); + String gwFieldId = baseBean.getPropValue("shgwSalary", "gw_field_id"); + RecordSet gwBmRs = new RecordSet(); + gwBmRs.execute("SELECT a.id as id,zwmc,b.id as zwid FROM cus_fielddata a left join uf_zwxxjmb b on a.field"+gwFieldId+"=b.id where a.scopeid=3 and a.id =" + param.getXm()); + Long zwId=0L; + String zwmc=""; + while (gwBmRs.next()) { + zwId = Long.valueOf(gwBmRs.getInt("zwid")); + zwmc = gwBmRs.getString("zwmc"); + } return pltxEmployeeDTO.builder() .employee(salaryArchiveItemPO.getEmployeeId()) .employeeName(emp.getUsername()) .bmId(emp.getDepartmentId()) .bmName(emp.getDepartmentName()) - .jobTitleId(emp.getJobtitleId()) - .jobTitleName(emp.getJobtitleName()) + .jobTitleId(zwId) + .jobTitleName(zwmc) .gskjywr(param.getGskjywr()) .jbgz(jbgz) .hjgz(jbgz+gwgz+jxgz) diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java index df7f45e29..83edfc77d 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java @@ -1874,6 +1874,26 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe } Map empMap = SalaryEntityUtil.convert2Map(getSalaryEmployeeService(user).listAll(UseEmployeeTypeEnum.ORG), DataCollectionEmployee::getEmployeeId); + // 查询港湾职位信息 + Map gwEmpGwMap = new HashMap<>(); + Map gwEmpGwIdMap = new HashMap<>(); + BaseBean baseBean = new BaseBean(); + String gwFieldId = baseBean.getPropValue("shgwSalary", "gw_field_id"); + List empIdList = gwPltxDt1POS.stream().map(GwPltxDt1PO::getXm).collect(Collectors.toList()); + List> partition = Lists.partition(empIdList, 500); + partition.forEach(part -> { + // 查询港湾职位信息 + String empIdStr = StringUtils.join(part, ","); + rs.execute("SELECT a.id as id,zwmc,b.id as zwid FROM cus_fielddata a left join uf_zwxxjmb b on a.field"+gwFieldId+"=b.id where a.scopeid=3 and a.id in (" +empIdStr+")"); + while (rs.next()) { + String empId = rs.getString("id"); + int zwId = rs.getInt("zwid"); + String zwmc = rs.getString("zwmc"); + gwEmpGwMap.put(empId, zwmc); + gwEmpGwIdMap.put(empId, Long.valueOf(zwId)); + } + }); + return gwPltxDt1POS.stream() .map(po -> { Long empId = Long.valueOf(po.getXm()); @@ -1884,8 +1904,8 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe .employeeName(emp.getUsername()) .bmId(emp.getDepartmentId()) .bmName(emp.getDepartmentName()) - .jobTitleId(emp.getJobtitleId()) - .jobTitleName(emp.getJobtitleName()) + .jobTitleId(gwEmpGwIdMap.getOrDefault(Util.null2String(empId), 0L)) + .jobTitleName(gwEmpGwMap.getOrDefault(Util.null2String(empId), "")) .gskjywr(po.getGskjywr()) .qnjxfs(po.getQnjxfs() == null ? null : po.getQnjxfs().doubleValue()) .jbgz(po.getJbgz() == null ? null : po.getJbgz().doubleValue())