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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.prolog.framework.core.annotation.Id;
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;

/**
 * Company: 湖北普罗格科技股份有限公司
 *
 * @author zhangsj
 * @since 2022/3/16 18:27
 */
@Data
public class ContainerDTO implements Serializable {

	private static final long serialVersionUID = -2186438736071079479L;

	@ApiModelProperty(value = "容器ID")
	@Id
	private Long id;

	@ApiModelProperty(value = "物流中心/仓ID")
	private Long branchId;

	@ApiModelProperty(value = "物流中心/仓编号")
	private String branchCode;

	@ApiModelProperty(value = "物流中心/仓名称")
	private String branchName;

	@ApiModelProperty(value = "容器编号")
	private String code;

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

	@ApiModelProperty(value = "容器类型（01：托盘 02：周转箱 03：保温箱）")
	private Integer type;

	@ApiModelProperty(value = "容器类型名称")
	private String typeName;

	@ApiModelProperty(value = "设备类型")
	private Integer deviceType;

	@ApiModelProperty(value = "设备类型名称")
	private String deviceTypeName;

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

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

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

	@ApiModelProperty(value = "状态")
	private Integer status;

	@ApiModelProperty(value = "状态名称")
	private String statusName;

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

	@ApiModelProperty(value = "企业ID")
	private Long enterpriseId;

	@ApiModelProperty(value = "企业名称")
	private String enterpriseName;

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

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

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

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

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

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

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

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

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

	@ApiModelProperty(value = "体积(m3)")
	private BigDecimal volume;

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

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

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

	@ApiModelProperty(value = "归属")
	private String belongTo;

	@ApiModelProperty(value = "部门id")
	private String departmentId;

	@ApiModelProperty(value = "部门code")
	private String departmentCode;

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

	@ApiModelProperty(value = "归属名称")
	private String belongToName;

	@ApiModelProperty(value = "车辆关联id")
	private String linkId;

}
