核算默认值
This commit is contained in:
parent
f0fce26e8a
commit
fe8dcd0ccd
|
|
@ -1,5 +1,6 @@
|
||||||
package com.engine.salary.service.impl;
|
package com.engine.salary.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.engine.common.util.ServiceUtil;
|
import com.engine.common.util.ServiceUtil;
|
||||||
import com.engine.core.impl.Service;
|
import com.engine.core.impl.Service;
|
||||||
import com.engine.salary.cache.SalaryCacheKey;
|
import com.engine.salary.cache.SalaryCacheKey;
|
||||||
|
|
@ -35,6 +36,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.lang3.math.NumberUtils;
|
import org.apache.commons.lang3.math.NumberUtils;
|
||||||
import org.springframework.util.StopWatch;
|
import org.springframework.util.StopWatch;
|
||||||
import weaver.general.BaseBean;
|
import weaver.general.BaseBean;
|
||||||
|
import weaver.general.Util;
|
||||||
import weaver.hrm.User;
|
import weaver.hrm.User;
|
||||||
import weaver.wechat.util.Utils;
|
import weaver.wechat.util.Utils;
|
||||||
|
|
||||||
|
|
@ -111,7 +113,7 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void calculate(SalaryAcctCalculateBO salaryAcctCalculateBO, DataCollectionEmployee simpleEmployee, List<SalarySobBackItemPO> salarySobBackItems) {
|
public void calculate(SalaryAcctCalculateBO salaryAcctCalculateBO, DataCollectionEmployee simpleEmployee, List<SalarySobBackItemPO> salarySobBackItems) {
|
||||||
StopWatch sw = new StopWatch("核算耗时明细,id:"+salaryAcctCalculateBO.getSalaryAcctRecordPO().getId()+"");
|
StopWatch sw = new StopWatch("核算耗时明细,id:" + salaryAcctCalculateBO.getSalaryAcctRecordPO().getId() + "");
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
try {
|
try {
|
||||||
// 数据库字段加密用
|
// 数据库字段加密用
|
||||||
|
|
@ -213,16 +215,20 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc
|
||||||
String resultValue;
|
String resultValue;
|
||||||
SalaryItemPO salaryItemPO = salaryItemMap.get(salaryItemId);
|
SalaryItemPO salaryItemPO = salaryItemMap.get(salaryItemId);
|
||||||
ExpressFormula expressFormula;
|
ExpressFormula expressFormula;
|
||||||
|
String defaultValue;
|
||||||
if (salarySobBackItemMap.containsKey(salaryItemId)) {
|
if (salarySobBackItemMap.containsKey(salaryItemId)) {
|
||||||
// 如果薪资账套的回算项目中重新定义了回算项目公式,则使用薪资账套下的公式
|
// 如果薪资账套的回算项目中重新定义了回算项目公式,则使用薪资账套下的公式
|
||||||
SalarySobBackItemPO salarySobBackItemPO = salarySobBackItemMap.get(salaryItemId);
|
SalarySobBackItemPO salarySobBackItemPO = salarySobBackItemMap.get(salaryItemId);
|
||||||
expressFormula = expressFormulaMap.get(salarySobBackItemPO.getFormulaId());
|
expressFormula = expressFormulaMap.get(salarySobBackItemPO.getFormulaId());
|
||||||
|
defaultValue = salarySobBackItemPO.getDefaultValue();
|
||||||
} else if (salaryItemIdKeySalarySobItemPOMap.containsKey(salaryItemId)) {
|
} else if (salaryItemIdKeySalarySobItemPOMap.containsKey(salaryItemId)) {
|
||||||
// 如果薪资账套下重新定义了薪资项目的公式,则使用薪资账套下的公式,否则使用薪资项目本身的公式
|
// 如果薪资账套下重新定义了薪资项目的公式,则使用薪资账套下的公式,否则使用薪资项目本身的公式
|
||||||
SalarySobItemPO salarySobItemPO = salaryItemIdKeySalarySobItemPOMap.get(salaryItemId);
|
SalarySobItemPO salarySobItemPO = salaryItemIdKeySalarySobItemPOMap.get(salaryItemId);
|
||||||
expressFormula = expressFormulaMap.get(salarySobItemPO.getFormulaId());
|
expressFormula = expressFormulaMap.get(salarySobItemPO.getFormulaId());
|
||||||
|
defaultValue = salarySobItemPO.getDefaultValue();
|
||||||
} else {
|
} else {
|
||||||
expressFormula = expressFormulaMap.get(salaryItemPO.getFormulaId());
|
expressFormula = expressFormulaMap.get(salaryItemPO.getFormulaId());
|
||||||
|
defaultValue = salaryItemPO.getDefaultValue();
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(expressFormula)) {
|
if (Objects.nonNull(expressFormula)) {
|
||||||
// 运行公式
|
// 运行公式
|
||||||
|
|
@ -244,6 +250,9 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc
|
||||||
// 处理取值类型为“输入/导入”的薪资项目
|
// 处理取值类型为“输入/导入”的薪资项目
|
||||||
String key = SalaryFormulaReferenceEnum.SALARY_ITEM.getValue() + SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR + salaryItemPO.getCode();
|
String key = SalaryFormulaReferenceEnum.SALARY_ITEM.getValue() + SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR + salaryItemPO.getCode();
|
||||||
resultValue = formulaVarValueMap.getOrDefault(key, StringUtils.EMPTY);
|
resultValue = formulaVarValueMap.getOrDefault(key, StringUtils.EMPTY);
|
||||||
|
if (StrUtil.isBlank(resultValue)) {
|
||||||
|
resultValue = Util.null2String(defaultValue);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 处理薪资档案
|
// 处理薪资档案
|
||||||
if (Objects.equals(salaryItemPO.getUseInEmployeeSalary(), NumberUtils.INTEGER_ONE)) {
|
if (Objects.equals(salaryItemPO.getUseInEmployeeSalary(), NumberUtils.INTEGER_ONE)) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue