package com.nantian.cloud.jljc.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 报表-能源报表信息
 * @since 2020-09-16
 * @author stz
 */
@Data
@TableName("t_report")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "报表-能源报表信息")
public class TReport extends Model<TReport> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id")
    @ApiModelProperty(value = "报表-能源报表信息")
    private Long id;

    /**
     * 企业社会信用代码
     */
    @ApiModelProperty(value = "企业社会信用代码")
    private String enterpriseCode;

    /**
     * 报表年度
     */
    @ApiModelProperty(value = "报表年度")
    private Integer year;

    /**
     * 填报负责人
     */
    @ApiModelProperty(value = "填报负责人")
    private String director;

    /**
     * 填报人员
     */
    @ApiModelProperty(value = "填报人员")
    private String personnel;

    /**
     * 电话
     */
    @ApiModelProperty(value = "电话")
    private String tel;

    /**
     * 填报时间
     */
    @ApiModelProperty(value = "填报时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd", timezone = "GMT+8")
    private Date date;

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

    /**
     * 区县审核人
     */
    @ApiModelProperty(value = "区县审核人")
    private String auditor;

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

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

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

    /**
     * 州市审核状态（1：待州市审核，2：州市审核通过，4：州市审核不过）
     */
    @ApiModelProperty(value = "州市审核状态（1：待州市审核，2：州市审核通过，4：州市审核不过）")
    private String auditStatus2;

    /**
     * 州市审核人
     */
    @ApiModelProperty(value = "州市审核人")
    private String auditor2;

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

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

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

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

    /**
     * 省审核人
     */
    @ApiModelProperty(value = "省审核人")
    private String auditor3;

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

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

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

    /**
     * 上报状态（1：未填写，2：已填写，3：已上报）
     */
    @ApiModelProperty(value = " 上报状态（1：未填写，2：已填写，3：已上报）")
    private String reportStatus;

    /**
     * 报表状态（1：上报至省级，2：停留在州市级）
     */
    @ApiModelProperty(value = " 报表状态（1：上报至省级，2：停留在州市级）")
    private String provStatus;

    /**
     * 企业超期申请，1：申请，0：未申请
     */
    @ApiModelProperty(value = "企业超期申请，1：申请，0：未申请")
    private String modifyFlag;

    /**
     * 企业超期申请原因
     */
    @ApiModelProperty(value = "企业超期申请原因")
    private String modifyComments;

    /**
     * 审批超期申请回复意见
     */
    @ApiModelProperty(value = "审批超期申请回复意见")
    private String modifyAuditRemark;


    /**
     * 超期申请审核状态（1：超期申请待审核，2：超期申请通过，3：超期申请失败）
     */
    @ApiModelProperty(value = "超期申请审核状态（1：超期申请待审核，2：超期申请通过，3：超期申请失败）")
    private String modifyAuditStatus;

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

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

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

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

    /**
     * 报表类型：
     * 1：表1-1 基本信息表;
     * 2：表1-2 能源消费结构表;
     * 2-1：表1-2-1能源产出表(只有加工转换企业填写
     * 3：表1-3 单位产品综合能耗指标情况表;
     * 3-1：表1-3-1可比单位产品综合能耗表;(只有水泥行业填写)
     * 4：表1-4 节能目标完成情况;
     * 5：表1-5 节能改造项目情况表;)
     */
    @ApiModelProperty(value = "报表类型：" +
            "1：表1-1 基本信息表;" +
            "2：表1-2 能源消费结构表;" +
            "2-1：表1-2-1能源产出表(只有加工转换企业填写)" +
            "3：表1-3 单位产品综合能耗指标情况表;" +
            "3-1：表1-3-1可比单位产品综合能耗表;(只有水泥行业填写)"+
            "4：表1-4 节能目标完成情况;" +
            "5：表1-5 节能改造项目情况表;")
    private String type;

    /**
     * 报表id
     */
    @ApiModelProperty(value = "报表id")
    private Integer reportId;

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