package com.yunfeiyun.agmp.fms.service;

import com.yunfeiyun.agmp.fms.domain.WmsStock;
import com.yunfeiyun.agmp.fms.domain.reqvo.WmsStockAddReqVo;
import com.yunfeiyun.agmp.fms.domain.reqvo.WmsStockBatchChangeReqVo;
import com.yunfeiyun.agmp.fms.domain.reqvo.WmsStockListReqVo;
import com.yunfeiyun.agmp.fms.domain.resvo.WmsStockAppMapResVo;
import com.yunfeiyun.agmp.fms.domain.resvo.WmsStockListResVo;

import java.util.List;


/**
 * 库存Service接口
 * 
 * @author 杨晓辉
 * @date 2023-05-25
 */
public interface IWmsStockService 
{
    /**
     * 查询库存
     *
     * @param stockId 库存主键
     * @return 库存
     */
    public WmsStock selectWmsStockByStockId(String stockId);
    /**
     * 查询库存
     *
     * @param wmsStock 库存信息
     * @return 库存
     */
    public List<WmsStock> selectWmsStockByGoodsIdAndWarehouseId(WmsStock wmsStock);

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

    /**
     * app查询库存农资信息列表
     * @return 库存集合
     */
    public List<WmsStockAppMapResVo> selectWmsStockAppMapResVoList();



    /**
     * 新增库存
     * 
     * @param wmsStockAddReqVo 库存
     * @return 结果
     */
    public int add(WmsStockAddReqVo wmsStockAddReqVo);

    /**
     * 库存批量改动
     *
     * @param wmsStockBatchChangeReqVo 库存批量改动参数
     * @return 结果
     */
    public int batchChange(WmsStockBatchChangeReqVo wmsStockBatchChangeReqVo);

    /**
     * 修改库存
     * 
     * @param wmsStock 库存
     * @return 结果
     */
    public int updateWmsStock(WmsStock wmsStock);

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

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