using WIDESEA_Common.CommonEnum;
using WIDESEA_Common.LocationEnum;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_DTO.Basic;
using WIDESEA_Core;
using WIDESEA_Model.Models;
namespace WIDESEA_IBasicService
{
///
/// 货位信息服务接口
///
public interface ILocationInfoService : IService
{
///
/// 获取货位信息仓储接口
///
IRepository Repository { get; }
///
/// 批量启用货位
///
/// 货位主键数组
/// 操作结果
WebResponseContent LocationEnableStatus(int[] keys);
///
/// 批量禁用货位
///
/// 货位主键数组
/// 操作结果
WebResponseContent LocationDisableStatus(int[] keys);
///
/// 单个启用货位
///
/// 货位主键
/// 操作结果
WebResponseContent LocationEnableStatus(int key);
///
/// 单个禁用货位
///
/// 货位主键
/// 操作结果
WebResponseContent LocationDisableStatus(int key);
///
/// 初始化货位
///
/// 初始化货位数据传输对象
/// 操作结果
WebResponseContent InitializationLocation(InitializationLocationDTO initializationLocationDTO);
///
/// 根据巷道获取空闲货位信息
///
/// 巷道编号
/// 空闲货位信息,如果未找到则返回null
Task GetLocationInfo(string roadwayNo);
///
/// 更新货位信息
///
/// 货位信息对象
/// 更新是否成功
Task UpdateLocationInfoAsync(Dt_LocationInfo locationInfo);
///
/// 根据巷道和货位号获取空闲货位信息
///
/// 巷道编号
/// 货位编码
/// 货位信息,如果未找到则返回null
Task GetLocationInfo(string roadwayNo, string locationCode);
///
/// 根据货位编码获取货位信息
///
/// 货位编码
/// 货位信息
Task GetLocationInfoAsync(string locationCode);
///
/// 检查并生成移库任务或返回出库任务
///
/// 任务号
/// 任务信息
Task TransferCheckAsync(int taskNum);
///
/// 根据货位ID获取货位信息
///
/// 货位id
/// 货位信息
Task GetLocationInfoAsync(int id);
}
}