package com.nantian.cloud.jly.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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 org.springframework.beans.factory.annotation.Value;

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

/**
 * <p>
 * 审查计划表
 * </p>
 *
 * @author scott
 * @since 2020-08-10
 */
@Data
@TableName("check_plan")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = " 审查计划表")
public class CheckPlan extends Model<CheckPlan> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id")
    @ApiModelProperty(value = "id")
    @Value("")
    private Long id;

    /**
     * 序号
     */
    @ApiModelProperty(value = "序号")
    private Integer num;

    /**
     * 报告编号
     */
    @ApiModelProperty(value = "报告编号")
    private String reportId;

    /**
     * 审查计划
     */
    @ApiModelProperty(value = "审查计划")
    private String name;

    /**
     * 审查年度
     */
    @ApiModelProperty(value = "审查年度")
    private String year;

    /**
     * 审查目标 1，部分重点用能单位；2，全省重点用能单位
     */
    @ApiModelProperty(value = "审查目标 1，部分重点用能单位；2，全省重点用能单位")
    private String checkPurpose;

    /**
     * 审查方法 1，资料审查；2，资料及现场审查
     */
    @ApiModelProperty(value = " 审查方法 1，资料审查；2，资料及现场审查")
    private String checkMethod;

    /**
     * 审查类型 1，管理审查；2，单位自查
     */
    @ApiModelProperty(value = "审查类型 1，管理审查；2，单位自查")
    private String checkType;

    /**
     * 状态进度 1，未提交资料；2，在线审查；3，线下抽查；
     */
    @ApiModelProperty(value = "状态进度 1，未提交资料；2，在线审查；3，线下抽查；")
    private String checkStatus;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间")
    private Date beginTime;

    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间")
    private Date endTime;

    /**
     * 审查资料ID
     */
    @ApiModelProperty(value = "审查资料ID")
    private Long checkRegionId;

    /**
     * 说明
     */
    @ApiModelProperty(value = "说明")
    private String comment;

    /**
     * 下发状态 1,未下发，2已下发
     */
    @ApiModelProperty(value = "下发状态 1,未下发，2已下发")
    private String sendFlag;

    /**
     * 审查依据文件
     */
    @ApiModelProperty(value = "审查依据文件")
    private String basisFile;

    /**
     * 用户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;

    /**
     * 地区
     */
    @ApiModelProperty(value = "地区")
    private String meaning;

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