现在问题处理

This commit is contained in:
2024-09-14 11:58:14 +08:00
parent 2511e4f099
commit 7d44c723e4
24 changed files with 677 additions and 369 deletions

View File

@@ -174,7 +174,6 @@ namespace Tnb.WarehouseMgr
var tags = _eleCtlCfg.tags;
await Task.Delay(1000);
(int sysStatus, int runStatus, int floorNo, int doorStatus, int agvStatus) = await _elevatorControlService.GetElevatorStatus(devName, tags, CancellationToken.None);
Logger.Information($"【LoadConfirm】 电梯当前状态->系统状态:{sysStatus.ToEnum<EnumSysStatus>()},运行状态:{runStatus.ToEnum<EnumRunStatus>()},门状态:{doorStatus},Agv状态:{agvStatus.ToEnum<EnumAgvStatus>()},当前楼层:{floorNo},电梯占用状态{s_eleUseStatusDic[elevator.device_id]}");
{
var curFloor = await GetRealFloor(elevator.elevator_code, elevator.end_floor);
/* Logger.Information($"目标楼层:{curFloor},电梯当前楼层:{floorNo}");
@@ -182,6 +181,7 @@ namespace Tnb.WarehouseMgr
var loadedStatus = s_eleUseStatusDic[elevator.device_id] == 1 ? "完成" : "未完成";
Logger.Information($"{devName.Match(@"\d+")}#梯,取货-> {loadedStatus}");
*/
Logger.Information($"【LoadConfirm】 电梯当前状态->系统状态:{sysStatus.ToEnum<EnumSysStatus>()},运行状态:{runStatus.ToEnum<EnumRunStatus>()},门状态:{doorStatus},Agv状态:{agvStatus.ToEnum<EnumAgvStatus>()},当前楼层:{floorNo},目标楼层:{curFloor},电梯占用状态{s_eleUseStatusDic[elevator.device_id]}");
if (s_eleUseStatusDic[elevator.device_id] == (int)EnumElevatorUseStatus. && curFloor != floorNo)
{
_ = await _elevatorControlService.CallLift(devName, curFloor, CancellationToken.None);
@@ -281,9 +281,10 @@ namespace Tnb.WarehouseMgr
Logger.Information("【UnloadConfirm】 接收到WCS放货确认信号..................");
Logger.Information($"【UnloadConfirm】 当前放货,任务编号:{input.taskCode}");
WmsDistaskH dis = null;
try
{
var dis = _db.Queryable<WmsDistaskH>().Where(P => P.bill_code == input.taskCode).First();
dis = _db.Queryable<WmsDistaskH>().Where(P => P.bill_code == input.taskCode).First();
if (dis.area_code == "ZSCJ001")
{
var flag = await _wareHouseService.Check(dis.endlocation_code, "UNLOAD");
@@ -402,7 +403,7 @@ namespace Tnb.WarehouseMgr
Logger.Information($"【UnloadConfirm】 发送电梯{devName}前门开门指令");
_ = await _elevatorControlService.SendOpenCloseCmd(devName, 3); //发送电梯前门开门指令
}
string innerpos = "";
// 3 4号梯需要电梯是当前楼层开门状态就能进
bool canEnter = false;
if (devName == "Elevator3" || devName == "Elevator4")
@@ -428,8 +429,19 @@ namespace Tnb.WarehouseMgr
if (elevator.carry_count >= 2)
{
Logger.LogInformation($"电梯内{devName}已有两托货!");
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}已有两托货!");
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}已有两托货!");
}
WmsElevatorH wmsElevatorH = await _db.Queryable<WmsElevatorH>().Where(r => r.elevator_id == elevator.device_id).FirstAsync();
WmsElevatorcacheArea wmsElevatorcacheArea = await _db.Queryable<WmsElevatorcacheArea>().Where(r => r.location_id == dis.startlocation_id).FirstAsync();
// 如果当前所放梯内货位已占用
if (wmsElevatorH.innerpos.Contains(wmsElevatorcacheArea.name))
{
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
}
innerpos = wmsElevatorH.innerpos + "," + wmsElevatorcacheArea.name;
canEnter = true;
}
@@ -439,7 +451,8 @@ namespace Tnb.WarehouseMgr
await _db.Updateable<WmsElevatorH>().SetColumns(r => new WmsElevatorH
{
is_use = (int)EnumElevatorUseStatus.,
use_tasks = $"','{r.use_tasks}".Trim(',')
use_tasks = $"','{r.use_tasks}".Trim(','),
innerpos = innerpos.Trim(',')
}).Where(r => r.elevator_id == elevator.device_id).ExecuteCommandAsync();
s_eleUseStatusDic[elevator.device_id] = (int)EnumElevatorUseStatus.;
Logger.Information($"【UnloadConfirm】 {devName}放货成功 状态变更为占用 {s_eleUseStatusDic.GetHashCode()} {s_eleUseStatusDic[elevator.device_id]}");
@@ -850,7 +863,8 @@ namespace Tnb.WarehouseMgr
await _db.Updateable<WmsElevatorH>().SetColumns(r => new WmsElevatorH
{
is_use = (int)EnumElevatorUseStatus.,
use_tasks = ""
use_tasks = "",
innerpos = ""
}).Where(r => r.elevator_id == elevator.device_id).ExecuteCommandAsync();
s_eleUseStatusDic[elevator.device_id] = (int)EnumElevatorUseStatus.;
Logger.Information($"【TaskCallback】 {devName.Match(@"\d+")}#梯,设备名称:{devName},开始进入关门流程 {devName} 变更为空闲 {s_eleUseStatusDic.GetHashCode()} {s_eleUseStatusDic[elevator.device_id]}");
@@ -928,7 +942,17 @@ namespace Tnb.WarehouseMgr
await _wareHouseService.SsxControl_complete(disTask, "UNLOAD");
await _wareHouseService.Floor2MechanicalComplete(disTask, "UNLOAD");
// 三楼暂存放货完成时生成到电梯任务
if (disTask.area_code == "F")
{
BasLocation endlocation = await _db.Queryable<BasLocation>().FirstAsync(r => r.id == disTask.endlocation_id);
if (endlocation.region_id == WmsWareHouseConst.REGION_CPOutstockCache_ID)
{
Logger.Information($"【TaskCallback】托盘{disTask.carry_code}放货完成 开始分配到电梯任务");
await _wareHouseService.AgvelevatorTimerTaskExceptionHandle();
}
}
Logger.Information($"【TaskCallback】 Agv放货完成,任务编号:{string.Join(",", disTasks.Select(x => x.bill_code))}");
}
@@ -966,7 +990,8 @@ namespace Tnb.WarehouseMgr
{
is_use = (int)EnumElevatorUseStatus.,
use_tasks = "",
carry_count = 0
carry_count = 0,
innerpos = ""
})
.Where(it => it.elevator_id == wmsElevatorH.elevator_id).ExecuteCommandAsync();