package com.sundot.airport.ledger.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sundot.airport.ledger.domain.LedgerSeizureStats;
import com.sundot.airport.ledger.domain.vo.*;

public interface ILedgerSeizureStatsService extends IService<LedgerSeizureStats> {
    List<LedgerSeizureStats> selectList(LedgerSeizureStats query);
    int batchInsert(List<LedgerSeizureStats> list);

    /**
     * 功能描述：近30天查获数量（总表）
     *
     * @param countQueryReq 查询参数
     * @return List<CountSeizureQuantityResVO>
     * @method countSeizureTotalQuantity
     * @author PanHu Sun
     * @date 2026/5/20 10:43
     */
    List<CountSeizureTotalQuantityResVO> countSeizureTotalQuantity(CountQueryReqVO countQueryReq);

    /**
     * 功能描述：近30天查获数量（员工/小组/班组/部门）
     *
     * @param countQueryReq 查询参数
     * @return List<CountSeizureSingleQuantityResVO>
     * @method countSeizureSingleQuantity
     * @author PanHu Sun
     * @date 2026/5/20 10:43
     */
    List<CountSeizureSingleQuantityDateResVO> countSeizureSingleQuantity(CountQueryReqVO countQueryReq);

    /**
     * 功能描述：查获信息展示
     *
     * @param countQueryReq 查询参数
     * @return SeizeTotalAndItemVO
     * @method getTimeRangeStats
     * @author PanHu Sun
     * @date 2026/5/20 13:43
     */
    SeizeTotalAndItemVO getTimeRangeStats(CountQueryReqVO countQueryReq);

    /**
     * 功能描述：查获物品分布
     *
     * @param countQueryReq 查询参数
     * @return List<SeizeCategoryQuantityVO>
     * @method countSeizeSubjectItemQuantity
     * @author PanHu Sun
     * @date 2026/5/20 14:46
     */
    List<SeizeCategoryQuantityVO> countSeizeSubjectItemQuantity(CountQueryReqVO countQueryReq);

    /**
     * 功能描述：查获工作区域分布
     *
     * @param countQueryReq 查询参数
     * @return List<SeizureAreaVO>
     * @method countSeizeAreaQuantity
     * @author PanHu Sun
     * @date 2026/5/20 15:12
     */
    List<SeizureAreaVO> countSeizeAreaQuantity(CountQueryReqVO countQueryReq);
}
