package com.prolog.rdc.tms.model.dto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 车辆资料查看DTO
 * 
 * @author Eton Woo
 * @date 2022/03/14
 */
@Data
@ApiModel("车型资料查看DTO")
public class VehicleCheckDTO implements Serializable {

	private static final long serialVersionUID = -1763218030910368074L;

	@ApiModelProperty(value = "车辆ID")
	private Long id;

	@ApiModelProperty(value = "车辆编码")
	private String code;

	@ApiModelProperty(value = "车牌号")
	private String plateNumber;

	@ApiModelProperty(value = "车辆类型：数据字典VEHICLE_TYPE: 1自有、2挂靠、3临时")
	private Integer type;

	@ApiModelProperty(value = "隶属机构ID")
	private Long affiliationId;

	@ApiModelProperty(value = "隶属机构编码")
	private String affiliationCode;

	@ApiModelProperty(value = "隶属机构名称")
	private String affiliationName;

	@ApiModelProperty(value = "车型ID")
	private Long vehicleTypeId;

	@ApiModelProperty(value = "车型编码")
	private String vehicleTypeCode;

	@ApiModelProperty(value = "车型名称")
	private String vehicleTypeName;

	@ApiModelProperty(value = "车型品牌 数据字典VEHICLE_TYPE_BRAND：1长安、2依维柯")
	private Integer brand;

	@ApiModelProperty(value = "车型类别 数据字典VEHICLE_TYPE_CATEGORY：1冷藏车、2平顶车、3厢式货车")
	private Integer typeCategory;

	@ApiModelProperty(value = "长(m)")
	private BigDecimal length;

	@ApiModelProperty(value = "宽(m)")
	private BigDecimal width;

	@ApiModelProperty(value = "高(m)")
	private BigDecimal height;

	@ApiModelProperty(value = "最大行驶里程(km)")
	private BigDecimal maxMileage;

	@ApiModelProperty(value = "载重(kg)")
	private BigDecimal weight;

	@ApiModelProperty(value = "载方(m³)")
	private BigDecimal volume;

	@ApiModelProperty(value = "GPS设备生产厂商 数据字典表DEVICE_COMPANY：1易流、2捷依、3G7")
	private Integer deviceCompany;

	@ApiModelProperty(value = "GPS设备ID")
	private Long deviceId;

	@ApiModelProperty(value = "GPS设备编码")
	private String deviceCode;

	@ApiModelProperty(value = "GPS设备名称")
	private String deviceName;

	@ApiModelProperty(value = "备注")
	private String memo;

	@ApiModelProperty(value = "字符属性扩展1")
	private String extStr1;

	@ApiModelProperty(value = "字符属性扩展2")
	private String extStr2;

	@ApiModelProperty(value = "字符属性扩展3")
	private String extStr3;

	@ApiModelProperty(value = "字符属性扩展4")
	private String extStr4;

	@ApiModelProperty(value = "字符属性扩展5")
	private String extStr5;

	@ApiModelProperty(value = "数值属性扩展1")
	private BigDecimal extNum1;

	@ApiModelProperty(value = "数值属性扩展2")
	private BigDecimal extNum2;

	@ApiModelProperty(value = "数值属性扩展3")
	private BigDecimal extNum3;

	@ApiModelProperty(value = "数值属性扩展4")
	private BigDecimal extNum4;

	@ApiModelProperty(value = "数值属性扩展5")
	private BigDecimal extNum5;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展1")
	private Date extDate1;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展2")
	private Date extDate2;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展3")
	private Date extDate3;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展4")
	private Date extDate4;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展5")
	private Date extDate5;
}
