package com.pj.project.tb_vehicle;

import java.io.Serializable;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.EqualsAndHashCode;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * Model: tb_vehicle -- 车辆
 * @author loovi
 */
@Data
@Accessors(chain = true)
@TableName(TbVehicle.TABLE_NAME)
@EqualsAndHashCode(callSuper = false)
public class TbVehicle extends Model<TbVehicle> implements Serializable {

	// ---------- 模块常量 ----------
	/**
	 * 序列化版本id
	 */
	private static final long serialVersionUID = 1L;
	/**
	 * 此模块对应的表名
	 */
	public static final String TABLE_NAME = "tb_vehicle";
	/**
	 * 此模块对应的权限码
	 */
	public static final String PERMISSION_CODE = "tb-vehicle";
	public static final String PERMISSION_CODE_ADD = "tb-vehicle-add";
	public static final String PERMISSION_CODE_EDIT = "tb-vehicle-edit";
	public static final String PERMISSION_CODE_DEL = "tb-vehicle-del";




	// ---------- 表中字段 ----------
	/**
	 * 主键
	 */
	@TableId(type = IdType.AUTO)
	@JsonSerialize(using = ToStringSerializer.class)
	private Long id;

	/**
	 * 车牌
	 */
	private String vehiclePlate;

	/**
	 * 贸易区域id
	 */
	private Integer tradeAreaId;

	/**
	 * 贸易区域名称
	 */
	private String tradeAreaName;

	/**
	 * 所有人
	 */
	private String owner;

	/**
	 * 司机ID
	 */
	private Long driverId;

	/**
	 * 司机名称
	 */
	private String driverName;

	/**
	 * 司机电话
	 */
	private String driverPhone;

	/**
	 * 车辆类型
	 */
	private Integer vehicleType;

	/**
	 * 类型父id
	 */
	private Integer parentId;

	/**
	 * 车辆尺寸
	 */
	private String vehicleSize;

	/**
	 * 车辆品牌型号
	 */
	private String vehicleModel;

	/**
	 * 核定载质量
	 */
	private String vehicleLoad;

	/**
	 * 车辆自重
	 */
	private String vehicleWeight;

	/**
	 * 车辆状态(1=空闲 2=作业中)
	 */
	private Integer vehicleStatus;

	/**
	 * 创建者id
	 */
	private String createBy;

	/**
	 * 创建者姓名
	 */
	private String createName;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date createTime;

	/**
	 * 更新者id
	 */
	private String updateBy;

	/**
	 * 更新者名称
	 */
	private String updateName;

	/**
	 * 更新时间
	 */
	private Date updateTime;

	/**
	 * 删除状态
	 */
	private Integer deleteStatus;

	/**
	 * 审核状态(0=待审核，1=已通过，2=不通过)
	 */
	private Integer auditStatus;

	/**
	 * 审核人
	 */
	private String auditBy;

	/**
	 * 审核不通过原因
	 */
	private String nopassReason;

	/**
	 * 审核时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date auditTime;


	/**
	 * 地方平台的内部业务编号，每次申请都是新编号
	 */
	private String platSeqNo;






}
