
package com.persagy.proxy.object.model;

import com.persagy.proxy.adm.model.AdmPoint;
import lombok.Data;

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

/**
 * ADM 资产实体
 *
 * @author lvxy
 * @date 2021/8/17
 */

@Data
public class AdmProperty {
    public static final String OBJ_TYPE = "property";
    /** 资产id */
    private String id;
    /** 资产名称 */
    private String name;
    /** 资产本地编码 */
    private String localId;
    /** 资产本地名称 */
    private String localName;
    /** 资产二维码照片 */
    private String qrCode;
    /** 设计图纸中编码 */
    private String cadId;
    /** BIM模型中编码 */
    private String bimId;
    /** BIM模型中坐标 */
    private String bimLocation;
    /** BIM模型中坐标 */
    private AdmPoint locationJson;
    /** 项目id */
    private String projectId;
    /** 资产类型code */
    private String family;
    /** 资产所在建筑id */
    private String buildingId;
    /** 资产所在楼层id */
    private String floorId;
    /** 资产关联设备id */
    private String equipId;
    /** 设备序号 */
    private String equipSerial;
    /** 任务状态 待验证1、已验证0、未找到-1  */
    private Integer taskState;
    /** 设备部件标志位，1设备，2部件 */
    private String type;
    /** 信息点 */
    private Map<String, Object> infos;
    /** 对象类型 */
    private String objectType = OBJ_TYPE;
    /** 位置信息 */
    private String position;
    /** 贴码状态 */
    private Long codeType;
    /** 选择状态 */
    private String checked;
    /** 空间id */
    private String spaceId;
    /** 备注 */
    private String note;
    /** 点位id */
    private String pointId;
    /** 区分是哪里创建的资产 app  ,web */
    private String source;
    /** 模型文件id */
    private String modelId;
    /** 方案id */
    private String schemeId;
    /** 设备 */
    private AdmEquipment equipment;
    /** 建筑   table  对应关系表   idColumn 对应 本类的id    childIdColumn 级联对象的关系id */
    private AdmBuilding building;
    /** 级联-楼层   table  对应关系表   idColumn 对应 本类的id    childIdColumn 级联对象的关系id */
    private AdmFloor floor;
    /** 级联-项目 */
    private AdmProject project;
    /** 级联-资产设备族 */
    private List<AdmProperty> equipFamilyList;
    /** 级联-资产设备族名称 */
    private AdmProperty familyName;
    /** 级联-资产所在的空间的 */
    private List<AdmSpace> zoneSpaceInBase;
    /** 距离*/
    private Double distance;

    /** 统计信息 */
    private Map<String, Object> statistics;
    /** 创建时间 */
    private Date createTime;
    /** 最后更新日期 */
    private Date lastUpdate;

    /** 类型code */
    private String classCode = "property";
}
