dengjunjie
2025-01-10 02038504f14d5a0e0f860044a102afe62907d454
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
93
94
95
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);
 
        /// <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);
    }
}