package com.ruoyi.basetyre.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
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;

import javax.validation.constraints.NotBlank;

/**
 * 车辆基础信息对象 base_car
 * 
 * @author Yangwl
 * @date 2023-02-08
 */
public class BaseCar extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 企业编号 */
    @Excel(name = "企业编号")
    private String companyCode;

    /** 车队ID */
    @Excel(name = "车队ID")
    private String carQueueId;

    /** 车型ID */
    @Excel(name = "车型ID")
    private String carTypeId;

    /** 车牌号 */
    @Excel(name = "车牌号")
    @NotBlank(message = "车牌号为空")
    private String carLicense;

    /** 内部牌号 */
    @Excel(name = "内部牌号")
    private String carLicenseIn;

    /** 车头牌号 */
    @Excel(name = "车头牌号")
    private String carLicenseParent;

    /** 车头ID */
    @Excel(name = "车头ID")
    private String carIdParent;

    /** 司机ID */
    @Excel(name = "司机ID")
    private String userId;

    /** 司机姓名 */
    @Excel(name = "司机姓名")
    private String userName;

    /** 当前接收器ID */
    @Excel(name = "当前接收器ID")
    private String deviceId;

    /** 当前接收器绑定时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "当前接收器绑定时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deviceBindTime;

    /** 初换日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "初换日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date firstChangeDate;

    /** 布局挂数 */
    @Excel(name = "布局挂数")
    private Long trailerNum;

    /** 是否手工维护接收器 */
    @Excel(name = "是否手工维护接收器")
    private Long isHandDevice;

    /** 是否独立接收器 */
    @Excel(name = "是否独立接收器")
    private Long isHasDevice;

    /** 最新GPS经度 */
    @Excel(name = "最新GPS经度")
    private Long longitude;

    /** 最新GPS纬度 */
    @Excel(name = "最新GPS纬度")
    private Long latitude;

    /** 轮胎数 */
    @Excel(name = "轮胎数")
    private Long tiresTotal;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private Long isDelete;

    /** 创建ID */
    @Excel(name = "创建ID")
    private String createId;

    /** 创建人姓名 */
    @Excel(name = "创建人姓名")
    private String createName;

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

    /** 编辑ID */
    @Excel(name = "编辑ID")
    private String modifyId;

    /** 编辑人 */
    @Excel(name = "编辑人")
    private String modifyBy;

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

    public String getId() 
    {
        return id;
    }
    public void setCompanyCode(String companyCode) 
    {
        this.companyCode = companyCode;
    }

    public String getCompanyCode() 
    {
        return companyCode;
    }
    public void setCarQueueId(String carQueueId) 
    {
        this.carQueueId = carQueueId;
    }

    public String getCarQueueId() 
    {
        return carQueueId;
    }
    public void setCarTypeId(String carTypeId) 
    {
        this.carTypeId = carTypeId;
    }

    public String getCarTypeId() 
    {
        return carTypeId;
    }
    public void setCarLicense(String carLicense) 
    {
        this.carLicense = carLicense;
    }

    public String getCarLicense() 
    {
        return carLicense;
    }
    public void setCarLicenseIn(String carLicenseIn) 
    {
        this.carLicenseIn = carLicenseIn;
    }

    public String getCarLicenseIn() 
    {
        return carLicenseIn;
    }
    public void setCarLicenseParent(String carLicenseParent) 
    {
        this.carLicenseParent = carLicenseParent;
    }

    public String getCarLicenseParent() 
    {
        return carLicenseParent;
    }
    public void setCarIdParent(String carIdParent) 
    {
        this.carIdParent = carIdParent;
    }

    public String getCarIdParent() 
    {
        return carIdParent;
    }
    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setDeviceId(String deviceId) 
    {
        this.deviceId = deviceId;
    }

    public String getDeviceId() 
    {
        return deviceId;
    }
    public void setDeviceBindTime(Date deviceBindTime) 
    {
        this.deviceBindTime = deviceBindTime;
    }

    public Date getDeviceBindTime() 
    {
        return deviceBindTime;
    }
    public void setFirstChangeDate(Date firstChangeDate) 
    {
        this.firstChangeDate = firstChangeDate;
    }

    public Date getFirstChangeDate() 
    {
        return firstChangeDate;
    }
    public void setTrailerNum(Long trailerNum) 
    {
        this.trailerNum = trailerNum;
    }

    public Long getTrailerNum() 
    {
        return trailerNum;
    }
    public void setIsHandDevice(Long isHandDevice) 
    {
        this.isHandDevice = isHandDevice;
    }

    public Long getIsHandDevice() 
    {
        return isHandDevice;
    }
    public void setIsHasDevice(Long isHasDevice) 
    {
        this.isHasDevice = isHasDevice;
    }

    public Long getIsHasDevice() 
    {
        return isHasDevice;
    }
    public void setLongitude(Long longitude) 
    {
        this.longitude = longitude;
    }

    public Long getLongitude() 
    {
        return longitude;
    }
    public void setLatitude(Long latitude) 
    {
        this.latitude = latitude;
    }

    public Long getLatitude() 
    {
        return latitude;
    }
    public void setTiresTotal(Long tiresTotal) 
    {
        this.tiresTotal = tiresTotal;
    }

    public Long getTiresTotal() 
    {
        return tiresTotal;
    }
    public void setIsDelete(Long isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Long getIsDelete() 
    {
        return isDelete;
    }
    public void setCreateId(String createId) 
    {
        this.createId = createId;
    }

    public String getCreateId() 
    {
        return createId;
    }
    public void setCreateName(String createName) 
    {
        this.createName = createName;
    }

    public String getCreateName() 
    {
        return createName;
    }
    public void setModifyTime(Date modifyTime) 
    {
        this.modifyTime = modifyTime;
    }

    public Date getModifyTime() 
    {
        return modifyTime;
    }
    public void setModifyId(String modifyId) 
    {
        this.modifyId = modifyId;
    }

    public String getModifyId() 
    {
        return modifyId;
    }
    public void setModifyBy(String modifyBy) 
    {
        this.modifyBy = modifyBy;
    }

    public String getModifyBy() 
    {
        return modifyBy;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("companyCode", getCompanyCode())
            .append("carQueueId", getCarQueueId())
            .append("carTypeId", getCarTypeId())
            .append("carLicense", getCarLicense())
            .append("carLicenseIn", getCarLicenseIn())
            .append("carLicenseParent", getCarLicenseParent())
            .append("carIdParent", getCarIdParent())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("deviceId", getDeviceId())
            .append("deviceBindTime", getDeviceBindTime())
            .append("firstChangeDate", getFirstChangeDate())
            .append("trailerNum", getTrailerNum())
            .append("isHandDevice", getIsHandDevice())
            .append("isHasDevice", getIsHasDevice())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("tiresTotal", getTiresTotal())
            .append("isDelete", getIsDelete())
            .append("createTime", getCreateTime())
            .append("createId", getCreateId())
            .append("createBy", getCreateBy())
            .append("createName", getCreateName())
            .append("modifyTime", getModifyTime())
            .append("modifyId", getModifyId())
            .append("modifyBy", getModifyBy())
            .toString();
    }
}
