package com.hw.wms.mapper;

import java.util.List;
import com.hw.wms.domain.WmsInventoryCheck;
import com.hw.wms.domain.WmsInventoryCheckDetail;

/**
 * 盘点记录Mapper接口
 *
 * @author xs
 * @date 2023-12-20
 */
public interface WmsInventoryCheckMapper
{
    /**
     * 查询盘点记录,Join inventoryCheckDetail
     *
     * @param inventoryCheckId 盘点记录主键
     * @return 盘点记录
     */
    public WmsInventoryCheck selectWmsInventoryCheckByInventoryCheckId(Long inventoryCheckId);

    /**
     * 查询盘点记录列表
     *
     * @param wmsInventoryCheck 盘点记录
     * @return 盘点记录集合
     */
    public List<WmsInventoryCheck> selectWmsInventoryCheckList(WmsInventoryCheck wmsInventoryCheck);

    /**
     * 新增盘点记录
     *
     * @param wmsInventoryCheck 盘点记录
     * @return 结果
     */
    public int insertWmsInventoryCheck(WmsInventoryCheck wmsInventoryCheck);

    /**
     * 修改盘点记录
     *
     * @param wmsInventoryCheck 盘点记录
     * @return 结果
     */
    public int updateWmsInventoryCheck(WmsInventoryCheck wmsInventoryCheck);

    /**
     * 删除盘点记录
     *
     * @param inventoryCheckId 盘点记录主键
     * @return 结果
     */
    public int deleteWmsInventoryCheckByInventoryCheckId(Long inventoryCheckId);

    /**
     * 批量删除盘点记录
     *
     * @param inventoryCheckIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWmsInventoryCheckByInventoryCheckIds(Long[] inventoryCheckIds);

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

    /**
     * 批量新增盘点记录明细
     *
     * @param wmsInventoryCheckDetailList 盘点记录明细列表
     * @return 结果
     */
    public int batchWmsInventoryCheckDetail(List<WmsInventoryCheckDetail> wmsInventoryCheckDetailList);


    /**
     * 通过盘点记录主键删除盘点记录明细信息
     *
     * @param inventoryCheckId 盘点记录ID
     * @return 结果
     */
    public int deleteWmsInventoryCheckDetailByInventoryCheckId(Long inventoryCheckId);


    /**
     * 查询盘点记录列表,Join warehouse
     *
     * @param wmsInventoryCheck 盘点记录
     * @return 盘点记录集合
     */
    public List<WmsInventoryCheck> selectWmsInventoryCheckJoinList(WmsInventoryCheck wmsInventoryCheck);




    /**
     * 查询盘点记录
     *
     * @param inventoryCheckId 盘点记录主键
     * @return 盘点记录
     */
    public WmsInventoryCheck selectOnlyInventoryCheckByInventoryCheckId(Long inventoryCheckId);
}
