package com.dcsoft.system.car.domain;

import java.util.Date;

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

/**
 * 车辆通行记录对象 tb_car_record
 *
 * @author nichun
 * @date 2023-07-26
 */
public class TbCarRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 停车场编号 */
    private String parkCode;

    /** 过车信息唯一标识 */
    private String uniqueNo;

    /** 过车行驶方向 0 入场过车  1出场过车 */
    @Excel(name = "过车行驶方向 0 入场过车  1出场过车")
    private String direction;

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

    /** 卡号 */
    @Excel(name = "卡号")
    private String cardNo;

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

    /** 车辆类型 */
    @Excel(name = "车辆类型")
    private String vehType;

    /** 车辆颜色 */
    @Excel(name = "车辆颜色")
    private String vehColor;

    /** 操作员账号 */
    @Excel(name = "操作员账号")
    private String operatorName;

    /** 放行的终端编号 */
    private String terminalNo;

    /** 出入口名称 */
    @Excel(name = "出入口名称")
    private String gateName;

    /** 放行车道名称 */
    @Excel(name = "放行车道名称")
    private String laneName;

    /** 出场对应的入场时间(可选) */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出场对应的入场时间(可选)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inPassTime;

    /** 出场对应的入场车辆唯一编号(可选) */
    @Excel(name = "出场对应的入场车辆唯一编号(可选)")
    private String inUniqueNo;

    /** 出场应付金额 */
    private String shouldPay;

    /** (可选)出场实付金额 单位:分 */
    private String actualPay;

    /** 过车图片相对路径 */
    private String picFilePath;

    /** 车牌图片相对路径 */
    private String picPlateFilePath;

    /** 过车图片数据 (可选)base64 */
    @Excel(name = "过车图片数据 (可选)base64")
    private String picVehicleFileData;

    /** 车牌图片数据 (可选)base64 */
    private String picPlateFileData;

    /** 数据类型 0 实时数据 1历史数据 */
    private String dataType;

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

    public Long getId()
    {
        return id;
    }
    public void setParkCode(String parkCode)
    {
        this.parkCode = parkCode;
    }

    public String getParkCode()
    {
        return parkCode;
    }
    public void setUniqueNo(String uniqueNo)
    {
        this.uniqueNo = uniqueNo;
    }

    public String getUniqueNo()
    {
        return uniqueNo;
    }
    public void setDirection(String direction)
    {
        this.direction = direction;
    }

    public String getDirection()
    {
        return direction;
    }
    public void setPlateNo(String plateNo)
    {
        this.plateNo = plateNo;
    }

    public String getPlateNo()
    {
        return plateNo;
    }
    public void setCardNo(String cardNo)
    {
        this.cardNo = cardNo;
    }

    public String getCardNo()
    {
        return cardNo;
    }
    public void setPassTime(Date passTime)
    {
        this.passTime = passTime;
    }

    public Date getPassTime()
    {
        return passTime;
    }
    public void setVehType(String vehType)
    {
        this.vehType = vehType;
    }

    public String getVehType()
    {
        return vehType;
    }
    public void setVehColor(String vehColor)
    {
        this.vehColor = vehColor;
    }

    public String getVehColor()
    {
        return vehColor;
    }
    public void setOperatorName(String operatorName)
    {
        this.operatorName = operatorName;
    }

    public String getOperatorName()
    {
        return operatorName;
    }
    public void setTerminalNo(String terminalNo)
    {
        this.terminalNo = terminalNo;
    }

    public String getTerminalNo()
    {
        return terminalNo;
    }
    public void setGateName(String gateName)
    {
        this.gateName = gateName;
    }

    public String getGateName()
    {
        return gateName;
    }
    public void setLaneName(String laneName)
    {
        this.laneName = laneName;
    }

    public String getLaneName()
    {
        return laneName;
    }
    public void setInPassTime(Date inPassTime)
    {
        this.inPassTime = inPassTime;
    }

    public Date getInPassTime()
    {
        return inPassTime;
    }
    public void setInUniqueNo(String inUniqueNo)
    {
        this.inUniqueNo = inUniqueNo;
    }

    public String getInUniqueNo()
    {
        return inUniqueNo;
    }
    public void setShouldPay(String shouldPay)
    {
        this.shouldPay = shouldPay;
    }

    public String getShouldPay()
    {
        return shouldPay;
    }
    public void setActualPay(String actualPay)
    {
        this.actualPay = actualPay;
    }

    public String getActualPay()
    {
        return actualPay;
    }
    public void setPicFilePath(String picFilePath)
    {
        this.picFilePath = picFilePath;
    }

    public String getPicFilePath()
    {
        return picFilePath;
    }
    public void setPicPlateFilePath(String picPlateFilePath)
    {
        this.picPlateFilePath = picPlateFilePath;
    }

    public String getPicPlateFilePath()
    {
        return picPlateFilePath;
    }
    public void setPicVehicleFileData(String picVehicleFileData)
    {
        this.picVehicleFileData = picVehicleFileData;
    }

    public String getPicVehicleFileData()
    {
        return picVehicleFileData;
    }
    public void setPicPlateFileData(String picPlateFileData)
    {
        this.picPlateFileData = picPlateFileData;
    }

    public String getPicPlateFileData()
    {
        return picPlateFileData;
    }
    public void setDataType(String dataType)
    {
        this.dataType = dataType;
    }

    public String getDataType()
    {
        return dataType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("parkCode", getParkCode())
            .append("uniqueNo", getUniqueNo())
            .append("direction", getDirection())
            .append("plateNo", getPlateNo())
            .append("cardNo", getCardNo())
            .append("passTime", getPassTime())
            .append("vehType", getVehType())
            .append("vehColor", getVehColor())
            .append("operatorName", getOperatorName())
            .append("terminalNo", getTerminalNo())
            .append("gateName", getGateName())
            .append("laneName", getLaneName())
            .append("inPassTime", getInPassTime())
            .append("inUniqueNo", getInUniqueNo())
            .append("shouldPay", getShouldPay())
            .append("actualPay", getActualPay())
            .append("picFilePath", getPicFilePath())
            .append("picPlateFilePath", getPicPlateFilePath())
            .append("picVehicleFileData", getPicVehicleFileData())
            .append("picPlateFileData", getPicPlateFileData())
            .append("dataType", getDataType())
            .toString();
    }
}
