调整,取货、放货 确认接口

This commit is contained in:
alex
2023-09-28 17:44:02 +08:00
parent 73d773c03f
commit db451b6c09
5 changed files with 167 additions and 50 deletions

View File

@@ -15,6 +15,7 @@ using MimeKit.Cryptography;
using Newtonsoft.Json.Linq;
using Tnb.Common.Extension;
using Tnb.Common.Utils;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Configs;
using Tnb.WarehouseMgr.Entities.Consts;
using Tnb.WarehouseMgr.Entities.Enums;
@@ -157,7 +158,7 @@ namespace Tnb.WarehouseMgr
return Task.FromResult(0);
}
private Task<object> SetRequestParameter(string tagName, object value)
{
@@ -313,6 +314,34 @@ namespace Tnb.WarehouseMgr
}
return isInAgvStatus;
}
/// <summary>
/// 呼梯操作
/// </summary>
/// <param name="devName">设备名称</param>
/// <param name="floor">呼叫楼层</param>
/// <param name="cancellationToken">取消令牌</param>
/// <returns></returns>
public async Task<bool> CallLift(string devName, int floor, CancellationToken cancellationToken)
{
var isSuccefuly = false;
(int sysStatus, int runStatus, int floorNo, int doorStatus, int agvStatus) = await GetElevatorStatus(devName, CancellationToken.None);
//判断当前楼层是否是放货楼层,如不是则呼叫电梯到当前楼层
if (sysStatus.ToEnum<EnumSysStatus>() == EnumSysStatus. && runStatus.ToEnum<EnumRunStatus>() == EnumRunStatus. &&
agvStatus.ToEnum<EnumAgvStatus>() != EnumAgvStatus.AGV运行状态 && floorNo != 4)
{
if (doorStatus.ToEnum<EnumDoorStatus>() != EnumDoorStatus.)
{
await SendOpenCloseCmd(devName, (int)EnumAgvControl.);
}
var result = await WriteTagAsync(devName, ElevatorConsts.FloorExecute, floor); //呼叫电梯到4楼
if (!result.IsNullOrEmpty())
{
JObject jo = JObject.Parse(result);
isSuccefuly = jo?.Value<string>("Result").Equals("Ok", StringComparison.OrdinalIgnoreCase) ?? false;
}
}
return isSuccefuly;
}
}
public class ElevatorData