package com.nantian.cloud.jljc.entity;

import com.baomidou.mybatisplus.annotation.TableField;
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 java.io.Serializable;
import java.util.Date;


/**
 * 监察任务表
 *
 * @author stz
 * @since 2020-09-21
 */
@Data
@TableName("t_supervise_task")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "节能监察任务表")
public class TSuperviseTask extends Model<TSuperviseTask>{

    private static final long serialVersionUID = 1L;

    /**
     * 编码
     */
    @TableId(value = "id")
    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 行业
     */
    @ApiModelProperty(value = "行业")
    private String industry;

    /**
     * 行业名称
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "行业名称")
    private String industryName;

    /**
     * 所属地区
     */
    @ApiModelProperty(value = "所属地区")
    private String locate;

    /**
     * 所属地区名称
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "所属地区名称")
    private String locateName;

    /**
     * 监察编号
     */
    @ApiModelProperty(value = "监察编号")
    private String monitorId;

    /**
     * 被监察单位（企业名称）
     */
    @ApiModelProperty(value = "被监察单位（企业名称）")
    private String monitoredEnt;

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

    /**
     * 任务名称
     */
    @ApiModelProperty(value = "任务名称")
    private String taskName;

    /**
     * 任务状态:1 下发任务 2 回复  3 通过 4 不通过
     */
    @ApiModelProperty(value = "任务状态:1 下发任务 2 回复  3 通过 4 不通过")
    private String taskState;

    /**
     * 监察人员id，多个id逗号分隔
     */
    @ApiModelProperty(value = "监察人员id，多个id逗号分隔")
    private String inspectorsid;

    /**
     * 监察人员，多个检察人员，名称逗号隔开
     */
    @ApiModelProperty(value = "监察人员，多个检察人员，名称逗号隔开")
    private String inspectors;

    /**
     * 监察地址
     */
    @ApiModelProperty(value = "监察地址")
    private String address;

    /**
     * 监察邮编
     */
    @ApiModelProperty(value = "监察邮编")
    private String postcode;

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

    /**
     * 用户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书面监察，2现场监察，3复查
     */
    @ApiModelProperty(value = "类型：1书面监察，2现场监察")
    private String type;

    /**
     * 告知书(附件)
     */
    @ApiModelProperty(value = "告知书(附件)")
    private String notification;

    /**
     * 选择产能与工序/工艺(附件)
     */
    @ApiModelProperty(value = "选择产能与工序/工艺(附件)")
    private String selectCapacity;

    /**
     * 综合能耗计算表(附件)
     */
    @ApiModelProperty(value = "综合能耗计算表(附件)")
    private String comprehensiveEnergy;

    /**
     * 单位能耗计算表(附件)
     */
    @ApiModelProperty(value = "单位能耗计算表(附件)")
    private String unitEnergy;

    /**
     * 现场监察笔录(附件)
     */
    @ApiModelProperty(value = "现场监察笔录(附件)")
    private String insiteSupervision;

    /**
     * 现场询问笔录(附件)
     */
    @ApiModelProperty(value = "现场询问笔录(附件)")
    private String interviewTranscripts;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "监察任务组长")
    private String groupLeader;

    @ApiModelProperty(value = "监察任务时限")
    private String timeLimit;

    /**
     * 任务来源：年度计划、抽查、复查、移交、举报投诉
     */
    @ApiModelProperty(value = "任务来源：年度计划、抽查、复查、移交、举报投诉")
    private String source;


    @ApiModelProperty(value = "通知书(附件)")
    private String note;

    @ApiModelProperty(value = "监察机构id")
    private String organizationId;


    @ApiModelProperty(value = "综合能耗")
    private Float tce;

    @ApiModelProperty(value = "任务经办单位")
    private String taskHandle;

    @ApiModelProperty(value = "任务下达员")
    private String taskTransmit;

    @ApiModelProperty(value = "现场文件(附件)")
    private String sceneFile;

    @ApiModelProperty(value = "节能监察通知书是否上报")
    @TableField(exist = false)
    private String noteStatus;

    @ApiModelProperty(value = "监察告知书是否上报")
    @TableField(exist = false)
    private String notificationStatus;

    @ApiModelProperty(value = "现场检查笔录是否上报")
    @TableField(exist = false)
    private String inspectionStatus;

    @ApiModelProperty(value = "调查询问笔录是否上报")
    @TableField(exist = false)
    private String investigationStatus;

    @ApiModelProperty(value = "节能监察综合能耗是否上报")
    @TableField(exist = false)
    private String comprehensiveEnergyStatus;


    @ApiModelProperty(value = "年度")
    private String year;

    @ApiModelProperty(value = "监察任务上报状态，1：已上报")
    private Integer reportType;

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