package com.ozs.entity.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ozs.common.annotation.Excel;
import com.ozs.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * <p>
 * 相机台账管理表
 * </p>
 *
 * @author ozs
 * @since 2023-02-17
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class BaseCameraManagementHomeVo extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 相机编码
     */
    @Excel(name = "相机编码")
    private String cameraCode;

    /**
     * 通道编号
     */
    @Excel(name = "通道编号")
    private String channel;

    /**
     * 所属工务段编码(单位id)
     */
    @Excel(name = "所属工务段编码(单位id)")
    private Long deptId;

    /**
     * 行别(1上行2下行）
     */
    @Excel(name = "行别")
    private Integer lineDir;

    /**
     * 监控相机安装里程位置
     */
    @Excel(name = "监控相机安装里程位置")
    private Integer installMile;

    /**
     * 监控范围开始里程位置
     */
    @Excel(name = "监控范围开始里程位置")
    private Integer beginMile;

    /**
     * 监控范围结束里程位置
     */
    @Excel(name = "监控范围结束里程位置")
    private Integer endMile;

    /**
     * 监视相机经度
     */
    @Excel(name = "监视相机经度")
    private String installLongitude;

    /**
     * 监视相机纬度
     */
    @Excel(name = "监视相机纬度")
    private String installLatitude;

    /**
     * 线路编码
     */
    @Excel(name = "线路编码")
    private String railwayCode;

    /**
     * 监控相机安装里程位置字符串形式
     */
    @TableField(exist = false)
    private String installMiles;

    /**
     * 监控范围开始里程位置字符串形式
     */
    @TableField(exist = false)
    private String beginMiles;

    /**
     * 监控范围结束里程位置字符串形式
     */
    @TableField(exist = false)
    private String endMiles;

    /**
     *线路名称
     */
    @TableField(exist = false)
    private String railwayName;

    /**
     *所属工务段名称
     */
    @TableField(exist = false)
    private String deptName;

    /**
     * 报警是否解除 1已解除2未解除
     */
    private Integer isRelease;
}