xiazhengtongxue
2026-03-30 f197ac114061e075e72b9fe15d350c4485c9b260
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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
{
    /// <summary>
    /// 货位信息服务接口
    /// </summary>
    public interface ILocationInfoService : IService<Dt_LocationInfo>
    {
        /// <summary>
        /// 获取货位信息仓储接口
        /// </summary>
        IRepository<Dt_LocationInfo> 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>
        /// <returns>空闲货位信息,如果未找到则返回null</returns>
        Task<Dt_LocationInfo?> GetLocationInfo(string roadwayNo);
 
        /// <summary>
        /// 更新货位信息
        /// </summary>
        /// <param name="locationInfo">货位信息对象</param>
        /// <returns>更新是否成功</returns>
        Task<bool> UpdateLocationInfoAsync(Dt_LocationInfo locationInfo);
 
        /// <summary>
        /// 根据巷道和货位号获取空闲货位信息
        /// </summary>
        /// <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>
        Task<Dt_LocationInfo> GetLocationInfoAsync(string locationCode);
 
        /// <summary>
        /// 检查并生成移库任务或返回出库任务
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <returns>任务信息</returns>
        Task<WebResponseContent> TransferCheckAsync(int taskNum);
    }
}