diff --git a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java
index 425c7715c..6ed15c5a7 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java
@@ -38,6 +38,8 @@ import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;
+import static com.engine.salary.util.SalaryDateUtil.DATE_TIME_FORMATTER_PATTERN;
+
/**
* 薪资核算-将数据转换成公式中的变量
*
Copyright: Copyright (c) 2022
@@ -163,7 +165,12 @@ public class CalculateFormulaVarBO {
String fieldId = SalarySQLReferenceEnum.SALARY_CYCLE.getValue()
+ SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR
+ fieldName;
- formulaVarValues.add(new FormulaVarValue().setFieldId(fieldId).setFieldValue(map.getOrDefault(fieldName, StringUtils.EMPTY)));
+ 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);
+ }
+ formulaVarValues.add(new FormulaVarValue().setFieldId(fieldId).setFieldValue(fieldValue));
}
}
return formulaVarValues;
@@ -210,8 +217,6 @@ public class CalculateFormulaVarBO {
}
-
-
/**
* 处理薪资档案(会涉及调薪计薪规则)+处理核算日期
*
@@ -228,7 +233,6 @@ public class CalculateFormulaVarBO {
List formulaVarValues = resultMap.computeIfAbsent(key, k -> Lists.newArrayList());
// 将薪资档案的值转换成公式中的变量,填充到返回结果集中
formulaVarValues.addAll(handleSalaryArchiveItemVal(salaryAcctCalculateBO, salaryArchiveTaxAgentDataDTO.getSalaryItemValues(), salarySobAdjustRulePOMap));
- formulaVarValues.addAll(handleSalarySobCycleDTO(salaryAcctCalculateBO));
}
}
}
@@ -511,8 +515,16 @@ public class CalculateFormulaVarBO {
String fieldId = SalarySQLReferenceEnum.SALARY_ACCT_EMPLOYEE.getValue()
+ SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR
+ fieldName;
- return new FormulaVarValue().setFieldId(fieldId).setFieldValue(map.getOrDefault(fieldName, StringUtils.EMPTY));
+ 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);
+ }
+ return new FormulaVarValue().setFieldId(fieldId).setFieldValue(fieldValue);
}).collect(Collectors.toList()));
+
+ //将薪资周期转换成公式中的变量,填充到返回结果集中
+ formulaVarValues.addAll(handleSalarySobCycleDTO(salaryAcctCalculateBO));
});
}
diff --git a/src/com/engine/salary/enums/salaryformula/SalaryFormulaReferenceEnum.java b/src/com/engine/salary/enums/salaryformula/SalaryFormulaReferenceEnum.java
index 80d48a5e5..8cf79c880 100644
--- a/src/com/engine/salary/enums/salaryformula/SalaryFormulaReferenceEnum.java
+++ b/src/com/engine/salary/enums/salaryformula/SalaryFormulaReferenceEnum.java
@@ -24,8 +24,10 @@ public enum SalaryFormulaReferenceEnum implements BaseEnum {
ADD_UP_DEDUCTIONS("addUpDeductions", "累计专项附加扣除", 85380),
WELFARE("welfare", "社保福利", 87522),
OTHER_DEDUCTION("otherDeduction", "其他免税扣除", 93849),
- ISSUED("ISSUED", "已发", 0),;
- ;
+ SALARY_ACCT_EMPLOYEE("salaryAcctEmployee", "核算基本信息", 85368),
+ SALARY_CYCLE("SalaryCycle", "核算日期", 85368),
+ ISSUED("ISSUED", "已发", 0);
+
private String value;
private String defaultLabel;
diff --git a/src/com/engine/salary/service/impl/RemoteExcelServiceImpl.java b/src/com/engine/salary/service/impl/RemoteExcelServiceImpl.java
index 790bf959c..d0c6a69eb 100644
--- a/src/com/engine/salary/service/impl/RemoteExcelServiceImpl.java
+++ b/src/com/engine/salary/service/impl/RemoteExcelServiceImpl.java
@@ -157,6 +157,12 @@ public class RemoteExcelServiceImpl extends Service implements RemoteExcelServic
case ATTEND:
vars = attendData2FormulaVar(referenceEnum);
break;
+ case SALARY_ACCT_EMPLOYEE:
+ vars = convert2FormulaVar(SalaryAcctEmployeePO.class, referenceEnum.getValue() + "");
+ break;
+ case SALARY_CYCLE:
+ vars = convert2FormulaVar(SalarySobCycleDTO.class, referenceEnum.getValue() + "");
+ break;
default:
break;
}
@@ -236,6 +242,10 @@ public class RemoteExcelServiceImpl extends Service implements RemoteExcelServic
welfare2FormulaVar(SalaryFormulaReferenceEnum.WELFARE));
result.put(SalaryFormulaReferenceEnum.ATTEND.getDefaultLabel(),
attendData2FormulaVar(SalaryFormulaReferenceEnum.ATTEND));
+ result.put(SalarySQLReferenceEnum.SALARY_ACCT_EMPLOYEE.getDefaultLabel(),
+ convert2FormulaVar(SalaryAcctEmployeePO.class, SalarySQLReferenceEnum.SALARY_ACCT_EMPLOYEE.getValue() + ""));
+ result.put(SalarySQLReferenceEnum.SALARY_CYCLE.getDefaultLabel(),
+ convert2FormulaVar(SalarySobCycleDTO.class, SalarySQLReferenceEnum.SALARY_CYCLE.getValue() + ""));
return result;
}
return result;
diff --git a/src/com/engine/salary/util/JsonUtil.java b/src/com/engine/salary/util/JsonUtil.java
index 081ad3e78..1e6ce59ff 100644
--- a/src/com/engine/salary/util/JsonUtil.java
+++ b/src/com/engine/salary/util/JsonUtil.java
@@ -65,15 +65,11 @@ public class JsonUtil {
if (map != null && map.size() > 0) {
Iterator var4 = map.entrySet().iterator();
- while(var4.hasNext()) {
- Entry entry = (Entry)var4.next();
+ while (var4.hasNext()) {
+ Entry entry = (Entry) var4.next();
Object obj = entry.getValue();
-
- try {
- V value = JSON.parseObject(JSON.toJSONString(obj), valueCls);
- result.put(entry.getKey(), value);
- } catch (Exception var8) {
- }
+ V value = JSON.parseObject(JSON.toJSONString(obj), valueCls);
+ result.put(entry.getKey(), value);
}
}
diff --git a/src/com/engine/salary/web/SalaryAcctController.java b/src/com/engine/salary/web/SalaryAcctController.java
index c1916b13f..1fdd0a7a6 100644
--- a/src/com/engine/salary/web/SalaryAcctController.java
+++ b/src/com/engine/salary/web/SalaryAcctController.java
@@ -49,28 +49,28 @@ public class SalaryAcctController {
private SalaryAcctRecordWrapper salaryAcctRecordWrapper;
private SalaryAcctRecordWrapper getSalaryAcctRecordWrapper(User user) {
- return (SalaryAcctRecordWrapper) ServiceUtil.getService(SalaryAcctRecordWrapper.class, user);
+ return ServiceUtil.getService(SalaryAcctRecordWrapper.class, user);
}
private SalaryAcctEmployeeWrapper getSalaryAcctEmployeeWrapper(User user) {
- return (SalaryAcctEmployeeWrapper) ServiceUtil.getService(SalaryAcctEmployeeWrapper.class, user);
+ return ServiceUtil.getService(SalaryAcctEmployeeWrapper.class, user);
}
private SalaryAcctResultWrapper getSalaryAcctResultWrapper(User user) {
- return (SalaryAcctResultWrapper) ServiceUtil.getService(SalaryAcctResultWrapper.class, user);
+ return ServiceUtil.getService(SalaryAcctResultWrapper.class, user);
}
// private SalaryAcctCheckResultWrapper salaryAcctCheckResultWrapper;
private SalaryComparisonResultWrapper getSalaryComparisonResultWrapper(User user) {
- return (SalaryComparisonResultWrapper) ServiceUtil.getService(SalaryComparisonResultWrapper.class, user);
+ return ServiceUtil.getService(SalaryComparisonResultWrapper.class, user);
}
private SalaryAcctExcelWrapper getSalaryAcctExcelWrapper(User user) {
- return (SalaryAcctExcelWrapper) ServiceUtil.getService(SalaryAcctExcelWrapper.class, user);
+ return ServiceUtil.getService(SalaryAcctExcelWrapper.class, user);
}
private SalaryAcctExcelService getSalaryAcctExcelService(User user) {
- return (SalaryAcctExcelService) ServiceUtil.getService(SalaryAcctExcelServiceImpl.class, user);
+ return ServiceUtil.getService(SalaryAcctExcelServiceImpl.class, user);
}
// /**********************************薪资核算记录相关 start*********************************/