package cn.com.ty.lift.enterprise.oa.entity;

import cn.com.ty.lift.enterprise.config.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.*;

/**
 * <p>
 * 打卡签到记录
 * </p>
 *
 * @author wcz
 * @since 2019-12-04
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class Attendance extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @TableId("id")
    private Long id;

    /**
     * 公司ID
     */
    @NotNull(message = "维保公司不能为空")
    @Min(value = 1,message = "维保公司有误")
    private Long mtCompanyId;

    /**
     * 用户ID
     */
    @NotNull(message = "打卡用户不能为空")
    @Min(value = 1,message = "打卡用户有误")
    private Long userId;

    /**
     * 经纬度
     */
    @NotBlank(message = "经纬度不能为空")
    private String coordinate;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 地址
     */
    @NotBlank(message = "地址不能为空")
    private String address;

    /**
     * 状态（是否迟到早退，0：否，1：是）
     */
    private Integer status;

    /**
     * 类型（上班打卡+’:’+第n次，下班打卡+’:’+第n次，1：上班打卡，2：下班打卡）
     * 11 上午上班 12 上午下班
     * 21 下午上班 22 下午下班
     * 31 加班上班 32 加班下班
     */
    @NotNull(message = "请指定打卡类型")
    @Min(value = 11, message = "打卡类型有误")
    @Max(value = 32, message = "打卡类型有误")
    private Integer type;
}
