Merge branch 'release/2.9.5.2309.01' into release/个税版本

# Conflicts:
#	resource/WEB-INF/prop/hrmSalaryCustom.properties
This commit is contained in:
钱涛 2023-09-22 17:59:06 +08:00
commit 5602d65ed8
2 changed files with 16 additions and 4 deletions

View File

@ -1,2 +1,3 @@
formulaRunOvertimeThreshold=10
flowNoticeMessageType=2022060951
flowNoticeMessageType=2022060951
salaryDateFormat=yyyy-MM

View File

@ -30,6 +30,7 @@ import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import weaver.general.BaseBean;
import java.lang.reflect.Field;
import java.math.BigDecimal;
@ -51,6 +52,8 @@ import static com.engine.salary.util.SalaryDateUtil.DATE_TIME_FORMATTER_PATTERN;
@Data
@Accessors(chain = true)
public class CalculateFormulaVarBO {
BaseBean bb = new BaseBean();
String salaryDateFormat = bb.getPropValue("hrmSalaryCustom", "salaryDateFormat");
/**
* 员工信息
@ -168,7 +171,11 @@ public class CalculateFormulaVarBO {
String fieldValue = map.getOrDefault(fieldName, StringUtils.EMPTY);
//日期值取yyyy-MM-dd
if (StringUtils.isNotBlank(fieldValue) && fieldValue.length() > 10 && SalaryDateUtil.parse(fieldValue, DATE_TIME_FORMATTER_PATTERN) != null) {
fieldValue = fieldValue.substring(0, 10);
if (StringUtils.isNotBlank(salaryDateFormat)) {
fieldValue = fieldValue.substring(0, salaryDateFormat.length());
} else {
fieldValue = fieldValue.substring(0, 10);
}
}
formulaVarValues.add(new FormulaVarValue().setFieldId(fieldId).setFieldValue(fieldValue));
}
@ -208,7 +215,7 @@ public class CalculateFormulaVarBO {
formulaVarValues.addAll(salaryAcctCalculateBO.getIssuedFieldIds().stream()
.map(fieldId -> {
String originResultValue = salaryAcctResultPOMap.getOrDefault(
salaryCodeItemMap.get(fieldId),SalaryAcctResultPO.builder().originResultValue("").build())
salaryCodeItemMap.get(fieldId), SalaryAcctResultPO.builder().originResultValue("").build())
.getOriginResultValue();
String fieldId2 = SalaryFormulaReferenceEnum.ISSUED.getValue()
+ SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR
@ -520,7 +527,11 @@ public class CalculateFormulaVarBO {
String fieldValue = map.getOrDefault(fieldName, StringUtils.EMPTY);
//判断是否是日期日期值取yyyy-MM-dd
if (StringUtils.isNotBlank(fieldValue) && fieldValue.length() > 10 && SalaryDateUtil.parse(fieldValue, DATE_TIME_FORMATTER_PATTERN) != null) {
fieldValue = fieldValue.substring(0, 10);
if (StringUtils.isNotBlank(salaryDateFormat)) {
fieldValue = fieldValue.substring(0, salaryDateFormat.length());
} else {
fieldValue = fieldValue.substring(0, 10);
}
}
return new FormulaVarValue().setFieldId(fieldId).setFieldValue(fieldValue);
}).collect(Collectors.toList()));