From 7c5af2166e188c66eea45fad0e9590075b9e3a93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Fri, 22 Sep 2023 17:57:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E6=9C=9F=E6=A0=BC=E5=BC=8F=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WEB-INF/prop/hrmSalaryCustom.properties | 2 +- .../salaryacct/bo/CalculateFormulaVarBO.java | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/resource/WEB-INF/prop/hrmSalaryCustom.properties b/resource/WEB-INF/prop/hrmSalaryCustom.properties index b873bc15e..0a68219c5 100644 --- a/resource/WEB-INF/prop/hrmSalaryCustom.properties +++ b/resource/WEB-INF/prop/hrmSalaryCustom.properties @@ -1 +1 @@ -formulaRunOvertimeThreshold=10 \ No newline at end of file +salaryDateFormat=yyyy-MM \ No newline at end of file diff --git a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java index 74835472d..896b615a0 100644 --- a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java +++ b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java @@ -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()));