package com.zc.business.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 预警信息对象 dc_warning
 * 
 * @author ruoyi
 * @date 2024-01-13
 */
public class DcWarning extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 预警编号 */
    private String id;

    /** 所在桩号 */
    @Excel(name = "所在桩号")
    private String stakeMark;

    /** 方向:
            1-上行
            2-中
            3-下行 */
    @Excel(name = "方向: 1-上行 2-中 3-下行")
    private String direction;

    /** 所属部门 */
    @Excel(name = "所属部门")
    private Long deptId;

    /** 警情状态:
            1-上报
            2-已完成
            3-已终止
            4-自动结束 */
    @Excel(name = "警情状态: 1-上报 2-已完成 3-已终止 4-自动结束")
    private Integer warningState;

    /** 预警时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预警时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date warningTime;

    /** 处理人员 */
    @Excel(name = "处理人员")
    private Long userId;

    /** 信息来源:
            1-视频AI
            2-雷达识别
            3-锥桶
            4-护栏碰撞
            5-扫码报警
            6-非机预警 */
    @Excel(name = "信息来源: 1-视频AI 2-雷达识别 3-锥桶 4-护栏碰撞 5-扫码报警 6-非机预警")
    private Integer warningSource;

    /** 预警级别 */
    @Excel(name = "预警级别")
    private Integer warningLevel;

    /** 事件主类:
            1-交通拥堵
            2-行人
            3-非机动车
            4-停车
            5-倒车/逆行
            6-烟火
            7-撒落物
            8-异常天气
            9-护栏碰撞 */
    @Excel(name = "事件主类: 1-交通拥堵 2-行人 3-非机动车 4-停车 5-倒车/逆行 6-烟火 7-撒落物 8-异常天气 9-护栏碰撞")
    private Integer warningType;

    /** 事件子类:
            1-1 拥堵
            1-2 缓行 */
    @Excel(name = "事件子类: 1-1 拥堵 1-2 缓行")
    private String warningSubclass;

    /** 事件标题 */
    @Excel(name = "事件标题")
    private String warningTitle;



    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String otherConfig;
     /** 车道0-应急 1-行1 2-行2 3-行3 4-行4 */
    @Excel(name = "车道0-应急 1-行1 2-行2 3-行3 4-行4")
    private String lane;

    /** 所属辖区路段名称 */
    @Excel(name = "所属辖区路段名称")
    private  String sectionName;
    /** 数量 */
    @Excel(name = "数量")
    private int number;

    private String type;
    private String sectionId;

    private String longitude;

    private String latitude;



    public String getLane() {
        return lane;
    }

    public void setLane(String lane) {
        this.lane = lane;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public String getSectionId() {
        return sectionId;
    }

    public void setSectionId(String sectionId) {
        this.sectionId = sectionId;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }



    public int getNumber() {
        return number;
    }

    public void setNumber(int number) {
        this.number = number;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSectionName() {
        return sectionName;
    }

    public void setSectionName(String sectionName) {
        this.sectionName = sectionName;
    }


    public void setStakeMark(String stakeMark)
    {
        this.stakeMark = stakeMark;
    }

    public String getStakeMark()
    {
        return stakeMark;
    }
    public void setDirection(String direction) 
    {
        this.direction = direction;
    }

    public String getDirection() 
    {
        return direction;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setWarningState(Integer warningState) 
    {
        this.warningState = warningState;
    }

    public Integer getWarningState() 
    {
        return warningState;
    }
    public void setWarningTime(Date warningTime) 
    {
        this.warningTime = warningTime;
    }

    public Date getWarningTime() 
    {
        return warningTime;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setWarningSource(Integer warningSource) 
    {
        this.warningSource = warningSource;
    }

    public Integer getWarningSource() 
    {
        return warningSource;
    }
    public void setWarningLevel(Integer warningLevel) 
    {
        this.warningLevel = warningLevel;
    }

    public Integer getWarningLevel() 
    {
        return warningLevel;
    }
    public void setWarningType(Integer warningType) 
    {
        this.warningType = warningType;
    }

    public Integer getWarningType() 
    {
        return warningType;
    }
    public void setWarningSubclass(String warningSubclass) 
    {
        this.warningSubclass = warningSubclass;
    }

    public String getWarningSubclass() 
    {
        return warningSubclass;
    }
    public void setWarningTitle(String warningTitle) 
    {
        this.warningTitle = warningTitle;
    }

    public String getWarningTitle() 
    {
        return warningTitle;
    }
    public void setOtherConfig(String otherConfig) 
    {
        this.otherConfig = otherConfig;
    }

    public String getOtherConfig() 
    {
        return otherConfig;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("stakeMark", getStakeMark())
            .append("direction", getDirection())
            .append("deptId", getDeptId())
            .append("warningState", getWarningState())
            .append("warningTime", getWarningTime())
            .append("userId", getUserId())
            .append("warningSource", getWarningSource())
            .append("warningLevel", getWarningLevel())
            .append("remark", getRemark())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("warningType", getWarningType())
            .append("warningSubclass", getWarningSubclass())
            .append("warningTitle", getWarningTitle())
            .append("otherConfig", getOtherConfig())
            .toString();
    }
}