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

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.tofly.mybatisplus.config.ToflySqlCondition;
import com.tofly.pojo.Audit;
import com.tofly.xrtygis.entity.vo.TfPublicLeakageHandleVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;


/**
 * 公众参与漏点信息管理
 *
 * @author admin
 * @date Thu Mar 24 00:00:00 CST 2022
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "TF_PUBLIC_LEAKAGE_INFO", resultMap = "tfPublicLeakageInfoMap")
@KeySequence("TF_PUBLIC_LEAKAGE_INFO")
@ApiModel
public class TfPublicLeakageInfo extends Model<TfPublicLeakageInfo> {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "ID", type = IdType.INPUT)
    @ApiModelProperty(value = "主键ID")
    private Long id;
    /**
     * open id
     */
    @ApiModelProperty(value = "open id")
    private String openId;
    /**
     * 预估漏失水量（m³）
     */
    @ApiModelProperty(value = "预估漏失水量（m³）")
    private String estimateLeakageWater;
    /**
     * 漏点名称
     */
    @ApiModelProperty(value = "漏点名称")
    @TableField(condition = ToflySqlCondition.LIKE)
    private String leakName;
    /**
     * 漏点类型（1明漏,2暗漏）
     */
    @ApiModelProperty(value = "漏点类型（1明漏,2暗漏）")
    private String leakType;
    /**
     * 漏点类型（1明漏,2暗漏）转义
     */
    @ApiModelProperty(value = "漏点类型（1明漏,2暗漏）转义")
    @TableField(exist = false)
    private String leakTypeName;
    /**
     * 漏点部位
     */
    @ApiModelProperty(value = "漏点部位")
    private String leakPlace;
    /**
     * 漏点等级（1严重,2一般）
     */
    @ApiModelProperty(value = "漏点等级（1严重,2一般）")
    private String leakLevel;
    /**
     * 漏点等级转义（1严重,2一般）
     */
    @ApiModelProperty(value = "漏点等级转义（1严重,2一般）")
    @TableField(exist = false)
    private String leakLevelName;
    /**
     * 漏点地址
     */
    @ApiModelProperty(value = "漏点地址")
    @TableField(condition = ToflySqlCondition.LIKE)
    private String leakAddress;
    /**
     * 漏点经度
     */
    @ApiModelProperty(value = "漏点经度")
    private Double leakLongitude;
    /**
     * 漏点纬度
     */
    @ApiModelProperty(value = "漏点纬度")
    private Double leakLatitude;
    /**
     * 漏点原因
     */
    @ApiModelProperty(value = "漏点原因")
    private String leakReason;
    /**
     * DMA分区id
     */
    @ApiModelProperty(value = "DMA分区id")
    private Long dmaId;
    @TableField(exist = false)
    @ApiModelProperty(value = "DMA分区name", hidden = true)
    private String dmaName;
    /**
     * 工单id
     */
    @ApiModelProperty(value = "工单id")
    private Long orderId;
    /**
     * 消除漏点建议
     */
    @ApiModelProperty(value = "消除漏点建议")
    private String disposeSuggest;
    /**
     * 附件
     */
    @ApiModelProperty(value = "附件")
    private String annex;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * 是否进行水量奖励（0不进行奖励;1进行奖励）
     */
    @ApiModelProperty(value = "是否进行水量奖励（0不进行奖励;1进行奖励）")
    private String isRewardWater;
    /**
     * 是否进行水量奖励（0不进行奖励;1进行奖励）转义
     */
    @ApiModelProperty(value = "是否进行水量奖励（0不进行奖励;1进行奖励）转义")
    @TableField(exist = false)
    private String isRewardWaterName;
    /**
     * 奖励水量（m³）
     */
    @ApiModelProperty(value = "奖励水量（m³）")
    private String rewardWaterVolume;
    @ApiModelProperty(value = "奖励水量工单id")
    private Long rewardWaterId;

    @ApiModelProperty(value = "是否同步营销 0否 1是")
    private String yxSynState;

    /**
     * 核实人
     */
    @ApiModelProperty(value = "核实人")
    private Long verifyUser;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String verifyUserName;
    /**
     * 核实时间
     */
    @ApiModelProperty(value = "核实时间")
    private String verifyTime;
    /**
     * 漏点核实状态（1真实且处置中,2核实有误,3真实且处置完成）
     */
    @ApiModelProperty(value = "漏点核实状态（1真实且处置中,2核实有误,3真实且处置完成）")
    private String verifyStatus;
    /**
     * 漏点核实状态（1真实且处置中,2核实有误,3真实且处置完成）转义
     */
    @ApiModelProperty(value = "漏点核实状态（1真实且处置中,2核实有误,3真实且处置完成）转义")
    @TableField(exist = false)
    private String verifyStatusName;
    /**
     * 漏点审核列表
     */
    @ApiModelProperty(value = "漏点审核列表")
    @TableField(exist = false)
    private List<Audit> auditList;
    /**
     * 意见通过处理列表
     */
    @ApiModelProperty(value = "意见通过处理列表")
    @TableField(exist = false)
    private List<TfPublicLeakageHandleVo> handleList;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @TableField(value = "CREATE_USER", fill = FieldFill.INSERT, condition = ToflySqlCondition.LIKE)
    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;

}
