package com.sundot.airport.ledger.mapper;

import com.sundot.airport.common.dto.LedgerCommonQueryReqVO;
import com.sundot.airport.ledger.domain.ScoreEvent;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 预警页面Mapper接口
 */
public interface LedgerWarningMapper {

    /**
     * 部门监察问题
     */
    Integer selectLedgerSupervisionProblem(LedgerCommonQueryReqVO query);

    /**
     * 实时质控拦截
     */
    Integer selectLedgerRealtimeInterception(LedgerCommonQueryReqVO query);

    /**
     * 不安全事件
     */
    Integer selectLedgerUnsafeEvent(LedgerCommonQueryReqVO query);

    /**
     * 安保测试记录
     */
    Integer selectLedgerSecurityTest(LedgerCommonQueryReqVO query);

    /**
     * 旅客服务投诉
     */
    Integer selectLedgerComplaint(LedgerCommonQueryReqVO query);

    /**
     * 服务巡查
     */
    Integer selectLedgerServicePatrol(LedgerCommonQueryReqVO query);

    /**
     * 航站楼
     */
    Integer selectLedgerTerminalBonus(LedgerCommonQueryReqVO query);

    /**
     * 小额奖励
     */
    Integer selectLedgerRewardApproval(LedgerCommonQueryReqVO query);

    /**
     * 考试成绩
     */
    Integer selectLedgerExamScore(LedgerCommonQueryReqVO query);

    /**
     * 配分事项列表
     */
    List<ScoreEvent> selectScoreEventList(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("scoreIndicatorIdList") List<Long> scoreIndicatorIdList, @Param("userIdList") List<Long> userIdList);

}
