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

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 车辆资料弹窗DTO
 * 
 * @author Eton Woo
 * @date 2022/03/21
 */
@Data
@ApiModel("车辆资料弹窗DTO")
public class VehiclePopupDTO implements Serializable {

	private static final long serialVersionUID = -7741060632016683479L;

	@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 = "车辆类型：数据字典VEHICLE_TYPE: 1自有、2挂靠、3临时")
	private String typeName;

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

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

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

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

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

	@ApiModelProperty(value = "所属组织ID")
	private Long organizationId;

	@ApiModelProperty(value = "所属组织编码")
	private String organizationCode;

	@ApiModelProperty(value = "所属组织名称")
	private String organizationName;

	@ApiModelProperty(value = "所属部门ID")
	private String departmentId;

	@ApiModelProperty(value = "所属部门编码")
	private String departmentCode;

	@ApiModelProperty(value = "所属部门名称")
	private String departmentName;

	@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;

	@ApiModelProperty(value = "里程管理:0：否 1：是 数据字典MILEAGE_MANAGEMENT")
	private Integer mileageManagement;

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

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

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

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

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

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

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

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

	@ApiModelProperty(value = "容器ID")
	private String containerId;

	@ApiModelProperty(value = "容器编码")
	private String containerCode;

	@ApiModelProperty(value = "容器名称")
	private String containerName;

	@ApiModelProperty(value = "车辆归属")
	private Integer vehicleAscription;

	@ApiModelProperty(value = "车辆归属")
	private String vehicleAscriptionName;

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

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

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

	@ApiModelProperty(value = "车辆规格")
	private String vehicleSpec;
}
