package com.casic.missiles.mapper.business;

import com.casic.missiles.dto.business.board.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description:
 * @Author: wangpeng
 * @Date: 2023/4/10 15:14
 */
@Mapper
public interface BusinessBoardMapper {
    List<BoardWorkStatisticsResponse> selectSamplesCompletedToday();

    List<BoardWorkStatisticsResponse> selectCertificatesToday();

    List<BoardWorkStatisticsResponse> selectExpireSamplesToday();

    List<BoardWorkStatisticsResponse> selectSamplesThisYear();

    List<BoardWorkStatisticsResponse> selectExpireSamplesThisYear();

    List<BoardWorkStatisticsResponse> selectInMeasureExpireSamplesThisYear();

    List<BoardBaseResponse> selectStaffSamples(@Param("request") BoardBaseRequest request);

    List<BoardBaseResponse> selectStaffCertificates(@Param("request") BoardBaseRequest request);

    List<BoardDeptOutputResponse> selectActualAmount(@Param("request") BoardBaseRequest request);

    List<BoardDeptOutputResponse> selectSamplesTotal(@Param("request") BoardBaseRequest request);

    List<BoardDeptOutputResponse> selectPersonalCertificatesTotal(@Param("request") BoardBaseRequest request);

    List<BoardDeptOutputResponse> selectCertificatesTotal(@Param("request") BoardBaseRequest request);

    List<BoardDeptComprehensiveResponse> selectDeptSamples(@Param("request") BoardDeptComprehensiveRequest request);

    List<BoardDeptComprehensiveResponse> selectDeptCertificates(@Param("request") BoardDeptComprehensiveRequest request);

    List<BoardDeptComprehensiveResponse> selectDeptSamplesTotal(@Param("request") BoardDeptComprehensiveRequest request);

    List<BoardDeptComprehensiveResponse> selectDeptExpireSamples(@Param("request") BoardDeptComprehensiveRequest request);

    List<BoardDeptComprehensiveResponse> selectDeptDevices(@Param("request") BoardDeptComprehensiveRequest request);

    List<BoardDeptComprehensiveResponse> selectDeptExpireDevices(@Param("request") BoardDeptComprehensiveRequest request);

    List<BoardDeptComprehensiveResponse> selectDeptPassDevices(@Param("request") BoardDeptComprehensiveRequest request);

    List<BoardDeptComprehensiveResponse> selectDeptRepairDevices(@Param("request") BoardDeptComprehensiveRequest request, @Param("businessKeys") List<String> businessKeys);
}
