/*
 * Author: wangjian
 * 生成entity
 */
package com.tofly.dispatch.entity;

import com.baomidou.mybatisplus.annotation.*;
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 org.apache.ibatis.type.JdbcType;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;


/**
 * 应急事件（处置预案、事件分析）
 *
 * @author xqf
 * @date Mon Apr 25 00:00:00 CST 2022
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "TF_DIS_EMERGENCY_W", resultMap = "emergencyMap")
@KeySequence("TF_DIS_EMERGENCY_W")
@ApiModel
public class Emergency extends Model<Emergency> {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(value = "ID", type = IdType.INPUT)
    @ApiModelProperty(value = "ID")
    private Long id;

    /**
     * 预案编号
     */
    @ApiModelProperty(value = "预案编号")
    private String caseNumber;
    /**
     * 类型1:应急处置措施(预案)；2:事故分析
     */
    @ApiModelProperty(value = "类型1:应急处置措施(预案)；2:事故分析")
    private Short emergencyType;
    /**
     * 事件类型
     */
    @ApiModelProperty(value = "事件类型")
    private Long eventType;
    /**
     * 事件等级
     */
    @ApiModelProperty(value = "事件等级")
    private Long eventGrade;
    /**
     * 事件名称
     */
    @ApiModelProperty(value = "事件名称")
    private String eventName;
    /**
     * 执行开始时间
     */
    @ApiModelProperty(value = "执行开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    /**
     * 执行结束时间
     */
    @ApiModelProperty(value = "执行结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;
    /**
     * 事件原因
     */
    @ApiModelProperty(value = "事件原因")
    private String eventReason;
    /**
     * 组织职责
     */
    @ApiModelProperty(value = "组织职责")
    private String responsibility;
    /**
     * 处理流程
     */
    @ApiModelProperty(value = "处理流程")
    private String procedure;
    /**
     * 经度
     */
    @ApiModelProperty(value = "经度")
    private Double longitude;
    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度")
    private Double latitude;
    /**
     * 地址
     */
    @ApiModelProperty(value = "地址")
    private String addre;
    /**
     * 注意事项
     */
    @ApiModelProperty(value = "注意事项")
    private String pointsAttention;
    /**
     * 后期需要处置事项
     */
    @ApiModelProperty(value = "后期需要处置事项")
    private String postDisposal;
    /**
     * 登记部门
     */
    @ApiModelProperty(value = "登记部门")
    private Long registerDept;
    /**
     * 登记人
     */
    @ApiModelProperty(value = "登记人")
    private Long registerStaff;
    /**
     * 登记时间
     */
    @ApiModelProperty(value = "登记时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date registerTime;
    /**
     * 负责人
     */
    @ApiModelProperty(value = "负责人")
    private Long personLiable;
    /**
     * 附件id用逗号分隔
     */
    @ApiModelProperty(value = "附件id用逗号分隔")
    private String annex;
    /**
     * 是否需要分析0否;1是
     */
    @ApiModelProperty(value = "是否需要分析0否;1是")
    private Short isAnalysis;
    /**
     * 是否删除1删除；0未删除
     */
    @ApiModelProperty(value = "是否删除1删除；0未删除")
    private Short isDel;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @TableField(jdbcType = JdbcType.VARCHAR,updateStrategy = FieldStrategy.IGNORED)
    private String remark;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @TableField(value = "CREATE_USER", fill = FieldFill.INSERT)
    private Long createUser;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String createUserName;
    /**
     * 创建时间
     */
    @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 = "UPDATE_USER", fill = FieldFill.INSERT_UPDATE)
    private Long updateUser;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String updateUserName;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "UPDATE_TIME", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

}
