| using System; | 
| using System.Collections.Generic; | 
| using System.Linq; | 
| using System.Text; | 
| using System.Threading.Tasks; | 
| using WIDESEA_Common.CommonEnum; | 
| using WIDESEA_Common.LocationEnum; | 
| using WIDESEA_Core; | 
| using WIDESEA_Core.BaseServices; | 
| using WIDESEA_DTO.Basic; | 
| using WIDESEA_IBasicRepository; | 
| using WIDESEA_Model.Models; | 
|   | 
| namespace WIDESEA_IBasicService | 
| { | 
|     public interface ILocationInfoService : IService<Dt_LocationInfo> | 
|     { | 
|         ILocationInfoRepository Repository { get; } | 
|   | 
|         /// <summary> | 
|         /// 批量启用货位 | 
|         /// </summary> | 
|         /// <param name="keys">货位主键数组</param> | 
|         /// <returns></returns> | 
|         WebResponseContent LocationEnableStatus(int[] keys); | 
|   | 
|         /// <summary> | 
|         /// 批量禁用货位 | 
|         /// </summary> | 
|         /// <param name="keys">货位主键数组</param> | 
|         /// <returns></returns> | 
|         WebResponseContent LocationDisableStatus(int[] keys); | 
|   | 
|         /// <summary> | 
|         /// 单个启用货位 | 
|         /// </summary> | 
|         /// <param name="key">货位主键</param> | 
|         /// <returns></returns> | 
|         WebResponseContent LocationEnableStatus(int key); | 
|   | 
|         /// <summary> | 
|         /// 单个禁用货位 | 
|         /// </summary> | 
|         /// <param name="key">货位主键</param> | 
|         /// <returns></returns> | 
|         WebResponseContent LocationDisableStatus(int key); | 
|   | 
|         /// <summary> | 
|         /// 初始化货位 | 
|         /// </summary> | 
|         /// <param name="initializationLocationDTO"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent InitializationLocation(InitializationLocationDTO initializationLocationDTO); | 
|   | 
|         /// <summary> | 
|         /// 货位分配逻辑 | 
|         /// </summary> | 
|         /// <param name="roadwayNo">巷道号</param> | 
|         /// <param name="palletType">托盘类型</param> | 
|         /// <returns></returns> | 
|         Dt_LocationInfo? AssignLocation(string roadwayNo, int palletType, int warehouseId, string beRelocationCode = "", int heightType = 0); | 
|   | 
|         /// <summary> | 
|         /// 修改货位状态及类型 | 
|         /// </summary> | 
|         /// <param name="locationCode">货位编号</param> | 
|         /// <param name="palletType">托盘类型</param> | 
|         /// <param name="locationStatus">货位状态</param> | 
|         void UpdateLocationStatus(string locationCode, int palletType, LocationStatusEnum locationStatus, int warehousId); | 
|   | 
|         /// <summary> | 
|         /// 修改货位状态及类型 | 
|         /// </summary> | 
|         /// <param name="location">货位对象</param> | 
|         /// <param name="palletType">托盘类型</param> | 
|         /// <param name="locationStatus">货位状态</param> | 
|         void UpdateLocationStatus(Dt_LocationInfo location, int palletType, LocationStatusEnum locationStatus, int warehousId); | 
|   | 
|         /// <summary> | 
|         /// 获取不同深度的同组货位信息 | 
|         /// </summary> | 
|         /// <param name="location"></param> | 
|         /// <returns></returns> | 
|         List<Dt_LocationInfo> GetGroupLocations(Dt_LocationInfo location); | 
|         WebResponseContent GetContainerInfo(); | 
|   | 
|         /// <summary> | 
|         /// 判断浅货位是否被占用 | 
|         /// </summary> | 
|         /// <param name="locationInfo">货位信息</param> | 
|         /// <param name="palletType">托盘类型</param> | 
|         /// <returns></returns> | 
|         //bool LittleDepthLocationIsEmpty(Dt_LocationInfo locationInfo, PalletTypeEnum palletType); | 
|     } | 
| } |