package com.engine.kq.entity;

/**
 * 加班规则明细
 */
public class KQOvertimeRulesDetailEntity {
    /**
     * 加班规则明细表的ID
     */
    int id;
    /**
     * 加班规则主表的ID
     */
    int ruleId;
    /**
     * 日期类型：1-节假日、2-工作日、3-休息日
     */
    int dayType;
    /**
     * 是否允许加班：0-不允许、1-允许
     */
    int overtimeEnable = 0;
    /**
     * 加班计算方式：
     * 1-需审批，以审批单为准
     * 2-需审批，以打卡为准，但是不能超过审批时长
     * 3-无需审批，根据打卡时间计算加班时长
     */
    int computingMode = -1;
    /**
     * 加班起算时间
     */
    int startTime = -1;
    /**
     * 最小加班时长
     */
    int minimumLen = -1;
    /**
     * 是否允许加班转调休：0-不允许、1-允许
     */
    int paidLeaveEnable = 0;
    /**
     * 加班时长转调休时长的比例中的加班时长
     */
    double lenOfOvertime = -1;
    /**
     * 加班时长转调休时长的比例中的调休时长
     */
    double lenOfLeave = -1;

    /**
     * 是否排除休息时间
     */
    int hasRestTime = 0;
    /**
     * 上班前 加班起算时间
     */
    int before_startTime = 0;

    /**
     * 是否开启加班归属临界点
     */
    int has_cut_point = 0;
    /**
     * 加班归属 临界点
     */
    String cut_point = "";
    /**
     * 加班补偿方式 1-默认加班补偿规则、2-根据员工在加班流程上选择的加班补偿类型进行补偿两种
     */
    int paidLeaveEnableType = 1;
    /**
     * 默认加班补偿方式 里转调休的方式: 1-按加班时长比例转调休时长、2-按加班时长范围设置转调休时长、3-按加班的时间段设置转调休时长
     */
    int paidLeaveEnableDefaultType = 1;
    /**
     * 根据员工在加班流程上选择的加班补偿类型进行补偿 里转调休的方式: 1-按加班时长比例转调休时长、2-按加班时长范围设置转调休时长、3-按加班的时间段设置转调休时长
     */
    int paidLeaveEnableFlowType = 1;
    /**
     * 排除休息时间: 1-设置休息时间、2-根据加班时长扣除
     */
    int restTimeType = 1;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getRuleId() {
        return ruleId;
    }

    public void setRuleId(int ruleId) {
        this.ruleId = ruleId;
    }

    public int getDayType() {
        return dayType;
    }

    public void setDayType(int dayType) {
        this.dayType = dayType;
    }

    public int getOvertimeEnable() {
        return overtimeEnable;
    }

    public void setOvertimeEnable(int overtimeEnable) {
        this.overtimeEnable = overtimeEnable;
    }

    public int getComputingMode() {
        return computingMode;
    }

    public void setComputingMode(int computingMode) {
        this.computingMode = computingMode;
    }

    public int getStartTime() {
        return startTime;
    }

    public void setStartTime(int startTime) {
        this.startTime = startTime;
    }

    public int getMinimumLen() {
        return minimumLen;
    }

    public void setMinimumLen(int minimumLen) {
        this.minimumLen = minimumLen;
    }

    public int getPaidLeaveEnable() {
        return paidLeaveEnable;
    }

    public void setPaidLeaveEnable(int paidLeaveEnable) {
        this.paidLeaveEnable = paidLeaveEnable;
    }

    public double getLenOfOvertime() {
        return lenOfOvertime;
    }

    public void setLenOfOvertime(double lenOfOvertime) {
        this.lenOfOvertime = lenOfOvertime;
    }

    public double getLenOfLeave() {
        return lenOfLeave;
    }

    public void setLenOfLeave(double lenOfLeave) {
        this.lenOfLeave = lenOfLeave;
    }

    public int getHasRestTime() {
        return hasRestTime;
    }

    public void setHasRestTime(int hasRestTime) {
        this.hasRestTime = hasRestTime;
    }

  public int getBefore_startTime() {
    return before_startTime;
  }

  public void setBefore_startTime(int before_startTime) {
    this.before_startTime = before_startTime;
  }

  public String getCut_point() {
    return cut_point;
  }

  public void setCut_point(String cut_point) {
    this.cut_point = cut_point;
  }

  public int getHas_cut_point() {
    return has_cut_point;
  }

  public void setHas_cut_point(int has_cut_point) {
    this.has_cut_point = has_cut_point;
  }

  public int getPaidLeaveEnableType() {
    return paidLeaveEnableType;
  }

  public void setPaidLeaveEnableType(int paidLeaveEnableType) {
    this.paidLeaveEnableType = paidLeaveEnableType;
  }

  public int getPaidLeaveEnableDefaultType() {
    return paidLeaveEnableDefaultType;
  }

  public void setPaidLeaveEnableDefaultType(int paidLeaveEnableDefaultType) {
    this.paidLeaveEnableDefaultType = paidLeaveEnableDefaultType;
  }

  public int getPaidLeaveEnableFlowType() {
    return paidLeaveEnableFlowType;
  }

  public void setPaidLeaveEnableFlowType(int paidLeaveEnableFlowType) {
    this.paidLeaveEnableFlowType = paidLeaveEnableFlowType;
  }

  public int getRestTimeType() {
    return restTimeType;
  }

  public void setRestTimeType(int restTimeType) {
    this.restTimeType = restTimeType;
  }
}
