package com.dcsoft.system.car.domain;

import com.dcsoft.common.core.annotation.Excel;
import com.dcsoft.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 车辆信息对象 tb_car
 *
 * @author nichun
 * @date 2023-07-24
 */
public class TbCar extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 用户id */
    private Long userId;

    /** 车辆类型 0：访客车辆 1：物流车辆 */
    private Integer carType;

    /** 驾照图片地址 */
    private String drivingUrl;

    /** 车牌号码 */
    @Excel(name = "车牌号码")
    private String carNo;

    /** 车牌类型 4-民用车双行尾牌 8- 新能源车牌 0- 标准民用车与军车车牌 */
    @Excel(name = "车牌类型 4-民用车双行尾牌 8- 新能源车牌 0- 标准民用车与军车车牌")
    private String plateType;

    /** 车牌颜色 0- 蓝色车牌 1- 黄色车牌 2- 白色车牌 4- 绿色车牌 */
    @Excel(name = "车牌颜色 0- 蓝色车牌 1- 黄色车牌 2- 白色车牌 4- 绿色车牌")
    private String plateColor;

    /** 车牌颜色名称 0- 蓝色车牌 1- 黄色车牌 2- 白色车牌 4- 绿色车牌 */
    private String plateColorName;

    /** 卡号（同步用） */
    private String cardNo;

    /** 有效开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date struStartTime;

    /** 有效结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date struStopTime;

    /** 所属人员 */
    @Excel(name = "所属人员")
    private String personNo;

    /** 是否删除 1 是删除 2是未删除 */
    private String isDel;

    /** 同步标识 sync 0是未同步 1是已同步 */
    @Excel(name = "同步标识 sync 0是未同步 1是已同步")
    private String sync;

    private String ownerName;

    private String ownerPhone;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getPlateColorName() {
        return plateColorName;
    }

    public void setPlateColorName(String plateColorName) {
        this.plateColorName = plateColorName;
    }

    public Integer getCarType() {
        return carType;
    }

    public void setCarType(Integer carType) {
        this.carType = carType;
    }

    public String getDrivingUrl() {
        return drivingUrl;
    }

    public void setDrivingUrl(String drivingUrl) {
        this.drivingUrl = drivingUrl;
    }

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

    public Long getId()
    {
        return id;
    }
    public void setCarNo(String carNo)
    {
        this.carNo = carNo;
    }

    public String getCarNo()
    {
        return carNo;
    }
    public void setPlateType(String plateType)
    {
        this.plateType = plateType;
    }

    public String getPlateType()
    {
        return plateType;
    }
    public void setPlateColor(String plateColor)
    {
        this.plateColor = plateColor;
    }

    public String getPlateColor()
    {
        return plateColor;
    }
    public void setCardNo(String cardNo)
    {
        this.cardNo = cardNo;
    }

    public String getCardNo()
    {
        return cardNo;
    }
    public void setStruStartTime(Date struStartTime)
    {
        this.struStartTime = struStartTime;
    }

    public Date getStruStartTime()
    {
        return struStartTime;
    }
    public void setStruStopTime(Date struStopTime)
    {
        this.struStopTime = struStopTime;
    }

    public Date getStruStopTime()
    {
        return struStopTime;
    }
    public void setPersonNo(String personNo)
    {
        this.personNo = personNo;
    }

    public String getPersonNo()
    {
        return personNo;
    }
    public void setIsDel(String isDel)
    {
        this.isDel = isDel;
    }

    public String getIsDel()
    {
        return isDel;
    }
    public void setSync(String sync)
    {
        this.sync = sync;
    }

    public String getSync()
    {
        return sync;
    }

    public String getOwnerName() {
        return ownerName;
    }

    public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }

    public String getOwnerPhone() {
        return ownerPhone;
    }

    public void setOwnerPhone(String ownerPhone) {
        this.ownerPhone = ownerPhone;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("carNo", getCarNo())
            .append("plateType", getPlateType())
            .append("plateColor", getPlateColor())
            .append("cardNo", getCardNo())
            .append("struStartTime", getStruStartTime())
            .append("struStopTime", getStruStopTime())
            .append("personNo", getPersonNo())
            .append("isDel", getIsDel())
            .append("sync", getSync())
            .toString();
    }
}
