package com.yida.data.common.core.entity.attendance;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalTime;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 考勤规则 考勤时间 Entity
 *
 * @author zhanghaijun
 * @date 2021-06-25 09:51:00
 */
@Data
@TableName("edu_attendance_rule_time")
public class EduAttendanceRuleTime {

    /**
     *
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     *
     */
    @TableField("rule_id")
    private Long ruleId;

    /**
     * 考勤开始时间
     */
    @ApiModelProperty("上学开始时间/归寝开始时间")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
    private LocalTime time1;


    /**
     * 有效打卡时间段开始时间
     */
    @ApiModelProperty("上学开始时间-有效打卡时间段开始时间")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
    private LocalTime time1Start;


    /**
     * 有效打卡时间段结束时间
     */
    @ApiModelProperty("上学开始时间-有效打卡时间段结束时间")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
    private LocalTime time1End;

    /**
     * 时间一是否启用有效打卡时间段
     */
    @ApiModelProperty("上学开始时间-是否启用有效打卡时间段")
    private Integer time1Openset;

    /**
     * 考勤结束时间
     */
    @ApiModelProperty("上学 放学时间/归寝结束时间")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
    private LocalTime time2;


    /**
     * 有效打卡时间段开始时间
     */
    @ApiModelProperty("放学开始时间-有效打卡时间段开始时间")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
    private LocalTime time2Start;


    /**
     * 有效打卡时间段结束时间
     */
    @ApiModelProperty("放学开始时间-有效打卡时间段结束时间")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
    private LocalTime time2End;

    /**
     * 时间二（下学）是否启用有效打卡时间段
     */
    @ApiModelProperty("放学开始时间-是否启用有效打卡时间段")
    private Integer time2Openset;


    @ApiModelProperty("归寝-晚归截止时间")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
    private LocalTime time3;

    @ApiModelProperty("1-中午，2-晚上")
    private Integer type;

    /**
     * 星期，1-星期一，2-星期二，以此类推
     */
    @ApiModelProperty("星期，1-星期一，2-星期二，以此类推")
    @TableField("day_of_week")
    private Integer dayOfWeek;

}