package com.xjrsoft.module.attendance.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.sql.Time;
import java.util.Date;


/**
* @title: 考勤规则细则
* @Author dzx
* @Date: 2024-05-08
* @Version 1.0
*/
@Data
@TableName("attendance_rule_details")
@ApiModel(value = "attendance_rule_details", description = "考勤规则细则")
public class AttendanceRuleDetails implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 
    */
    @ApiModelProperty("")
    @TableId
    private Long id;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    private Long createUserId;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    private Date createDate;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.UPDATE)
    private Long modifyUserId;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.UPDATE)
    private Date modifyDate;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    @TableLogic
    private Integer deleteMark;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    private Integer enabledMark;
    /**
    * 
    */
    @ApiModelProperty("")
    private Integer sortCode;
    /**
    * 周几(星期一~日或节假日)
    */
    @ApiModelProperty("周几(星期一~日或节假日)")
    private String dateType;
    /**
    * 是否允许进出校
    */
    @ApiModelProperty("是否允许进出校")
    private Integer isAllowInOutSchool;
    /**
    * 是否考勤
    */
    @ApiModelProperty("是否考勤")
    private Integer isAttendance;
    /**
    * 上学时间前多少分钟进行提醒
    */
    @ApiModelProperty("上学时间前多少分钟进行提醒(返校时间前多少分钟进行提醒)")
    private Integer agoMinutes;
    /**
    * 超过上学时间多少分钟未打卡进行提醒
    */
    @ApiModelProperty("超过上学时间多少分钟未打卡进行提醒(超过返校时间多少分钟未打卡进行提醒)")
    private Integer overMinutes;
    /**
    * 上学时间内是否允许进出
    */
    @ApiModelProperty("上学时间内是否允许进出")
    private Integer isAllowInOutSchoolTime;
    /**
    * 上午是否启用（1：是 0：否）
    */
    @ApiModelProperty("上午是否启用（1：是 0：否）")
    private Integer amStatus;
    /**
    * 上午上学时间
    */
    @ApiModelProperty("上午上学时间")
    private Time amStartTime;
    /**
    * 上午放学时间
    */
    @ApiModelProperty("上午放学时间")
    private Time amEndTime;
    /**
    * 上午迟到旷课分钟数
    */
    @ApiModelProperty("上午迟到旷课分钟数")
    private Integer amLateMinutes;
    /**
    * 上午是否为节假日（1：是 0：否）
    */
    @ApiModelProperty("上午是否为节假日（1：是 0：否）")
    private Integer amIsHolidays;
    /**
    * 上午为节假日前一天时上学时间
    */
    @ApiModelProperty("上午为节假日前一天时上学时间")
    private Time amHolidaysStartTime;
    /**
    * 上午为节假日前一天时放学时间
    */
    @ApiModelProperty("上午为节假日前一天时放学时间")
    private Time amHolidaysEndTime;
    /**
    * 下午是否启用（1：是 0：否）
    */
    @ApiModelProperty("下午是否启用（1：是 0：否）")
    private Integer pmStatus;
    /**
    * 下午上学时间
    */
    @ApiModelProperty("下午上学时间")
    private Time pmStartTime;
    /**
    * 下午放学时间
    */
    @ApiModelProperty("下午放学时间")
    private Time pmEndTime;
    /**
    * 下午迟到旷课分钟数
    */
    @ApiModelProperty("下午迟到旷课分钟数")
    private Integer pmLateMinutes;
    /**
    * 下午是否为节假日（1：是 0：否）
    */
    @ApiModelProperty("下午是否为节假日（1：是 0：否）")
    private Integer pmIsHolidays;
    /**
    * 下午为节假日前一天时上学时间
    */
    @ApiModelProperty("下午为节假日前一天时上学时间")
    private Time pmHolidaysStartTime;
    /**
    * 下午为节假日前一天时放学时间
    */
    @ApiModelProperty("下午为节假日前一天时放学时间")
    private Time pmHolidaysEndTime;
    /**
    * 晚上是否启用（1：是 0：否）
    */
    @ApiModelProperty("晚上是否启用（1：是 0：否）")
    private Integer eveningStatus;
    /**
    * 晚上上学时间
    */
    @ApiModelProperty("晚上上学时间")
    private Time eveningStartTime;
    /**
    * 晚上放学时间
    */
    @ApiModelProperty("晚上放学时间")
    private Time eveningEndTime;
    /**
    * 晚上迟到旷课分钟数
    */
    @ApiModelProperty("晚上迟到旷课分钟数")
    private Integer eveningLateMinutes;
    /**
    * 晚上是否为节假日（1：是 0：否）
    */
    @ApiModelProperty("晚上是否为节假日（1：是 0：否）")
    private Integer eveningIsHolidays;
    /**
    * 晚上为节假日前一天时上学时间
    */
    @ApiModelProperty("晚上为节假日前一天时上学时间")
    private Time eveningHolidaysStartTime;
    /**
    * 晚上为节假日前一天时放学时间
    */
    @ApiModelProperty("晚上为节假日前一天时放学时间")
    private Time eveningHolidaysEndTime;
    /**
    * 考勤规则(attendance_rule_category)
    */
    @ApiModelProperty("考勤规则(attendance_rule_category)")
    private Long attendanceRuleCategoryId;


    @ApiModelProperty("节假日最后一天是否返校")
    private Integer holidaysLastDayInOut;

    @ApiModelProperty("返校上学时间")
    private Time returnStartTime;

    @ApiModelProperty("返校放学时间")
    private Time returnEndTime;

    @ApiModelProperty("节假日迟到旷课时间")
    private Integer holidaysLateMinutes;

    @ApiModelProperty("为节假日前一天时放学时间")
    private Time holidaysEndTime;
}