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

import java.io.Serializable;
import java.util.List;

import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import com.prolog.product.core.base.group.AddGroup;
import com.prolog.product.core.base.group.EditGroup;
import com.prolog.rdc.tms.model.vo.SysImportTempletdAddVO;

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

/**
 *
 * 导入配置模板汇总 VO
 *
 *
 * @className: SysImportTemplethAddVO
 * @author: kh
 * @creationTime: 2022-01-12 10:12:37
 * @description:
 * @modifier:
 * @modifyTime:
 * @reviseRemarks:
 *
 * @version :1.0.0
 *
 */
@Data
@ApiModel("导入配置模板汇总 VO新增")
public class SysImportTemplethAddVO implements Serializable {

	private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = "导入对象编码", required = true)
	@Size(max = 32, message = "导入对象编码，最大长度32", groups = { AddGroup.class, EditGroup.class })
	@NotBlank(message = "导入对象编码不应该为空")
	private String importObjNo;

	@ApiModelProperty(value = "导入对象名称", required = true)
	@Size(max = 30, message = "导入对象名称，最大长度30", groups = { AddGroup.class, EditGroup.class })
	@NotBlank(message = "导入对象名称不应该为空")
	private String importObjName;

	@ApiModelProperty(value = "模板名称", required = true)
	@Size(max = 100, message = "模板名称最大长度100", groups = { AddGroup.class, EditGroup.class })
	@NotBlank(message = "模板名称不应该为空")
	private String templeteName;

	@ApiModelProperty(value = "是否启用，0否，1是", required = true)
	@Min(value = 0, message = "最小只能为0")
	@Max(value = 1, message = "最大只能为1")
	@NotNull(message = "是否启用，0否，1是必填", groups = { AddGroup.class, EditGroup.class })
	private Integer status;

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

	@ApiModelProperty(value = "明细", required = true)
	@Valid
	@NotEmpty(message = "明细不应该为空")
	List<SysImportTempletdAddVO> list;
}
