港湾批量调薪,替换岗位

This commit is contained in:
Harryxzy 2025-01-03 10:09:45 +08:00
parent 19f0a02090
commit 024481fa9e
2 changed files with 66 additions and 8 deletions

View File

@ -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<String, String> gwEmpGwMap = new HashMap<>();
Map<String, Long> 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<Long, DataCollectionEmployee> 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)

View File

@ -1874,6 +1874,26 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
}
Map<Long, DataCollectionEmployee> empMap = SalaryEntityUtil.convert2Map(getSalaryEmployeeService(user).listAll(UseEmployeeTypeEnum.ORG), DataCollectionEmployee::getEmployeeId);
// 查询港湾职位信息
Map<String, String> gwEmpGwMap = new HashMap<>();
Map<String, Long> gwEmpGwIdMap = new HashMap<>();
BaseBean baseBean = new BaseBean();
String gwFieldId = baseBean.getPropValue("shgwSalary", "gw_field_id");
List<Integer> empIdList = gwPltxDt1POS.stream().map(GwPltxDt1PO::getXm).collect(Collectors.toList());
List<List<Integer>> 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())