港湾批量调薪性能优化
This commit is contained in:
parent
52a0392be5
commit
f529143e62
|
|
@ -26,6 +26,13 @@ public class pltxEmployeeDTO {
|
|||
|
||||
private String bmName;
|
||||
|
||||
// 岗位信息
|
||||
private Long jobTitleId;
|
||||
|
||||
// 岗位名称
|
||||
private String jobTitleName;
|
||||
|
||||
|
||||
// 个税扣缴义务人
|
||||
private String gskjywr;
|
||||
|
||||
|
|
|
|||
|
|
@ -1696,6 +1696,9 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
List<pltxEmployeeDTO> result = new ArrayList<>();
|
||||
RecordSet rs = new RecordSet();
|
||||
BaseBean bb = new BaseBean();
|
||||
if (StringUtils.isBlank(param.getSxrq())) {
|
||||
throw new SalaryRunTimeException("生效日期不能为空");
|
||||
}
|
||||
if (param.getTxcj() == 0) {
|
||||
// 第一层级,带出所有的被调薪人
|
||||
rs.execute("select bdxr,gskjywr from uf_pltxjzgljmb ");
|
||||
|
|
@ -1721,6 +1724,20 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
List<String> taxAgentEmpList = allEmps.stream().map(emp -> emp.getTaxAgentId() + "-" + emp.getEmployeeId()).collect(Collectors.toList());
|
||||
List<SalaryArchivePO> salaryArchivePOS = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().employeeIds(empIds).build());
|
||||
List<DataCollectionEmployee> employeeList = getSalaryEmployeeService(user).listByIds(empIds);
|
||||
// 查询这些人的去年绩效分数
|
||||
int lastYear = new Integer(param.getSxrq()) - 1;
|
||||
List<List<Long>> partition = Lists.partition(empIds, 500);
|
||||
Map<Long, Double> lastYearJxMap = new HashMap<>();
|
||||
partition.forEach(part -> {
|
||||
String empIdStr = StringUtils.join(part, ",");
|
||||
rs.execute("select jxjg,ygxm from uf_jxjjmb where nd = '" + lastYear +"' and ygxm in ( "+ empIdStr + " )");
|
||||
while (rs.next()) {
|
||||
double jxjg = rs.getDouble("jxjg") == -1 ? 0 : rs.getDouble("jxjg");
|
||||
int ygxm = rs.getInt("ygxm");
|
||||
lastYearJxMap.put(Long.valueOf(ygxm), jxjg);
|
||||
}
|
||||
});
|
||||
|
||||
Map<Long, DataCollectionEmployee> employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId);
|
||||
// 过滤薪资档案
|
||||
salaryArchivePOS = salaryArchivePOS.stream().filter(po -> taxAgentEmpList.contains(po.getTaxAgentId()+"-"+po.getEmployeeId())).collect(Collectors.toList());
|
||||
|
|
@ -1740,7 +1757,11 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
.employeeName(e.getUsername())
|
||||
.bmId(e.getDepartmentId())
|
||||
.bmName(e.getDepartmentName())
|
||||
.jobTitleId(e.getJobtitleId())
|
||||
.jobTitleName(e.getJobtitleName())
|
||||
.gskjywr(taxAgentNameMap.get(emp.getTaxAgentId())).build();
|
||||
Double lastYearJxValue = lastYearJxMap.get(emp.getEmployeeId()) == null ? new Double(0) : lastYearJxMap.get(emp.getEmployeeId());
|
||||
dto.setQnjxfs(lastYearJxValue);
|
||||
if (archiveId != null) {
|
||||
SalaryArchiveItemPO salaryArchiveItemPO = salaryArchiveItemMap.get(archiveId + "_" + salaryItemId);
|
||||
if (salaryArchiveItemPO != null) {
|
||||
|
|
@ -1801,14 +1822,17 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
*/
|
||||
@Override
|
||||
public List<pltxEmployeeDTO> pltxFilterData(PltxInitEmployeeParam param) {
|
||||
BaseBean baseBean = new BaseBean();
|
||||
ValidUtil.doValidator(param);
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
List<String> fieldList = Arrays.asList("dxyjspr", "dxejspr", "dxsajspr", "dxsijspr", "dxwjspr", "dxljspr");
|
||||
List<pltxEmployeeDTO> canManageList = new ArrayList<>();
|
||||
baseBean.writeLog("批量调薪过滤查看, 查看人:" + param.getSpr() + ",查看时间:" + SalaryDateUtil.getFormatLocalDate(new Date()) + ",层级:" + param.getTxcj());
|
||||
if (param.getTxcj() == 0) {
|
||||
// 一级
|
||||
rs.execute(" SELECT bdxr,gskjywr FROM uf_pltxjzgljmb where dxyjspr= " + param.getSpr());
|
||||
baseBean.writeLog("exc sql => SELECT bdxr,gskjywr FROM uf_pltxjzgljmb where dxyjspr= " + param.getSpr());
|
||||
while (rs.next()) {
|
||||
int bdxr = rs.getInt("bdxr");
|
||||
String gskjywr = rs.getString("gskjywr");
|
||||
|
|
@ -1817,14 +1841,16 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
} else {
|
||||
buildCanManageList(param, fieldList, canManageList);
|
||||
}
|
||||
baseBean.writeLog("批量调薪过滤查看, 结果" + canManageList.stream().map(pltxEmployeeDTO::getEmployee));
|
||||
return canManageList;
|
||||
}
|
||||
|
||||
private void buildCanManageList(PltxInitEmployeeParam param, List<String> fieldList, List<pltxEmployeeDTO> canManageList ) {
|
||||
BaseBean baseBean = new BaseBean();
|
||||
Integer txcj = param.getTxcj();
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.execute("SELECT bdxr,gskjywr FROM uf_pltxjzgljmb where " + fieldList.get(txcj) + "=" + param.getSpr());
|
||||
|
||||
baseBean.writeLog("exc sql => SELECT bdxr,gskjywr FROM uf_pltxjzgljmb where " + fieldList.get(txcj) + "=" + param.getSpr());
|
||||
|
||||
// List<Integer> sprList = new ArrayList<>();
|
||||
// for (int i = txcj; i > 0 ; i--) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue