wanshenmean
7 小时以前 ad64840cc04dac2278ca02f22ddc02b1a218e9cf
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
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Model.Models;
 
namespace WIDESEAWCS_ITaskInfoService
{
    /// <summary>
    /// 假电芯位置服务接口
    /// </summary>
    public interface IFakeBatteryPositionService : IService<Dt_FakeBatteryPosition>
    {
        /// <summary>
        /// 获取下N个可用的假电芯平面点位
        /// </summary>
        /// <param name="count">需要获取的点位数量</param>
        /// <returns>可用点位列表,按PositionIndex升序</returns>
        List<int> GetNextAvailable(int count);
 
        /// <summary>
        /// 重置所有点位为未使用
        /// </summary>
        /// <returns>影响的行数</returns>
        int ResetAll();
 
        /// <summary>
        /// 标记指定点位为已使用
        /// </summary>
        /// <param name="positions">点位索引列表</param>
        /// <returns>是否成功</returns>
        bool MarkAsUsed(List<int> positions);
 
        /// <summary>
        /// 根据行和列获取点位索引
        /// </summary>
        /// <param name="row">行(1-3)</param>
        /// <param name="col">列(1-16)</param>
        /// <returns>点位索引(1-48),找不到返回null</returns>
        int? GetPositionIndex(int row, int col);
 
        /// <summary>
        /// 初始化假电芯点位表(48个点位)
        /// </summary>
        /// <remarks>
        /// 仅当表为空时插入1-48的初始数据。
        /// 3行×16列,行优先排列。
        /// </remarks>
        /// <returns>是否成功</returns>
        bool InitializeIfEmpty();
    }
}