package com.xhpc.order.mapper;

import com.xhpc.order.domain.XhpcInspection;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface XhpcInspectionMapper {

    List<Map<String, Object>> getInspectionList(@Param("stationId") Long stationId,@Param("time") String time);

    Map<String, Object> getInspectionZTList(@Param("stationId") Long stationId,@Param("time") String time);

    List<Map<String, Object>> getInspectionChargingStation(@Param("chargingStationId")Long chargingStationId);

    int installInspection(XhpcInspection xhpcInspection);

    Map<String, Object> getInspectionById(@Param("stationId")Long stationId,@Param("id") Long id,@Param("type")Integer type);

    int updateInspection(XhpcInspection xhpcInspection);

    List<Map<String, Object>> getChargingStationEmptyOrder(@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("tenantId")String tenantId,@Param("beginOfDay")String beginOfDay,@Param("endOfDay")String endOfDay);

    List<Map<String, Object>> getTerminalEmptyOrder(@Param("chargingStationId")Long chargingStationId,@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("tenantId")String tenantId,@Param("beginOfDay")String beginOfDay,@Param("endOfDay")String endOfDay);

    List<Map<String, Object>> getWXXhpcTerminalMassage(@Param("chargingStationId") Long chargingStationId);

    List<Map<String, Object>>  getInspectionUserList(@Param("userId") Long userId);

    int stationSum(@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("tenantId")String tenantId);

    Integer  abnormalStation(@Param("time") String time,@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("tenantId")String tenantId);

    Map<String, Object> todayOrder(@Param("time") String time,@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("tenantId")String tenantId);

    int emptyOrderRate(@Param("time") String time,@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("tenantId")String tenantId);

    String completionRate(@Param("time") String time,@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("tenantId")String tenantId);

    List<Map<String, Object>> getChargingStationList(@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("tenantId")String tenantId);

    BigDecimal onlineRate(@Param("normal")int normal,@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("tenantId")String tenantId);

    Map<String, Object> getChargingStationOrder(@Param("time") String time,@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("tenantId")String tenantId,@Param("chargingStationId")Long chargingStationId);

    XhpcInspection getXhpcInspectionById(@Param("inspectionId")Long inspectionId);

    int updateXhpcInspectionType(@Param("chargingStationId")Long chargingStationId,@Param("time") String time);

    List<Map<String, Object>> getStationInspectionList(@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("tenantId")String tenantId,@Param("startTime")String startTime,@Param("endTime") String endTime);

    List<Map<String, Object>> getStationInspectionDateList(@Param("stationId") Long stationId,@Param("time") String time);

    List<Map<String, Object>> getStationInspectionTime(@Param("stationId") Long stationId,@Param("time") String time);
    List<Map<String, Object>> getStationInspectionMoonList(@Param("stationId") Long stationId,@Param("time") String time,@Param("name")String name);
}
