package com.bonus.bracelet.service;

import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.entity.bracelet.BraceletParamsDto;
import com.bonus.common.entity.bracelet.vo.*;

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

/**
 * @className:SidebandService
 * @author:cwchen
 * @date:2024-07-16-10:37
 * @version:1.0
 * @description:边带管理-service
 */
public interface ISidebandService {

    /**
     * 边带列表
     * @param data
     * @return
     */
    List<SidebandVo> getSidebandLists(SidebandVo data);

    /**
     * 杆塔绑定设备列表
     * @param data
     * @return
     */
    List<SidebandDeviceVo> getDeviceLists(SidebandDeviceVo data);

    /**
     * 杆塔未绑定设备列表
     * @param data
     * @return
     */
    List<SidebandDeviceVo> getDeviceNoLists(SidebandDeviceVo data);

    /**
     * 杆塔下拉选
     * @param dto
     * @return AjaxResult
     * @author cwchen
     * @date 2024/7/17 15:58
     */
    AjaxResult getGtList(ProjectPowerVo dto);

    /**
     * 根据边带id获得详细信息
     * @param sidebandId
     * @return
     */
    public AjaxResult selectSidebandById(Integer sidebandId);

    /**
     * 新增边带信息
     * @param vo
     * @return
     */
    AjaxResult addSideband(SidebandVo vo);
    /**
     * 修改边带
     *
     * @param vo
     * @return AjaxResult
     * @author cwchen
     * @date 2024/7/17 14:55
     */
    AjaxResult editSideband(SidebandVo vo);

    /**
     * 根据工程id查询工程名称
     * @param name
     * @return
     */
    String queryProjectName(String name);

        /**
     * 删除边带
     *
     * @param vo
     * @return AjaxResult
     * @author cwchen
     * @date 2024/7/17 15:38
     */
    AjaxResult delSideband(SidebandVo vo);

    /**
     * 解除绑定
     * @param vo
     * @return
     */
    AjaxResult delDevice(SidebandDeviceVo vo);

    /**
     * 绑定
     * @param sidebandId
     * @param deviceIds
     * @return
     */
    AjaxResult bindDevice(int sidebandId,List<Map<String,Object>> list);

}
