package com.sptg.statistics.biz.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.sptg.statistics.api.dto.SysDeviceLogDto;
import com.sptg.statistics.api.entity.SysDeviceLog;

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

/**
 * title: SysAdviceServiceInterface
 * package: com.sptg.statistics.biz.security
 * description:机器事件日志-服务层接口
 *
 *                
 *                 
 */
public interface SysDeviceLogServiceInterface extends IService<SysDeviceLog> {

    /**
     * 功能描述 ：机器事件日志列表
     * @param solDto
     * @return  ResultBean<Page<SysOperationLog>>
     *                
     *                      
     */
    public abstract Page<SysDeviceLog> getSysDeviceLogList(SysDeviceLogDto solDto);

    /**
     * 功能描述:更新记录机构位置
     * @param oldPosition 旧机构位置
     * @param newPosition 新机构位置
     * @return void
     *                
     *                       
     */
    void updateOrgPosition(String oldPosition, String newPosition);

    /**
     * 功能描述:统计设备故障数(按月分组统计)
     * @param sdlDto
     * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     *                
     *                       
     */
    List<Map<String,Object>> statisticsDeviceMalfunction(SysDeviceLogDto sdlDto);

    /**
     * 功能描述:统计设备故障
     * @param sdlDto
     * @return List<Map<String,Object>>
     *             
     *                      
     */
    List<Map<String,Object>> getDeviceFaultCountList(SysDeviceLogDto sdlDto);
    
    /**
     * 功能描述:统计设备故障次数省份排名
     * @param sdlDto
     * @return  List<Map<String,Object>>
     *             
     *                      
     */
    List<Map<String,Object>> deviceRankForArea(SysDeviceLogDto sdlDto);
}
