/*
 * 文 件 名:  BoundaryObj
 * 版    权:  华设设计集团股份有限公司
 * 描    述:  <描述>
 * 修 改 人:  lvwenbin
 * 修改时间:  2025/1/13
 * 跟踪单号:  <跟踪单号>
 * 修改单号:  <修改单号>
 * 修改内容:  <修改内容>
 */
package com.ruoyi.ems.model;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * 计量边界对象
 * <功能详细描述>
 *
 * @author lvwenbin
 * @version [版本号, 2025/1/13]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class BoundaryObj {
    /**
     * 对象类型
     */
    private int objType;

    /**
     * 对象编码
     */
    private String objCode;

    /**
     * 对象名称
     */
    private String objName;

    private Integer meterCls;

    /**
     * 绑定设备字符串
     */
    private String bindMeterDevsStr;

    /**
     * 直接绑定的电表
     */
    private Set<String> bindMeterDevs = new HashSet<>();

    /**
     * 分项关联计量电表
     */
    private Set<String> subMeterDevs = new HashSet<>();;

    /**
     * 子对象集合
     */
    private List<BoundaryObj> children = new ArrayList<>();

    public int getObjType() {
        return objType;
    }

    public void setObjType(int objType) {
        this.objType = objType;
    }

    public String getObjCode() {
        return objCode;
    }

    public void setObjCode(String objCode) {
        this.objCode = objCode;
    }

    public String getObjName() {
        return objName;
    }

    public void setObjName(String objName) {
        this.objName = objName;
    }

    public Integer getMeterCls() {
        return meterCls;
    }

    public void setMeterCls(Integer meterCls) {
        this.meterCls = meterCls;
    }

    public String getBindMeterDevsStr() {
        return bindMeterDevsStr;
    }

    public void setBindMeterDevsStr(String bindMeterDevsStr) {
        this.bindMeterDevsStr = bindMeterDevsStr;
    }

    public Set<String> getBindMeterDevs() {
        return bindMeterDevs;
    }

    public void setBindMeterDevs(Set<String> bindMeterDevs) {
        this.bindMeterDevs = bindMeterDevs;
    }

    public Set<String> getSubMeterDevs() {
        return subMeterDevs;
    }

    public void setSubMeterDevs(Set<String> subMeterDevs) {
        this.subMeterDevs = subMeterDevs;
    }

    public List<BoundaryObj> getChildren() {
        return children;
    }

    public void setChildren(List<BoundaryObj> children) {
        this.children = children;
    }

    @Override
    public String toString() {
        return "BoundaryObj{" + "objType=" + objType + ", objCode='" + objCode + '\'' + ", objName='" + objName + '\''
            + ", bindElecMeterDevs=" + bindMeterDevs + ", subElecMeterDevs=" + subMeterDevs + ", children="
            + children + '}';
    }
}