From ed69f18ef76c86909f2123b42fb6bafec37590e9 Mon Sep 17 00:00:00 2001 From: aikai Date: Mon, 31 Mar 2025 16:37:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(holiday):=20=E5=A2=9E=E5=8A=A0=E5=8A=A0?= =?UTF-8?q?=E7=8F=AD=E5=A4=9A=E5=B0=91=E5=A4=A9=E5=90=8E=E4=BD=9C=E5=BA=9F?= =?UTF-8?q?=E7=9A=84=E5=8A=9F=E8=83=BD-=20=E5=9C=A8=20HolidayBalanceSettin?= =?UTF-8?q?gSaveReqVO=20=E5=92=8C=20HolidayBalanceSettingDO=20=E4=B8=AD?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20afterFewDays=20=E5=AD=97=E6=AE=B5=20-=20?= =?UTF-8?q?=E5=9C=A8=20HolidayUserRecordServiceImpl=20=E4=B8=AD=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E5=8A=A0=E7=8F=AD=E5=A4=9A=E5=B0=91=E5=A4=A9=E5=90=8E?= =?UTF-8?q?=E4=BD=9C=E5=BA=9F=E7=9A=84=E9=80=BB=E8=BE=91=20-=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=20validityPeriodCalculation=20=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E4=BB=A5=E6=94=AF=E6=8C=81=E6=96=B0=E7=9A=84=E4=BD=9C=E5=BA=9F?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/HolidayBalanceSettingSaveReqVO.java | 5 ++++- .../holidaybalancesetting/HolidayBalanceSettingDO.java | 7 ++++++- .../holidayuserrecord/HolidayUserRecordServiceImpl.java | 6 ++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/holiday/holidaybalancesetting/vo/HolidayBalanceSettingSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/holiday/holidaybalancesetting/vo/HolidayBalanceSettingSaveReqVO.java index fbc2ff42..4bb8efe8 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/holiday/holidaybalancesetting/vo/HolidayBalanceSettingSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/holiday/holidaybalancesetting/vo/HolidayBalanceSettingSaveReqVO.java @@ -38,9 +38,12 @@ public class HolidayBalanceSettingSaveReqVO { @Schema(description = "是否按实际工作时长发放 0否 1是(例如:每年1月1日发放6天假期,入职时间是6月1日的员工则按照半年发放3天假期,当余额出现小数时按四舍五入取整)") private Integer actualWorkFlag; - @Schema(description = "有效期类型 1自发放日起1个月 2自发放日起1周年 3按入职日期起12个月 4自然年1月1日-12月31日 5每年固定时间作废 6永久有效 7每月固定时间作废 8每季末作废") + @Schema(description = "有效期类型 1自发放日起1个月 2自发放日起1周年 3按入职日期起12个月 4自然年1月1日-12月31日 5每年固定时间作废 6永久有效 7每月固定时间作废 8每季末作废 9加班多少天后作废") private Integer validityPeriod; + @Schema(description = "加班多少天后作废") + private Integer afterFewDays; + @Schema(description = "每年固定时间作废格式 MM-dd 例如 09-10 每年9月10号作废", example = "12794") private String fixedEveryYearInvalid; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/holiday/holidaybalancesetting/HolidayBalanceSettingDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/holiday/holidaybalancesetting/HolidayBalanceSettingDO.java index f733a09f..50f74dae 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/holiday/holidaybalancesetting/HolidayBalanceSettingDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/holiday/holidaybalancesetting/HolidayBalanceSettingDO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.system.dal.dataobject.holiday.holidaybalancesetting; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; import java.time.LocalDateTime; @@ -61,9 +62,13 @@ public class HolidayBalanceSettingDO extends BaseDO { */ private Integer actualWorkFlag; /** - * 有效期类型 1自发放日起1个月 2自发放日起1周年 3按入职日期起12个月 4自然年1月1日-12月31日 5每年固定时间作废 6永久有效 7每月固定时间作废 8每季末作废 + * 有效期类型 1自发放日起1个月 2自发放日起1周年 3按入职日期起12个月 4自然年1月1日-12月31日 5每年固定时间作废 6永久有效 7每月固定时间作废 8每季末作废 9加班多少天后作废 */ private Integer validityPeriod; + /** + * 加班多少天后作废 + */ + private Integer afterFewDays; /** * 每年固定时间作废格式 MM-dd 例如 09-10 每年9月10号作废 */ diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/holiday/holidayuserrecord/HolidayUserRecordServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/holiday/holidayuserrecord/HolidayUserRecordServiceImpl.java index 04a81d67..c8f7f27a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/holiday/holidayuserrecord/HolidayUserRecordServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/holiday/holidayuserrecord/HolidayUserRecordServiceImpl.java @@ -538,8 +538,7 @@ public class HolidayUserRecordServiceImpl implements HolidayUserRecordService { } @Override - public Map validityPeriodCalculation(LocalDateTime now, Long - userId, HolidayBalanceSettingDO holidayBalanceSettingDO) { + public Map validityPeriodCalculation(LocalDateTime now, Long userId, HolidayBalanceSettingDO holidayBalanceSettingDO) { LocalDateTime localDateTime = null; Map map = new HashMap<>(); switch (holidayBalanceSettingDO.getValidityPeriod()) { @@ -584,6 +583,9 @@ public class HolidayUserRecordServiceImpl implements HolidayUserRecordService { case 8: localDateTime = LocalDateTimeUtils.getQuarterEnd(now); break; + case 9: + localDateTime = now.plusDays(holidayBalanceSettingDO.getAfterFewDays()); + break; default: } if (holidayBalanceSettingDO.getExtensionAllowedFlag() != null &&