package com.prolog.rdc.tms.model.vo.print;

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

import javax.validation.constraints.Max;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

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

@Data
public class PrinterTemplateVO implements Serializable {

	private static final long serialVersionUID = -4861634348540468333L;

	@ApiModelProperty(value = "id", required = true, dataType = "Long")
	private Long id;

	@ApiModelProperty(value = "方案名称", required = true, dataType = "String")
	@NotEmpty(message = "方案名称不能为空")
	private String planName;

	@ApiModelProperty(value = "方案编码", required = true, dataType = "String")
	@NotEmpty(message = "方案编码不能为空")
	private String planCode;

	@ApiModelProperty(value = "单位类型 0:货主，1:供应商，2:客户，3:服务商", required = true, dataType = "String")
	private String companyType;

	@ApiModelProperty(value = "单位ID", required = true, dataType = "Long")
	private Long companyId;

	@ApiModelProperty(value = "单位编码", required = true, dataType = "String")
	private String companyCode;

	@ApiModelProperty(value = "单位名称", required = true, dataType = "String")
	private String companyName;

	@ApiModelProperty(value = "模块高度", required = true, dataType = "BigDecimal")
	@Max(value = 999999, message = "模块高度长度过长")
	private BigDecimal templateHeight;

	@ApiModelProperty(value = "模版宽度", required = true, dataType = "BigDecimal")
	@Max(value = 999999, message = "模版宽度长度过长")
	private BigDecimal templateWide;

	@ApiModelProperty(value = "模版名称", required = true, dataType = "String")
	@NotEmpty(message = "模版名称不能为空")
	private String templateName;

	@ApiModelProperty(value = "模版地址", required = true, dataType = "String")
	@NotEmpty(message = "模版地址不能为空")
	private String templatePath;

	@ApiModelProperty(value = "模版类型 0:纸单 1:标签", required = true, dataType = "String")
	@NotEmpty(message = "模版类型不能为空")
	private String templateType;

	@ApiModelProperty(value = "状态0:停用，1:启用", required = true, dataType = "String")
	@NotEmpty(message = "状态不能为空")
	private String status;

	@ApiModelProperty(value = "备注", dataType = "String")
	private String remark;

	@ApiModelProperty(value = "仓库ID", dataType = "Long")
	private Long warehouseId;

	@ApiModelProperty(value = "仓库编码", dataType = "String")
	private String warehouseCode;

	@ApiModelProperty(value = "仓库名称", dataType = "String")
	private String warehouseName;

}