/*
 * Author: Zev
 * 生成entity
 */
package com.tofly.pojo.trouble.dto;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
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 org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.Set;


/**
 * 隐患上报信息表
 *
 * @author admin
 * @date Thu Mar 18 00:00:00 CST 2021
 */
@Data
@ApiModel
public class TroubleDto extends Model<TroubleDto> {
    private static final long serialVersionUID = 1L;


    /**
     * 主键
     */
    @TableId(value = "ID", type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private Long id;
    /**
     * 管线名称
     */
    @ApiModelProperty(value = "管线名称")
    private String pipeName;
    /**
     * 隐患部位（管线或设施），放字典编码中
     */
    @ApiModelProperty(value = "隐患部位（管线或设施），放字典编码中")
    private String location;
    /**
     * 上传手机设备id
     */
    @ApiModelProperty(value = "上传手机设备id")
    private String padId;
    /**
     * 隐患原因ID，关联表TF_YWPN_TOUBLETYPE_D关键值
     */
    @ApiModelProperty(value = "隐患原因ID，关联表TF_YWPN_TOUBLETYPE_D关键值")
    private Long typeId;
    /**
     * 上报位置经度
     */
    @ApiModelProperty(value = "上报位置经度")
    private Double lgtd;
    /**
     * 上报位置纬度
     */
    @ApiModelProperty(value = "上报位置纬度")
    private Double lttd;
    /**
     * 地址
     */
    @ApiModelProperty(value = "地址")
    private String address;
    /**
     * 隐患原因备注
     */
    @ApiModelProperty(value = "隐患原因备注")
    private String notes;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @TableField(value = "CREATE_USER", fill = FieldFill.INSERT)
    private Long createUser;
    @ApiModelProperty(hidden = true)
    private String createUserName;
    /**
     * 是否进入工地管理，0否，1是
     */
    @ApiModelProperty(value = "是否进入工地管理，0否，1是")
    private String isbuild;
    /**
     * 工地ID，关联工地上报信息表TF_YWPN_BUILD_W主键
     */
    @ApiModelProperty(value = "工地ID，关联工地上报信息表TF_YWPN_BUILD_W主键")
    private Long buildId;
    /**
     * 消除隐患建议
     */
    @ApiModelProperty(value = "消除隐患建议")
    private String suggest;
    /**
     * 隐患上报途径，0:手机端现场上报，1内业上报
     */
    @ApiModelProperty(value = "隐患上报途径，0:手机端现场上报，1内业上报")
    private String uploadType;
    /**
     * 隐患附件IDS，多个附件id用英文等号分割“,”,关联公共文件表TF_YWPN_FILE _W主键
     */
    @ApiModelProperty(value = "隐患附件IDS，多个附件id用英文等号分割“,”,关联公共文件表TF_YWPN_FILE _W主键")
    private String uploadFileids;
    /**
     * 是否需人员巡查，0否，1是
     */
    @ApiModelProperty(value = "是否需人员巡查，0否，1是")
    private String isrespect;
    /**
     * 隐患状态，0无需处理、1巡查、2已消除、3消除申请
     */
    @ApiModelProperty(value = "隐患状态，0无需处理、1巡查、2已消除、3消除申请")
    private String state;

    /**
     * 是否接收查看，0：未查看；1：已查看
     */
    @ApiModelProperty(value = "是否接收查看，0：未查看；1：已查看")
    private Long isread;
    /**
     * 上报状态；0：未提交；1：已提交
     */
    @ApiModelProperty(value = "上报状态；0：未提交；1：已提交")
    private String isSubmit;
    /**
     * 上报时间(隐患上报时间)
     */
    @ApiModelProperty(value = "上报时间(隐患上报时间)")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date submitTime;
    /**
     * 上报人
     */
    @ApiModelProperty(value = "上报人")
    private Long submitUser;
    /**
     * 0：未审核；1：通过；2：未通过
     */
    @ApiModelProperty(value = "0：未审核；1：通过；2：未通过")
    private String auditResult;
    /**
     * 审核时间
     */
    @ApiModelProperty(value = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;
    /**
     * 审核人
     */
    @ApiModelProperty(value = "审核人")
    private Long auditUser;
    /**
     * 审核意见,备注
     */
    @ApiModelProperty(value = "审核意见,备注")
    private String auditNotes;

    @ApiModelProperty(value = "auditResult 审核状态查询,多个状态 以 , 隔开")
    private String auditResults;
    /**
     * 所属片区
     */
    @ApiModelProperty(value = "所属片区编码")
    private String regionId;

    /**
     * 片区名称
     */
    @ApiModelProperty(value = "片区名称")
    private String regionName;

    /**
     * 开始使用时间
     */
    @ApiModelProperty(value = "开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;
    /**
     * 结束使用时间
     */
    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    @ApiModelProperty(value = "是否查询当前用户下的处理列表,flag为1 默认不填写")
    private String flag;
    @ApiModelProperty(value = "隐患等级id,关联表TF_YWPN_TOUBLERANGE_D")
    private Long toubleRangeId;

    @ApiModelProperty(value = "数据来源   app  web")
    private String sourceType;

    @ApiModelProperty(value = "部门id")
    private Long deptId;
}
