package jnpf.entity.attendance; import jnpf.enums.attendance.AttendanceTypeEnum; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.math.BigDecimal; import java.util.Date; /** * 申请参数类,用于封装申请相关的信息 */ @Builder @NoArgsConstructor @Data @AllArgsConstructor public class ApplyParam { // 考勤组ID private String groupId; // 用户ID private String userId; // 申请ID private String applyId; // 申请开始时间 private Date start; // 申请结束时间 private Date end; // 有效时长,以小时为单位 private BigDecimal validDuration; // 出勤类型,如请假、加班等 private AttendanceTypeEnum attendanceType; //开始时间类型 1 上半天 2 下半天 private Integer startTimeType; //结束时间类型 1 上半天 2 下半天 private Integer endTimeType; //请假类型单位 1 小时 2 天 3 半天 private Integer leaveUnit; // 有效时长,以小时为单位 private BigDecimal validDay; public ApplyParam(String userId, Date start, Date end, AttendanceTypeEnum attendanceType){ this.userId = userId; this.start = start; this.end = end; this.attendanceType = attendanceType; } public ApplyParam(String userId, String applyId, Date start, Date end, BigDecimal validDuration, AttendanceTypeEnum attendanceType){ this.userId = userId; this.applyId = applyId; this.start = start; this.end = end; this.validDuration = validDuration; this.attendanceType = attendanceType; } public ApplyParam(String userId, Date start, Date end, AttendanceTypeEnum attendanceType, Integer startTimeType, Integer endTimeType, Integer leaveUnit) { this.userId = userId; this.start = start; this.end = end; this.attendanceType = attendanceType; this.startTimeType = startTimeType; this.endTimeType = endTimeType; this.leaveUnit = leaveUnit; } public ApplyParam(String userId, String applyId, Date startTime, Date endTime, BigDecimal validDuration, AttendanceTypeEnum attendanceTypeEnum, Integer startTimeType, Integer endTimeType, Integer leaveUnit, BigDecimal validDay) { this.userId = userId; this.applyId = applyId; this.start = startTime; this.end = endTime; this.validDuration = validDuration; this.attendanceType = attendanceTypeEnum; this.startTimeType = startTimeType; this.endTimeType = endTimeType; this.leaveUnit = leaveUnit; this.validDay = validDay; } }