package com.zksy.base.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 隐患台账表
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "hazard_hidden_account", schema = "app_user")
public class HazardHiddenAccount {

    @TableId(value = "hazard_id", type = IdType.ASSIGN_UUID)
    @ApiModelProperty("隐患ID")
    private String hazardId;

    @ApiModelProperty("隐患编号")
    private String hazardNo;

    @ApiModelProperty("关联管网设施ID")
    private String networkId;

    @ApiModelProperty("关联设备ID")
    private String equipmentId;

    @ApiModelProperty("隐患类型")
    private String hazardType;

    @ApiModelProperty("隐患等级")
    private String hazardLevel;

    @ApiModelProperty("隐患描述")
    private String hazardDesc;

    @ApiModelProperty("隐患来源")
    private String hazardSource;

    @ApiModelProperty("状态")
    private String hazardStatus;

    @ApiModelProperty("上报单位")
    private String reportUnit;

    @ApiModelProperty("上报时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime reportTime;

    @ApiModelProperty("整改方案")
    private String rectifyPlan;

    @ApiModelProperty("整改期限")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate rectifyDeadline;

    @ApiModelProperty("整改责任人")
    private String rectifyPerson;

    @ApiModelProperty("整改反馈")
    private String rectifyFeedback;

    @ApiModelProperty("核查人")
    private String verifyPerson;

    @ApiModelProperty("核查时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime verifyTime;

    @ApiModelProperty("是否已报送")
    private Integer isSubmitted;

    @ApiModelProperty("报送时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime submitTime;

    @ApiModelProperty("经度")
    private BigDecimal longitude;

    @ApiModelProperty("纬度")
    private BigDecimal latitude;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    @TableLogic(value = "0", delval = "2")
    @ApiModelProperty("删除标志（0=正常 2=删除）")
    private String delFlag;

    @ApiModelProperty("隐患图片")
    private String hazardImages;
}
