Agv任务状态返回,出发预任务执行函数

This commit is contained in:
yang.lee
2023-11-09 11:03:52 +08:00
parent 56818634be
commit 49dcc79b6a
2 changed files with 30 additions and 13 deletions

View File

@@ -218,7 +218,7 @@ namespace Tnb.WarehouseMgr
try try
{ {
Logger.Information($"任务链编号:{input.taskChainCode},状态:{input.status},设备ID{input.deviceID}"); Logger.Information($"任务链编号:{input.taskChainCode},状态:{input.status},设备ID{input.deviceID}");
switch (input.status) /*switch (input.status)
{ {
case "CREATED": break; case "CREATED": break;
case "ALLOCATED": break; case "ALLOCATED": break;
@@ -242,9 +242,23 @@ namespace Tnb.WarehouseMgr
case "FAILURE": break; case "FAILURE": break;
case "FINISHED": break; case "FINISHED": break;
default: break; default: break;
}*/
if (input.taskChainCode.Trim().IsNullOrEmpty())
{
return await ToApiResult(HttpStatusCode.InternalServerError, "请重试!");
} }
//写入redis
//await _cacheManager.SetAsync($"{input.taskChainCode}", $"任务链状态上报,上报状态{input.status}"); List<WmsDistaskH> disTasks = await _db.Queryable<WmsDistaskH>().Where(it => it.bill_code.Contains(input.taskChainCode)).ToListAsync();
List<EqpEquipment> eps = await _db.Queryable<EqpEquipment>().Where(it => it.code.Contains(input.deviceID)).ToListAsync();
TaskExecuteUpInput taskExecuteUpInput = new()
{
disTaskIds = disTasks.Select(x => x.id).ToList(),
EqpIds = eps.Select(x => x.id).ToList(),
};
await _wareHouseService.TaskExecute(taskExecuteUpInput);
ConnectionConfigOptions opts = App.GetOptions<ConnectionConfigOptions>(); ConnectionConfigOptions opts = App.GetOptions<ConnectionConfigOptions>();
UserAgent userAgent = new(App.HttpContext); UserAgent userAgent = new(App.HttpContext);
//写系统日志 //写系统日志
@@ -321,6 +335,10 @@ namespace Tnb.WarehouseMgr
return await ToApiResult(HttpStatusCode.InternalServerError, "请重试!"); return await ToApiResult(HttpStatusCode.InternalServerError, "请重试!");
throw; throw;
} }
finally
{
_ = InvokeGenPretaskExcute();
}
return await ToApiResult(HttpStatusCode.OK, "成功"); return await ToApiResult(HttpStatusCode.OK, "成功");
} }

View File

@@ -263,7 +263,7 @@ namespace Tnb.WarehouseMgr
.Where(it => it.endlocation_code.StartsWith("DT", StringComparison.OrdinalIgnoreCase) && .Where(it => it.endlocation_code.StartsWith("DT", StringComparison.OrdinalIgnoreCase) &&
!it.area_code.Contains("ELE", StringComparison.OrdinalIgnoreCase)) !it.area_code.Contains("ELE", StringComparison.OrdinalIgnoreCase))
.ToList(); .ToList();
preTasks = preTasks.Where(it => !agvElevatorTasks.Select(x=>x.endlocation_code).Contains(it.endlocation_code)).ToList(); preTasks = preTasks.Where(it => !agvElevatorTasks.Select(x => x.endlocation_code).Contains(it.endlocation_code)).ToList();
IEnumerable<WmsPretaskH?> firstEleGrp = agvElevatorTasks.GroupBy(g => g.endlocation_code).Select(t => t.OrderBy(o => o.bill_code).FirstOrDefault()); IEnumerable<WmsPretaskH?> firstEleGrp = agvElevatorTasks.GroupBy(g => g.endlocation_code).Select(t => t.OrderBy(o => o.bill_code).FirstOrDefault());
agvElevatorTasks = agvElevatorTasks.FindAll(x => firstEleGrp.Select(y => y.endlocation_code).Contains(x.endlocation_code)); agvElevatorTasks = agvElevatorTasks.FindAll(x => firstEleGrp.Select(y => y.endlocation_code).Contains(x.endlocation_code));
@@ -385,7 +385,7 @@ namespace Tnb.WarehouseMgr
await db.Ado.CommitTranAsync(); await db.Ado.CommitTranAsync();
if(_eleCtlCfg.Environment == ElevatorConsts.EnvironmentName) if (string.Equals(_eleCtlCfg.Environment, ElevatorConsts.EnvironmentName, StringComparison.OrdinalIgnoreCase))
{ {
//呼梯操作 //呼梯操作
//获取目标库位为电梯库位的任务 //获取目标库位为电梯库位的任务
@@ -887,13 +887,12 @@ namespace Tnb.WarehouseMgr
{ {
row = await _db.Insertable(preTaskCodes).ExecuteCommandAsync(); row = await _db.Insertable(preTaskCodes).ExecuteCommandAsync();
} }
//先注释 by ly on 20231025 var eleP = preTasks.Find(x => x.area_code.Contains("ELE"));
/* var eleP = preTasks.Find(x => x.area_code.Contains("ELE")); if (eleP != null)
if (eleP != null) {
{ row = await _db.Updateable<WmsElevatorH>().SetColumns(it => it.task_nums == it.task_nums + 1).Where(it => it.area_code == eleP.area_code).ExecuteCommandAsync();
row = await _db.Updateable<WmsElevatorH>().SetColumns(it => it.task_nums == it.task_nums + 1).Where(it => it.area_code == eleP.area_code).ExecuteCommandAsync(); }
}
*/
return row > 0; return row > 0;
} }
/// <summary> /// <summary>