package com.hw.wms.mapper;

import java.util.List;
import com.hw.wms.domain.WmsMoveDetail;
import org.apache.ibatis.annotations.Param;

/**
 * 移库合库记录明细Mapper接口
 *
 * @author xins
 * @date 2024-03-25
 */
public interface WmsMoveDetailMapper
{
    /**
     * 查询移库合库记录明细
     *
     * @param moveDetailId 移库合库记录明细主键
     * @return 移库合库记录明细
     */
    public WmsMoveDetail selectWmsMoveDetailByMoveDetailId(Long moveDetailId);

    /**
     * 查询移库合库记录明细列表
     *
     * @param wmsMoveDetail 移库合库记录明细
     * @return 移库合库记录明细集合
     */
    public List<WmsMoveDetail> selectWmsMoveDetailList(WmsMoveDetail wmsMoveDetail);

    /**
     * 新增移库合库记录明细
     *
     * @param wmsMoveDetail 移库合库记录明细
     * @return 结果
     */
    public int insertWmsMoveDetail(WmsMoveDetail wmsMoveDetail);

    /**
     * 修改移库合库记录明细
     *
     * @param wmsMoveDetail 移库合库记录明细
     * @return 结果
     */
    public int updateWmsMoveDetail(WmsMoveDetail wmsMoveDetail);

    /**
     * 删除移库合库记录明细
     *
     * @param moveDetailId 移库合库记录明细主键
     * @return 结果
     */
    public int deleteWmsMoveDetailByMoveDetailId(Long moveDetailId);

    /**
     * 批量删除移库合库记录明细
     *
     * @param moveDetailIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWmsMoveDetailByMoveDetailIds(Long[] moveDetailIds);




    /**
     * 查询移库合库记录明细
     *
     * @param moveId 移库合库记录主键
     * @param materialBarcode 物料条码
     * @return 移库合库记录明细
     */
    public WmsMoveDetail selectWmsMoveDetailByMoveIdAndBarCode(@Param("moveId") Long moveId,
                                                               @Param("materialBarcode") String materialBarcode);


    /**
     * 查询移库合库记录明细列表,join material
     *
     * @param wmsMoveDetail 移库合库记录明细
     * @return 移库合库记录明细集合
     */
    public List<WmsMoveDetail> selectWmsMoveDetailJoinList(WmsMoveDetail wmsMoveDetail);


}
