feat(holiday): 增加加班多少天后作废的功能- 在 HolidayBalanceSettingSaveReqVO 和 HolidayBalanceSettingDO 中添加 afterFewDays 字段
- 在 HolidayUserRecordServiceImpl 中实现加班多少天后作废的逻辑 - 更新 validityPeriodCalculation 方法以支持新的作废类型
This commit is contained in:
parent
166cd8c27a
commit
ed69f18ef7
@ -38,9 +38,12 @@ public class HolidayBalanceSettingSaveReqVO {
|
|||||||
@Schema(description = "是否按实际工作时长发放 0否 1是(例如:每年1月1日发放6天假期,入职时间是6月1日的员工则按照半年发放3天假期,当余额出现小数时按四舍五入取整)")
|
@Schema(description = "是否按实际工作时长发放 0否 1是(例如:每年1月1日发放6天假期,入职时间是6月1日的员工则按照半年发放3天假期,当余额出现小数时按四舍五入取整)")
|
||||||
private Integer actualWorkFlag;
|
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;
|
private Integer validityPeriod;
|
||||||
|
|
||||||
|
@Schema(description = "加班多少天后作废")
|
||||||
|
private Integer afterFewDays;
|
||||||
|
|
||||||
@Schema(description = "每年固定时间作废格式 MM-dd 例如 09-10 每年9月10号作废", example = "12794")
|
@Schema(description = "每年固定时间作废格式 MM-dd 例如 09-10 每年9月10号作废", example = "12794")
|
||||||
private String fixedEveryYearInvalid;
|
private String fixedEveryYearInvalid;
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package cn.iocoder.yudao.module.system.dal.dataobject.holiday.holidaybalancesetting;
|
package cn.iocoder.yudao.module.system.dal.dataobject.holiday.holidaybalancesetting;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@ -61,9 +62,13 @@ public class HolidayBalanceSettingDO extends BaseDO {
|
|||||||
*/
|
*/
|
||||||
private Integer actualWorkFlag;
|
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 validityPeriod;
|
||||||
|
/**
|
||||||
|
* 加班多少天后作废
|
||||||
|
*/
|
||||||
|
private Integer afterFewDays;
|
||||||
/**
|
/**
|
||||||
* 每年固定时间作废格式 MM-dd 例如 09-10 每年9月10号作废
|
* 每年固定时间作废格式 MM-dd 例如 09-10 每年9月10号作废
|
||||||
*/
|
*/
|
||||||
|
@ -538,8 +538,7 @@ public class HolidayUserRecordServiceImpl implements HolidayUserRecordService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Long, LocalDateTime> validityPeriodCalculation(LocalDateTime now, Long
|
public Map<Long, LocalDateTime> validityPeriodCalculation(LocalDateTime now, Long userId, HolidayBalanceSettingDO holidayBalanceSettingDO) {
|
||||||
userId, HolidayBalanceSettingDO holidayBalanceSettingDO) {
|
|
||||||
LocalDateTime localDateTime = null;
|
LocalDateTime localDateTime = null;
|
||||||
Map<Long, LocalDateTime> map = new HashMap<>();
|
Map<Long, LocalDateTime> map = new HashMap<>();
|
||||||
switch (holidayBalanceSettingDO.getValidityPeriod()) {
|
switch (holidayBalanceSettingDO.getValidityPeriod()) {
|
||||||
@ -584,6 +583,9 @@ public class HolidayUserRecordServiceImpl implements HolidayUserRecordService {
|
|||||||
case 8:
|
case 8:
|
||||||
localDateTime = LocalDateTimeUtils.getQuarterEnd(now);
|
localDateTime = LocalDateTimeUtils.getQuarterEnd(now);
|
||||||
break;
|
break;
|
||||||
|
case 9:
|
||||||
|
localDateTime = now.plusDays(holidayBalanceSettingDO.getAfterFewDays());
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
if (holidayBalanceSettingDO.getExtensionAllowedFlag() != null &&
|
if (holidayBalanceSettingDO.getExtensionAllowedFlag() != null &&
|
||||||
|
Loading…
Reference in New Issue
Block a user