package nccloud.api.ic.onhand;

import java.util.List;
import java.util.Map;

import nc.vo.ic.onhand.entity.OnhandVO;
import nc.vo.pub.BusinessException;

/**
 * 现存量查询操作接口
 *
 * @version NCC1909
 * @Description:
 * @author: shijkb
 * @date: 2019年11月8日 下午2:49:51
 */
public interface IAPIOnhandQuery {

    /**
     * 根据维度查询现存量信息
     * 此方法接收一个参数映射，用于指定查询条件，如仓库、物料等
     *
     * @param paramMap 参数映射，包含查询条件
     * @return OnhandVO[] 查询到的现存量信息数组
     * @throws BusinessException 当查询操作失败时抛出的业务异常
     */
    OnhandVO[] queryOnhandVOByDims(Map<String, Object> paramMap) throws BusinessException;

    /**
     * 根据多个维度查询现存量信息
     * 此方法接收一个参数映射列表，每个映射包含一组查询条件，用于批量查询
     *
     * @param paramMap 参数映射列表，每个映射包含一组查询条件
     * @return OnhandVO[] 查询到的现存量信息数组
     * @throws Exception 当查询操作失败时抛出的异常
     */
    OnhandVO[] queryOnhandVOByDims(List<Map<String, Object>> paramMap) throws Exception;

    /**
     * 根据查询条件查询现存量信息
     *
     * @param paramMap 参数映射列表，每个映射包含一组查询条件
     * @return OnhandVO[] 查询到的现存量信息数组
     * @throws Exception 当查询操作失败时抛出的异常
     */
    OnhandVO[] queryOnhandVOByCondition(Map<String, Object> paramMap) throws Exception;
}
