package com.prolog.rdc.tms.model.entity.line;

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 com.prolog.framework.core.annotation.Column;
import com.prolog.framework.core.annotation.Id;
import com.prolog.framework.core.annotation.Table;

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

/**
 * 车型资料表
 * 
 * @author Eton Woo
 * @date 2022/03/15
 */
@Data
@Table("tms_base_vehicle_type")
public class TmsBaseVehicleTypeModel implements Serializable {

	private static final long serialVersionUID = 2613775842459130172L;

	@Id
	@ApiModelProperty(value = "车型ID")
	@Column(value = "id")
	private Long id;
	
	@ApiModelProperty(value = "车型编码")
	@Column(value = "code")
	private String code;
	
	@ApiModelProperty(value = "车型名称")
	@Column(value = "name")
	private String name;
	
	@ApiModelProperty(value = "车型品牌 数据字典VEHICLE_TYPE_BRAND：1长安、2依维柯")
	@Column(value = "brand")
	private Integer brand;
	
	@ApiModelProperty(value = "车型类别 数据字典VEHICLE_TYPE_CATEGORY：1冷藏车、2平顶车、3厢式货车")
	@Column(value = "type")
	private Integer type;
	
	@ApiModelProperty(value = "长(m)")
	@Column(value = "length")
	private BigDecimal length;
	
	@ApiModelProperty(value = "宽(m)")
	@Column(value = "width")
	private BigDecimal width;
	
	@ApiModelProperty(value = "高(m)")
	@Column(value = "height")
	private BigDecimal height;
	
	@ApiModelProperty(value = "最大行驶里程(km)")
	@Column(value = "max_mileage")
	private BigDecimal maxMileage;

	@ApiModelProperty(value = "最多订单数量")
	@Column(value = "max_orders")
	private BigDecimal maxOrders;

	@ApiModelProperty(value = "最多配送客户数(最多配送网点数)")
	@Column(value = "sites")
	private BigDecimal sites;
	
	@ApiModelProperty(value = "载重(kg)")
	@Column(value = "weight")
	private BigDecimal weight;
	
	@ApiModelProperty(value = "载方(m³)")
	@Column(value = "volume")
	private BigDecimal volume;

	@ApiModelProperty(value = "最大装载体积(m3)")
	@Column(value = "max_loading_volume")
	private BigDecimal maxLoadingVolume;

	@ApiModelProperty(value = "最大装载重量(kg)")
	@Column(value = "max_loading_weight")
	private BigDecimal maxLoadingWeight;

	@ApiModelProperty(value = "最大装载件数")
	@Column(value = "max_loading_pcs")
	private BigDecimal maxLoadingPcs;

	@ApiModelProperty(value = "最大装载率")
	@Column(value = "max_loading_ratio")
	private BigDecimal maxLoadingRatio;

	@ApiModelProperty(value = "最小装载率")
	@Column(value = "min_loading_ratio")
	private BigDecimal minLoadingRatio;

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

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

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

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

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

	@ApiModelProperty(value = "所属部门名称")
	@Column(value = "department_name")
	private String departmentName;
	
	@ApiModelProperty(value = "状态:0：停用 1：启用 数据字典MAINDATA_STATUS")
	@Column(value = "status")
	private Integer status;
	
	@ApiModelProperty(value = "来源  数据字典SOURCE：1.新增 2.excel导入 3.接口导入")
	@Column(value = "source")
	private Integer source;
	
	@ApiModelProperty(value = "导入批次号")
	@Column(value = "import_batch_number")
	private String importBatchNumber;
	
	@ApiModelProperty(value = "公司ID")
	@Column(value = "enterprise_id")
	private Long enterpriseId;
	
	@ApiModelProperty(value = "公司名称")
	@Column(value = "enterprise_name")
	private String enterpriseName;
	
	@ApiModelProperty(value = "字符属性扩展1")
	@Column(value = "ext_str1")
	private String extStr1;

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

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

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

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

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

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

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

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

	@ApiModelProperty(value = "数值属性扩展5")
	@Column(value = "ext_num5")
	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")
	@Column(value = "ext_date1")
	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")
	@Column(value = "ext_date2")
	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")
	@Column(value = "ext_date3")
	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")
	@Column(value = "ext_date4")
	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")
	@Column(value = "ext_date5")
	private Date extDate5;
	
	@ApiModelProperty(value = "备注")
	@Column(value = "memo")
	private String memo;
	
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "创建时间")
	@Column(value = "createtime")
	private Date createtime;

	@ApiModelProperty(value = "创建人")
	@Column(value = "createperson")
	private String createperson;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "修改时间")
	@Column(value = "updatetime")
	private Date updatetime;

	@ApiModelProperty(value = "修改人")
	@Column(value = "updateperson")
	private String updateperson;
}
