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

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.yh.saas.common.support.entity.BaseModel;
import com.yh.saas.common.support.util.query.SearchField;
import com.yh.saas.common.support.util.query.SearchMode;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 记录体系通函接收表
 * </p>
 *
 * @author wxg
 * @since 2019-10-15
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("news_circular_management_receive")
public class CircularManagementReceive extends BaseModel<CircularManagementReceive> {

	private static final long serialVersionUID = 1L;

	/**
	 * ID
	 */
	@TableId(type = IdType.INPUT)
	private String id;
	/**
	 * 公司ID
	 */
	@SearchField(mode = SearchMode.EQ)
	private String compId;
	/**
	 * 公司名
	 */
	private String compName;
	/**
	 * 通函id
	 */
	private String circularId;
	/**
	 * 通函类别ID
	 */
	@SearchField(mode = SearchMode.EQ)
	private String typeId;
	/**
	 * 通函类别名称
	 */
	private String circularTypeName;
	/**
	 * 通函编码
	 */
	private String circularCode;
	/**
	 * 发布部门ID
	 */
	@SearchField(mode = SearchMode.EQ)
	private String deptId;
	/**
	 * 发布部门
	 */
	private String deptName;
	/**
	 * 发布日期
	 */
	private Date dateOfIssue;
	/**
	 * 主题
	 */
	private String theme;
	/**
	 * 是否学习反馈
	 */
	private Boolean learnFeedback;
	/**
	 * 有效期
	 */
	private Date validityPeriod;
	/**
	 * 是否永久有效
	 */
	private Boolean usefulLife;
	/**
	 * 上传附件路径
	 */
	private String attachmentPath;
	/**
	 * 附件路径
	 */
	private String appendixPath;
	/**
	 * 船舶部门类型
	 */
	private String vesselDeptType;
	/**
	 * 船舶部门ID
	 */
	@SearchField(mode = SearchMode.EQ)
	private String vesselDeptId;
	/**
	 * 船舶部门名称
	 */
	private String vesselDeptName;
	/**
	 * 状态ID
	 */
	@SearchField(mode = SearchMode.EQ)
	private String statusId;
	/**
	 * 状态
	 */
	private String status;
	/**
	 * 状态英文
	 */
	private String statusEn;
	/**
	 * 接收日期
	 */
	private Date receiveDate;
	/**
	 * 接收人ID
	 */
	private String receiverId;
	/**
	 * 接收人名称
	 */
	private String receivrName;
	/**
	 * 接收人职务
	 */
	private String receivrDuty;
	/**
	 * 接收上传附件路径
	 */
	private String receiveAttachmentPath;
	/**
	 * 备注
	 */
	@TableField(exist = false)
	private String remarks;


	@Override
	protected Serializable pkVal() {
		return this.id;
	}
	
	public static class QueryFields {
		public static final String ID = "id";

		public static final String COMP_ID = "comp_id";

		public static final String CIRCULAR_CODE = "circular_code";

		public static final String THEME = "theme";
		
		public static final String CIRCULAR_ID = "circular_id";
		
		public static final String STATUS_ID = "status_id";

		public static final String RECEIVEDATE = "receive_date";


		private QueryFields() {

		}
	}

}
