package com.artfess.rescue.base.model;

import com.artfess.base.entity.BizDelModel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * 救援点位信息
 *
 * @company 阿特菲斯信息技术有限公司
 * @author 系统管理员
 * @since 2024-07-24
 */
@ApiModel(value="BizBaseRescue对象", description="巡查救援点位信息")
@Data
@TableName("biz_base_stationary")
public class BizBaseStationary extends BizDelModel<BizBaseStationary> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键_ID")
    @TableId(value = "ID_", type = IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "1.巡查 2.救援")
    @TableField("TYPE_")
    private Integer type;

    @NotNull(message = "所属巡查救援队伍不能为空")
    @ApiModelProperty(value = "所属巡查救援队伍ID(关联组织机构表的ID)")
    @TableField("TEAM_ID_")
    private String teamId;

    @ApiModelProperty(value = "队伍名称")
    @TableField(exist = false)
    private String teamName;

    @ApiModelProperty(value = "路段名称")
    @TableField(exist = false)
    private String roadName;

    @ApiModelProperty(value = "路段编码")
    @TableField(exist = false)
    private String roadCode;

    @ApiModelProperty(value = "救援点名称")
    @TableField("NAME_")
    private String name;

    @NotNull(message = "所属路段不能为空")
    @ApiModelProperty(value = "所在路段id(关联路段表ID)")
    @TableField("ROAD_ID_")
    private String roadId;

    @ApiModelProperty(value = "所属监控中心ID(关联组织机构表的监控中心ID)")
    @TableField("MONITOR_ID_")
    private String monitorId;

    @ApiModelProperty(value = "所属监控中心名称(关联组织机构表的监控中心名称)")
    @TableField("MONITOR_NAME_")
    private String monitorName;

    @ApiModelProperty(value = "所属监控中心电话")
    @TableField("MONITOR_TEL_")
    private String monitorTel;

    @ApiModelProperty(value = "所管辖区交巡警支队名称")
    @TableField("TRAFFIC_POLICE_Z_")
    private String trafficPoliceZ;

    @ApiModelProperty(value = "所管辖区交巡警大队名称")
    @TableField("TRAFFIC_POLICE_D_")
    private String trafficPoliceD;

    @ApiModelProperty(value = "所管辖区交通综合执法支队")
    @TableField("MANAGEMENT_Z_")
    private String managementZ;

    @ApiModelProperty(value = "所管辖区交通综合执法大队")
    @TableField("MANAGEMENT_D_")
    private String managementD;

    @ApiModelProperty(value = "场所类型(1:收费站，2：服务区，3：隧道，4：其它)")
    @TableField("CLASS_TYPE_")
    private Integer classType;

    @ApiModelProperty(value = "驻点类型 1.常驻 2.临时")
    @TableField("STATION_TYPE_")
    private Integer stationType;

    @ApiModelProperty(value = "点位桩号")
    @TableField("PEG_")
    private Integer peg;

    @ApiModelProperty(value = "点位桩号附加")
    @TableField("PEG_ADD_")
    private Integer pegAdd;

    @ApiModelProperty(value = "点位桩号全值（例如：K23+100）")
    @TableField("PEG_VAL_")
    private String pegVal;

    @ApiModelProperty(value = "负责人")
    @TableField("LINK_NAME__")
    private String linkName;

    @ApiModelProperty(value = "负责人联系电话")
    @TableField("LINK_TEL_")
    private String linkTel;

    @ApiModelProperty(value = "值班电话")
    @TableField("DUTY_TEL_")
    private String dutyTel;

    @ApiModelProperty(value = "值班人数")
    @TableField("DUTY_NUM_")
    private Integer dutyNum;

    @ApiModelProperty(value = "轮班人数")
    @TableField("TURN_NUM_")
    private Integer turnNum;

    @ApiModelProperty(value = "经度")
    @TableField("LNG_")
    private Double lng;

    @ApiModelProperty(value = "纬度")
    @TableField("LAT_")
    private Double lat;

    @ApiModelProperty(value = "救援服务电话")
    @TableField("RESCUS_TEL_")
    private String rescusTel;

    @ApiModelProperty(value = "所属管理中心ID")
    @TableField("MANAGE_UNIT_ID_")
    private String manageUnitId;

    @ApiModelProperty(value = "所属管理中心NAME")
    @TableField("MANAGE_UNIT_NAME_")
    private String manageUnitName;

}
