package com.persagy.dmp.digital.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.persagy.dmp.common.model.entity.AuditableEntity;
import lombok.*;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * @TableName dt_connected_block
 */
@TableName(value ="dt_connected_block")
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ConnectedBlock extends AuditableEntity<ConnectedBlock> {

    /**
     * 第一个id
     */
    @TableField(value = "first_id")
    private String firstId;

    /**
     * 第一个设备的类型
     */
    @TableField(value = "first_type")
    private String firstType;

    /**
     * 第一个设备的模型id
     */
    @TableField(value = "first_model_id")
    private String firstModelId;

    /**
     * 第二个设备id
     */
    @TableField(value = "second_id")
    private String secondId;

    /**
     * 第二个设备的类型
     */
    @TableField(value = "second_type")
    private String secondType;

    /**
     * 第二个设备模型id
     */
    @TableField(value = "second_model_id")
    private String secondModelId;

    /**
     * 1表示从id1到id2, -1表示从id2到id1, 0 表示双向关系
null表示未计算
     */
    @TableField(value = "direction")
    private Byte direction;

    /**
     * 分块id
     */
    @TableField(value = "block_id")
    private String blockId;

    /**
     * 集团编码
     */
    @TableField(value = "group_code")
    private String groupCode;

    /**
     * 项目id
     */
    @TableField(value = "project_id")
    private String projectId;

    /**
     * 深度, 0表示根部
     */
    @TableField(value = "depth")
    private Byte depth;

    /**
     * 系统类型名称,  参考revit.connector表的mep_system_type列
     */
    @TableField(value = "mep_system_type")
    private String mepSystemType;

    /**
     * 系统类型所属域,  参考revit.connector表的domain列
     */
    @TableField(value = "domain")
    private String domain;

    /**
     * 建筑id
     */
    @TableField(value = "building_id")
    private String buildingId;

    /**
     * 类型编码，设备编码或者其他编码
     */
    @TableField(value = "first_type_code")
    private String firstTypeCode;

    /**
     * 类型编码，设备编码或者其他编码
     */
    @TableField(value = "second_type_code")
    private String secondTypeCode;

}