Merge remote-tracking branch 'remotes/origin/feature/v4-siAcctImprove-0420' into release/2.7.4.2304.02

This commit is contained in:
sy 2023-04-24 14:07:28 +08:00
commit 61326928df
1 changed files with 54 additions and 5 deletions

View File

@ -1701,36 +1701,58 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
insuranceAccountDetailPO.setOtherComJson(JSON.toJSONString(otherComMap));
}
if (!StringUtils.isEmpty(baseMap.getOrDefault("个人合计", "").toString())) {
insuranceAccountDetailPO.setPerSum(baseMap.get("个人合计").toString());
}
if (!StringUtils.isEmpty(baseMap.getOrDefault("社保个人合计", "").toString())) {
insuranceAccountDetailPO.setSocialPerSum(baseMap.get("社保个人合计").toString());
} else if (!socialPerMap.isEmpty()) {
insuranceAccountDetailPO.setSocialPerSum(sumOfMapValue(socialPerMap));
}
if (!StringUtils.isEmpty(baseMap.getOrDefault("公积金个人合计", "").toString())) {
insuranceAccountDetailPO.setFundPerSum(baseMap.get("公积金个人合计").toString());
} else if (!fundPerMap.isEmpty()) {
insuranceAccountDetailPO.setFundPerSum(sumOfMapValue(fundPerMap));
}
if (!StringUtils.isEmpty(baseMap.getOrDefault("其他福利个人合计", "").toString())) {
insuranceAccountDetailPO.setOtherPerSum(baseMap.get("其他福利个人合计").toString());
} else if (!otherPerMap.isEmpty()) {
insuranceAccountDetailPO.setOtherPerSum(sumOfMapValue(otherPerMap));
}
if (!StringUtils.isEmpty(baseMap.getOrDefault("单位合计", "").toString())) {
insuranceAccountDetailPO.setComSum(baseMap.get("单位合计").toString());
if (!StringUtils.isEmpty(baseMap.getOrDefault("个人合计", "").toString())) {
insuranceAccountDetailPO.setPerSum(baseMap.get("个人合计").toString());
} else {
insuranceAccountDetailPO.setPerSum(new BigDecimal(insuranceAccountDetailPO.getSocialPerSum() == null ? "0" : insuranceAccountDetailPO.getSocialPerSum())
.add(new BigDecimal(insuranceAccountDetailPO.getFundPerSum() == null ? "0" : insuranceAccountDetailPO.getFundPerSum()))
.add(new BigDecimal(insuranceAccountDetailPO.getOtherPerSum() == null ? "0" : insuranceAccountDetailPO.getOtherPerSum())).toString());
}
if (!StringUtils.isEmpty(baseMap.getOrDefault("社保单位合计", "").toString())) {
insuranceAccountDetailPO.setSocialComSum(baseMap.get("社保单位合计").toString());
} else if (!socialComMap.isEmpty()) {
insuranceAccountDetailPO.setSocialComSum(sumOfMapValue(socialComMap));
}
if (!StringUtils.isEmpty(baseMap.getOrDefault("公积金单位合计", "").toString())) {
insuranceAccountDetailPO.setFundComSum(baseMap.get("公积金单位合计").toString());
} else if (!fundComMap.isEmpty()) {
insuranceAccountDetailPO.setFundComSum(sumOfMapValue(fundComMap));
}
if (!StringUtils.isEmpty(baseMap.getOrDefault("其他福利单位合计", "").toString())) {
insuranceAccountDetailPO.setOtherComSum(baseMap.get("其他福利单位合计").toString());
} else if (!otherComMap.isEmpty()) {
insuranceAccountDetailPO.setOtherComSum(sumOfMapValue(otherComMap));
}
if (!StringUtils.isEmpty(baseMap.getOrDefault("单位合计", "").toString())) {
insuranceAccountDetailPO.setComSum(baseMap.get("单位合计").toString());
} else {
insuranceAccountDetailPO.setComSum(new BigDecimal(insuranceAccountDetailPO.getSocialComSum() == null ? "0" : insuranceAccountDetailPO.getSocialComSum())
.add(new BigDecimal(insuranceAccountDetailPO.getFundComSum() == null ? "0" : insuranceAccountDetailPO.getFundComSum()))
.add(new BigDecimal(insuranceAccountDetailPO.getOtherComSum() == null ? "0" : insuranceAccountDetailPO.getOtherComSum())).toString());
}
if (!StringUtils.isEmpty(baseMap.getOrDefault("账单月份", "").toString())) {
@ -1739,15 +1761,31 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
if (!StringUtils.isEmpty(baseMap.getOrDefault("社保合计", "").toString())) {
insuranceAccountDetailPO.setSocialSum(baseMap.get("社保合计").toString());
} else {
insuranceAccountDetailPO.setSocialSum(new BigDecimal(insuranceAccountDetailPO.getSocialComSum() == null ? "0" : insuranceAccountDetailPO.getSocialComSum())
.add(new BigDecimal(insuranceAccountDetailPO.getSocialPerSum() == null ? "0" : insuranceAccountDetailPO.getSocialPerSum()))
.toString());
}
if (!StringUtils.isEmpty(baseMap.getOrDefault("公积金合计", "").toString())) {
insuranceAccountDetailPO.setFundSum(baseMap.get("公积金合计").toString());
} else {
insuranceAccountDetailPO.setFundSum(new BigDecimal(insuranceAccountDetailPO.getFundComSum() == null ? "0" : insuranceAccountDetailPO.getFundComSum())
.add(new BigDecimal(insuranceAccountDetailPO.getFundPerSum() == null ? "0" : insuranceAccountDetailPO.getFundPerSum()))
.toString());
}
if (!StringUtils.isEmpty(baseMap.getOrDefault("其他福利合计", "").toString())) {
insuranceAccountDetailPO.setOtherSum(baseMap.get("其他福利合计").toString());
} else {
insuranceAccountDetailPO.setOtherSum(new BigDecimal(insuranceAccountDetailPO.getOtherComSum() == null ? "0" : insuranceAccountDetailPO.getOtherComSum())
.add(new BigDecimal(insuranceAccountDetailPO.getOtherPerSum() == null ? "0" : insuranceAccountDetailPO.getOtherPerSum()))
.toString());
}
if (!StringUtils.isEmpty(baseMap.getOrDefault("合计", "").toString())) {
insuranceAccountDetailPO.setTotal(baseMap.get("合计").toString());
} else {
insuranceAccountDetailPO.setTotal(new BigDecimal(insuranceAccountDetailPO.getPerSum() == null ? "0" : insuranceAccountDetailPO.getPerSum())
.add(new BigDecimal(insuranceAccountDetailPO.getComSum() == null ? "0" : insuranceAccountDetailPO.getComSum()))
.toString());
}
//如果导入的时补缴数据还会包含补缴月份
@ -1760,6 +1798,17 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
return insuranceAccountDetailPO;
}
/**
* map中value值求和
*/
public String sumOfMapValue(Map<String, String> welfarePay){
BigDecimal sum = new BigDecimal("0");
for (String value : welfarePay.values()) {
sum = sum.add(new BigDecimal(value));
}
return sum.toString();
}
/**
* 对比新旧两份数据并更新数据
*/