package com.hw.wms.mapper;

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

/**
 * 库位Mapper接口
 *
 * @author xs
 * @date 2023-12-20
 */
public interface WmsBaseLocationMapper
{
    /**
     * 查询库位
     *
     * @param locationId 库位主键
     * @return 库位
     */
    public WmsBaseLocation selectWmsBaseLocationByLocationId(Long locationId);

    /**
     * 查询库位列表
     *
     * @param wmsBaseLocation 库位
     * @return 库位集合
     */
    public List<WmsBaseLocation> selectWmsBaseLocationList(WmsBaseLocation wmsBaseLocation);

    /**
     * 新增库位
     *
     * @param wmsBaseLocation 库位
     * @return 结果
     */
    public int insertWmsBaseLocation(WmsBaseLocation wmsBaseLocation);

    /**
     * 修改库位
     *
     * @param wmsBaseLocation 库位
     * @return 结果
     */
    public int updateWmsBaseLocation(WmsBaseLocation wmsBaseLocation);

    /**
     * 删除库位
     *
     * @param locationId 库位主键
     * @return 结果
     */
    public int deleteWmsBaseLocationByLocationId(Long locationId);

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


    /**
     * 查询库位
     *
     * @param locationCode 库位编码
     * @return 库位
     */
    public WmsBaseLocation selectWmsBaseLocationByLocationCode(String locationCode);

    /**
     * 查询没有库存的库位列表
     *
     * @param wmsBaseLocation 库位
     * @return 库位集合
     */
    public List<WmsBaseLocation> selectEmptyWmsBaseLocationList(WmsBaseLocation wmsBaseLocation);

    /**
     * 查询库位列表Join warehouse
     *
     * @param wmsBaseLocation 库位
     * @return 库位集合
     */
    public List<WmsBaseLocation> selectWmsBaseLocationJoinList(WmsBaseLocation wmsBaseLocation);



}
