薪酬系统-福利台账,调差方式3时的福利项
This commit is contained in:
parent
2f4d580793
commit
84aeb5059f
|
|
@ -1014,7 +1014,20 @@ public class SIAccountBiz extends Service {
|
|||
.paymentOrganization(param.getPaymentOrganization())
|
||||
.projects(param.getProjects())
|
||||
.billMonth(param.getBillMonth())
|
||||
.supplementType(param.getSupplementType())
|
||||
.build();
|
||||
if ("2".equals(param.getSupplementType())) {
|
||||
supplementAccountBaseParam.setSocialPaymentBaseString(param.getSocialPaymentBaseString());
|
||||
supplementAccountBaseParam.setFundPaymentBaseString(param.getFundPaymentBaseString());
|
||||
supplementAccountBaseParam.setOtherPaymentBaseString(param.getOtherPaymentBaseString());
|
||||
} else if("3".equals(param.getSupplementType())) {
|
||||
supplementAccountBaseParam.setSocialPaymentPerString(param.getSocialPaymentPerString());
|
||||
supplementAccountBaseParam.setSocialPaymentComString(param.getSocialPaymentComString());
|
||||
supplementAccountBaseParam.setFundPaymentPerString(param.getFundPaymentPerString());
|
||||
supplementAccountBaseParam.setFundPaymentComString(param.getFundPaymentComString());
|
||||
supplementAccountBaseParam.setOtherPaymentPerString(param.getOtherPaymentPerString());
|
||||
supplementAccountBaseParam.setOtherPaymentComString(param.getOtherPaymentComString());
|
||||
}
|
||||
baseList.add(supplementAccountBaseParam);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -8,4 +8,9 @@ import java.util.Map;
|
|||
public interface SIRepairService {
|
||||
|
||||
List<Map<String, String>> getSupplementPaymentForm(SupplementAccountBaseParam param);
|
||||
|
||||
/**
|
||||
* 获取待编辑的补缴费用相关福利项
|
||||
*/
|
||||
List<Map<String, String>> getPaymentGroup(SupplementAccountBaseParam param);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,12 +6,15 @@ import com.engine.salary.encrypt.EncryptUtil;
|
|||
import com.engine.salary.entity.siaccount.param.SaveSupplementaryAccountParam;
|
||||
import com.engine.salary.entity.siaccount.param.SupplementAccountBaseParam;
|
||||
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
|
||||
import com.engine.salary.entity.siarchives.po.InsuranceArchivesAccountPO;
|
||||
import com.engine.salary.entity.siarchives.po.*;
|
||||
import com.engine.salary.entity.sicategory.po.ICategoryPO;
|
||||
import com.engine.salary.enums.siaccount.ProjectTypeEnum;
|
||||
import com.engine.salary.enums.sicategory.DataTypeEnum;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper;
|
||||
import com.engine.salary.mapper.siarchives.FundSchemeMapper;
|
||||
import com.engine.salary.mapper.siarchives.OtherSchemeMapper;
|
||||
import com.engine.salary.mapper.siarchives.SocialSchemeMapper;
|
||||
import com.engine.salary.mapper.sicategory.ICategoryMapper;
|
||||
import com.engine.salary.service.SIRepairService;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
|
|
@ -35,6 +38,18 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
|||
return MapperProxyFactory.getProxy(InsuranceAccountDetailMapper.class);
|
||||
}
|
||||
|
||||
private SocialSchemeMapper getSocialSchemeMapper() {
|
||||
return MapperProxyFactory.getProxy(SocialSchemeMapper.class);
|
||||
}
|
||||
|
||||
private FundSchemeMapper getFundSchemeMapper() {
|
||||
return MapperProxyFactory.getProxy(FundSchemeMapper.class);
|
||||
}
|
||||
|
||||
private OtherSchemeMapper getOtherSchemeMapper() {
|
||||
return MapperProxyFactory.getProxy(OtherSchemeMapper.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取指定月份的福利缴纳基数作为补缴基数
|
||||
* @param param
|
||||
|
|
@ -124,5 +139,246 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取待编辑的补缴费用相关福利项
|
||||
*/
|
||||
@Override
|
||||
public List<Map<String, String>> getPaymentGroup(SupplementAccountBaseParam param) {
|
||||
|
||||
Long paymentOrganization = param.getPaymentOrganization();
|
||||
List<Integer> projects = param.getProjects();
|
||||
Long employeeId = param.getEmployeeId();
|
||||
InsuranceArchivesSocialSchemePO socialSchemePO = new InsuranceArchivesSocialSchemePO();
|
||||
InsuranceArchivesFundSchemePO fundSchemePO = new InsuranceArchivesFundSchemePO();
|
||||
InsuranceArchivesOtherSchemePO otherSchemePO = new InsuranceArchivesOtherSchemePO();
|
||||
|
||||
List<InsuranceArchivesSocialSchemePO> socialSchemePOList = getSocialSchemeMapper().getSocialByEmployeeIdAndPayOrg(InsuranceArchivesEmployeePO.builder()
|
||||
.employeeId(employeeId)
|
||||
.paymentOrganization(paymentOrganization)
|
||||
.build());
|
||||
if (socialSchemePOList.size() > 0) {
|
||||
encryptUtil.decryptList(socialSchemePOList, InsuranceArchivesSocialSchemePO.class);
|
||||
socialSchemePO = socialSchemePOList.get(0);
|
||||
}
|
||||
|
||||
List<InsuranceArchivesFundSchemePO> fundSchemePOList = getFundSchemeMapper().getFundByEmployeeIdAndPayOrg(InsuranceArchivesEmployeePO.builder()
|
||||
.employeeId(employeeId)
|
||||
.paymentOrganization(paymentOrganization)
|
||||
.build());
|
||||
if (fundSchemePOList.size() > 0) {
|
||||
encryptUtil.decryptList(fundSchemePOList, InsuranceArchivesFundSchemePO.class);
|
||||
fundSchemePO = fundSchemePOList.get(0);
|
||||
}
|
||||
|
||||
List<InsuranceArchivesOtherSchemePO> otherSchemePOList = getOtherSchemeMapper().getOtherByEmployeeIdAndPayOrg(InsuranceArchivesEmployeePO.builder()
|
||||
.employeeId(employeeId)
|
||||
.paymentOrganization(paymentOrganization)
|
||||
.build());
|
||||
if (otherSchemePOList.size() > 0) {
|
||||
encryptUtil.decryptList(otherSchemePOList, InsuranceArchivesOtherSchemePO.class);
|
||||
otherSchemePO = otherSchemePOList.get(0);
|
||||
}
|
||||
|
||||
List<ICategoryPO> allCategoryList = MapperProxyFactory.getProxy(ICategoryMapper.class).listAll();
|
||||
Map<Long, String> categoryNameMap = SalaryEntityUtil.convert2Map(allCategoryList, ICategoryPO::getId, ICategoryPO::getInsuranceName);
|
||||
|
||||
List<Map<String, String>> resultList = new ArrayList<>();
|
||||
if (projects.contains(ProjectTypeEnum.ALL.getValue())) {
|
||||
if (socialSchemePO != null) {
|
||||
Map<String, String> socialMap = JSON.parseObject(socialSchemePO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
|
||||
socialMap.forEach((k, v) -> {
|
||||
Map<String, String> perMap = new HashMap<>();
|
||||
Map<String, String> comMap = new HashMap<>();
|
||||
perMap.put("insuranceId", k);
|
||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
perMap.put("paymentScope", "个人");
|
||||
|
||||
comMap.put("insuranceId", k);
|
||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
comMap.put("paymentScope", "公司");
|
||||
|
||||
resultList.add(perMap);
|
||||
resultList.add(comMap);
|
||||
});
|
||||
|
||||
}
|
||||
if (fundSchemePO != null) {
|
||||
Map<String, String> fundMap = JSON.parseObject(fundSchemePO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
fundMap.forEach((k, v) -> {
|
||||
Map<String, String> perMap = new HashMap<>();
|
||||
Map<String, String> comMap = new HashMap<>();
|
||||
perMap.put("insuranceId", k);
|
||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
perMap.put("paymentScope", "个人");
|
||||
|
||||
comMap.put("insuranceId", k);
|
||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
comMap.put("paymentScope", "公司");
|
||||
|
||||
resultList.add(perMap);
|
||||
resultList.add(comMap);
|
||||
});
|
||||
|
||||
}
|
||||
if (otherSchemePO != null) {
|
||||
Map<String, String> otherMap = JSON.parseObject(otherSchemePO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
otherMap.forEach((k, v) -> {
|
||||
Map<String, String> perMap = new HashMap<>();
|
||||
Map<String, String> comMap = new HashMap<>();
|
||||
perMap.put("insuranceId", k);
|
||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
perMap.put("paymentScope", "个人");
|
||||
|
||||
comMap.put("insuranceId", k);
|
||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
comMap.put("paymentScope", "公司");
|
||||
|
||||
resultList.add(perMap);
|
||||
resultList.add(comMap);
|
||||
});
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
if (projects.contains(ProjectTypeEnum.SOCIAL.getValue())) {
|
||||
if (socialSchemePO != null) {
|
||||
Map<String, String> socialMap = JSON.parseObject(socialSchemePO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
|
||||
socialMap.forEach((k, v) -> {
|
||||
Map<String, String> perMap = new HashMap<>();
|
||||
Map<String, String> comMap = new HashMap<>();
|
||||
perMap.put("insuranceId", k);
|
||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
perMap.put("paymentScope", "个人");
|
||||
|
||||
comMap.put("insuranceId", k);
|
||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
comMap.put("paymentScope", "公司");
|
||||
|
||||
resultList.add(perMap);
|
||||
resultList.add(comMap);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
if ((!projects.contains(ProjectTypeEnum.SOCIAL.getValue()))
|
||||
&& (projects.contains(ProjectTypeEnum.ENDOWMENT_INSURANCE.getValue()))
|
||||
&& (projects.contains(ProjectTypeEnum.MEDICAL_INSURANCE.getValue()))) {
|
||||
if (socialSchemePO != null) {
|
||||
Map<String, String> socialMap = JSON.parseObject(socialSchemePO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
socialMap = socialMap.entrySet().stream().filter(e -> "9001".equals(e.getKey()) || "9002".equals(e.getKey()))
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
socialMap.forEach((k, v) -> {
|
||||
Map<String, String> perMap = new HashMap<>();
|
||||
Map<String, String> comMap = new HashMap<>();
|
||||
perMap.put("insuranceId", k);
|
||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
perMap.put("paymentScope", "个人");
|
||||
|
||||
comMap.put("insuranceId", k);
|
||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
comMap.put("paymentScope", "公司");
|
||||
|
||||
resultList.add(perMap);
|
||||
resultList.add(comMap);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
if ((!projects.contains(ProjectTypeEnum.SOCIAL.getValue()))
|
||||
&& (projects.contains(ProjectTypeEnum.ENDOWMENT_INSURANCE.getValue()))
|
||||
&& (!projects.contains(ProjectTypeEnum.MEDICAL_INSURANCE.getValue()))) {
|
||||
if (socialSchemePO != null) {
|
||||
Map<String, String> socialMap = JSON.parseObject(socialSchemePO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
socialMap = socialMap.entrySet().stream().filter(e -> "9001".equals(e.getKey()))
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
|
||||
socialMap.forEach((k, v) -> {
|
||||
Map<String, String> perMap = new HashMap<>();
|
||||
Map<String, String> comMap = new HashMap<>();
|
||||
perMap.put("insuranceId", k);
|
||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
perMap.put("paymentScope", "个人");
|
||||
|
||||
comMap.put("insuranceId", k);
|
||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
comMap.put("paymentScope", "公司");
|
||||
|
||||
resultList.add(perMap);
|
||||
resultList.add(comMap);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
if ((!projects.contains(ProjectTypeEnum.SOCIAL.getValue()))
|
||||
&& (!projects.contains(ProjectTypeEnum.ENDOWMENT_INSURANCE.getValue()))
|
||||
&& (projects.contains(ProjectTypeEnum.MEDICAL_INSURANCE.getValue()))) {
|
||||
if (socialSchemePO != null) {
|
||||
Map<String, String> socialMap = JSON.parseObject(socialSchemePO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
socialMap = socialMap.entrySet().stream().filter(e -> "9002".equals(e.getKey()))
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
socialMap.forEach((k, v) -> {
|
||||
Map<String, String> perMap = new HashMap<>();
|
||||
Map<String, String> comMap = new HashMap<>();
|
||||
perMap.put("insuranceId", k);
|
||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
perMap.put("paymentScope", "个人");
|
||||
|
||||
comMap.put("insuranceId", k);
|
||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
comMap.put("paymentScope", "公司");
|
||||
|
||||
resultList.add(perMap);
|
||||
resultList.add(comMap);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
if (projects.contains(ProjectTypeEnum.FUND.getValue())) {
|
||||
if (fundSchemePO != null) {
|
||||
Map<String, String> fundMap = JSON.parseObject(fundSchemePO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
|
||||
fundMap.forEach((k, v) -> {
|
||||
Map<String, String> perMap = new HashMap<>();
|
||||
Map<String, String> comMap = new HashMap<>();
|
||||
perMap.put("insuranceId", k);
|
||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
perMap.put("paymentScope", "个人");
|
||||
|
||||
comMap.put("insuranceId", k);
|
||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
comMap.put("paymentScope", "公司");
|
||||
|
||||
resultList.add(perMap);
|
||||
resultList.add(comMap);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
if (projects.contains(ProjectTypeEnum.OTHER.getValue())) {
|
||||
if (otherSchemePO != null) {
|
||||
Map<String, String> otherMap = JSON.parseObject(otherSchemePO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
|
||||
otherMap.forEach((k, v) -> {
|
||||
Map<String, String> perMap = new HashMap<>();
|
||||
Map<String, String> comMap = new HashMap<>();
|
||||
perMap.put("insuranceId", k);
|
||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
perMap.put("paymentScope", "个人");
|
||||
|
||||
comMap.put("insuranceId", k);
|
||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||
comMap.put("paymentScope", "公司");
|
||||
|
||||
resultList.add(perMap);
|
||||
resultList.add(comMap);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return resultList;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -890,4 +890,16 @@ public class SIAccountController {
|
|||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SupplementAccountBaseParam, List<Map<String, String>>>(user).run(getSIAccountWrapper(user)::getSupplementPaymentForm, param);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取待编辑的补缴费用相关福利项
|
||||
*/
|
||||
@POST
|
||||
@Path("/detail/getPaymentGroup")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getPaymentGroup(@Context HttpServletRequest request, @Context HttpServletResponse response,
|
||||
@RequestBody SupplementAccountBaseParam param) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SupplementAccountBaseParam, List<Map<String, String>>>(user).run(getSIAccountWrapper(user)::getPaymentGroup, param);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -146,4 +146,13 @@ public class SIAccountWrapper extends Service {
|
|||
public List<Map<String, String>> getSupplementPaymentForm(SupplementAccountBaseParam param) {
|
||||
return getSIRepairService(user).getSupplementPaymentForm(param);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取待编辑的补缴费用相关福利项
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public List<Map<String, String>> getPaymentGroup(SupplementAccountBaseParam param) {
|
||||
return getSIRepairService(user).getPaymentGroup(param);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue