package com.ozs.service.entity;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ozs.common.annotation.Excel;
import com.ozs.common.core.domain.BaseEntity;
import com.ozs.common.core.domain.entity.SysMenu;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
*
* 相机台账管理表
*
*
* @author ozs
* @since 2023-02-17
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class BaseCameraManagement extends BaseEntity implements Serializable ,Comparable{
private static final long serialVersionUID = 1L;
/**
* 监控相机安装里程位置字符串形式
*/
@TableField(exist = false)
@Excel(name = "监控相机安装里程位置(单位KM)")
private String installMiles;
/**
* 测点名称
*/
@Excel(name = "测点名称")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String measurePointName;
/**
*线路名称
*/
@TableField(exist = false)
@Excel(name = "线路名称")
private String railwayName;
/**
*所属工务段名称
*/
@TableField(exist = false)
@Excel(name = "所属工务段名称")
private String deptName;
/**
* 行别(1上行2下行3上下行)
*/
@Excel(name = "行别",readConverterExp = "1=上行,2=下行,3=上下行")
private Integer lineDir;
/**
* 监控范围开始里程位置字符串形式
*/
@TableField(exist = false)
@Excel(name = "监控范围开始里程位置(单位KM)")
private String beginMiles;
@TableField(exist = false)
private String beginString;
@TableField(exist = false)
private String endString;
/**
* 监控范围结束里程位置字符串形式
*/
@TableField(exist = false)
@Excel(name = "监控范围结束里程位置(单位KM)")
private String endMiles;
/**
* 监视相机经度
*/
@Excel(name = "监视相机经度")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String installLongitude;
/**
* 监视相机纬度
*/
@Excel(name = "监视相机纬度")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String installLatitude;
/**
* 主键ID
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 相机编码
*/
@Excel(name = "相机编码")
private String cameraCode;
/**
* 通道编号
*/
@Excel(name = "通道编号")
private String channel;
/**
* 所属工务段编码(单位id)
*/
private Long deptId;
/**
* 监控相机安装里程位置
*/
private Integer installMile;
/**
* 监控范围开始里程位置
*/
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Integer beginMile;
/**
* 监控范围结束里程位置
*/
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Integer endMile;
/**
* 线路编码
*/
private String railwayCode;
/**
* 物联网卡号
*/
@Excel(name = "物联网卡号")
private String cardNum;
/**
* 是否开启录像(1开启2不开启)
*/
private Integer startRecording;
/**
* 录像接口返回的任务ID
*/
private String taskId;
/**
* 版本ID
*/
private Long versionId;
/**
* 版本号
*/
@Excel(name = "版本号")
private String versionNum;
/**
* 版本名称
*/
@Excel(name = "版本名称")
private String versionName;
/**
* 上一版本号
*/
@Excel(name = "上一版本号")
private String lastVersionNum;
/**
* 详情监控相机安装里程位置字符串形式
*/
@TableField(exist = false)
private String installs;
/**
* 详情监控范围开始里程位置字符串形式
*/
@TableField(exist = false)
private String begins;
/**
*是否显示启用录像按钮(1显示2不显示)
*/
@TableField(exist = false)
private Integer isStartRecording;
/**
* 相机序列号
*/
@Excel(name = "序列号")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String cameraSn;
@Excel(name = "备注")
private String remark;
@TableField(exist = false)
@Excel(name = "线路类型",readConverterExp = "1=高铁,2=普铁")
private Integer railwayType;
@TableField(exist = false)
private Integer isDisable;
/**
* 最后心跳时间
*/
@TableField(exist = false)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date heartTime;
/**
* 剩余电量
*/
@TableField(exist = false)
private String electricity;
/**
* 是否报警
*/
@TableField(exist = false)
private Integer isLock;
@Override
public int compareTo(BaseCameraManagement o) {
int i =o.getRailwayName().compareTo(o.railwayName);
return i;
}
}