diff --git a/src/com/engine/salary/service/SICompensationService.java b/src/com/engine/salary/service/SICompensationService.java index 7ffc6a916..6dfe429f2 100644 --- a/src/com/engine/salary/service/SICompensationService.java +++ b/src/com/engine/salary/service/SICompensationService.java @@ -17,7 +17,7 @@ public interface SICompensationService { List> compensationComTotal(List paramList); - Map compensationAccount(List list); + Map compensationAccount(List list); /** * 保存社保调差默认配置 diff --git a/src/com/engine/salary/service/impl/SICompensationServiceImpl.java b/src/com/engine/salary/service/impl/SICompensationServiceImpl.java index ac2d22b84..a61e27a44 100644 --- a/src/com/engine/salary/service/impl/SICompensationServiceImpl.java +++ b/src/com/engine/salary/service/impl/SICompensationServiceImpl.java @@ -236,17 +236,25 @@ public class SICompensationServiceImpl extends Service implements SICompensation } @Override - public Map compensationAccount(List list) { + public Map compensationAccount(List list) { long currentEmployeeId = user.getUID(); + List allEmployees = getEmployMapper().listAll(); + Map usernameMap = SalaryEntityUtil.convert2Map(allEmployees, DataCollectionEmployee::getEmployeeId, DataCollectionEmployee::getUsername); - Map result = new HashMap<>(); + Map result = new HashMap<>(); + List errorList = new ArrayList<>(); for (InsuranceCompensationDTO param : list) { if (StringUtils.isBlank(param.getAdjustmentTotal()) || "0".equals(param.getAdjustmentTotal())) { + errorList.add(usernameMap.get(param.getEmployeeId()) + "-调差失败:调差数额不正确!"); continue; } InsuranceAccountDetailPO insuranceAccountDetailPO = getInsuranceAccountDetailMapper().getById(param.getTarget()); - SalaryAssert.notNull(insuranceAccountDetailPO, SalaryI18nUtil.getI18nLabel(138849, "调差对象不存在")); + if (insuranceAccountDetailPO == null) { + errorList.add(usernameMap.get(param.getEmployeeId()) + "-调差失败:调差对象不存在!"); + continue; + } + InsuranceAccountDetailPOEncrypt.decryptItem(insuranceAccountDetailPO); if (StringUtils.isNotBlank(insuranceAccountDetailPO.getSocialComJson())) { Map socialJson = JSON.parseObject(insuranceAccountDetailPO.getSocialComJson(), new HashMap().getClass()); @@ -299,8 +307,7 @@ public class SICompensationServiceImpl extends Service implements SICompensation insuranceCompensationPO.setUpdateTime(new Date()); getInsuranceCompensationMapper().insert(insuranceCompensationPO); - - result.put(param.getOriginId(), insuranceCompensationPO.getId().toString()); +// result.put(param.getOriginId(), insuranceCompensationPO.getId().toString()); } } @@ -308,6 +315,12 @@ public class SICompensationServiceImpl extends Service implements SICompensation } //刷新bill_detail统计数据 getSIAccountService(user).refreshBillBatch(list.get(0).getPaymentOrganization(), list.get(0).getBillMonth()); + if (errorList.size() == 0) { + result.put("data", "全部调差成功!"); + } else { + result.put("data", "存在调差失败项!"); + } + result.put("errorMessage", errorList); return result; } diff --git a/src/com/engine/salary/web/SIAccountController.java b/src/com/engine/salary/web/SIAccountController.java index 4660c6ea8..8b740d537 100644 --- a/src/com/engine/salary/web/SIAccountController.java +++ b/src/com/engine/salary/web/SIAccountController.java @@ -746,7 +746,7 @@ public class SIAccountController { public String compensationSave(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody List param) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult, Map>(user).run(getSIAccountWrapper(user)::compensationSave, param); + return new ResponseResult, Map>(user).run(getSIAccountWrapper(user)::compensationSave, param); } /** diff --git a/src/com/engine/salary/wrapper/SIAccountWrapper.java b/src/com/engine/salary/wrapper/SIAccountWrapper.java index c898094bf..cc886cb2f 100644 --- a/src/com/engine/salary/wrapper/SIAccountWrapper.java +++ b/src/com/engine/salary/wrapper/SIAccountWrapper.java @@ -87,7 +87,7 @@ public class SIAccountWrapper extends Service { /** * 社保调差保存 */ - public Map compensationSave(List param) { + public Map compensationSave(List param) { return getSICompensationService(user).compensationAccount(param); }