package jnpf.model.attendance.dto;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * describe
 *
 * @author HuangLinPan
 * @date 2023/11/29
 */

@Getter
@Setter
@ToString
public class LeaveQueryDto {

    /** 请假开始时间 单位为小时时 2023-11-11 08:30 单位为天 2023-11-11 */
    /** 请假开始时间 字符串类型的时间戳 */
    @NotBlank(message = "开始时间不能为空")
    private String startTime;

    /** 请假结束时间 单位为小时时 2023-11-12 09:30 单位为天 2023-11-12*/
    /** 请假结束时间 字符串类型的时间戳 */
    @NotBlank(message = "结束时间不能为空")
    private String endTime;

    /**当请假类型为天时开始时间选择的班次信息 同ftb_attendance_shift_setting_period表F_Type类型：1 上半天 2 下半天 （半天制班次使用）当请假类型单位为半天时生效 */
    private Integer startTimeType;

    /** 请假开始时间 命中的时间 */
    private Date startTimeHit;

    /**当请假类型为天时结束时间选择的班次信息 同ftb_attendance_shift_setting_period表F_Type类型：1 上半天 2 下半天 （半天制班次使用）当请假类型单位为半天时生效 */
    private Integer endTimeType;

    /** 请假结束时间 命中的时间 */
    private Date endTimeHit;

    /** 请假类型id */
    private String leaveTypeId;

    /**
     * 是否使用余额抵扣 0 否 1是
     */
    private Integer balanceStatus;

    /**
     * 是否选中带薪抵扣(兑换券) 0 未选中  1选中
     */
    private Integer paid;

    /**
     * 是否选中非带薪抵扣(抵扣劵)  0 未选中  1选中
     */
    private Integer noPaid;

    /** 审批id */
    private String applyId;

    /** 请假类型id */
    private String typeId;

    /** 单位 :  1 :小时 2: 天  3.半天 */
    private Integer unit;

    /** 用户Id  */
    private String userId;

    /** oa审批Id */
    private String taskId;


    public LeaveQueryDto() {
    }

    public LeaveQueryDto(Integer unit, String startTime, String endTime, Integer startTimeType, Integer endTimeType, String applyId, String typeId) {
        this.unit = unit;
        this.startTime = startTime;
        this.endTime = endTime;
        this.startTimeType = startTimeType;
        this.endTimeType = endTimeType;
        this.applyId = applyId;
        this.typeId = typeId;
    }
}
