package com.yunfeiyun.agmp.fms.service;

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 java.util.List;


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

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

    List<WmsFinishGoodsStockSumInfoResVo> selectWmsFinishGoodsStockSumInfo(WmsFinishgoodsReqVo reqVo);

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

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

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

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

    public int selectCount(String sourceinfoId);
}
