放货确认,电梯关门逻辑代码调整

This commit is contained in:
yang.lee
2023-10-31 17:49:28 +08:00
parent 77a07b5a3a
commit 02e4dbb45a
5 changed files with 15 additions and 19 deletions

View File

@@ -56,7 +56,7 @@ namespace Tnb.WarehouseMgr
private static Lazy<Dictionary<string, IWHStorageService>> _stroageMapLazy; private static Lazy<Dictionary<string, IWHStorageService>> _stroageMapLazy;
private static Dictionary<string, IWHStorageService> _storeMap = new(StringComparer.OrdinalIgnoreCase); private static Dictionary<string, IWHStorageService> _storeMap = new(StringComparer.OrdinalIgnoreCase);
public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc(); public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
private IEventPublisher _eventPublisher; private IEventPublisher _eventPublisher;
protected IEventPublisher EventPublisher protected IEventPublisher EventPublisher
@@ -170,7 +170,7 @@ namespace Tnb.WarehouseMgr
[NonAction] [NonAction]
protected async Task Publish(string taskName) protected async Task Publish(string taskName)
{ {
await _eventPublisher.PublishAsync(new TaskStatusChangeSource(EventSubscribeEventConsts.TaskStatusChangeEventId, taskName)); await _eventPublisher.PublishAsync(new TaskStatusChangeSource(EventSubscribeEventConsts.TASKSTATUSCHANGE_EVENTID, taskName));
} }
[NonAction] [NonAction]

View File

