核算默认值
This commit is contained in:
parent
f0fce26e8a
commit
fe8dcd0ccd
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
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.springframework.util.StopWatch;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
import weaver.wechat.util.Utils;
|
||||
|
||||
|
|
@ -111,7 +113,7 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc
|
|||
|
||||
@Override
|
||||
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();
|
||||
try {
|
||||
// 数据库字段加密用
|
||||
|
|
@ -213,16 +215,20 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc
|
|||
String resultValue;
|
||||
SalaryItemPO salaryItemPO = salaryItemMap.get(salaryItemId);
|
||||
ExpressFormula expressFormula;
|
||||
String defaultValue;
|
||||
if (salarySobBackItemMap.containsKey(salaryItemId)) {
|
||||
// 如果薪资账套的回算项目中重新定义了回算项目公式,则使用薪资账套下的公式
|
||||
SalarySobBackItemPO salarySobBackItemPO = salarySobBackItemMap.get(salaryItemId);
|
||||
expressFormula = expressFormulaMap.get(salarySobBackItemPO.getFormulaId());
|
||||
defaultValue = salarySobBackItemPO.getDefaultValue();
|
||||
} else if (salaryItemIdKeySalarySobItemPOMap.containsKey(salaryItemId)) {
|
||||
// 如果薪资账套下重新定义了薪资项目的公式,则使用薪资账套下的公式,否则使用薪资项目本身的公式
|
||||
SalarySobItemPO salarySobItemPO = salaryItemIdKeySalarySobItemPOMap.get(salaryItemId);
|
||||
expressFormula = expressFormulaMap.get(salarySobItemPO.getFormulaId());
|
||||
defaultValue = salarySobItemPO.getDefaultValue();
|
||||
} else {
|
||||
expressFormula = expressFormulaMap.get(salaryItemPO.getFormulaId());
|
||||
defaultValue = salaryItemPO.getDefaultValue();
|
||||
}
|
||||
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();
|
||||
resultValue = formulaVarValueMap.getOrDefault(key, StringUtils.EMPTY);
|
||||
if (StrUtil.isBlank(resultValue)) {
|
||||
resultValue = Util.null2String(defaultValue);
|
||||
}
|
||||
}
|
||||
// 处理薪资档案
|
||||
if (Objects.equals(salaryItemPO.getUseInEmployeeSalary(), NumberUtils.INTEGER_ONE)) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue