package com.yunfeiyun.agmp.fms.mapper;

import com.yunfeiyun.agmp.fms.domain.WmsChangeapply;
import com.yunfeiyun.agmp.fms.domain.reqvo.WmsChangeApplyGoodsListReqVo;
import com.yunfeiyun.agmp.fms.domain.reqvo.WmsChangeApplyListReqVo;
import com.yunfeiyun.agmp.fms.domain.resvo.WmsChangeApplyGoodsListResVo;
import com.yunfeiyun.agmp.fms.domain.resvo.WmsChangeApplyListResVo;

import java.util.List;


/**
 * 变动申请Mapper接口
 * 
 * @author 杨晓辉
 * @date 2023-05-25
 */
public interface WmsChangeapplyMapper
{
    /**
     * 查询变动申请
     * 
     * @param changeapplyId 变动申请主键
     * @return 变动申请
     */
    public WmsChangeapply selectWmsChangeapplyByChangeapplyId(String changeapplyId);

    /**
     * 查询变动申请列表
     * 
     * @param wmsChangeapply 变动申请
     * @return 变动申请集合
     */
    public List<WmsChangeapply> selectWmsChangeapplyList(WmsChangeapply wmsChangeapply);
    /**
     * 查询领用/归还申请列表
     * @param wmsChangeApplyGoodsListReqVo 领用/归还申请参数
     * @return  领用/归还申请集合
     * */
    public List<WmsChangeApplyGoodsListResVo> selectWmsChangeApplyGoodsListResVoList(WmsChangeApplyGoodsListReqVo wmsChangeApplyGoodsListReqVo);

    /**
     * 查询出入库列表
     * @param wmsChangeApplyListReqVo 出入库参数
     * @return  出入库列表
     * */
    public List<WmsChangeApplyListResVo> selectWmsChangeApplyListResVoList(WmsChangeApplyListReqVo wmsChangeApplyListReqVo);

    /**
     * 新增变动申请
     * 
     * @param wmsChangeapply 变动申请
     * @return 结果
     */
    public int insertWmsChangeapply(WmsChangeapply wmsChangeapply);

    /**
     * 修改变动申请
     * 
     * @param wmsChangeapply 变动申请
     * @return 结果
     */
    public int updateWmsChangeapply(WmsChangeapply wmsChangeapply);

    /**
     * 删除变动申请
     * 
     * @param changeapplyId 变动申请主键
     * @return 结果
     */
    public int deleteWmsChangeapplyByChangeapplyId(String changeapplyId);

    /**
     * 批量删除变动申请
     * 
     * @param changeapplyIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWmsChangeapplyByChangeapplyIds(String[] changeapplyIds);
}
