package com.njcn.process.pojo.po;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.njcn.db.bo.BaseEntity;

import java.time.LocalDateTime;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 *
 * </p>
 *
 * @author hongawen
 * @since 2023-06-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("supv_problem")
public class SupvProblem extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @TableId
    private String problemId;

    /**
     * 所属网省id
     */
    @TableField(exist = false)
    private String provinceId;


    /**
     * 关联计划表
     */
    private String planId;

    /**
     * 责任单位id，取ISC平台上的组织id
     */
    private String dutyOrgId;

    @TableField(exist = false)
    private String dutyOrgName;

    /**
     * 监测点类型 ，仅供电电压监督计划必填
     */
    private String monitorType;

    /**
     * 整改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private LocalDateTime rectificationTime;

    /**
     * 计划整改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime planRectificationTime;

    /**
     * 是否发布预告警
     */
    private Integer ifReleaseWarning;

    /**
     * 问题简要描述
     */
    private String simpleProblemDesc;

    /**
     * 监督标准序号
     */
    private String supvStandardSort;

    /**
     * 问题描述
     */
    private String problemDesc;

    /**
     * 监督标准
     */
    private String supvStandard;

    /**
     * 标准出处
     */
    private String supvResouce;

    /**
     * 问题等级	01 一般，02 较大
     */
    private String problemLevel;

    /**
     * 定级依据
     */
    private String problemLevelReason;

    /**
     * 问题类型
     */
    private String problemType;

    /**
     * 整改方案
     */
    private String rectificationProgramme;

    /**
     * 整改情况01已整改，02未整改
     */
    private String rectificationStatus;


    /**
     * 整改措施
     */
    private String rectificationMeasure;


    /**
     * 0.以上送 1.未上送 2.取消上送
     */
    private Integer isUploadHead;

    /**
     * 备注
     */
    private String remark;

    @TableField(exist = false)
    @ApiModelProperty(name = "attachmentName", value = "盖章报告")
    private String attachmentName;


    @TableField(exist = false)
    @ApiModelProperty(name = "attachmentNameTwo", value = "佐证材料")
    private String attachmentNameTwo;

    /**
     * 问题发现时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime discoveryTime;


    @ApiModelProperty("告预警单id,当ifReleaseWarning为是时，必填")
    private String workAlarmId;


}
