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

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

View File

@@ -11,7 +11,7 @@ using Tnb.WarehouseMgr.Entities;
namespace Tnb.WarehouseMgr
{
public class BaseWareHouseService<T> : BaseWareHouseService
public class BaseWareHouseService<T> : BaseWareHouseService
{
protected static Dictionary<string, object> _elevatorMap = new Dictionary<string, object>();
@@ -21,7 +21,7 @@ namespace Tnb.WarehouseMgr
{
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},未找到匹配的电梯任务");
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}");
//判断Agv电梯是否进入状态
if (agvStatus != (int)EnumAgvStatus.AGV运行状态)
{
await _elevatorControlService.WriteTagAsync(_eleCtlCfg.DevName, ElevatorConsts.AGVControl, 1);
await _elevatorControlService.WriteTagAsync(devName, ElevatorConsts.AGVControl, 1);
}
Logger.Information("目前正常");
@@ -179,7 +180,7 @@ namespace Tnb.WarehouseMgr
//电梯到达目标楼层后,判断当前电梯门状态是否为开门到位保持状态
if (doorStatus != (int)EnumDoorStatus.)
{
await _elevatorControlService.SendOpenCloseCmd(_eleCtlCfg.DevName, 3); //发送电梯前门开门指令
await _elevatorControlService.SendOpenCloseCmd(devName, 3); //发送电梯前门开门指令
}
if (sysStatus == (int)EnumSysStatus. && runStatus == (int)EnumRunStatus.
&& doorStatus == (int)EnumDoorStatus.)
@@ -201,7 +202,7 @@ namespace Tnb.WarehouseMgr
}
}
return await ToApiResult(HttpStatusCode.InternalServerError, "电梯还未开门,请重试!");
@@ -298,16 +299,11 @@ namespace Tnb.WarehouseMgr
if (elevatorQueueItem != null)
{
Logger.Information("开始进入关门流程");
var disTask = disTasks.Find(x => x.id == elevatorQueueItem.distask_id);
//if (disTask?.status == WmsWareHouseConst.TASK_BILL_STATUS_COMPLE_ID)
var doorStatus = await _elevatorControlService.GetTagAsync(elevatorQueueItem.elevator_code, ElevatorConsts.DoorStatus);
if (doorStatus.ToEnum<EnumDoorStatus>() != EnumDoorStatus.)
{
var doorStatus = await _elevatorControlService.GetTagAsync(_eleCtlCfg.DevName, ElevatorConsts.DoorStatus);
if (doorStatus.ToEnum<EnumDoorStatus>() != EnumDoorStatus.)
{
await _elevatorControlService.SendOpenCloseCmd(elevatorQueueItem.elevator_code, 4); //向电梯发送前门关门指令
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>
/// <param name="context"></param>
/// <returns></returns>
[EventSubscribe(EventSubscribeEventConsts.TaskStatusChangeEventId)]
[EventSubscribe(EventSubscribeEventConsts.TASKSTATUSCHANGE_EVENTID)]
public async Task Excute(EventHandlerExecutingContext context)
{
var tscSource = (TaskStatusChangeSource)context.Source;

View File

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