using System; 
 | 
using System.Collections.Generic; 
 | 
using System.Linq; 
 | 
using System.Text; 
 | 
using System.Threading.Tasks; 
 | 
using WIDESEA_Common.LocationEnum; 
 | 
using WIDESEA_Core.BaseRepository; 
 | 
using WIDESEA_Core.Enums; 
 | 
using WIDESEA_DTO.Basic; 
 | 
using WIDESEA_Model.Models; 
 | 
  
 | 
namespace WIDESEA_IBasicRepository 
 | 
{ 
 | 
    /// <summary> 
 | 
    /// 货位信息仓储接口层 
 | 
    /// </summary> 
 | 
    public interface ILocationInfoRepository : IRepository<Dt_LocationInfo> 
 | 
    { 
 | 
        /// <summary> 
 | 
        /// 根据巷道获取所有一深、二深对应的一组货位数据集合 
 | 
        /// </summary> 
 | 
        /// <param name="roadway">巷道号</param> 
 | 
        /// <returns></returns> 
 | 
        List<LocationGroupDTO> GetAllLocationGroups(string roadway); 
 | 
  
 | 
        /// <summary> 
 | 
        /// 根据巷道、一深位货位状态、二深位货位状态获取对应的一组货位数据集合 
 | 
        /// </summary> 
 | 
        /// <param name="roadway">巷道号</param> 
 | 
        /// <param name="locationAStatus">一深位货位状态</param> 
 | 
        /// <param name="locationBStatus">二深位货位状态</param> 
 | 
        /// <returns></returns> 
 | 
        List<LocationGroupDTO> GetLocationGroups(string roadway, LocationStatusEnum locationAStatus, LocationStatusEnum locationBStatus); 
 | 
  
 | 
        /// <summary> 
 | 
        /// 根据货位编号集合获取货位实体集合 
 | 
        /// </summary> 
 | 
        /// <param name="locationCodes">货位编号集合</param> 
 | 
        /// <returns></returns> 
 | 
        List<Dt_LocationInfo> GetLocationInfos(List<string> locationCodes); 
 | 
  
 | 
        /// <summary> 
 | 
        /// 批量更新货位状态 
 | 
        /// </summary> 
 | 
        /// <param name="locationInfos">货位实体集合</param> 
 | 
        /// <param name="locationStatus">货位状态</param> 
 | 
        void UpdateLocationStatus(List<Dt_LocationInfo> locationInfos, LocationStatusEnum locationStatus); 
 | 
  
 | 
        /// <summary> 
 | 
        /// 获取可出库货位编号 
 | 
        /// </summary> 
 | 
        /// <param name="warehouseId"></param> 
 | 
        /// <returns></returns> 
 | 
        List<string> GetCanOutLocationCodes(int warehouseId); 
 | 
    } 
 | 
} 
 |