diff --git a/src/com/engine/salary/entity/salarysob/bo/SalarySobBO.java b/src/com/engine/salary/entity/salarysob/bo/SalarySobBO.java index cf06eec07..738b09bbc 100644 --- a/src/com/engine/salary/entity/salarysob/bo/SalarySobBO.java +++ b/src/com/engine/salary/entity/salarysob/bo/SalarySobBO.java @@ -92,6 +92,11 @@ public class SalarySobBO { : SalaryI18nUtil.getI18nLabel(98402, "下月{0}号——下下月{1}号") .replace("{0}", "" + salaryCycleFromDay) .replace("{1}", "" + (salaryCycleFromDay - 1)); + case AFTER_NEXT_MONTH: + salaryCycleStr = Objects.equals(salaryCycleFromDay, 1) ? SalaryI18nUtil.getI18nLabel(98398, "下下月1号——下下月最后一天") + : SalaryI18nUtil.getI18nLabel(98402, "下下月{0}号——下下下月{1}号") + .replace("{0}", "" + salaryCycleFromDay) + .replace("{1}", "" + (salaryCycleFromDay - 1)); break; default: salaryCycleStr = ""; diff --git a/src/com/engine/salary/entity/salarysob/bo/SalarySobCycleBO.java b/src/com/engine/salary/entity/salarysob/bo/SalarySobCycleBO.java index 37a505a31..245ee158a 100644 --- a/src/com/engine/salary/entity/salarysob/bo/SalarySobCycleBO.java +++ b/src/com/engine/salary/entity/salarysob/bo/SalarySobCycleBO.java @@ -74,6 +74,9 @@ public class SalarySobCycleBO { if (Objects.equals(cycleType, SalaryCycleTypeEnum.NEXT_MONTH.getValue())) { return salaryMonth.plus(Period.ofMonths(1)); } + if (Objects.equals(cycleType, SalaryCycleTypeEnum.AFTER_NEXT_MONTH.getValue())) { + return salaryMonth.plus(Period.ofMonths(2)); + } return YearMonth.parse("2000-01"); } diff --git a/src/com/engine/salary/enums/SalaryCycleTypeEnum.java b/src/com/engine/salary/enums/SalaryCycleTypeEnum.java index 9def3061a..7fbb66de4 100644 --- a/src/com/engine/salary/enums/SalaryCycleTypeEnum.java +++ b/src/com/engine/salary/enums/SalaryCycleTypeEnum.java @@ -16,7 +16,8 @@ public enum SalaryCycleTypeEnum implements BaseEnum { BEFORE_LAST_MONTH(1, "上上月", 86075), LAST_MONTH(2, "上月", 86074), THIS_MONTH(3, "本月", 86072), - NEXT_MONTH(4, "下月", 86073); + NEXT_MONTH(4, "下月", 86073), + AFTER_NEXT_MONTH(5, "下下月", 0); private int value; diff --git a/src/com/engine/salary/service/impl/EmployeeDeclareServiceImpl.java b/src/com/engine/salary/service/impl/EmployeeDeclareServiceImpl.java index 3e64d83dc..3ff5df5c2 100644 --- a/src/com/engine/salary/service/impl/EmployeeDeclareServiceImpl.java +++ b/src/com/engine/salary/service/impl/EmployeeDeclareServiceImpl.java @@ -490,6 +490,8 @@ public class EmployeeDeclareServiceImpl extends Service implements EmployeeDecla salaryCycle = SalaryDateUtil.plusMonths(taxCycle, 1); } else if (salaryCycleTypeEnum == SalaryCycleTypeEnum.NEXT_MONTH) { salaryCycle = SalaryDateUtil.plusMonths(taxCycle, -1); + } else if (salaryCycleTypeEnum == SalaryCycleTypeEnum.AFTER_NEXT_MONTH) { + salaryCycle = SalaryDateUtil.plusMonths(taxCycle, -2); } else { salaryCycle = taxCycle; } diff --git a/src/com/engine/salary/transmethod/TransMethod.java b/src/com/engine/salary/transmethod/TransMethod.java index 1344fe6be..75ddd05b8 100644 --- a/src/com/engine/salary/transmethod/TransMethod.java +++ b/src/com/engine/salary/transmethod/TransMethod.java @@ -132,6 +132,12 @@ public class TransMethod { .replace("{0}", "" + salaryCycleFromDay) .replace("{1}", "" + (Integer.parseInt(salaryCycleFromDay) - 1)); break; + case AFTER_NEXT_MONTH: + salaryCycleStr = Objects.equals(salaryCycleFromDay, "1") ? SalaryI18nUtil.getI18nLabel(98398, "下下月1号——下下月最后一天") + : SalaryI18nUtil.getI18nLabel(98402, "下下月{0}号——下下下月{1}号") + .replace("{0}", "" + salaryCycleFromDay) + .replace("{1}", "" + (Integer.parseInt(salaryCycleFromDay) - 1)); + break; default: salaryCycleStr = ""; }