@@ -11,7 +11,7 @@ using Tnb.WarehouseMgr.Entities;
namespace Tnb.WarehouseMgr namespace Tnb.WarehouseMgr
{ {
public class BaseWareHouseService<T> : BaseWareHouseService public class BaseWareHouseService<T> : BaseWareHouseService
{ {
protected static Dictionary<string, object> _elevatorMap = new Dictionary<string, object>(); protected static Dictionary<string, object> _elevatorMap = new Dictionary<string, object>();
@@ -21,7 +21,7 @@ namespace Tnb.WarehouseMgr
{ {
Task.Run(async () => Task.Run(async () =>
{ {
_elevatorMap = await db.Queryable<WmsElevatorH>().ToDictionaryAsync(x =>x.elevator_id,x=>x.elevator_code); _elevatorMap = await db.Queryable<WmsElevatorH>().ToDictionaryAsync(x => x.elevator_id, x => x.elevator_code);
}); });
} }
} }

View File

@@ -166,12 +166,13 @@ namespace Tnb.WarehouseMgr
throw new Exception($"根据参数,sourceName:{input.sourceName},taskCode:{input.taskCode},未找到匹配的电梯任务"); throw new Exception($"根据参数,sourceName:{input.sourceName},taskCode:{input.taskCode},未找到匹配的电梯任务");
if (_elevatorMap.TryGetValue(elevator.elevator_id, out var elevatorCode)) if (_elevatorMap.TryGetValue(elevator.elevator_id, out var elevatorCode))
{ {
(int sysStatus, int runStatus, int floorNo, int doorStatus, int agvStatus) = await _elevatorControlService.GetElevatorStatus(_eleCtlCfg.DevName, CancellationToken.None);//elevator.elevator_code var devName = elevatorCode?.ToString() ?? _eleCtlCfg.DevName;
(int sysStatus, int runStatus, int floorNo, int doorStatus, int agvStatus) = await _elevatorControlService.GetElevatorStatus(devName, CancellationToken.None);//elevator.elevator_code
Logger.Information($"电梯当前状态->系统状态:{sysStatus.ToEnum<EnumSysStatus>().ToString()},运行状态:{runStatus},门状态:{doorStatus},Agv状态:{agvStatus},当前楼层:{floorNo}"); Logger.Information($"电梯当前状态->系统状态:{sysStatus.ToEnum<EnumSysStatus>().ToString()},运行状态:{runStatus},门状态:{doorStatus},Agv状态:{agvStatus},当前楼层:{floorNo}");
//判断Agv电梯是否进入状态 //判断Agv电梯是否进入状态
if (agvStatus != (int)EnumAgvStatus.AGV运行状态) if (agvStatus != (int)EnumAgvStatus.AGV运行状态)
{ {
await _elevatorControlService.WriteTagAsync(_eleCtlCfg.DevName, ElevatorConsts.AGVControl, 1); await _elevatorControlService.WriteTagAsync(devName, ElevatorConsts.AGVControl, 1);
} }
Logger.Information("目前正常"); Logger.Information("目前正常");
@@ -179,7 +180,7 @@ namespace Tnb.WarehouseMgr
//电梯到达目标楼层后,判断当前电梯门状态是否为开门到位保持状态 //电梯到达目标楼层后,判断当前电梯门状态是否为开门到位保持状态
if (doorStatus != (int)EnumDoorStatus.) if (doorStatus != (int)EnumDoorStatus.)
{ {
await _elevatorControlService.SendOpenCloseCmd(_eleCtlCfg.DevName, 3); //发送电梯前门开门指令 await _elevatorControlService.SendOpenCloseCmd(devName, 3); //发送电梯前门开门指令
} }
if (sysStatus == (int)EnumSysStatus. && runStatus == (int)EnumRunStatus. if (sysStatus == (int)EnumSysStatus. && runStatus == (int)EnumRunStatus.
&& doorStatus == (int)EnumDoorStatus.) && doorStatus == (int)EnumDoorStatus.)
@@ -201,7 +202,7 @@ namespace Tnb.WarehouseMgr
} }
} }
return await ToApiResult(HttpStatusCode.InternalServerError, "电梯还未开门,请重试!"); return await ToApiResult(HttpStatusCode.InternalServerError, "电梯还未开门,请重试!");
@@ -298,16 +299,11 @@ namespace Tnb.WarehouseMgr
if (elevatorQueueItem != null) if (elevatorQueueItem != null)
{ {
Logger.Information("开始进入关门流程"); Logger.Information("开始进入关门流程");
var doorStatus = await _elevatorControlService.GetTagAsync(elevatorQueueItem.elevator_code, ElevatorConsts.DoorStatus);
var disTask = disTasks.Find(x => x.id == elevatorQueueItem.distask_id); if (doorStatus.ToEnum<EnumDoorStatus>() != EnumDoorStatus.)
//if (disTask?.status == WmsWareHouseConst.TASK_BILL_STATUS_COMPLE_ID)
{ {
var doorStatus = await _elevatorControlService.GetTagAsync(_eleCtlCfg.DevName, ElevatorConsts.DoorStatus); await _elevatorControlService.SendOpenCloseCmd(elevatorQueueItem.elevator_code, 4); //向电梯发送前门关门指令
if (doorStatus.ToEnum<EnumDoorStatus>() != EnumDoorStatus.) await _db.Deleteable(elevatorQueueItem).ExecuteCommandAsync();
{
await _elevatorControlService.SendOpenCloseCmd(elevatorQueueItem.elevator_code, 4); //向电梯发送前门关门指令
await _db.Deleteable(elevatorQueueItem).ExecuteCommandAsync();
}
} }
} }

View File

@@ -32,7 +32,7 @@ public class TaskStatusChangeSubscriber : IEventSubscriber, ISingleton
/// </summary> /// </summary>
/// <param name="context"></param> /// <param name="context"></param>
/// <returns></returns> /// <returns></returns>
[EventSubscribe(EventSubscribeEventConsts.TaskStatusChangeEventId)] [EventSubscribe(EventSubscribeEventConsts.TASKSTATUSCHANGE_EVENTID)]
public async Task Excute(EventHandlerExecutingContext context) public async Task Excute(EventHandlerExecutingContext context)
{ {
var tscSource = (TaskStatusChangeSource)context.Source; var tscSource = (TaskStatusChangeSource)context.Source;

View File

@@ -11,7 +11,7 @@ namespace Tnb.Common.Core.EventBus.Constants
/// <summary> /// <summary>
/// 预任务执行EventId /// 预任务执行EventId
/// </summary> /// </summary>
public const string TaskStatusChangeEventId = "DisTask:TaskStatusChange"; public const string TASKSTATUSCHANGE_EVENTID = "DisTask:TaskStatusChange";
} }
} }