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*********************************/