package cn.iocoder.yudao.module.system.api.holiday.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class HolidaySettingVO {
    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24863")
    private Long id;

    @Schema(description = "假期规则名称", example = "赵六")
    private String name;

    @Schema(description = "应用范围 0全公司 1指定(记录在kq_holiday_setting_range 表中)", example = "赵六")
    private Integer applicationScope;

    @Schema(description = "新员工请假类型 1入职即可请假 2转正后才可请假", example = "2")
    private Integer newEmployeeLeaveType;

    @Schema(description = "是否带薪 0否 1是")
    private Integer salaryFlag;

    @Schema(description = "请假最小单位 1按天 2按半天 3按小时")
    private Integer minUnit;

    @Schema(description = "请假取整 0否 1是")
    private Integer roundFlag;

    @Schema(description = "取整方向 0向下 1向上 (需要取整才有意义)")
    private Integer roundDirection;

    @Schema(description = "取整单位 0按半小时 1按小时  (需要取整才有意义)")
    private Integer roundUnit;

    @Schema(description = "请假计算方式 0按自然日计算（休息日也会记录请假） 1按工作日计算（请假时段中不包含员工的休息日）")
    private Integer calculationMethod;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

    @Schema(description = "当前用户该假期余额余额")
    private BigDecimal holidayBalance;

    @Schema(description = "假期设置状态 0关闭 1开启")
    private Integer status;
}
