package com.jpsoft.shinestar.modules.base.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 描述:base_alarm_config的实体类
 */
@Data
@ApiModel(value = "base_alarm_config的实体类")
public class AlarmConfig {
    /**
     *主键
     */
    @ApiModelProperty(value = "主键")
    private String id;
    /**
     * 单位编号
     */
    @ApiModelProperty(value = "单位编号")
    private String companyId;
    /**
     * 单位名称
     */
    @ApiModelProperty(value = "单位名称")
    private String companyName;
    /**
     * 星期几提醒，可以设置多个
     */
    @ApiModelProperty(value = "星期几提醒，可以设置多个")
    private String weekdays;
    /**
     * 几时几分开始
     */
    @ApiModelProperty(value = "几时几分开始")
    private String startTime;

    /**
     * 考勤时间
     */
    @ApiModelProperty(value = "考勤时间")
    private String attendanceTime;


    /**
     * 几时几分结束
     */
    @ApiModelProperty(value = "几时几分结束")
    private String endTime;

    /**
     * 是否删除
     */
    @ApiModelProperty(value = "是否删除")
    private Boolean delFlag;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**
     * 更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    /**
     * 是否包含下级单位
     */
    @ApiModelProperty(value = "是否包含下级单位")
    private Boolean subordinate;

    /**
     * 是否包含下级单位
     */
    @ApiModelProperty(value = "1-上班时间,2-下班时间")
    private Integer classifier;

    /**
     * 是否需要提醒
     */
    @ApiModelProperty(value = "是否需要提醒")
    private Boolean needMeasureTemperature;

    /**
     * 考勤类型：1-内勤,2-外勤
     */
    @ApiModelProperty(value = "考勤类型：1-内勤,2-外勤")
    private Integer attendanceType;

    public Boolean getNeedMeasureTemperature(){
        if (this.needMeasureTemperature!=null){
            return this.needMeasureTemperature;
        }
        else{
            return false;
        }
    }

    /**
     * 是否实时统计
     */
    @ApiModelProperty(value = "实时统计")
    private Integer realTimeStat;
}