package jnpf.entity.attendance;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Max;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 考勤组-考勤配置-时段
 * </p>
 *
 * @author ahua
 * @since 2023-11-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("ftb_attendance_shift_setting_period")
public class AttendanceShiftSettingPeriodEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("F_Id")
    private String id;
    /**
     * 时段工时(天 保留一位小数)
     */
    @TableField("F_TimeSlotDay")
    private BigDecimal timeSlotDay;
    /**
     * 计薪工时(小时 保留4位小数)
     */
    @TableField("F_PayrollHours")
    private BigDecimal payrollHours;

    /**
     * 班制类型（1固定班 2排班）
     */
    @TableField("F_SystemType")
    private Integer systemType;
    /**
     * 允许迟到(0否 1是)
     */
    @TableField("F_LateEnable")
    private Integer lateEnable;

    /**
     * 允许早退(0否 1是)
     */
    @TableField("F_EarlyEnable")
    private Integer earlyEnable;

    /**
     * 允许休息時間(0否 1是)
     */
    @TableField("F_BreakEnable")
    private Integer breakEnable;

    /**
     * 允许次日下班(0否 1是)
     */
    @TableField("F_NextDayEnable")
    private Integer nextDayEnable;

    /**
     * 打卡开始时间点
     */
    @TableField("F_ClockStartPoint")
    private String clockStartPoint;

    /**
     * 打卡开始时间点 当日还是次日，1当日 2次日
     */
    @TableField("F_ClockStartPointType")
    private Integer clockStartPointType;

    /**
     * 上班时间点
     */
    @TableField("F_InPoint")
    private String inPoint;

    /**
     * 迟到时间点
     */
    @TableField("F_LatePoint")
    private String latePoint;

    /**
     * 迟到当日还是次日，1当日 2次日
     */
    @TableField("F_LateType")
    private Integer lateType;

    /**
     * 上班缺卡时间点
     */
    @TableField("F_InLackPoint")
    private String inLackPoint;

    /**
     * 上班缺卡 当日还是次日，1当日 2次日
     */
    @TableField("F_InLackPointType")
    private Integer inLackPointType;

    /**
     * 休息开始时间点
     */
    @TableField("F_BreakStartPoint")
    private String breakStartPoint;

    /**
     * 休息结束时间点
     */
    @TableField("F_BreakEndPoint")
    private String breakEndPoint;

    /**
     * 早退时间点
     */
    @TableField("F_EarlyPoint")
    private String earlyPoint;

    /**
     * 下班时间点
     */
    @TableField("F_OutPoint")
    private String outPoint;

    /**
     * 下班缺卡时间点
     */
    @TableField("F_OutLackPoint")
    private String outLackPoint;

    /**
     * 考勤配置id
     */
    @TableField("F_SettingId")
    private String settingId;

    /**
     * 考勤组id
     */
    @TableField("F_GroupId")
    private String groupId;

    /**
     * 创建时间
     */
    @TableField("F_CreatorTime")
    private Date creatorTime;

    /**
     * 创建用户
     */
    @TableField("F_CreatorUserId")
    private String creatorUserId;

    /**
     * 修改时间
     */
    @TableField("F_LastModifyTime")
    private Date lastModifyTime;

    /**
     * 修改用户
     */
    @TableField("F_LastModifyUserId")
    private String lastModifyUserId;

    /**
     * 删除时间
     */
    @TableField("F_DeleteTime")
    private Date deleteTime;

    /**
     * 删除用户
     */
    @TableField("F_DeleteUserId")
    private String deleteUserId;

    /**
     * 删除标志
     */
    @TableField("F_DeleteMark")
    private Integer deleteMark;

    /**
     * 租户id
     */
    @TableField("F_TenantId")
    private String tenantId;

    /**
     * 休息开始时间当日还是次日，1当日 2次日
     */
    @TableField("F_BreakStartType")
    private Integer breakStartType;

    /**
     * 休息结束时间当日还是次日，1当日 2次日
     */
    @TableField("F_BreakEndType")
    private Integer breakEndType;

    /**
     * 早退时间当日还是次日，1当日 2次日
     */
    @TableField("F_EarlyType")
    private Integer earlyType;

    /**
     * 上班当日还是次日，1当日 2次日
     */
    @TableField("F_InType")
    private Integer inType;

    /**
     * 下班当日还是次日，1当日 2次日
     */
    @TableField("F_OutType")
    private Integer outType;

    /**
     * 下班缺卡当日还是次日，1当日 2次日
     */
    @TableField("F_OutLackType")
    private Integer outLackType;
    /**
     * 排序
     */
    @TableField("F_Sort")
    private Integer sort;

    /**
     * 类型：1 上半天 2 下半天 （半天制班次使用）
     */
    @TableField("F_Type")
    private Integer type;


    @TableField("F_ShiftId")
    private String shiftId;
}
