From 478b9a3d165c0c6f519a7c82869b82ca0f7e569f Mon Sep 17 00:00:00 2001 From: sy Date: Fri, 16 Sep 2022 13:23:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E6=96=B9=E5=BC=8F=E9=85=8D=E7=BD=AE-=E8=96=AA?= =?UTF-8?q?=E8=B5=84=E6=A0=B8=E7=AE=97-=E5=AF=BC=E5=85=A5,=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=AF=BC=E5=85=A5=E4=BA=BA=E5=91=98=E7=AD=9B=E9=80=89?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=8C=96=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SalaryAcctExcelServiceImpl.java | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java index b46a7f8cf..68cba7639 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.salary.service.impl; +import com.api.formmode.mybatis.util.SqlProxyHandle; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; @@ -27,7 +28,9 @@ import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.SalaryValueTypeEnum; import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.exception.SalaryRunTimeException; +import com.engine.salary.mapper.sys.SalarySysConfMapper; import com.engine.salary.service.*; +import com.engine.salary.sys.entity.po.SalarySysConfPO; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.excel.ExcelParseHelper; @@ -118,6 +121,10 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc return ServiceUtil.getService(SalaryAcctReportServiceImpl.class, user); } + private SalarySysConfMapper getSalarySysConfMapper() { + return SqlProxyHandle.getProxy(SalarySysConfMapper.class); + } + @Override public XSSFWorkbook exportSalaryAcctEmployee(SalaryAcctEmployeeQueryParam queryParam) { ValidUtil.doValidator(queryParam); @@ -521,6 +528,9 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc Long currentEmployeeId = (long) user.getUID(); + //查询对于人员信息导入筛选的全局配置 + SalarySysConfPO salarySysConfPO = getSalarySysConfMapper().getOneByCode("matchEmployeeMode"); + // 薪资核算记录的id Long salaryAcctRecordId = param.getSalaryAcctRecordId(); // 薪资核算记录 @@ -612,25 +622,25 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc continue; } String dataValue = (String) map.getOrDefault(dataKey.toString(), ""); - String deparmentName = (String) map.getOrDefault("部门", ""); - String mobile = (String) map.getOrDefault("手机号", ""); + String workcode = (String) map.getOrDefault("工号", ""); if (StringUtils.equals(SalaryI18nUtil.getI18nLabel(85429, "姓名"), dataKey.toString())) { usernameIndex = j; - if (StringUtils.isEmpty(dataValue)) { + if (StringUtils.isEmpty(dataValue) && "0".equals(salarySysConfPO.getConfValue())) { isError = true; Map errorMessageMap = Maps.newHashMap(); errorMessageMap.put("message", row + SalaryI18nUtil.getI18nLabel(102838, "姓名不能为空")); excelComments.add(errorMessageMap); //salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(102838, "姓名不能为空"), i, i, j, j); } else { - - List employeeSameIds = salaryEmployees.stream().filter(e -> (StringUtils.isBlank(dataValue) || Objects.equals(e.getUsername(), dataValue)) - && (StringUtils.isBlank(deparmentName) || Objects.equals(e.getDepartmentName(), deparmentName)) - && (StringUtils.isBlank(mobile) || Objects.equals(e.getMobile(), mobile))) - .collect(Collectors.toList()); + //筛选导入人员信息可以在人力资源池中匹配到的人员信息 + List employeeSameIds = getSalaryAcctEmployeeService(user).matchImportEmployee(salaryEmployees, dataValue, deparmentName, mobile, workcode); +// List employeeSameIds = salaryEmployees.stream().filter(e -> (StringUtils.isBlank(dataValue) || Objects.equals(e.getUsername(), dataValue)) +// && (StringUtils.isBlank(deparmentName) || Objects.equals(e.getDepartmentName(), deparmentName)) +// && (StringUtils.isBlank(mobile) || Objects.equals(e.getMobile(), mobile))) +// .collect(Collectors.toList()); if (CollectionUtils.isEmpty(employeeSameIds)) { isError = true;