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 java.time.LocalDate;
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="BizBaseCar对象", description="巡检救援车辆信息")
@Data
@TableName("biz_base_car")
public class BizBaseCar extends BizDelModel<BizBaseCar> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键_ID")
    @TableId(value = "ID_", type = IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "车牌")
    @TableField("CAR_NUMBER_")
    private String carNumber;

    @ApiModelProperty(value = "别名")
    @TableField("NAME_")
    private String name;

    @ApiModelProperty(value = "车辆品牌")
    @TableField("CAR_BRAND_")
    private String carBrand;

    @ApiModelProperty(value = "车辆用途（1：巡查，2：清障.救援")
    @TableField("USE_TYPE_")
    private Integer useType;

    @ApiModelProperty(value = "车辆类别（0：皮卡，1：拖车，2：吊车，3：拖吊一体）")
    @TableField("CAR_CLASS_")
    private Integer carClass;

    @ApiModelProperty(value = "购买时间")
    @TableField("BUY_DATE_")
    private LocalDate buyDate;

    @ApiModelProperty(value = "注册日期")
    @TableField("REGISTRATION_DATE_")
    private LocalDate registrationDate;

    @ApiModelProperty(value = "检验有效期")
    @TableField("EXPIRATION_DATE_")
    private LocalDate expirationDate;

    @ApiModelProperty(value = "发证日期")
    @TableField("ADD_DATE_")
    private LocalDate addDate;

    @ApiModelProperty(value = "是否有报警灯 （0：否，1：是）")
    @TableField("IS_ALARM_")
    private Integer isAlarm;

    @ApiModelProperty(value = "报警灯是否备案（0：否，1：是）")
    @TableField("IS_FILING_")
    private Integer isFiling;

    @ApiModelProperty(value = "车架号")
    @TableField("FRAME_NUMBER_")
    private String frameNumber;

    @ApiModelProperty(value = "发动机编号")
    @TableField("ENGINE_NUMBER_")
    private String engineNumber;

    @ApiModelProperty(value = "车辆油/气耗")
    @TableField("FUEL_CONSUMPTION_")
    private Double fuelConsumption;

    @ApiModelProperty(value = "座位数")
    @TableField("SEATS_NUMBER_")
    private Integer seatsNumber;

    @ApiModelProperty(value = "载重(吨)")
    @TableField("CAR_LOAD_")
    private Double carLoad;

    @ApiModelProperty(value = "车辆颜色")
    @TableField("CAR_COLOUR_")
    private String carColour;

    @ApiModelProperty(value = "适拖车型【字典】(客车),多个以，分割（1：一型客车，2：二型客车，3：三型客车，4：四型客车）")
    @TableField("SUITABILITY_CAR_")
    private String suitabilityCar;

    @ApiModelProperty(value = "适拖车型【字典】(货车),多个以，分割 （1：一型货车，2：二型货车，3：三型货车，4：四型货车）")
    @TableField("SUITABILITY_TRUCK_")
    private String suitabilityTruck;

    @ApiModelProperty(value = "是否自有车辆 (0：否，1：是）")
    @TableField("IS_OWNED_")
    private Integer isOwned;

    @ApiModelProperty(value = "车辆自有公司")
    @TableField("COMPANY_")
    private String company;

    @NotNull(message = "所属路段不能为空")
    @ApiModelProperty(value = "所在路段id (关联路段表ID)")
    @TableField("ROAD_ID_")
    private String roadId;

    @ApiModelProperty(value = "常驻救援点 （关联救援点表的ID）")
    @TableField("RESCUE_ID_")
    private String rescueId;

    @ApiModelProperty(value = "行驶证正面照片URL")
    @TableField("DRIVING_LICENSE_F_")
    private String drivingLicenseF;

    @ApiModelProperty(value = "行驶证背面照片URL")
    @TableField("DRIVING_LICENSE_B_")
    private String drivingLicenseB;

    @ApiModelProperty(value = "车辆侧面照片URL")
    @TableField("CAR_SIDE_URL_")
    private String carSideUrl;

    @ApiModelProperty(value = "车辆正面照片URL")
    @TableField("CAR_FRONT_URL_")
    private String carFrontUrl;

    @ApiModelProperty(value = "车辆后面照片URL")
    @TableField("CAR_BEHIND_URL_")
    private String carBehindUrl;

    @ApiModelProperty(value = "网络运营商,下拉框，做成枚举字典，1：移动，2：电信，3：联通，4：其他")
    @TableField("OPERATORS_")
    private String operators;

    @ApiModelProperty(value = "SIM卡号")
    @TableField("SIM_NUMBER_")
    private String simNumber;

    @ApiModelProperty(value = "ICCID")
    @TableField("ICCID_")
    private String iccid;

    @ApiModelProperty(value = "IMSI")
    @TableField("IMSI_")
    private String imsi;

    @ApiModelProperty(value = "APAN")
    @TableField("APAN_")
    private String apan;

    @ApiModelProperty(value = "备注")
    @TableField("REMARKS_")
    private String remarks;

    @ApiModelProperty(value = "路段名称")
    @TableField(exist = false)
    private String roadName;

    @ApiModelProperty(value = "路段编码")
    @TableField(exist = false)
    private String roadCode;
}
