日期格式自定义配置

This commit is contained in:
钱涛 2023-09-22 17:57:47 +08:00
parent bf8ae9fd09
commit 7c5af2166e
2 changed files with 15 additions and 4 deletions

View File

@ -1 +1 @@
formulaRunOvertimeThreshold=10 salaryDateFormat=yyyy-MM

View File

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