package com.casic.missiles.modular.system.model;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.Digits;
import java.util.Date;

/**
 * <p>
 * 闸井信息表
 * </p>
 *
 * @author lwh
 * @since 2019-05-13
 */
@TableName("bus_well_info")
@Data
public class BusWellInfo extends Model<BusWellInfo> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "ID", type = IdType.AUTO)
    private Long id;
    /**
     * 井盖编号
     */
    @NotEmpty(message = "闸井编号不能为空")
    @TableField("WELL_CODE")
    private String wellCode;
    /**
     * 井盖名称
     */
    @NotEmpty(message = "闸井名称不能为空")
    @TableField("WELL_NAME")
    private String wellName;
    /**
     * 井深
     */
    //@NotEmpty(message="井深不能为空")
    @Digits(integer = 2, fraction = 2, message = "井深必须为正数且最多两位小数")
    @TableField("DEEP")
    private Float deep;
    /**
     * 第三方坐标系X
     */
    @NotEmpty(message = "经度不能为空")
    @TableField("COORDINATE_X")
    private String coordinateX;
    /**
     * 第三方坐标Y
     */
    @NotEmpty(message = "纬度不能为空")
    @TableField("COORDINATE_Y")
    private String coordinateY;
    /**
     * 百度纬度
     */
    @TableField("LAT_BAIDU")
    private String latBaidu;
    /**
     * 百度经度
     */
    @TableField("LNG_BAIDU")
    private String lngBaidu;
    /**
     * 高德经度
     */
    @TableField("LNG_GAODE")
    private String lngGaode;
    /**
     * 高德纬度
     */
    @TableField("LAT_GAODE")
    private String latGaode;
    /**
     * 地区
     */
    @NotEmpty(message = "区不能为空")
    @TableField(exist = false)
    private String qu;
    /**
     * 区域
     */
    @NotEmpty(message = "街道不能为空")
    @TableField("AREA")
    private String area;
    /**
     * 位置
     */
    @NotEmpty(message = "详细地址不能为空")
    @TableField("POSITION")
    private String position;
    /**
     * 部门编号
     */
    @NotEmpty(message = "权属单位代码不能为空")
    @TableField("DEPTID")
    private String deptid;
    /**
     * 路标图片路径集合
     */
    @TableField("PHOTOS")
    private String photos;
    /**
     * 备注
     */
    @TableField("NOTES")
    private String notes;
    /**
     * 井类型
     */
    @NotEmpty(message = "闸井类型不能为空")
    @TableField("WELL_TYPE")
    private String wellType;

    /**
     * 井类型名称
     */
    @TableField(exist = false)
    private String wellTypeName;
//    /**
//     * 责任人
//     */
//    @TableField("STAFF")
//    private String staff;
//    /**
//     * 电话
//     */
//    @TableField("TEL")
//    private String tel;
    /**
     * 时间戳
     */
    @TableField("TS")
    private Date ts;
    /**
     * 是否有效
     */
    @TableLogic
    private String valid;
    /**
     * 布防状态
     */
    @TableField("BFZT")
    private String bfzt;

    /**
     * 权属单位名称
     */
    @TableField(exist = false)
    private String deptName;

    /**
     * 维护单位/小组id
     */
    @NotEmpty(message = "闸井维护单位代码不能为空")
    @TableField("RESPONSIBLE_DEPT")
    private String responsibleDept;

    /**
     * 井标签备用1
     */
    @TableField("WELL_FLAG_1")
    private String wellFlag1;

    /**
     * 井标签备用2
     */
    @TableField("WELL_FLAG_2")
    private String wellFlag2;

    /**
     * 井标签备用3
     */
    @TableField("WELL_FLAG_3")
    private String wellFlag3;

    /**
     * 维护单位/小组名称
     */
    @TableField(exist = false)
    private String responsibleDeptName;

    /**
     * 布防状态名称
     */
    @TableField(exist = false)
    private String bfztName;

    /**
     * 闸井设备总数
     */
    @TableField(exist = false)
    private Integer deviceCount;


}
