diff --git a/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java b/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java index d1832ea50..7ea86353e 100644 --- a/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java +++ b/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java @@ -24,6 +24,7 @@ import com.engine.salary.entity.taxagent.bo.TaxAgentBO; import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; +import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.datacollection.AddUpDeductionMapper; @@ -229,11 +230,9 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction //相同的姓名 String userName = dto.getUsername(); String deparmentName = dto.getDepartmentName(); - List employeeSameIds = employees.stream().filter(e -> (StringUtils.isBlank(userName) || Objects.equals(e.getUsername(), userName)) - && (StringUtils.isBlank(deparmentName) || Objects.equals(e.getDepartmentName(), deparmentName))).map(DataCollectionEmployee::getEmployeeId) + List employeeSameIds = employees.stream().filter(e -> (StringUtils.isBlank(userName) || Objects.equals(e.getUsername(), userName)) + && (StringUtils.isBlank(deparmentName) || Objects.equals(e.getDepartmentName(), deparmentName))) .collect(Collectors.toList()); - - if (StringUtils.isBlank(userName)) { //姓名 不能为空 //错误消息对象 @@ -241,13 +240,24 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction errorMessageMap.put("message", rowIndex + "姓名不能为空"); errorData.add(errorMessageMap); errorSum += 1; - } else if (CollectionUtils.isEmpty(employeeSameIds) || employeeSameIds.size() > 1) { + } else if (CollectionUtils.isEmpty(employeeSameIds)) { Map errorMessageMap = Maps.newHashMap(); - errorMessageMap.put("message", rowIndex + "员工信息不能为空且不可重复(姓名与部门同时确认唯一)"); + errorMessageMap.put("message", rowIndex + "员工信息不存在"); errorData.add(errorMessageMap); errorSum += 1; + } else if (employeeSameIds.size() > 1) { + //存在离职和在职状态取在职状态 + employeeSameIds = employeeSameIds.stream() + .filter(e -> UserStatusEnum.getNormalStatus().contains(e.getStatus())) + .collect(Collectors.toList()); + if (employeeSameIds.size() != 1) { + Map errorMessageMap = Maps.newHashMap(); + errorMessageMap.put("message", rowIndex + "员工信息不能为空且不可重复(姓名与部门同时确认唯一)"); + errorData.add(errorMessageMap); + errorSum += 1; + } } else { - Long employeeId = CollectionUtils.isNotEmpty(employeeSameIds) && employeeSameIds.size() == 1 ? employeeSameIds.get(0) : null; + Long employeeId = CollectionUtils.isNotEmpty(employeeSameIds) && employeeSameIds.size() == 1 ? employeeSameIds.get(0).getEmployeeId() : null; if (employeeId != null && employeeId > 0) { addUpDeduction.setEmployeeId(employeeId); } else { @@ -430,7 +440,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction long employeeId = (long) user.getUID(); Boolean needAuth = getTaxAgentService(user).isNeedAuth(employeeId); - if(needAuth){ + if (needAuth) { List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); if (CollectionUtils.isEmpty(taxAgentIdsAsAdmin)) { return new PageInfo<>(AddUpDeductionRecordDTO.class); @@ -530,10 +540,10 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); // List lastList = getLastListByModifier(employeeId, tenantKey); list = list.stream().filter(f -> - // 作为管理员 - taxAgentIdsAsAdmin.contains(f.getTaxAgentId()) - // 作为分管理员 - || TaxAgentBO.checkTaxAgentAndEmployee(taxAgentEmployees, f.getTaxAgentId(), f.getEmployeeId()) + // 作为管理员 + taxAgentIdsAsAdmin.contains(f.getTaxAgentId()) + // 作为分管理员 + || TaxAgentBO.checkTaxAgentAndEmployee(taxAgentEmployees, f.getTaxAgentId(), f.getEmployeeId()) ).collect(Collectors.toList()); } @@ -626,10 +636,10 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction List taxAgentEmployees = getTaxAgentService(user).listTaxAgentAndEmployee(employeeId); List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); list = list.stream().filter(f -> - // 作为管理员 - taxAgentIdsAsAdmin.contains(f.getTaxAgentId()) - // 作为分管理员 - || TaxAgentBO.checkTaxAgentAndEmployee(taxAgentEmployees, f.getTaxAgentId(), f.getEmployeeId()) + // 作为管理员 + taxAgentIdsAsAdmin.contains(f.getTaxAgentId()) + // 作为分管理员 + || TaxAgentBO.checkTaxAgentAndEmployee(taxAgentEmployees, f.getTaxAgentId(), f.getEmployeeId()) ).collect(Collectors.toList()); } diff --git a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java index c25fb36d7..4b1bf0bc3 100644 --- a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java +++ b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java @@ -20,6 +20,7 @@ import com.engine.salary.entity.datacollection.param.AddUpSituationQueryParam; import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO; import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; +import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.datacollection.AddUpSituationMapper; import com.engine.salary.service.AddUpDeductionService; @@ -608,8 +609,8 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation //相同的姓名 String userName = dto.getUsername(); String deparmentName = dto.getDepartmentName(); - List employeeSameIds = employees.stream().filter(e -> (StringUtils.isBlank(userName) || Objects.equals(e.getUsername(), userName)) - && (StringUtils.isBlank(deparmentName) || Objects.equals(e.getDepartmentName(), deparmentName))).map(DataCollectionEmployee::getEmployeeId) + List employeeSameIds = employees.stream().filter(e -> (StringUtils.isBlank(userName) || Objects.equals(e.getUsername(), userName)) + && (StringUtils.isBlank(deparmentName) || Objects.equals(e.getDepartmentName(), deparmentName))) .collect(Collectors.toList()); @@ -620,13 +621,24 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation errorMessageMap.put("message", rowIndex + "姓名不能为空"); errorData.add(errorMessageMap); errorSum += 1; - } else if (CollectionUtils.isEmpty(employeeSameIds) || employeeSameIds.size() > 1) { + } else if (CollectionUtils.isEmpty(employeeSameIds)) { Map errorMessageMap = Maps.newHashMap(); - errorMessageMap.put("message", rowIndex + "员工信息不能为空且不可重复(姓名与部门同时确认唯一)"); + errorMessageMap.put("message", rowIndex + "员工信息不存在"); errorData.add(errorMessageMap); errorSum += 1; + } else if (employeeSameIds.size() > 1) { + //存在离职和在职状态取在职状态 + employeeSameIds = employeeSameIds.stream() + .filter(e -> UserStatusEnum.getNormalStatus().contains(e.getStatus())) + .collect(Collectors.toList()); + if (employeeSameIds.size() != 1) { + Map errorMessageMap = Maps.newHashMap(); + errorMessageMap.put("message", rowIndex + "员工信息不能为空且不可重复(姓名与部门同时确认唯一)"); + errorData.add(errorMessageMap); + errorSum += 1; + } } else { - Long employeeId = CollectionUtils.isNotEmpty(employeeSameIds) && employeeSameIds.size() == 1 ? employeeSameIds.get(0) : null; + Long employeeId = CollectionUtils.isNotEmpty(employeeSameIds) && employeeSameIds.size() == 1 ? employeeSameIds.get(0).getEmployeeId() : null; if (employeeId != null && employeeId > 0) { po.setEmployeeId(employeeId); } else { diff --git a/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java b/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java index 3c8245df1..3203cf8b2 100644 --- a/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java +++ b/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java @@ -638,15 +638,13 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa if (SalaryI18nUtil.getI18nLabel(85429, "姓名").equals(key.toString())) { if (StringUtils.isEmpty(cellVal)) { Map errorMessageMap = Maps.newHashMap(); - errorMessageMap.put("message", SalaryI18nUtil.getI18nLabel(100579, "不能为空")); + errorMessageMap.put("message", SalaryI18nUtil.getI18nLabel(100579, "姓名不能为空")); excelComments.add(errorMessageMap); -// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel( 100577, "不能为空"), errorCount + 1, errorCount + 1, j, j); errorSum += 1; } else if (CollectionUtils.isEmpty(employeeSameIds) || employeeSameIds.size() > 1) { Map errorMessageMap = Maps.newHashMap(); errorMessageMap.put("message", SalaryI18nUtil.getI18nLabel(100579, "员工信息不能为空且不可重复(姓名与部门同时确认唯一)")); excelComments.add(errorMessageMap); -// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel( 100578, "员工信息不能为空且不可重复(姓名与部门同时确认唯一)"), errorCount + 1, errorCount + 1, j, j); errorSum += 1; } else { Long employeeId = CollectionUtils.isNotEmpty(employeeSameIds) && employeeSameIds.size() == 1 ? employeeSameIds.get(0) : null; @@ -656,7 +654,6 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa Map errorMessageMap = Maps.newHashMap(); errorMessageMap.put("message", SalaryI18nUtil.getI18nLabel(100579, "姓名错误,系统内不存在该姓名")); excelComments.add(errorMessageMap); -// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel( 100579, "姓名错误,系统内不存在该姓名"), errorCount + 1, errorCount + 1, j, j); errorSum += 1; } } diff --git a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java index 32da33207..46cd1d9ef 100644 --- a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java @@ -8,7 +8,6 @@ import com.engine.core.impl.Service; import com.engine.salary.biz.EmployBiz; import com.engine.salary.biz.SISchemeBiz; import com.engine.salary.cmd.sischeme.*; -import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.encrypt.AESEncryptUtil; import com.engine.salary.encrypt.siarchives.InsuranceArchivesFundSchemePOEncrypt; import com.engine.salary.encrypt.siarchives.InsuranceArchivesOtherSchemePOEncrypt; @@ -108,37 +107,37 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { @Override public Map getForm(Map params) { - return commandExecutor.execute(new SISchemeGetFormCmd(params,user)); + return commandExecutor.execute(new SISchemeGetFormCmd(params, user)); } @Override public Map insertScheme(Map params) { - return commandExecutor.execute(new SISchemeInsertCmd(params,user)); + return commandExecutor.execute(new SISchemeInsertCmd(params, user)); } @Override public Map update(Map params) { - return commandExecutor.execute(new SISchemeUpdateCmd(params,user)); + return commandExecutor.execute(new SISchemeUpdateCmd(params, user)); } @Override public Map delete(Map params) { - return commandExecutor.execute(new SISchemeDeleteCmd(params,user)); + return commandExecutor.execute(new SISchemeDeleteCmd(params, user)); } @Override public Map copyScheme(Map params) { - return commandExecutor.execute(new SISchemeCopyCmd(params,user)); + return commandExecutor.execute(new SISchemeCopyCmd(params, user)); } @Override public List queryListByInsuranceIdIsPayment(Long insuranceId, Integer isPayment) { - return new SISchemeBiz().queryListByInsuranceIdIsPayment(insuranceId,isPayment); + return new SISchemeBiz().queryListByInsuranceIdIsPayment(insuranceId, isPayment); } @Override public Map listPage(Map params) { - return commandExecutor.execute(new SISchemeListCmd(params,user)); + return commandExecutor.execute(new SISchemeListCmd(params, user)); } @Override @@ -153,7 +152,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { @Override public PageInfo list(InsuranceSchemeParam queryParam) { - SalaryAssert.notNull(queryParam.getWelfareTypeEnum(), SalaryI18nUtil.getI18nLabel( 84026, "参数错误")); + SalaryAssert.notNull(queryParam.getWelfareTypeEnum(), SalaryI18nUtil.getI18nLabel(84026, "参数错误")); SalaryPageUtil.start(queryParam.getCurrent(), queryParam.getPageSize()); List insuranceSchemePOS = MapperProxyFactory.getProxy(InsuranceSchemeMapper.class).listByWelfareType(queryParam.getWelfareTypeEnum().getValue()); @@ -161,7 +160,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { List collect = insuranceSchemePOS.stream().map(item -> InsuranceSchemeListDTO.builder() .id(item.getId()) - .paymentType(SalaryI18nUtil.getI18nLabel( buildPaymentTypeEnum(item.getPaymentType()).getLabelId(), + .paymentType(SalaryI18nUtil.getI18nLabel(buildPaymentTypeEnum(item.getPaymentType()).getLabelId(), buildPaymentTypeEnum(item.getPaymentType()).getDefaultLabel())) .schemeName(item.getSchemeName()) .paymentArea(item.getPaymentArea()) @@ -203,9 +202,9 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { List fundList = new ArrayList<>(); List otherList = new ArrayList<>(); - for(int i = 0; i < employeeIds.size(); i+=1000) { + for (int i = 0; i < employeeIds.size(); i += 1000) { int end = i + 1000; - if(i + 1000 >= employeeIds.size()) { + if (i + 1000 >= employeeIds.size()) { end = employeeIds.size(); } List ids = employeeIds.subList(i, end); @@ -313,7 +312,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { try { Object o = recordData.get(column.getColumn()); row.add(o.toString()); - } catch(Exception e) { + } catch (Exception e) { row.add(""); } } @@ -332,7 +331,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { // .dataType(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 99915, "档案")) // .function(exportMap.get("function")).build(), sheetList); //获取excel - return ExcelUtil.genWorkbook(rows,"福利档案"); + return ExcelUtil.genWorkbook(rows, "福利档案"); } @@ -348,7 +347,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { * 3、根据查询出来的福利id,去福利表里面查询福利的名称 * 4、组装,以“、”分割 * - * @param id 福利方案主表id + * @param id 福利方案主表id * @return result */ public String buildPaymentScope(Long id) { @@ -387,32 +386,31 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { public List buildWeaTableColumns(List insuranceArchivesEmployeePOS, Long employeeId) { Map> titleMap = buildColumnTitle(insuranceArchivesEmployeePOS, employeeId); List list = new ArrayList<>(); - WeaTableColumn nameColumn = new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel( 85429, "姓名"), "employeeName"); + WeaTableColumn nameColumn = new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(85429, "姓名"), "employeeName"); nameColumn.setFixed("left"); list.add(nameColumn); list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86185, "部门"), "departmentName")); - list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel( 86186, "手机号"), "mobile")); - list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel(86187, "员工状态"), "status")); - list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 91323, "社保方案名称"), "socialName")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86186, "手机号"), "mobile")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86187, "员工状态"), "status")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91323, "社保方案名称"), "socialName")); titleMap.get(WelfareTypeEnum.SOCIAL_SECURITY.getValue()).forEach((k, v) -> list.add(new WeaTableColumn("150px", v, k))); - list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 91324, "社保账号"), "socialAccount")); - list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel(91319, "社保起始缴纳月"), "socialStartTime")); - list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 91320, "社保最后缴纳月"), "socialEndTime")); - list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel(91485, "公积金方案名称"), "fundName")); - list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 91486, "公积金账号"), "fundAccount")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91324, "社保账号"), "socialAccount")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91319, "社保起始缴纳月"), "socialStartTime")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91320, "社保最后缴纳月"), "socialEndTime")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91485, "公积金方案名称"), "fundName")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91486, "公积金账号"), "fundAccount")); titleMap.get(WelfareTypeEnum.ACCUMULATION_FUND.getValue()).forEach((k, v) -> list.add(new WeaTableColumn("150px", v, k))); - list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel(91487, "补充公积金账号"), "supplementFundAccount")); - list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel(91483, "公积金起始缴纳月"), "fundStartTime")); - list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel(91484, "公积金最后缴纳月"), "fundEndTime")); - list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel(91496, "其他福利方案名称"), "otherName")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91487, "补充公积金账号"), "supplementFundAccount")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91483, "公积金起始缴纳月"), "fundStartTime")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91484, "公积金最后缴纳月"), "fundEndTime")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91496, "其他福利方案名称"), "otherName")); titleMap.get(WelfareTypeEnum.OTHER.getValue()).forEach((k, v) -> list.add(new WeaTableColumn("150px", v, k))); - list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel(91490, "其他福利起始缴纳月"), "otherStartTime")); - list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel(91494, "其他福利最后缴纳月"), "otherEndTime")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91490, "其他福利起始缴纳月"), "otherStartTime")); + list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91494, "其他福利最后缴纳月"), "otherEndTime")); return list; } - public Map> buildColumnTitle(List insuranceArchivesEmployeePOS, Long employeeId) { Map> result = new HashMap<>(); Set socialSet = new HashSet<>(); @@ -424,7 +422,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { }}); InsuranceArchivesSocialSchemePOEncrypt.decryptList(socialByEmployeeId); InsuranceArchivesSocialSchemePO socialItem = null; - if(socialByEmployeeId.size() > 0) { + if (socialByEmployeeId.size() > 0) { socialItem = socialByEmployeeId.get(0); } InsuranceArchivesFundSchemePO fundItem = null; @@ -434,7 +432,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { }}); InsuranceArchivesFundSchemePOEncrypt.decryptList(fundByEmployeeId); - if(fundByEmployeeId.size() > 0) { + if (fundByEmployeeId.size() > 0) { fundItem = fundByEmployeeId.get(0); } InsuranceArchivesOtherSchemePO otherItem = null; @@ -443,7 +441,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { add(item.getEmployeeId()); }}); InsuranceArchivesOtherSchemePOEncrypt.decryptList(otherByEmployeeId); - if(otherByEmployeeId.size() > 0) { + if (otherByEmployeeId.size() > 0) { otherItem = otherByEmployeeId.get(0); } @@ -482,7 +480,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { socialCollect.putAll(sysSocial); socialSet.forEach(item -> { if (socialCollect.containsKey(Long.valueOf(item))) { - socialMap.put(item, socialCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel( 100293, "申报基数")); + socialMap.put(item, socialCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(100293, "申报基数")); } }); Map fundMap = new HashMap<>(); @@ -497,7 +495,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { fundCollect.putAll(sysFund); fundSet.forEach(item -> { if (fundCollect.containsKey(Long.valueOf(item))) { - fundMap.put(item, fundCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel( 100293, "申报基数")); + fundMap.put(item, fundCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(100293, "申报基数")); } }); Map otherMap = new HashMap<>(); @@ -512,7 +510,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { otherCollect.putAll(sysOther); otherSet.forEach(item -> { if (otherCollect.containsKey(Long.valueOf(item))) { - otherMap.put(item, otherCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel( 100293, "申报基数")); + otherMap.put(item, otherCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(100293, "申报基数")); } }); @@ -548,7 +546,6 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { ValidUtil.doValidator(param); - // List excelSheets = message.getBatchFile().getExcelSheets(); // 租户key // String tenantKey = message.getTenantKey().toLowerCase(); @@ -558,7 +555,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { Map schemeNameIdMap = schemeNameIdMap(); Map welfareMap = welfareMap(); // 获取所有个税扣缴义务人的名称和id的map - Map paymentNameIdMap = getTaxAgentService().listAllTaxAgentsAsAdmin((long)user.getUID()).stream().collect(Collectors.toMap(TaxAgentPO::getName, TaxAgentPO::getId)); + Map paymentNameIdMap = getTaxAgentService().listAllTaxAgentsAsAdmin((long) user.getUID()).stream().collect(Collectors.toMap(TaxAgentPO::getName, TaxAgentPO::getId)); // 获取所有人员信息 // 获取租户下所有的人员 List employeeByIds = employeeBiz.listEmployee(); @@ -657,7 +654,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { private String userStateExchange(String userState) { UserStatusEnum[] values = UserStatusEnum.values(); for (UserStatusEnum value : values) { - if(value.getDescription().equals(userState)) { + if (value.getDescription().equals(userState)) { return value.getValue() + ""; } } @@ -676,24 +673,38 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { String rowIndex = "第" + index + "行"; if (StringUtils.isBlank(userName) && StringUtils.isBlank(deparmentName) && StringUtils.isBlank(telephone) && StringUtils.isBlank(userStatus)) { Map errorMessageMap = Maps.newHashMap(); - errorMessageMap.put("message", rowIndex + " 用户名、部门名称、手机号、用户状态" +SalaryI18nUtil.getI18nLabel(100303, "不能同时为空")); + errorMessageMap.put("message", rowIndex + " 用户名、部门名称、手机号、用户状态" + SalaryI18nUtil.getI18nLabel(100303, "不能同时为空")); excelComments.add(errorMessageMap); isError = true; } - List employees = employeeByIds.stream().filter(e -> (StringUtils.isBlank(userName) || Objects.equals(e.getUsername(), userName)) + List employees = employeeByIds.stream().filter(e -> (StringUtils.isBlank(userName) || Objects.equals(e.getUsername(), userName)) && (StringUtils.isBlank(deparmentName) || Objects.equals(e.getDepartmentName(), deparmentName)) && (StringUtils.isBlank(telephone) || Objects.equals(e.getMobile(), telephone)) - && (StringUtils.isBlank(userStatus) || Objects.equals(userStateExchange(e.getStatus()), userStatus))).map(DataCollectionEmployee::getEmployeeId) + && (StringUtils.isBlank(userStatus) || Objects.equals(userStateExchange(e.getStatus()), userStatus))) .collect(Collectors.toList()); - if (CollectionUtils.isEmpty(employees) || employees.size() > 1) { + if (CollectionUtils.isEmpty(employees)) { Map errorMessageMap = Maps.newHashMap(); - errorMessageMap.put("message", rowIndex + SalaryI18nUtil.getI18nLabel(100304, "员工信息不存在或者存在多个员工")); + errorMessageMap.put("message", rowIndex + "员工信息不存在"); excelComments.add(errorMessageMap); isError = true; + } else { + //含在职和离职,选在职数据 + if (employees.size() > 1) { + employees = employees.stream() + .filter(e -> UserStatusEnum.getNormalStatus().contains(e.getStatus())) + .collect(Collectors.toList()); + if (employees.size() != 1) { + Map errorMessageMap = Maps.newHashMap(); + errorMessageMap.put("message", rowIndex + SalaryI18nUtil.getI18nLabel(100304, "员工信息不存在或者存在多个员工")); + excelComments.add(errorMessageMap); + isError = true; + } + } } + Long employeeId = null; if (CollectionUtils.isNotEmpty(employees) && employees.size() == 1) { - employeeId = employees.get(0); + employeeId = employees.get(0).getEmployeeId(); } InsuranceArchivesAccountPO insuranceArchivesAccountPO = new InsuranceArchivesAccountPO(); InsuranceArchivesSocialSchemePO insuranceArchivesSocialSchemePO = null; @@ -718,7 +729,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { } String socialStartMonth = (String) socialStartTimeMap.get(SalaryI18nUtil.getI18nLabel(91319, "社保起始缴纳月")); - if(StringUtils.isNotBlank(socialStartMonth) && socialStartMonth.length() > 7) { + if (StringUtils.isNotBlank(socialStartMonth) && socialStartMonth.length() > 7) { socialStartMonth = socialStartMonth.substring(0, 7); } if (StringUtils.isNotBlank(socialStartMonth) && !SalaryDateUtil.checkYearMonth(socialStartMonth)) { @@ -729,7 +740,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { } String socialEndMonth = (String) socialEndTimeMap.get(SalaryI18nUtil.getI18nLabel(91320, "社保最后缴纳月")); - if(StringUtils.isNotBlank(socialEndMonth) && socialEndMonth.length() > 7) { + if (StringUtils.isNotBlank(socialEndMonth) && socialEndMonth.length() > 7) { socialEndMonth = socialEndMonth.substring(0, 7); } if (StringUtils.isNotBlank(socialEndMonth) && !SalaryDateUtil.checkYearMonth(socialEndMonth)) { @@ -740,7 +751,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { } String fundStartMonth = (String) fundStartTimeMap.get(SalaryI18nUtil.getI18nLabel(91483, "公积金起始缴纳月")); - if(StringUtils.isNotBlank(fundStartMonth) && fundStartMonth.length() > 7) { + if (StringUtils.isNotBlank(fundStartMonth) && fundStartMonth.length() > 7) { fundStartMonth = fundStartMonth.substring(0, 7); } if (StringUtils.isNotBlank(fundStartMonth) && !SalaryDateUtil.checkYearMonth(fundStartMonth)) { @@ -751,7 +762,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { } String fundEndMonth = (String) fundEndTimeMap.get(SalaryI18nUtil.getI18nLabel(91484, "公积金最后缴纳月")); - if(StringUtils.isNotBlank(fundEndMonth) && fundEndMonth.length() > 7) { + if (StringUtils.isNotBlank(fundEndMonth) && fundEndMonth.length() > 7) { fundEndMonth = fundEndMonth.substring(0, 7); } if (StringUtils.isNotBlank(fundEndMonth) && !SalaryDateUtil.checkYearMonth(fundEndMonth)) { @@ -762,7 +773,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { } String otherStartMonth = (String) otherStartTimeMap.get(SalaryI18nUtil.getI18nLabel(91490, "其他福利起始缴纳月")); - if(StringUtils.isNotBlank(otherStartMonth) && otherStartMonth.length() > 7) { + if (StringUtils.isNotBlank(otherStartMonth) && otherStartMonth.length() > 7) { otherStartMonth = otherStartMonth.substring(0, 7); } if (StringUtils.isNotBlank(otherStartMonth) && !SalaryDateUtil.checkYearMonth(otherStartMonth)) { @@ -773,7 +784,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { } String otherEndMonth = (String) otherEndTimeMap.get(SalaryI18nUtil.getI18nLabel(91494, "其他福利最后缴纳月")); - if(StringUtils.isNotBlank(otherEndMonth) && otherEndMonth.length() > 7) { + if (StringUtils.isNotBlank(otherEndMonth) && otherEndMonth.length() > 7) { otherEndMonth = otherEndMonth.substring(0, 7); } if (StringUtils.isNotBlank(otherEndMonth) && !SalaryDateUtil.checkYearMonth(otherEndMonth)) { @@ -841,17 +852,17 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { insuranceArchivesSocialSchemePO.setSocialAccount((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91324, "社保账号")).get( SalaryI18nUtil.getI18nLabel(91324, "社保账号"))); insuranceArchivesSocialSchemePO.setSocialSchemeId(schemeNameIdMap.get( - (String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel( 91323, "社保方案名称")).get( + (String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91323, "社保方案名称")).get( SalaryI18nUtil.getI18nLabel(91323, "社保方案名称")))); String socialStartDate = (String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91319, "社保起始缴纳月")).get( SalaryI18nUtil.getI18nLabel(91319, "社保起始缴纳月")); - if(StringUtils.isNotBlank(socialStartDate) && socialStartDate.length() > 7) { + if (StringUtils.isNotBlank(socialStartDate) && socialStartDate.length() > 7) { socialStartDate = socialStartDate.substring(0, 7); } insuranceArchivesSocialSchemePO.setSocialStartTime(socialStartDate); String socialEndDate = (String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91320, "社保最后缴纳月")).get( SalaryI18nUtil.getI18nLabel(91320, "社保最后缴纳月")); - if(StringUtils.isNotBlank(socialEndDate) && socialEndDate.length() > 7) { + if (StringUtils.isNotBlank(socialEndDate) && socialEndDate.length() > 7) { socialEndDate = socialEndDate.substring(0, 7); } insuranceArchivesSocialSchemePO.setSocialEndTime(socialEndDate); @@ -910,15 +921,15 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { insuranceArchivesFundSchemePO.setSupplementFundAccount((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91487, "补充公积金账号")).get( SalaryI18nUtil.getI18nLabel(91487, "补充公积金账号"))); String fundStartDate = (String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91483, "公积金起始缴纳月")).get( - SalaryI18nUtil.getI18nLabel( 91483, "公积金起始缴纳月")); - if(StringUtils.isNotBlank(fundStartDate) && fundStartDate.length() > 7) { + SalaryI18nUtil.getI18nLabel(91483, "公积金起始缴纳月")); + if (StringUtils.isNotBlank(fundStartDate) && fundStartDate.length() > 7) { fundStartDate = fundStartDate.substring(0, 7); } insuranceArchivesFundSchemePO.setFundStartTime(fundStartDate); String fundEndDate = (String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91484, "公积金最后缴纳月")).get( SalaryI18nUtil.getI18nLabel(91484, "公积金最后缴纳月")); - if(StringUtils.isNotBlank(fundEndDate) && fundEndDate.length() > 7) { + if (StringUtils.isNotBlank(fundEndDate) && fundEndDate.length() > 7) { fundEndDate = fundEndDate.substring(0, 7); } insuranceArchivesFundSchemePO.setFundEndTime(fundEndDate); @@ -969,13 +980,13 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { SalaryI18nUtil.getI18nLabel(91496, "其他福利方案名称")))); String otherStartDate = (String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91490, "其他福利起始缴纳月")).get( SalaryI18nUtil.getI18nLabel(91490, "其他福利起始缴纳月")); - if(StringUtils.isNotBlank(otherStartDate) && otherStartDate.length() > 7) { + if (StringUtils.isNotBlank(otherStartDate) && otherStartDate.length() > 7) { otherStartDate = otherStartDate.substring(0, 7); } insuranceArchivesOtherSchemePO.setOtherStartTime(otherStartDate); String otherEndDate = (String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91494, "其他福利最后缴纳月")).get( SalaryI18nUtil.getI18nLabel(91494, "其他福利最后缴纳月")); - if(StringUtils.isNotBlank(otherEndDate) && otherEndDate.length() > 7) { + if (StringUtils.isNotBlank(otherEndDate) && otherEndDate.length() > 7) { otherEndDate = otherEndDate.substring(0, 7); } insuranceArchivesOtherSchemePO.setOtherEndTime(otherEndDate); @@ -1049,7 +1060,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { /** * 导出档案导入所需要的模板,可根据开关选择是否导出现有的档案数据 * - * @param param 是否导出带档案数据的模板 + * @param param 是否导出带档案数据的模板 */ public XSSFWorkbook exportTemplate(InsuranceArchivesListParam param) { return getSIImportService().exportTemplate(param); @@ -1067,5 +1078,4 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { } - }