This commit is contained in:
2024-09-19 12:55:17 +08:00
parent 2592e3a8cb
commit f104b58d82
6 changed files with 56 additions and 44 deletions

View File

@@ -403,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")
@@ -431,18 +431,14 @@ namespace Tnb.WarehouseMgr
Logger.LogInformation($"电梯内{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))
if (elevator.innerpos.Contains(wmsElevatorcacheArea.name))
{
Logger.LogInformation($"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
}
innerpos = wmsElevatorH.innerpos + "," + wmsElevatorcacheArea.name;
canEnter = true;
}
@@ -452,8 +448,7 @@ namespace Tnb.WarehouseMgr
await _db.Updateable<WmsElevatorH>().SetColumns(r => new WmsElevatorH
{
is_use = (int)EnumElevatorUseStatus.,
use_tasks = $"','{r.use_tasks}".Trim(','),
innerpos = innerpos.Trim(',')
use_tasks = $"','{r.use_tasks}".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]}");
@@ -953,6 +948,24 @@ namespace Tnb.WarehouseMgr
await _wareHouseService.AgvelevatorTimerTaskExceptionHandle();
}
}
else if(disTask.area_code == "FC")
{
WmsElevatorcacheArea wmsElevatorcacheArea = await _db.Queryable<WmsElevatorcacheArea>().Where(r => r.location_id == disTask.startlocation_id).FirstAsync();
ElevagorInfoQuery q = new() { taskCode = input.taskCode, sourceName = input.sourceName };
WmsElevatorH elevator = await FindElevatorFromPars(q);
if (elevator.IsNull())
{
Logger.Error($"【UnloadConfirm】 根据参数,sourceName:{input.sourceName},taskCode:{input.taskCode},未找到匹配的电梯任务");
}
string innerpos = elevator.innerpos + "," + wmsElevatorcacheArea.name;
await _db.Updateable<WmsElevatorH>().SetColumns(r => new WmsElevatorH
{
is_use = (int)EnumElevatorUseStatus.,
use_tasks = $"','{r.use_tasks}".Trim(','),
innerpos = innerpos.Trim(',')
}).Where(r => r.elevator_id == elevator.device_id).ExecuteCommandAsync();
}
Logger.Information($"【TaskCallback】 Agv放货完成,任务编号:{string.Join(",", disTasks.Select(x => x.bill_code))}");
}
@@ -960,8 +973,8 @@ namespace Tnb.WarehouseMgr
}
catch (Exception ex)
{
Logger.Error("【TaskCallback】 任务状态上报出现错误", ex.Message);
Logger.Error("【TaskCallback】 任务状态上报错误堆栈信息", ex.StackTrace);
Logger.Error($"【TaskCallback】 任务状态上报出现错误{ex.Message}");
Logger.Error($"【TaskCallback】 任务状态上报错误堆栈信息{ex.Message}");
return await ToApiResult(HttpStatusCode.InternalServerError, "请重试!" + ex.Message);
throw;
}