package com.usky.fire.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

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

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 监督检查举报投诉信息
 * </p>
 *
 * @author JCB
 * @since 2022-09-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class DemEnforceReportComplaint implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * ID
     */
    private String reportId;

    /**
     * 流水号
     */
    private String serialNumber;

    /**
     * 举报人
     */
    private String reportPerson;

    /**
     * 举报电话
     */
    private String reportPhone;

    /**
     * 工单状态
     */
    private String workOrderStatus;

    /**
     * 举报方式
     */
    private String reportMethod;

    /**
     * 举报方式_其他
     */
    private String reportMethodOther;

    /**
     * 举报的录音
     */
    private String reportRecord;

    /**
     * 举报来源
     */
    private String reportSource;

    /**
     * 被举报地址
     */
    private String reportAddress;

    /**
     * 类似重复举报
     */
    private Integer repeatReport;

    /**
     * 举报内容
     */
    private String reportContent;

    /**
     * 举报时间
     */
    private LocalDateTime reportTime;

    /**
     * 举报登记时间(系统时间)
     */
    private LocalDateTime reportRegisterTime;

    /**
     * 登记人员
     */
    private String registerPerson;

    /**
     * 受理时间
     */
    private LocalDateTime acceptTime;

    /**
     * 受理人员
     */
    private String acceptPerson;

    /**
     * 工单类型
     */
    private Integer workOrderType;

    /**
     * 工单级别
     */
    private Integer workOrderLevel;

    /**
     * 管辖单位
     */
    private String governCompany;

    /**
     * 管辖区域
     */
    private String governArea;

    /**
     * 办理意见
     */
    private String handlingOpinion;

    /**
     * 接收期限要求
     */
    private String acceptPeriod;

    /**
     * 办结期限要求
     */
    private String completePeriod;

    /**
     * 派发时间(系统时间)
     */
    private LocalDateTime dispatchTime;

    /**
     * 派发人
     */
    private String dispatchPerson;

    /**
     * 先行联系
     */
    private String advanceContact;

    /**
     * 先行联系状态;1 已联  0 未联系
     */
    private String advanceContactStatus;

    /**
     * 未联原因
     */
    private String noContactReason;

    /**
     * 先行联系人
     */
    private String advanceContactPerson;

    /**
     * 联系时间
     */
    private LocalDateTime contactTime;

    /**
     * 火患场所
     */
    private String firePlace;

    /**
     * 火患类型
     */
    private String fireType;

    /**
     * 先行联系时间提交时间(系统时间)
     */
    private LocalDateTime contactSubmitTime;

    /**
     * 先行联系提交人
     */
    private String contactSubmitPerson;

    /**
     * 先行联系情况
     */
    private String advanceContactSituation;

    /**
     * 事实认定;1:属实  2：部分属实 3：不属实
     */
    private String factFind;

    /**
     * 部分认定理由
     */
    private String partialAffirmReason;

    /**
     * 不属实理由
     */
    private String falseReason;

    /**
     * 现场查看
     */
    private String sceneInspect;

    /**
     * 诉求认定
     */
    private String appealAffirm;

    /**
     * 无政策依据认定理由
     */
    private String noPolicyBasis;

    /**
     * 诉求过高认定理由
     */
    private String appealOvertop;

    /**
     * 诉求认定其他选项认定理由
     */
    private String appealOther;

    /**
     * 答复市民要点
     */
    private String replyKeyPoint;

    /**
     * 答复方式
     */
    private Integer replyMode;

    /**
     * 是否满意
     */
    private Integer satisfiedType;

    /**
     * 是否公开;1：是  0:否
     */
    private Integer makePublic;

    /**
     * 是否解决
     */
    private Integer whetherSolve;

    /**
     * 办结报告
     */
    private String completeReport;

    /**
     * 领导批示
     */
    private String leaderInstruct;

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

    /**
     * 使能标识 （0：正常 1：删除）
     */
    private Integer enable;

    /**
     * 分类ID1
     */
    private Integer typeId1;

    /**
     * 分类ID2
     */
    private Integer typeId2;

    /**
     * 分类ID3
     */
    private Integer typeId3;

    /**
     * 分类ID4
     */
    private Integer typeId4;

    /**
     * 分类ID5
     */
    private Integer typeId5;

    /**
     * 经度
     */
    private String longitude;

    /**
     * 纬度
     */
    private String latitude;


    @TableField(exist = false)
    private Integer id1;

    /**
     * 办结时间
     */
    @TableField(exist = false)
    private LocalDateTime completeTime;

    /**
     * 回访状态;0:未回访  1:已回访
     */
    @TableField(exist = false)
    private Integer followUpStatus;

    /**
     * 街镇
     */
    private String streetTown;
}
