package com.bonus.app.mapper;

import com.bonus.common.entity.app.AppParamsDto;
import com.bonus.common.entity.app.vo.DevInfoVo;
import com.bonus.common.entity.app.vo.DevWarnVo;
import com.bonus.common.entity.app.vo.JdConfigVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @className:CraneMonitorMapper
 * @author:cwchen
 * @date:2024-08-12-15:36
 * @version:1.0
 * @description:吊车监控
 */
@Repository(value = "CraneMonitorMapper")
public interface CraneMonitorMapper {
    /**
     * 查询班组领用的吊装预警设备
     * @param dto
     * @return List<DevInfoVo>
     * @author cwchen
     * @date 2024/8/12 16:31
     */
    List<DevInfoVo> getDzWarnList(AppParamsDto dto);

    /**
     * 查询班组领用的近电感应设备
     * @param dto
     * @return List<DevInfoVo>
     * @author cwchen
     * @date 2024/8/12 17:29
     */
    List<DevInfoVo> getJdList(AppParamsDto dto);

    /**
     * 查询近电感应设备的电量值
     * @param devId
     * @param dataCode
     * @return String
     * @author cwchen
     * @date 2024/8/12 17:54
     */
    String getElectricQuantity(@Param("devId") Long devId, @Param("dataCode")String dataCode);

    /**
     * 查询近电感应设备预警信息
     * @param dto
     * @return List<DevWarnVo>
     * @author cwchen
     * @date 2024/8/13 9:24
     */
    List<DevWarnVo> getJdWarnList(AppParamsDto dto);

    /**
     * 添加近电感应设备配置属性
     * @param vo
     * @return void
     * @author cwchen
     * @date 2024/8/13 10:48
     */
    void addJdConfigData(JdConfigVo vo);

    /**
     * 查询近电感应设备配置属性
     * @param dto
     * @return List<ConfigItems>
     * @author cwchen
     * @date 2024/8/13 11:16
     */
    List<JdConfigVo.ConfigItems> getConfigJdDevice(AppParamsDto dto);

    /**
     * 删除近电设备配置项
     * @param vo
     * @return void
     * @author cwchen
     * @date 2024/8/18 18:41
     */
    void delJdConfig(JdConfigVo vo);
}
