Agv任务状态返回,出发预任务执行函数
This commit is contained in:
@@ -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, "成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user