package com.yunfeiyun.agmp.fms.mapper;

import com.yunfeiyun.agmp.fms.domain.WmsChangeapplyitem;
import com.yunfeiyun.agmp.fms.domain.WmsStock;
import com.yunfeiyun.agmp.fms.domain.reqvo.WmsStockListReqVo;
import com.yunfeiyun.agmp.fms.domain.resvo.WmsStockListResVo;
import org.apache.ibatis.annotations.Param;


import java.util.List;


/**
 * 库存Mapper接口
 * 
 * @author 杨晓辉
 * @date 2023-05-25
 */
public interface WmsStockMapper 
{
    /**
     * 查询库存
     *
     * @param stockId 库存主键
     * @return 库存
     */
    public WmsStock selectWmsStockByStockId(String stockId);

    /**
     * 查询库存
     *
     * @param wmsStock 库存
     * @return 库存
     */
    public List<WmsStock> selectWmsStock(WmsStock wmsStock);

    /**
     * 查询库存
     * @param wmsChangeapplyitemList 变动申请物件
     * @return 库存
     */
    public List<WmsStock> selectWmsStockByChangeApplyItemList(@Param("wmsChangeapplyitemList") List<WmsChangeapplyitem> wmsChangeapplyitemList);

    /**
     * 根据stockIds批量查询库存
     * @param stockIds
     * @return 库存
     * */
    public List<WmsStock> slectWmsStockListByStockIds(@Param("stockIds") List<String> stockIds);


    /**
     * 查询库存列表
     *
     * @param wmsStockListReqVo 库存
     * @return 库存集合
     */
    public List<WmsStockListResVo> selectWmsStockList(WmsStockListReqVo wmsStockListReqVo);



    /**
     * 新增库存
     * 
     * @param wmsStock 库存
     * @return 结果
     */
    public int insertWmsStock(WmsStock wmsStock);

    /**
     * 修改库存
     *
     * @param wmsStock 库存
     * @return 结果
     */
    public int updateWmsStock(WmsStock wmsStock);
    /**
     * 批量修改库存
     *
     * @param wmsStockList 库存列表
     * @return 结果
     */
    public int updateWmsStockByBatch(@Param("wmsStockList") List<WmsStock> wmsStockList);

    /**
     * 删除库存
     * 
     * @param stockId 库存主键
     * @return 结果
     */
    public int deleteWmsStockByStockId(String stockId);

    /**
     * 批量删除库存
     * 
     * @param stockIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWmsStockByStockIds(String[] stockIds);
}
