package com.prolog.rdc.tms.service;

import com.prolog.rdc.tms.model.dto.e6.EquipInfoDTO;
import com.prolog.rdc.tms.model.dto.e6.EquipInfoHistoryDTO;
import com.prolog.rdc.tms.model.dto.e6.TrackDetailDTO;
import com.prolog.rdc.tms.model.dto.e6.VehicleInfoDTO;
import com.prolog.rdc.tms.model.dto.e6.VehicleTemperatureInfoDTO;
import com.prolog.rdc.tms.model.dto.e6.VehiclesAllAlarmInfoDTO;
import com.prolog.rdc.tms.model.vo.e6.EquipInfoHistoryVO;
import com.prolog.rdc.tms.model.vo.e6.EquipInfoVO;
import com.prolog.rdc.tms.model.vo.e6.TrackDetailVO;
import com.prolog.rdc.tms.model.vo.e6.VehicleInfoVO;
import com.prolog.rdc.tms.model.vo.e6.VehicleTemperatureInfoVO;
import com.prolog.rdc.tms.model.vo.e6.VehiclesAllAlarmInfoVO;

import java.util.List;

/**
 * @author hongbo.pan
 * @date 2023/3/21
 */
public interface E6GpsService {

    /**
     * 获取车辆的最新位置信息
     * @param vo
     * @return
     */
    List<VehicleInfoDTO> getVehicleInfo(VehicleInfoVO vo);

    /**
     * 获取车辆的轨迹信息
     * @param vo
     * @return
     */
    List<TrackDetailDTO> getTrackDetail(TrackDetailVO vo);

    /**
     * 查询车辆的温度信息
     * @param vo
     * @return
     */
    List<VehicleTemperatureInfoDTO> getVehicleTemperatureInfo(VehicleTemperatureInfoVO vo);

    /**
     * 查询车辆报警和异常信息
     * @param vo
     * @return
     */
    List<VehiclesAllAlarmInfoDTO> getVechilesAllAlarmInfo(VehiclesAllAlarmInfoVO vo);

    /**
     * 设备实时数据查询
     * @param vo
     * @return
     */
    List<EquipInfoDTO> getEquipInfoReal(EquipInfoVO vo);


    /**
     * 设备轨迹数据查询
     * @param vo
     * @return
     */
    List<EquipInfoHistoryDTO> getEquipInfoHistory(EquipInfoHistoryVO vo);
}
