diff --git a/src/com/engine/salary/action/AzRsbgSIAction.java b/src/com/engine/salary/action/AzRsbgSIAction.java index daeb8c28e..bba0e86c7 100644 --- a/src/com/engine/salary/action/AzRsbgSIAction.java +++ b/src/com/engine/salary/action/AzRsbgSIAction.java @@ -92,26 +92,27 @@ public class AzRsbgSIAction implements Action { // 变更类型=人事信息变动 // 获取拟调人员、义务人调动前、社保方案调动前、公积金方案调动前、义务人调动后、社保方案调动后、公积金方案调动后的值 String ndry = fieldMap.get(bb.getPropValue("azgySalary", "ndry")); - String gskjywrddq = fieldMap.get(bb.getPropValue("azgySalary", "gskjywr")); - String gskjywrddh = fieldMap.get(bb.getPropValue("azgySalary", "gskjywrddh")); - String sbfaddh = fieldMap.get(bb.getPropValue("azgySalary", "sbfaddh")); - String gjjfaddh = fieldMap.get(bb.getPropValue("azgySalary", "gjjfaddh")); + String gskjywrddqName = fieldMap.get(bb.getPropValue("azgySalary", "gskjywr")); + String gskjywrddhName = fieldMap.get(bb.getPropValue("azgySalary", "gskjywrddh")); + String sbfaddhName = fieldMap.get(bb.getPropValue("azgySalary", "sbfaddh")); + String gjjfaddhName = fieldMap.get(bb.getPropValue("azgySalary", "gjjfaddh")); String fxrddh = fieldMap.get(bb.getPropValue("azgySalary", "fxrddh")); // 校验数据 - if (StringUtils.isBlank(ndry) || StringUtils.isBlank(gskjywrddq) || StringUtils.isBlank(gskjywrddh) || StringUtils.isBlank(fxrddh)) { + if (StringUtils.isBlank(ndry) || StringUtils.isBlank(gskjywrddqName) || StringUtils.isBlank(gskjywrddhName) || StringUtils.isBlank(fxrddh)) { requestInfo.getRequestManager().setMessage("拟调人员、个税扣缴义务人调动前、个税扣缴义务人调动后不能为空!"); return FAILURE_AND_CONTINUE; } String formatFxrddh = SalaryDateUtil.getFormatYearMonth(SalaryDateUtil.stringToDate(fxrddh)); // 先获取变更前的社保福利档案信息 - List> siByEmpIdAndTaxAgentId = getSIByEmpIdAndTaxAgentId(Long.valueOf(gskjywrddq), Collections.singletonList(Long.valueOf(ndry))); + Map taxAgentNameMap = SalaryEntityUtil.convert2Map(getTaxAgentService(user).listAll(), TaxAgentPO::getName, TaxAgentPO::getId); + List> siByEmpIdAndTaxAgentId = getSIByEmpIdAndTaxAgentId(taxAgentNameMap.getOrDefault(gskjywrddqName, 0L), Collections.singletonList(Long.valueOf(ndry))); if (CollectionUtils.isEmpty(siByEmpIdAndTaxAgentId) || (ObjectUtils.isEmpty(siByEmpIdAndTaxAgentId.get(0).get("siSchemeId")) && ObjectUtils.isEmpty(siByEmpIdAndTaxAgentId.get(0).get("fundSchemeId")) && ObjectUtils.isEmpty(siByEmpIdAndTaxAgentId.get(0).get("otherSchemeId"))) ) { // 没有社保福利档案数据,或者社保公积金企业年金都没有设置过缴纳方案 requestInfo.getRequestManager().setMessage("前个税扣缴义务如下该员工不存在社保福利档案数据,调整失败!"); return FAILURE_AND_CONTINUE; } - Long gskjywrddhId = Long.valueOf(gskjywrddh); + Long gskjywrddhId = taxAgentNameMap.get(gskjywrddhName); // 获取这个人在不在新义务人的人员范围内,不在的话则添加 InsuranceArchivesBaseInfoPO archivesBaseInfoPO = getInsuranceBaseInfoMapper().getOneByEmployeeIdAndPayOrg(gskjywrddhId, Long.valueOf(ndry)); if (ObjectUtils.isEmpty(archivesBaseInfoPO)) { @@ -131,11 +132,11 @@ public class AzRsbgSIAction implements Action { importMap.put("个税扣缴义务人", taxAgentPO.getName()); importMap.put("员工id", ndry); Map iCategoryMap = SalaryEntityUtil.convert2Map(siSchemeBiz.listAllICategory(), ICategoryPO::getId, ICategoryPO::getInsuranceName); - Map iSMap = SalaryEntityUtil.convert2Map(siSchemeBiz.listAll(), InsuranceSchemePO::getId, InsuranceSchemePO::getSchemeName); +// Map iSMap = SalaryEntityUtil.convert2Map(siSchemeBiz.listAll(), InsuranceSchemePO::getId, InsuranceSchemePO::getSchemeName); + Map iSNameMap = SalaryEntityUtil.convert2Map(siSchemeBiz.listAll(), InsuranceSchemePO::getSchemeName, InsuranceSchemePO::getId); // 设置社保 - List newSchemeDetailFormDTO = siSchemeBiz.getSchemeDetailFormDTO(WelfareTypeEnum.SOCIAL_SECURITY, Long.valueOf(sbfaddh)); + List newSchemeDetailFormDTO = siSchemeBiz.getSchemeDetailFormDTO(WelfareTypeEnum.SOCIAL_SECURITY, iSNameMap.getOrDefault(sbfaddhName, 0L)); if (CollectionUtils.isNotEmpty(newSchemeDetailFormDTO)) { - String sbfaddhName = iSMap.get(Long.valueOf(sbfaddh)); if(StringUtils.isBlank(sbfaddhName)) { requestInfo.getRequestManager().setMessage("调动后社保方案不存在,调整失败!"); return FAILURE_AND_CONTINUE; @@ -153,9 +154,8 @@ public class AzRsbgSIAction implements Action { } // 设置公积金 - List newFundSchemeDetailFormDTO = siSchemeBiz.getSchemeDetailFormDTO(WelfareTypeEnum.ACCUMULATION_FUND, Long.valueOf(gjjfaddh)); + List newFundSchemeDetailFormDTO = siSchemeBiz.getSchemeDetailFormDTO(WelfareTypeEnum.ACCUMULATION_FUND, iSNameMap.getOrDefault(gjjfaddhName, 0L)); if (CollectionUtils.isNotEmpty(newFundSchemeDetailFormDTO)) { - String gjjfaddhName = iSMap.get(Long.valueOf(gjjfaddh)); if(StringUtils.isBlank(gjjfaddhName)) { requestInfo.getRequestManager().setMessage("调动后公积金方案不存在,调整失败!"); return FAILURE_AND_CONTINUE;