package com.hw.wms.mapper;

import java.util.List;
import com.hw.wms.domain.WmsBaseWarehouse;
import com.hw.wms.domain.WmsBaseLocation;

/**
 * 仓库信息Mapper接口
 *
 * @author xins
 * @date 2024-01-09
 */
public interface WmsBaseWarehouseMapper
{
    /**
     * 查询仓库信息
     *
     * @param warehouseId 仓库信息主键
     * @return 仓库信息
     */
    public WmsBaseWarehouse selectWmsBaseWarehouseByWarehouseId(Long warehouseId);

    /**
     * 查询仓库信息列表
     *
     * @param wmsBaseWarehouse 仓库信息
     * @return 仓库信息集合
     */
    public List<WmsBaseWarehouse> selectWmsBaseWarehouseList(WmsBaseWarehouse wmsBaseWarehouse);

    /**
     * 新增仓库信息
     *
     * @param wmsBaseWarehouse 仓库信息
     * @return 结果
     */
    public int insertWmsBaseWarehouse(WmsBaseWarehouse wmsBaseWarehouse);

    /**
     * 修改仓库信息
     *
     * @param wmsBaseWarehouse 仓库信息
     * @return 结果
     */
    public int updateWmsBaseWarehouse(WmsBaseWarehouse wmsBaseWarehouse);

    /**
     * 删除仓库信息
     *
     * @param warehouseId 仓库信息主键
     * @return 结果
     */
    public int deleteWmsBaseWarehouseByWarehouseId(Long warehouseId);

    /**
     * 批量删除仓库信息
     *
     * @param warehouseIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWmsBaseWarehouseByWarehouseIds(Long[] warehouseIds);

    /**
     * 批量删除库位
     *
     * @param warehouseIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWmsBaseLocationByWarehouseIds(Long[] warehouseIds);

    /**
     * 批量新增库位
     *
     * @param wmsBaseLocationList 库位列表
     * @return 结果
     */
    public int batchWmsBaseLocation(List<WmsBaseLocation> wmsBaseLocationList);


    /**
     * 通过仓库信息主键删除库位信息
     *
     * @param warehouseId 仓库信息ID
     * @return 结果
     */
    public int deleteWmsBaseLocationByWarehouseId(Long warehouseId);

    /**
     * 查询仓库信息列表Join category
     *
     * @param wmsBaseWarehouse 仓库信息
     * @return 仓库信息集合
     */
    public List<WmsBaseWarehouse> selectWmsBaseWarehouseJoinList(WmsBaseWarehouse wmsBaseWarehouse);


}
