package cn.iocoder.yudao.module.system.controller.admin.holiday.holidaysetting.vo;

import cn.iocoder.yudao.module.system.controller.admin.holiday.holidaybalancesetting.vo.HolidayBalanceSettingSaveReqVO;
import cn.iocoder.yudao.module.system.controller.admin.holiday.holidaysettingrange.vo.HolidaySettingRangeSaveReqVO;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

@Schema(description = "管理后台 - 假期设置新增/修改 Request VO")
@Data
public class HolidaySettingSaveReqVO {

    @Schema(description = "编号", 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 = "假期规则人员范围")
    private List<HolidaySettingRangeSaveReqVO> holidaySettingRangeSaveReqVOS;

    @Schema(description = "假期余额设置")
    private HolidayBalanceSettingSaveReqVO holidayBalanceSettingSaveReqVO;
}
