

package com.nantian.cloud.jljc.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

/**
 * 法规和标准
 *
 * @author
 * @date 2020-08-03
 */
@Data
@TableName("regulation_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "法规和标准")
public class RegulationInfo extends Model<RegulationInfo> {
	private static final long serialVersionUID = 1L;

	/**
	 * ID
	 */
	@TableId(value = "id")
	@ApiModelProperty(value = "ID")
	private long id;

	/**
	 * regulationCode法规/标准编码
	 */
	@ApiModelProperty(value = "法规/标准编码")
	private String regulationCode;

	/**
	 * regulationName法规/标准名称
	 */
	@ApiModelProperty(value = "法规/标准名称")
	private String regulationName;

	/**
	 *法规/标准类型（1：国家法规，2：地方法规，3：国家标准，4：地方标准）
	 */
	@ApiModelProperty(value = "法规/标准类型，" +
			"1：国家法规，" +
			"2：地方法规，" +
			"3：国家标准，" +
			"4：地方标准")
	private Byte regulationType;

	/**
	 * 法规/标准类别（1：强制，2：推荐）
	 */
	@ApiModelProperty(value = "法规/标准类别，" +
			"1：强制，" +
			"2：推荐")
	private Byte regulationCategory;

	/**
	 * 法规/标准描述
	 */
	@ApiModelProperty(value = "法规/标准描述")
	private String regulationDetail;

	/**
	 * 法规/标准来源
	 */
	@ApiModelProperty(value = "法规/标准来源")
	private String regulationOrigin;

	/**
	 * 法规/标准文件存放路径
	 */
	@ApiModelProperty(value = "法规/标准文件存放路径")
	private String regulationFile;

	/**
	 * 所属行业编码
	 */
	@ApiModelProperty(value = "所属行业编码")
	private String industryId;

	/**
	 * 状态（1：现行，2：即将执行，4：废除）
	 */
	@ApiModelProperty(value = "状态，" +
			"1：现行，" +
			"2：即将执行，" +
			"4：废除")
	private Byte regulationStatus;

	/**
	 * 发布日期
	 */
	@ApiModelProperty(value = "发布日期")
	private Date publishDate;

	/**
	 * 执行日期
	 */
	@ApiModelProperty(value = "执行日期")
	private Date executeDate;

	/**
	 * 审核状态（1：待审核，2：审核通过，4：审核不过）
	 */
	@ApiModelProperty(value = "审核状态，" +
			"1：待审核，" +
			"2：审核通过，" +
			"4：审核不过")
	private Byte auditStatus;

	/**
	 * 审核人id
	 */
	@ApiModelProperty(value = "审核人id")
	private Long auditorId;

	/**
	 * 审核意见
	 */
	@ApiModelProperty(value = "审核意见")
	private String auditRemark;

	/**
	 *审核时间
	 */
	@ApiModelProperty(value = "审核时间")
	private Date auditDate;

	/**
	 * 用户id
	 */
	@ApiModelProperty(value = "用户id")
	private Integer userid;

	/**
	 * 更新时间
	 */
	@ApiModelProperty(value = "更新时间")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date updateTime;

	/**
	 * 注销状态
	 */
	@ApiModelProperty(value = "注销状态（1：未删除，4：已删除）")
	private String delFlag;

	/**
	 * 部门id
	 */
	@ApiModelProperty(value = "部门id")
	private Integer deptId;

	/**
	 * 主键值
	 */
	@Override
	protected Serializable pkVal() {
		return this.id;
	}
}
