package com.yida.data.attendance.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.data.attendance.dto.AddAttendanceRuleAddressDTO;
import com.yida.data.attendance.dto.AddAttendanceRuleAdminDTO;
import com.yida.data.attendance.dto.AddAttendanceRuleDeviceDTO;
import com.yida.data.attendance.dto.AddAttendanceRuleObjDTO;
import com.yida.data.attendance.dto.AddAttendanceRuleRemindDTO;
import com.yida.data.attendance.dto.AddAttendanceRuleSpecialDateDTO;
import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO;
import com.yida.data.attendance.dto.AddAttendanceRuleWhiteListDTO;
import com.yida.data.attendance.dto.AddAttendanceRuleWifiDTO;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDate;
import java.time.LocalTime;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AttendanceWifiVO {

    @ApiModelProperty(value = "打卡规则ID")
    private Long ruleId;

    @ApiModelProperty(value = "打卡规则类型，0-固定上下班时间模式，1自由打卡模式")
    private Integer ruleType;

    @ApiModelProperty(value = "打卡时段ID")
    private Long ruleTimeId;

    @ApiModelProperty(value = "打卡规则名称")
    private String ruleName;

    @ApiModelProperty(value = "打卡是必须拍照人脸识别 0-无，1-必须")
    private Integer ruleFaceTake;

    /**
     * 是否WiFi打卡范围 0否，1是
     */
    @ApiModelProperty(value = "是否WiFi打卡范围 0否，1是")
    private Integer wifiRange;

    /**
     * wifi名称
     */
    @ApiModelProperty(value = "wifi名称")
    private String wifiName;

    /**
     * BSSID
     */
    @ApiModelProperty(value = "BSSID")
    private String wifiBssid;

    /**
     * 上班时间
     */
    @ApiModelProperty(value = "上班时间")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
    private LocalTime startTime;


    /**
     * 实际上班时间
     */
    @ApiModelProperty(value = "实际上班时间")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
    private LocalTime startRealTime;


    /**
     * 上班考勤状态:0-正常，1-异常
     */
    @ApiModelProperty(value = "上班考勤状态:0-正常，1-异常")
    private Integer startStatus;


    /**
     * 上班打卡照片
     */
    @ApiModelProperty(value = "上班打卡照片")
    private String startImg;


    /**
     * 下班时间
     */
    @ApiModelProperty(value = "下班时间")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
    private LocalTime endTime;


    /**
     * 实际下班时间
     */
    @ApiModelProperty(value = "实际下班时间")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
    private LocalTime endRealTime;


    /**
     * 下班考勤状态:0-正常，1-异常
     */
    @ApiModelProperty(value = "下班考勤状态:0-正常，1-异常")
    private Integer endStatus;

    /**
     * 下班打卡照片
     */
    @ApiModelProperty(value = "下班打卡照片")
    private String endImg;


    /**
     * 本次打卡所属：1签到，2签退
     */
    @ApiModelProperty(value = "本次打卡所属：1签到，2签退,3休息不用打卡,4,不在打卡时间段内，5无打卡规则,6不在范围内,7无权限，非智慧校园用户")
    private Integer status;


}
