package com.yunfeiyun.agmp.fms.mapper;

import com.yunfeiyun.agmp.fms.domain.WmsFinishgoods;
import com.yunfeiyun.agmp.fms.domain.reqvo.WmsFinishgoodsReqVo;
import com.yunfeiyun.agmp.fms.domain.resvo.WmsFinishGoodsStockSumInfoResVo;
import com.yunfeiyun.agmp.fms.domain.resvo.WmsFinishgoodsInfoResVo;
import com.yunfeiyun.agmp.fms.domain.resvo.WmsFinishgoodsSourceInfo;
import com.yunfeiyun.agmp.fms.domain.resvo.WmsFinishgoodsStockResVo;

import java.util.List;


/**
 * 农产品货物Mapper接口
 * 
 * @author 杨晓辉
 * @date 2023-06-30
 */
public interface WmsFinishgoodsMapper 
{
    /**
     * 查询农产品货物
     *
     * @param finishgoodsId 农产品货物主键
     * @return 农产品货物
     */
    public WmsFinishgoodsInfoResVo selectWmsFinishgoodsByFinishgoodsId(String finishgoodsId);
    /**
     * 查询农产品货物
     *
     * @param stockId 农产品货物主键
     * @return 农产品货物
     */
    public WmsFinishgoodsStockResVo selectWmsFinishgoodsStockResVoByStockId(String stockId);


    /***/

    /**
     * 查询农产品货物列表
     * 
     * @param wmsFinishgoods 农产品货物
     * @return 农产品货物集合
     */
    public List<WmsFinishgoods> selectWmsFinishgoodsList(WmsFinishgoods wmsFinishgoods);

    public List<WmsFinishGoodsStockSumInfoResVo> selectWmsFinishGoodsStockSumInfo(WmsFinishgoodsReqVo reqVo);


    /**
     * 新增农产品货物
     * 
     * @param wmsFinishgoods 农产品货物
     * @return 结果
     */
    public int insertWmsFinishgoods(WmsFinishgoods wmsFinishgoods);

    /**
     * 修改农产品货物
     * 
     * @param wmsFinishgoods 农产品货物
     * @return 结果
     */
    public int updateWmsFinishgoods(WmsFinishgoods wmsFinishgoods);

    /**
     * 删除农产品货物
     * 
     * @param finishgoodsId 农产品货物主键
     * @return 结果
     */
    public int deleteWmsFinishgoodsByFinishgoodsId(String finishgoodsId);

    /**
     * 批量删除农产品货物
     * 
     * @param finishgoodsIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWmsFinishgoodsByFinishgoodsIds(String[] finishgoodsIds);

    public WmsFinishgoodsSourceInfo selectWmsFinishgoodsSourceInfo(String stockId);

    public int selectCount(String sourceinfoId);
}
