package com.yh.saas.plugin.news.command;

import java.util.Date;
import java.util.List;

import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.winsea.svc.base.base.entity.CommonVessel;
import com.yh.saas.plugin.news.vo.DeptInfoVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 * 通知通函保存入参
 * </p>
 *
 * @author wxg
 * @since 2019-10-15
 */
@Data
public class CircularManagementInfoSaveCommand {

	@ApiModelProperty(value = "主键id", name = "id")
	private String id;

	@ApiModelProperty(value = "公司ID", name = "compId")
	@NotNull(message = "公司compId不能为空")
	private String compId;

	@ApiModelProperty(value = "适用部门id", name = "deptId")
	private String deptId;

	@ApiModelProperty(value = "适用部门名称", name = "deptName")
	private String deptName;

	@ApiModelProperty(value = "通函类别ID", name = "typeId")
	private String typeId;

	@ApiModelProperty(value = "通函类别名称", name = "circularTypeName")
	private String circularTypeName;

	@ApiModelProperty(value = "通函编码", name = "circularCode")
	private String circularCode;

	@ApiModelProperty(value = "发布日期", name = "dateOfIssue")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
	private Date dateOfIssue;

	@ApiModelProperty(value = "主题", name = "theme")
	private String theme;

	@ApiModelProperty(value = "状态ID", name = "statusId")
	private String statusId;

	@ApiModelProperty(value = "状态", name = "status")
	private String status;

	@ApiModelProperty(value = "状态英文", name = "statusEn")
	private String statusEn;

	@ApiModelProperty(value = "是否学习反馈", name = "learnFeedback")
	@NotNull(message = "是否学习反馈learnFeedback不能为空")
	private Boolean learnFeedback;

	@ApiModelProperty(value = "有效期", name = "validityPeriod")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
	private Date validityPeriod;

	@ApiModelProperty(value = "是否永久有效", name = "usefulLife")
	@NotNull(message = "是否永久有效usefulLife不能为空")
	private Boolean usefulLife;

	@ApiModelProperty(value = "通函通知", name = "attachmentPath")
	private String attachmentPath;

	@ApiModelProperty(value = "附件", name = "appendixPath")
	private String appendixPath;

	@ApiModelProperty(value = "接收船舶ID", name = "receiveVesselId")
	private String receiveVesselId;

	@ApiModelProperty(value = "接收部门ID", name = "receiveDeptId")
	private String receiveDeptId;

	private String remarks;

	private List<CommonVessel> receiveVessel;

	private List<DeptInfoVo> receiveDept;

}
