package cn.cecep.talroad.domain;


import cn.cecep.talroad.common.core.annotation.Excel;
import cn.cecep.talroad.common.core.web.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;


/**
 * 设备信息(有组织)对象 bas_device
 *
 * @author szhpt
 * @date 2023-01-10*/
@ApiModel(value = "设备信息(有组织)")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("bas_device")
public class BasDevice extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "设备ID")
    /** 设备ID */
    @TableId(value = "device_id",type = IdType.ASSIGN_ID)
    private String deviceId;


    @ApiModelProperty(value = "所属企业")
    /** 所属企业 */
    @Excel(name = "所属企业")
    private String factoryId;


    @ApiModelProperty(value = "设备名称")
    /** 设备名称 */
    @Excel(name = "设备名称")
    private String name;


    @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...")
    /** 所属行业 枚举。钢铁/焦化/水泥... */
    @Excel(name = "所属行业 枚举。钢铁/焦化/水泥...")
    private String industry;


    @ApiModelProperty(value = "所属工序名")
    /** 所属工序名 */
    @Excel(name = "所属工序名")
    private String workStep;


    @ApiModelProperty(value = "设备类型 枚举。焦炉/烧结机...")
    /** 设备类型 枚举。焦炉/烧结机... */
    @Excel(name = "设备类型 枚举。焦炉/烧结机...")
    private String type;


    @ApiModelProperty(value = "状态 ≤0=停用，>0=正常")
    /** 状态 ≤0=停用，>0=正常 */
    @Excel(name = "状态 ≤0=停用，>0=正常")
    @TableField(fill = FieldFill.INSERT)
    private Long status;


    @ApiModelProperty(value = "工艺参数值 停限产计算用")
    /** 工艺参数值 停限产计算用 */
    @Excel(name = "工艺参数值 停限产计算用")
    private String craftParamValue;


    @ApiModelProperty(value = "工艺参数 JSON。展示用")
    /** 工艺参数 JSON。展示用 */
    @Excel(name = "工艺参数 JSON。展示用")
    private String craftParam;


    @ApiModelProperty(value = "DCS系统品牌")
    /** DCS系统品牌 */
    @Excel(name = "DCS系统品牌")
    private String dcsBrand;


    @ApiModelProperty(value = "DCS系统型号")
    /** DCS系统型号 */
    @Excel(name = "DCS系统型号")
    private String dcsModel;


    @ApiModelProperty(value = "脱硫工艺")
    /** 脱硫工艺 */
    @Excel(name = "脱硫工艺")
    private String tlCraft;


    @ApiModelProperty(value = "脱硫设施数量")
    /** 脱硫设施数量 */
    @Excel(name = "脱硫设施数量")
    private String tlNum;


    @ApiModelProperty(value = "脱硝工艺")
    /** 脱硝工艺 */
    @Excel(name = "脱硝工艺")
    private String txCraft;


    @ApiModelProperty(value = "脱硝设施数量")
    /** 脱硝设施数量 */
    @Excel(name = "脱硝设施数量")
    private String txNum;


    @ApiModelProperty(value = "除尘工艺")
    /** 除尘工艺 */
    @Excel(name = "除尘工艺")
    private String ccCraft;


    @ApiModelProperty(value = "除尘设施数量")
    /** 除尘设施数量 */
    @Excel(name = "除尘设施数量")
    private String ccNum;


    @ApiModelProperty(value = "CEMS系统数量")
    /** CEMS系统数量 */
    @Excel(name = "CEMS系统数量")
    private String cemsNum;


    @ApiModelProperty(value = "主设备ID 本设备为从设备时，注明与哪个主设备共用数据")
    /** 主设备ID 本设备为从设备时，注明与哪个主设备共用数据 */
    @Excel(name = "主设备ID 本设备为从设备时，注明与哪个主设备共用数据")
    private String shareDevId;


    @ApiModelProperty(value = "共用数据的设施类型 枚举列表，逗号分隔。CEMS/除尘1...")
    /** 共用数据的设施类型 枚举列表，逗号分隔。CEMS/除尘1... */
    @Excel(name = "共用数据的设施类型 枚举列表，逗号分隔。CEMS/除尘1...")
    private String shareType;


    @ApiModelProperty(value = "经度(原始)")
    /** 经度(原始) */
    @Excel(name = "经度(原始)")
    private BigDecimal lon;


    @ApiModelProperty(value = "纬度(原始)")
    /** 纬度(原始) */
    @Excel(name = "纬度(原始)")
    private BigDecimal lat;


    @ApiModelProperty(value = "经度(地图)")
    /** 经度(地图) */
    @Excel(name = "经度(地图)")
    private String lonMap;


    @ApiModelProperty(value = "纬度(地图)")
    /** 纬度(地图) */
    @Excel(name = "纬度(地图)")
    private String latMap;


    @ApiModelProperty(value = "原始设备ID 用于在通信协议中识别设备")
    /** 原始设备ID 用于在通信协议中识别设备 */
    @Excel(name = "原始设备ID 用于在通信协议中识别设备")
    private String oriDeviceId;


    @ApiModelProperty(value = "原始设备密码")
    /** 原始设备密码 */
    @Excel(name = "原始设备密码")
    private String oriPwd;


    @ApiModelProperty(value = "工艺流程图用参数 JSON")
    /** 工艺流程图用参数 JSON */
    @Excel(name = "工艺流程图用参数 JSON")
    private String craftImageArg;


    @ApiModelProperty(value = "对应的视频设备ID JSON")
    /** 对应的视频设备ID JSON */
    @Excel(name = "对应的视频设备ID JSON")
    private String videoDevId;

    private Date createTime;


    @ApiModelProperty(value = "备注")
    /** 备注 */
    @Excel(name = "备注")
    private String memo;

    @ApiModelProperty(value = "排污许可设施编码")
    private String pollutantCode;

    @ApiModelProperty(value = "排污许可设施名称")
    private String pollutantName;

    private String isStatus;

    private String elecdcsPollutantRelations;
}
