package com.sundot.airport.blocked.service;

import java.util.List;

import com.sundot.airport.blocked.domain.BlockedMissCheckStatistics;

/**
 * 漏检统计Service接口
 *
 * @author wangxx
 * @date 2026-04-13
 */
public interface IBlockedMissCheckStatisticsService {
    /**
     * 查询漏检统计
     *
     * @param id 漏检统计主键
     * @return 漏检统计
     */
    public BlockedMissCheckStatistics selectBlockedMissCheckStatisticsById(Long id);

    /**
     * 查询漏检统计列表
     *
     * @param blockedMissCheckStatistics 漏检统计
     * @return 漏检统计集合
     */
    public List<BlockedMissCheckStatistics> selectBlockedMissCheckStatisticsList(BlockedMissCheckStatistics blockedMissCheckStatistics);

    /**
     * 新增漏检统计
     *
     * @param blockedMissCheckStatistics 漏检统计
     * @return 结果
     */
    public int insertBlockedMissCheckStatistics(BlockedMissCheckStatistics blockedMissCheckStatistics);

    /**
     * 修改漏检统计
     *
     * @param blockedMissCheckStatistics 漏检统计
     * @return 结果
     */
    public int updateBlockedMissCheckStatistics(BlockedMissCheckStatistics blockedMissCheckStatistics);

    /**
     * 批量删除漏检统计
     *
     * @param ids 需要删除的漏检统计主键集合
     * @return 结果
     */
    public int deleteBlockedMissCheckStatisticsByIds(Long[] ids);

    /**
     * 删除漏检统计信息
     *
     * @param id 漏检统计主键
     * @return 结果
     */
    public int deleteBlockedMissCheckStatisticsById(Long id);

    /**
     * 导入漏检统计数据
     *
     * @param list 数据列表
     * @param updateSupport 是否更新支持
     * @return 导入结果信息
     */
    public String importData(List<BlockedMissCheckStatistics> list, boolean updateSupport);

    /**
     * 检查数据是否重复（被回查人+回查日期+漏检时间）
     *
     * @param blockedMissCheckStatistics 漏检统计数据
     * @return 重复的数据，如果没有重复返回null
     */
    public BlockedMissCheckStatistics checkDuplicate(BlockedMissCheckStatistics blockedMissCheckStatistics);

    /**
     * 新增或更新漏检统计（如果数据重复则覆盖更新）
     *
     * @param blockedMissCheckStatistics 漏检统计
     * @return 结果
     */
    public int insertOrUpdate(BlockedMissCheckStatistics blockedMissCheckStatistics);
}
