package com.zc.business.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
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_event_traffic_control
 * 
 * @author ruoyi
 * @date 2024-01-12
 */
@ApiModel("交通管制事件实体")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DcEventTrafficControl extends BaseEntity
{
    private static final long serialVersionUID = 1L;
@ApiModelProperty("事件编号")
    /** 事件编号 */
    private String id;

    /** 管制分类:
            1-封闭
            2-限行 */
@ApiModelProperty("管制分类:1-封闭2-限行")
    private Long controlType;

    /** 管制原因:
            1-车流量大
            2-交通事故
            3-恶劣天气
            4-施工
            5-警备任务
            6-其他 */
@ApiModelProperty("管制原因:1-车流量大 2-交通事故3-恶劣天气4-施工5-警备任务6-其他")
    private Long controlCause;

    /** 出入口(收费站/服务区):
            1-出口
            2-入口 */
    @ApiModelProperty("出入口(收费站/服务区):1-出口2-入口")
    @Excel(name = "出入口", readConverterExp = "收=费站/服务区")
    private Long exitsInlets;

    /** 字段名称对应:
            立交桥
            收费站
            服务区
            
             */
    @ApiModelProperty(" 字段名称对应:立交桥 收费站 服务区")
    private Long facilityId;

    /** 匝道(立交)
             */
    @ApiModelProperty("匝道(立交)")
    @Excel(name = "匝道", readConverterExp = "立=交")
    private String rampId;
/*
   @ApiModelProperty("高速公路 id")
    private Long roadId;
*/

    @ApiModelProperty("原因类型   3-1 雨3-2 雪3-3 雾3-4 道路积水3-5 道路湿滑3-6 道路结冰3-7 沙尘暴4-1 专项工程施工 4-2 改扩建工程施工4-3 其他施工',")
    private String causeType;

    @ApiModelProperty("措施  1-临时关闭2-限行车辆3-限行车道4-限行车道且限行车辆5-间隔放行6-并道行驶 7-限速',")
    private Long measure; //措施
    @ApiModelProperty("分类 1-主线关闭 2-主线限行3-主线间隔放行 4-主线并道 5-主线限速6-收费站关闭7-收费站限行8-收费站分流9-收费站间隔放行10-立交匝道关闭11-立交限行12-立交匝道限行13-立交分流14-服务区关闭,")
    private Long classify; //分类
    @ApiModelProperty("限制类型    1-只允许2-禁止',")
    private Long limitedType ;//限制类型
    @ApiModelProperty("车辆类型 1- 10座以下客车 2-10座以下客车(间隔放行)........")
    private Long vehicleType ;//车辆类型




    @ApiModelProperty("事件信息实体")
    //事件信息表
    @TableField(exist = false)
    private DcEvent dcEvent;

    @ApiModelProperty("路网设施实体")
    //事件信息表
    @TableField(exist = false)
    private DcFacility dcFacility;

    @TableField(exist = false)
    private Long[] facilityIds; // 数组存储多个设备ID
}