wanshenmean
5 天以前 682413a01effa5ae936e418fecdfd72f670d09ab
Code/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs
@@ -1,90 +1,99 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common.CommonEnum;
using WIDESEA_Common.CommonEnum;
using WIDESEA_Common.LocationEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_DTO.Basic;
using WIDESEA_Core;
using WIDESEA_Model.Models;
namespace WIDESEA_IBasicService
{
    /// <summary>
    /// 货位信息服务接口
    /// </summary>
    public interface ILocationInfoService : IService<Dt_LocationInfo>
    {
        /// <summary>
        /// 获取货位信息仓储接口
        /// </summary>
        IRepository<Dt_LocationInfo> Repository { get; }
        /// <summary>
        /// 批量启用货位
        /// </summary>
        /// <param name="keys">货位主键数组</param>
        /// <returns></returns>
        /// <returns>操作结果</returns>
        WebResponseContent LocationEnableStatus(int[] keys);
        /// <summary>
        /// 批量禁用货位
        /// </summary>
        /// <param name="keys">货位主键数组</param>
        /// <returns></returns>
        /// <returns>操作结果</returns>
        WebResponseContent LocationDisableStatus(int[] keys);
        /// <summary>
        /// 单个启用货位
        /// </summary>
        /// <param name="key">货位主键</param>
        /// <returns></returns>
        /// <returns>操作结果</returns>
        WebResponseContent LocationEnableStatus(int key);
        /// <summary>
        /// 单个禁用货位
        /// </summary>
        /// <param name="key">货位主键</param>
        /// <returns></returns>
        /// <returns>操作结果</returns>
        WebResponseContent LocationDisableStatus(int key);
        /// <summary>
        /// 初始化货位
        /// </summary>
        /// <param name="initializationLocationDTO"></param>
        /// <returns></returns>
        /// <param name="initializationLocationDTO">初始化货位数据传输对象</param>
        /// <returns>操作结果</returns>
        WebResponseContent InitializationLocation(InitializationLocationDTO initializationLocationDTO);
        /// <summary>
        /// 获取空闲货位信息
        /// 根据巷道获取空闲货位信息
        /// </summary>
        /// <param name="RoadwayNo">巷道</param>
        /// <returns></returns>
        public Task<Dt_LocationInfo?> GetLocationInfo(string RoadwayNo);
        /// <param name="roadwayNo">巷道编号</param>
        /// <returns>空闲货位信息,如果未找到则返回null</returns>
        Task<Dt_LocationInfo?> GetLocationInfo(string roadwayNo);
        /// <summary>
        /// 更新货位信息
        /// </summary>
        /// <param name="locationInfo"></param>
        /// <returns></returns>
        public Task<bool> UpdateLocationInfoAsync(Dt_LocationInfo locationInfo);
        /// <param name="locationInfo">货位信息对象</param>
        /// <returns>更新是否成功</returns>
        Task<bool> UpdateLocationInfoAsync(Dt_LocationInfo locationInfo);
        /// <summary>
        /// 获取空闲货位信息(根据巷道和货位号查询)
        /// 根据巷道和货位号获取空闲货位信息
        /// </summary>
        /// <param name="RoadwayNo">巷道</param>
        /// <returns></returns>
        public Task<Dt_LocationInfo?> GetLocationInfo(string RoadwayNo, string locationCode);
        /// <param name="roadwayNo">巷道编号</param>
        /// <param name="locationCode">货位编码</param>
        /// <returns>货位信息,如果未找到则返回null</returns>
        Task<Dt_LocationInfo?> GetLocationInfo(string roadwayNo, string locationCode);
        /// <summary>
        /// 获取货位信息
        /// 根据货位编码获取货位信息
        /// </summary>
        /// <param name="locationCode"></param>
        /// <returns></returns>
        public Task<Dt_LocationInfo> GetLocationInfoAsync(string locationCode);
        /// <param name="locationCode">货位编码</param>
        /// <returns>货位信息</returns>
        Task<Dt_LocationInfo> GetLocationInfoAsync(string locationCode);
        /// <summary>
        /// 检查并生成移库任务或返回出库任务
        /// </summary>
        /// <param name="locationID">任务号</param>
        /// <returns>任务对象</returns>
        public Task<Dt_Task> TransferCheckAsync(int taskNum);
        /// <param name="taskNum">任务号</param>
        /// <returns>任务信息</returns>
        Task<WebResponseContent> TransferCheckAsync(int taskNum);
        /// <summary>
        /// 根据货位ID获取货位信息
        /// </summary>
        /// <param name="id">货位id</param>
        /// <returns>货位信息</returns>
        Task<Dt_LocationInfo> GetLocationInfoAsync(int id);
    }
}