package com.shkj.wms.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.shkj.wms.bo.BusinStockInvGoodsQueryBo;
import com.shkj.wms.bo.BusinStockInvQueryBo;
import com.shkj.wms.bo.PdaInvByContainerCodeBo;
import com.shkj.wms.domain.BusinStockInv;
import com.shkj.wms.vo.BusinStockInvExeVo;
import com.shkj.wms.vo.BusinStockInvVo;
import com.shkj.wms.vo.StockLocationGoodsAreaStorageVo;
import com.shkj.wms.vo.StockLocationInvVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 盘点计划Mapper接口
 *
 * @author lch
 * @date 2022-06-10
 */
public interface BusinStockInvMapper extends BaseMapper<BusinStockInv> {

    /**
     * 查询列表
     *
     * @param bo 薄
     * @return {@link List}<{@link BusinStockInvVo}>
     */
    List<BusinStockInvVo> queryList(BusinStockInvQueryBo bo);


    List<BusinStockInvExeVo> getBusinStockInvList(BusinStockInvQueryBo bo);

    /**
     * 查询盘点模具
     *
     * @param bo 薄
     * @return {@link List}<{@link StockLocationGoodsAreaStorageVo}>
     */
    List<StockLocationGoodsAreaStorageVo> queryInvMold(BusinStockInvGoodsQueryBo bo);


    /**
     * 查询要盘点的库位
     *
     * @param bo 薄
     * @return {@link List}<{@link StockLocationGoodsAreaStorageVo}>
     */
    List<StockLocationInvVo> queryInvLocation(BusinStockInvGoodsQueryBo bo);


    /**
     * pda由托盘代码
     *
     * @param bo 薄
     * @return {@link List}<{@link BusinStockInv}>
     */
    List<BusinStockInvVo> pdaInvByContainerCode(PdaInvByContainerCodeBo bo);

    /**
     * 通过id获取发票
     *
     * @param id id
     * @return {@link BusinStockInvVo}
     */
    BusinStockInvVo getInvById(@Param("id") Long id);
}
