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();
|
}
|
}
|