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

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

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