package com.huatek.busi.service;

import com.huatek.busi.entity.BusiArresterSubTree;
import com.huatek.busi.entity.BusiGeneratorSubTree;
import com.huatek.busi.entity.BusiSiteTree;

import java.util.List;

public interface BusiGeneratorSubTreeService {

    /**
     * @Title: findByPK
     * @Description: 根据主键获取对象
     * @createDate: Jun 27, 2019 10:31:50 AM
     * @param    PK 主键
     * @return   BusiTransfromerSubTree
     * @throws
     */
    BusiGeneratorSubTree findByPK(String pk);

    /**
     * @Title: insertEquipmentNode
     * @Description: 插入外挂设备数量
     * @createDate: Jun 26, 2019 4:32:51 PM
     * @param   parentId  父节点id
     * @param   count 设备数量
     * @return   Boolean
     * @throws
     */
    Boolean insertEquipmentNode(String parentId, Integer count);


    /**
     * @Title: insertSubTreeForType
     * @Description: 插入外挂设备节点
     * @createDate: Jun 26, 2019 4:33:39 PM
     * @param    busiSiteTree  站点树 --> 变压器设备
     * @return   Boolean
     * @throws
     */
    Boolean insertSubTreeForType(BusiSiteTree busiSiteTree);

    /**
     * @Title: updateNode
     * @Description: 修改节点名称
     * @createDate: Jun 24, 2019 4:52:56 PM
     * @param    nodeId  节点ID
     * @param    newName  节点新名称
     * @return   Boolean
     * @throws
     */
    public Boolean updateNode(String nodeId, String newName);

    /**
     * @Title: updateNodeBySubEquipment
     * @Description: 修改节点名称
     * @createDate: Jun 24, 2019 4:52:56 PM
     * @param    nodeId  节点ID
     * @param    newName  节点新名称
     * @return   Boolean
     * @throws
     */
    public Boolean updateNodeBySubEquipment(String nodeId, String newName);

    /**
     * @Title: deleteNode
     * @Description: 删除节点
     * @createDate: Jun 24, 2019 4:52:56 PM
     * @param    nodeId  节点ID
     * @return   Boolean
     * @throws
     */
    public Boolean deleteNode(String nodeId);


    /**
     * @Title: updateNodeBySubEquipment
     * @Description: 修改节点名称
     * @createDate: Jun 24, 2019 4:52:56 PM
     * @param    equipmentId  主设备ID
     * @param    newName  节点新名称
     * @return   Boolean
     * @throws
     */
    void updateNodeByMainEquipment(String id, String name);

    /**
     * @Title: findByPK
     * @Description: 根据主设备Id获取对象
     * @createDate: Jun 27, 2019 10:31:50 AM
     * @param    equipmentId  主树ID
     * @return   BusiTransfromerSubTree
     * @throws
     */
    List<BusiGeneratorSubTree> findByEquipmentId(String equipmentId);

}
