package com.wms_main.service.controller;

import com.wms_main.model.dto.query.InventoryQuery;
import com.wms_main.model.dto.query.OutsQuery;
import com.wms_main.model.dto.query.PickTaskQuery;
import com.wms_main.model.dto.query.WmsTaskQuery;
import com.wms_main.model.dto.response.wms.WmsApiResponse;
import com.wms_main.model.vo.wms.*;

/**
 * 任务查询控制类 服务接口
 */
public interface ITaskQueryControllerService {
    /**
     * 查询任务信息---分页
     * @param wmsTaskQuery 查询参数
     * @return 查询结果---分页
     */
    WmsApiResponse<PageVo<TaskVo>> queryTasksByPage(WmsTaskQuery wmsTaskQuery);

    /**
     * 查询入库记录信息---分页
     * @param wmsTaskQuery 查询参数
     * @return 查询结果---分页
     */
    WmsApiResponse<PageVo<TaskRecordVo>> queryInTaskRecordByPage(WmsTaskQuery wmsTaskQuery);

    /**
     * 查询出库记录信息---分页
     * @param wmsTaskQuery 查询参数
     * @return 查询结果---分页
     */
    WmsApiResponse<PageVo<TaskRecordVo>> queryOutTaskRecordByPage(WmsTaskQuery wmsTaskQuery);

    /**
     * 查询拣选任务信息---分页
     * @param pickTaskQuery 查询参数
     * @return 查询结果---分页
     */
    WmsApiResponse<PageVo<PickTaskVo>> queryPickTasksByPage(PickTaskQuery pickTaskQuery);

    /**
     * 查询出库单信息---分页
     * @param outsQuery 查询参数
     * @return 查询结果---分页
     */
    WmsApiResponse<PageVo<OutsVo>> queryOutsByPage(OutsQuery outsQuery);

    /**
     * 查询盘点相关信息
     * @param inventoryQuery 查询参数
     * @return 查询结果---分页
     */
    WmsApiResponse<PageVo<InventoryRecordVo>> queryInventoryRecordByPage(InventoryQuery inventoryQuery);
}
