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

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

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

import com.prolog.product.core.base.group.AddGroup;
import com.prolog.product.core.base.group.EditGroup;

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

/**
 * 
 *
 * TMS系统参数表 VO
 *
 * @className :TmsBaseParameterVO
 * @author :fanzw
 * @creationTime :2020/06/29
 * @description :
 * @modifier :fanzw
 * @modifyTime :2020/06/29
 * @reviseRemarks:
 *
 * @version :1.0.0
 *
 */
@Data
@ApiModel("TMS系统参数表 VO")
public class TmsBaseParameterVO implements Serializable {

	private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = "序号")
	@NotBlank(message = "序号必填", groups = { AddGroup.class, EditGroup.class })
	private BigDecimal seqno;

	@ApiModelProperty(value = "物流中心/仓ID")
	@NotBlank(message = "物流中心/仓ID必填", groups = { AddGroup.class, EditGroup.class })
	@Size(max = 32, message = "物流中心/仓ID最大长度32", groups = { AddGroup.class, EditGroup.class })
	private String branchCode;

	@ApiModelProperty(value = "物流中心/仓名称")
	@NotBlank(message = "物流中心/仓名称必填", groups = { AddGroup.class, EditGroup.class })
	@Size(max = 64, message = "物流中心/仓名称最大长度64", groups = { AddGroup.class, EditGroup.class })
	private String branchName;

	@ApiModelProperty(value = "参数编号")
	@NotBlank(message = "参数编号必填", groups = { AddGroup.class, EditGroup.class })
	@Size(max = 32, message = "参数编号最大长度32", groups = { AddGroup.class, EditGroup.class })
	private String parameterCode;

	@ApiModelProperty(value = "参数名称")
	@NotBlank(message = "参数名称必填", groups = { AddGroup.class, EditGroup.class })
	@Size(max = 64, message = "参数名称最大长度64", groups = { AddGroup.class, EditGroup.class })
	private String parameterName;

	@ApiModelProperty(value = "分组编号")
	@Size(max = 32, message = "分组编号最大长度32", groups = { AddGroup.class, EditGroup.class })
	private String fatherParameterCode;

	@ApiModelProperty(value = "分组名称")
	@Size(max = 64, message = "分组名称最大长度64", groups = { AddGroup.class, EditGroup.class })
	private String fatherParameterName;

	@ApiModelProperty(value = "参数值")
	@NotBlank(message = "参数值必填", groups = { AddGroup.class, EditGroup.class })
	@Size(max = 64, message = "参数值最大长度64", groups = { AddGroup.class, EditGroup.class })
	private String parameterValue;

	@ApiModelProperty(value = "备注")
	@Size(max = 1024, message = "备注最大长度1024", groups = { AddGroup.class, EditGroup.class })
	private String memo;

	@ApiModelProperty(value = "扩展字段1")
	@Size(max = 128, message = "扩展字段1最大长度128", groups = { AddGroup.class, EditGroup.class })
	private String extend01;

	@ApiModelProperty(value = "扩展字段2")
	@Size(max = 128, message = "扩展字段2最大长度128", groups = { AddGroup.class, EditGroup.class })
	private String extend02;

	@ApiModelProperty(value = "扩展字段3")
	@Size(max = 128, message = "扩展字段3最大长度128", groups = { AddGroup.class, EditGroup.class })
	private String extend03;

	@ApiModelProperty(value = "扩展字段4")
	@Size(max = 128, message = "扩展字段4最大长度128", groups = { AddGroup.class, EditGroup.class })
	private String extend04;

	@ApiModelProperty(value = "扩展字段5")
	@Size(max = 128, message = "扩展字段5最大长度128", groups = { AddGroup.class, EditGroup.class })
	private String extend05;

	private int pageNum;

	private int pageSize;
}
