现场问题处理

This commit is contained in:
2024-09-12 14:07:03 +08:00
parent df00f0b1e2
commit c1b4d60778
10 changed files with 406 additions and 100 deletions

View File

@@ -1871,26 +1871,8 @@ namespace Tnb.WarehouseMgr
task.device_id = e.device_id;
}
}
_ = CallingLanding(agvDTTasks);
Logger.Information($"【GenTaskExecute】呼梯任务数:{agvDTTasks.Count}");
List<(string endlocation_code, string device_id, string id, int start_floor)> endLocCodes = agvDTTasks.Where(r => !string.IsNullOrEmpty(r.device_id))
.Select(it => (it.endlocation_code, it.device_id, it.id, it.start_floor)).ToList();
var callLiftCnt = endLocCodes?.Count ?? 0;
Logger.Information($"【GenTaskExecute】实际可呼梯任务数:{callLiftCnt}");
if (endLocCodes?.Count > 0)
{
if (endLocCodes.Select(x => x.device_id).All(x => !x.IsNullOrWhiteSpace()))
{
Logger.Information("【GenTaskExecute】呼梯操作");
_ = CallingLanding(endLocCodes);
}
else
{
Logger.Error("【GenTaskExecute】呼梯失败没有设备ID");
return;
}
}
//执行电梯任务
List<WmsDistaskH>? elevatorTasks = disTasks.Where(it => it.area_code.Contains("ELE", StringComparison.OrdinalIgnoreCase)).ToList();
@@ -1994,6 +1976,7 @@ namespace Tnb.WarehouseMgr
}
/// <summary>
/// 获取电梯根据任务单号
/// </summary>
@@ -2398,8 +2381,28 @@ namespace Tnb.WarehouseMgr
/// </summary>
/// <param name="endLocCodes"></param>
/// <returns></returns>
private async Task CallingLanding(List<(string endlocation_code, string device_id, string id, int floorNO)> endLocCodes)
public async Task CallingLanding(List<WmsDistaskH?> agvDTTasks)
{
Logger.Information($"【GenTaskExecute】呼梯任务数:{agvDTTasks.Count}");
List<(string endlocation_code, string device_id, string id, int start_floor)> endLocCodes = agvDTTasks.Where(r => !string.IsNullOrEmpty(r.device_id))
.Select(it => (it.endlocation_code, it.device_id, it.id, it.start_floor)).ToList();
var callLiftCnt = endLocCodes?.Count ?? 0;
Logger.Information($"【GenTaskExecute】实际可呼梯任务数:{callLiftCnt}");
if (endLocCodes?.Count > 0)
{
if (endLocCodes.Select(x => x.device_id).All(x => !x.IsNullOrWhiteSpace()))
{
Logger.Information("【GenTaskExecute】呼梯操作");
// todo
}
else
{
Logger.Error("【GenTaskExecute】呼梯失败没有设备ID");
return;
}
}
Logger.Information($"【CallingLanding】 开始呼梯操作.............");
try
{
@@ -2561,15 +2564,15 @@ namespace Tnb.WarehouseMgr
#region
// 一托下的时候切换首选电梯
if (disTaskIds.Count == 1)
{
// 选择另一个电梯座位首选电梯
await db.Updateable<BasFactoryConfig>().SetColumns(r => r.value == (r.value == "Elevator3" ? "Elevator4" : "Elevator3"))
.Where(r => r.key == "floor3FirstSelectElevator").ExecuteCommandAsync();
// 剩余可放托数
await db.Updateable<BasFactoryConfig>().SetColumns(r => r.value == "2")
.Where(r => r.key == "floor3FirstSelectElevatorTasknums").ExecuteCommandAsync();
}
//if (disTaskIds.Count == 1)
//{
// 选择另一个电梯座位首选电梯
await db.Updateable<BasFactoryConfig>().SetColumns(r => r.value == (r.value == "Elevator3" ? "Elevator4" : "Elevator3"))
.Where(r => r.key == "floor3FirstSelectElevator").ExecuteCommandAsync();
// 剩余可放托数
await db.Updateable<BasFactoryConfig>().SetColumns(r => r.value == "2")
.Where(r => r.key == "floor3FirstSelectElevatorTasknums").ExecuteCommandAsync();
//}
#endregion
}
@@ -4396,6 +4399,7 @@ namespace Tnb.WarehouseMgr
public SemaphoreSlim GetSemaphore(string type, string warehouse_id, string region_id = "")
{
Logger.LogInformation($"【GetSemaphore】type:{type} warehouse_id:{warehouse_id} region_id:{region_id}");
SemaphoreSlim result = null;
switch (warehouse_id)
{
@@ -4465,7 +4469,7 @@ namespace Tnb.WarehouseMgr
break;
}
}
return _s_taskExecuteSemaphore_F1ZCCOutstock;
return result;
}
#endregion