package com.usky.fire.service;

import com.usky.common.mybatis.core.CrudService;
import com.usky.fire.domain.BaseDevice;
import com.usky.fire.domain.BaseDeviceStatus;

import java.util.List;

/**
 * <p>
 * 设备状态表 服务类
 * </p>
 *
 * @author JCB
 * @since 2022-09-16
 */
public interface BaseDeviceStatusService extends CrudService<BaseDeviceStatus> {

    /**
     * 根据设备编号查询设备状态信息
     *
     * @param deviceCode 设备编号
     * @return
     */
    List<BaseDeviceStatus> deviceStatusData(String deviceCode);

    /**
     * 根据设备状态查询设备数量
     *
     * @param companyId    单位ID
     * @param deviceStatus 设备状态（0：离线、1：正常、2：故障、3：告警）
     * @return
     */
    int deviceStatusCount(String companyId, Integer deviceStatus);

    /**
     * 根据设备状态及设备类型查询设备数量
     *
     * @param companyId    单位ID
     * @param deviceStatus 设备状态（0：离线、1：正常、2：故障、3：告警）
     * @param deviceType 设备状态（0：离线、1：正常、2：故障、3：告警）
     * @return
     */
    int deviceStatusByTypeCount(String companyId, Integer deviceStatus, Integer deviceType);

}
