/*
 * 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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Value;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.codehaus.jackson.map.ser.std.ToStringSerializer;
import org.springframework.format.annotation.DateTimeFormat;


/**
 * 设备档案管理
 *
 * @author admin
 * @date Fri Mar 11 00:00:00 CST 2022
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "TF_DEVICE_ARCHIVE_MANAGE", resultMap = "tfDeviceArchiveManageMap")
@KeySequence("TF_DEVICE_ARCHIVE_MANAGE")
@ApiModel
public class TfDeviceArchiveManage extends Model<TfDeviceArchiveManage> {
    private static final long serialVersionUID = 1L;

    /**
     * $column.comments
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @JsonSerialize(using = ToStringSerializer.class)
    @TableId(value = "ID", type = IdType.INPUT)
    @ApiModelProperty(value = "$column.comments")
    private Long id;

    /**
     * 所属水厂ID
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "所属水厂ID")
    private Long waterId;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String waterName;
    /**
     * 所属管网编码
     */
    @ApiModelProperty(value = "所属管网编码")
    private String pipeCode;
    /**
     * 设备编号
     */
    @ApiModelProperty(value = "设备编号")
    private String code;
    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    @TableField(condition = ToflySqlCondition.LIKE)
    private String name;
    /**
     * 类型（1水厂,2管网）
     */
    @ApiModelProperty(value = "类型（1水厂,2管网）")
    private String type;
    /**
     * 类型转义（1水厂,2管网）
     */
    @ApiModelProperty(value = "类型转义（1水厂,2管网）")
    @TableField(exist = false)
    private String typeName;
    /**
     * 制造日期
     */
    @ApiModelProperty(value = "制造日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date makeDate;
    /**
     * 设备类型
     */
    @ApiModelProperty(value = "设备类型")
    private String deviceType;
    @ApiModelProperty(value = "设备类型名称")
    @TableField(exist = false)
    private String deviceTypeName;
    /**
     * 制造厂家
     */
    @ApiModelProperty(value = "制造厂家")
    @TableField(condition = ToflySqlCondition.LIKE)
    private String manufacturer;
    /**
     * 型号规格
     */
    @ApiModelProperty(value = "型号规格")
    private String modelSpecification;
    /**
     * 状态（0故障,1运行中,2空闲,3检修中）
     */
    @ApiModelProperty(value = "状态（0故障,1运行中,2空闲,3检修中）")
    private String status;
    /**
     * 状态转义（0故障,1运行中,2空闲,3检修中）
     */
    @ApiModelProperty(value = "状态转义（0故障,1运行中,2空闲,3检修中）")
    @TableField(exist = false)
    private String statusName;
    /**
     * 地址
     */
    @ApiModelProperty(value = "地址")
    private String address;
    /**
     * 经度
     */
    @ApiModelProperty(value = "经度")
    private Double longitude;
    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度")
    private Double latitude;
    /**
     * 负责人
     */
    @ApiModelProperty(value = "负责人")
    private Long leader;
    @ApiModelProperty(value = "负责人名称")
    @TableField(exist = false)
    private String leaderName;
    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话")
    @TableField(condition = ToflySqlCondition.LIKE)
    private String phone;
    /**
     * 描述
     */
    @ApiModelProperty(value = "描述")
    private String describe;
    /**
     * $column.comments
     */
    @ApiModelProperty(value = "$column.comments")
    @TableField(value = "CREATE_USER",insertStrategy = FieldStrategy.IGNORED)
    private Long createUser;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String createUserName;
    /**
     * $column.comments
     */
    @ApiModelProperty(value = "$column.comments")
    @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;

    @TableField(exist = false)
    @ApiModelProperty(value = "多个水厂,管线查询 以,分隔")
    private String waterIds;

    @TableField(exist = false)
    @ApiModelProperty(value = "多个设备类型,设备类型筛选查询 以,分隔")
    private String deviceTypeIds;

    @TableField(exist = false)
    @ApiModelProperty("设备监测状态")
    private String deviceMonitorStatus;
    @TableField(exist = false)
    @ApiModelProperty("设备监测状态名称")
    private String deviceMonitorStatusName;

    /**
     * 视点Json对象
     */
    @ApiModelProperty(value = "视点Json对象")
    private String viewJson;
    @ApiModelProperty(value = "口径(mm),15,20,25,40,50,80,100,200")
    private String bore;
    @ApiModelProperty(value = "压力设备id(归属)")
    private Long pressureDeviceId;

}
