路维光电支持跨义务人取社保
This commit is contained in:
parent
c628c1be85
commit
365e88c76e
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.entity.salaryacct.bo;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import com.engine.salary.annotation.SalaryFormulaVar;
|
||||
import com.engine.salary.common.LocalDateRange;
|
||||
|
|
@ -503,20 +504,25 @@ public class CalculateFormulaVarBO {
|
|||
private void handleWelfareData(SalaryAcctCalculateBO salaryAcctCalculateBO, Map<String, List<FormulaVarValue>> resultMap) {
|
||||
// 社保福利可选字段
|
||||
List<String> fieldNames = Lists.newArrayList(salaryAcctCalculateBO.getWelfareColumns().values());
|
||||
Map<String, List<String>> fieldNameMap = fieldNames.stream().collect(Collectors.groupingBy(fieldName -> fieldName.split("_")[0]));
|
||||
|
||||
// 社保福利数据
|
||||
Map<String, List<FormulaVarValue>> tempMap = new HashMap<>();
|
||||
welfareData.forEach(map -> {
|
||||
// String key = map.getOrDefault("employeeId", StringUtils.EMPTY) + "_" + map.getOrDefault("taxAgentId", StringUtils.EMPTY);
|
||||
String taxAgentId = Utils.null2String(map.getOrDefault("taxAgentId", StringUtils.EMPTY));
|
||||
String taxAgentIdKey = taxAgentId + "_";
|
||||
// String taxAgentIdKey = taxAgentId + "_";
|
||||
String key = Utils.null2String(map.getOrDefault("employeeId", StringUtils.EMPTY));
|
||||
List<FormulaVarValue> formulaVarValues = tempMap.computeIfAbsent(key, k -> Lists.newArrayList());
|
||||
formulaVarValues.addAll(fieldNames.stream().filter(fieldName -> fieldName.startsWith(taxAgentIdKey)).map(fieldName -> {
|
||||
String fieldId = SalaryFormulaReferenceEnum.WELFARE.getValue()
|
||||
+ SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR
|
||||
+ fieldName;
|
||||
return new FormulaVarValue().setFieldId(fieldId).setFieldValue(String.valueOf(map.getOrDefault(fieldName, StringUtils.EMPTY)));
|
||||
}).collect(Collectors.toList()));
|
||||
List<String> fieldNameList = fieldNameMap.get(taxAgentId);
|
||||
if (CollectionUtil.isNotEmpty(fieldNameList)) {
|
||||
formulaVarValues.addAll(fieldNameList.stream().map(fieldName -> {
|
||||
String fieldId = SalaryFormulaReferenceEnum.WELFARE.getValue()
|
||||
+ SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR
|
||||
+ fieldName;
|
||||
return new FormulaVarValue().setFieldId(fieldId).setFieldValue(String.valueOf(map.getOrDefault(fieldName, StringUtils.EMPTY)));
|
||||
}).collect(Collectors.toList()));
|
||||
}
|
||||
});
|
||||
// 填充到返回结果集中
|
||||
for (SalaryAcctEmployeePO salaryAcctEmployeePO : salaryAcctCalculateBO.getSalaryAcctEmployeePOS()) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue