package com.njcn.device.pq.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pq.pojo.dto.transformer.EntityLogicDTO;
import com.njcn.device.pq.pojo.param.PqsTransformerParam;
import com.njcn.device.pq.pojo.po.PqsTransformer;
import com.njcn.device.pq.pojo.vo.PqsTflgassVO;
import com.njcn.device.pq.pojo.vo.PqsTransformerVO;
import com.njcn.device.pq.pojo.vo.TerminalTree;
import com.njcn.web.pojo.param.BaseParam;

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

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author wr
 * @since 2023-07-19
 */
public interface IPqsTransformerService extends IService<PqsTransformer> {


    /**
     * 变压器台账分页查询
     * @param param
     * @return
     */
    Page<PqsTransformerVO> transformerPage(BaseParam param);

    /***
     * 变压器台账新增
     * @author wr
     * @param param
     * @return Boolean
     */
    Boolean insertTransformer(PqsTransformerParam.TransformerAddParam param) ;

    /***
     * 变压器台账修改
     * @author wr
     * @param param
     * @return Boolean
     */
    Boolean updateTransformer(PqsTransformerParam.TransformerUpdateParam  param);

    /***
     * 变压器台账删除
     * @author wr
     * @param ids
     * @return Boolean
     */
    Boolean delTransformer(List<String> ids);

    /**
     * 查询变电站节点信息
     * @param ids
     * @return
     */
    PqsTflgassVO selectFlgAss(String ids);

    /**
     * 变电站节点维护
     * @param param
     * @return
     */
    Boolean nodeMaintenance(PqsTransformerParam param);


    /**
     * 获取上下节点信息
     * @param subId
     * @param id
     * @return
     */
    Map<String,Object> getGeneratrix(String subId,String id);

    /**
     * 获取母线设备树层级/变压器/市/
     *
     * @author cdf
     * @date 2023/7/26
     */
    List<TerminalTree> getTransformerTree();

    /**
     * 获取所有策略的详情
     * @author cdf
     * @date 2023/8/8
     */
    List<EntityLogicDTO> getLogic();
}
