package com.njcn.process.mapper;

import com.njcn.process.pojo.param.TerminalParam;
import com.njcn.process.pojo.po.PmsTerminalDetection;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.process.pojo.vo.TerminalVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author wr
 * @since 2023-02-27
 */
public interface PmsTerminalDetectionMapper extends BaseMapper<PmsTerminalDetection> {

    /***
     * 单位-终端入网检测台账统计
     * @author wr
     * @date 2023-02-28 11:14
     * @param param
     * @param ids
     * @return List<TerminalStatistics>
     */
    List<TerminalVO.OrgStatistics> selectStatistics(@Param("param") TerminalParam param,
                                                    @Param("ids") List<String> ids);

    /***
     * 年度-终端入网检测台账统计
     * @author wr
     * @date 2023-02-28 11:14
     * @param param
     * @param ids
     * @return List<TerminalStatistics>
     */
    List<TerminalVO.DateStatistics> selectDateStatistics(@Param("param") TerminalParam param,
                                                         @Param("ids") List<String> ids);

    /***
     * 周期检测统计
     * @author wr
     * @date 2023-02-28 11:14
     * @param param
     * @param ids
     * @return List<TerminalStatistics>
     */
    List<TerminalVO.OrgStatistics> selectCycleStatistics(@Param("param") TerminalParam param,
                                                         @Param("ids") List<String> ids);

    /***
     * 已开展/未开展-周期检测统计
     * @author wr
     * @date 2023-02-28 11:14
     * @param param
     * @param ids
     * @return List<TerminalStatistics>
     */
    List<TerminalVO.ResultsStatistics> selectResultsCycleStatistics(@Param("param") TerminalParam param,
                                                                    @Param("ids") List<String> ids);
}
