Agv任务状态返回,出发预任务执行函数
This commit is contained in:
@@ -218,7 +218,7 @@ namespace Tnb.WarehouseMgr
|
||||
try
|
||||
{
|
||||
Logger.Information($"任务链编号:{input.taskChainCode},状态:{input.status},设备ID:{input.deviceID}");
|
||||
switch (input.status)
|
||||
/*switch (input.status)
|
||||
{
|
||||
case "CREATED": break;
|
||||
case "ALLOCATED": break;
|
||||
@@ -242,9 +242,23 @@ namespace Tnb.WarehouseMgr
|
||||
case "FAILURE": break;
|
||||
case "FINISHED": 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>();
|
||||
UserAgent userAgent = new(App.HttpContext);
|
||||
//写系统日志
|
||||
@@ -321,6 +335,10 @@ namespace Tnb.WarehouseMgr
|
||||
return await ToApiResult(HttpStatusCode.InternalServerError, "请重试!");
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
_ = InvokeGenPretaskExcute();
|
||||
}
|
||||
return await ToApiResult(HttpStatusCode.OK, "成功");
|
||||
}
|
||||
|
||||
|
||||
@@ -263,12 +263,12 @@ namespace Tnb.WarehouseMgr
|
||||
.Where(it => it.endlocation_code.StartsWith("DT", StringComparison.OrdinalIgnoreCase) &&
|
||||
!it.area_code.Contains("ELE", StringComparison.OrdinalIgnoreCase))
|
||||
.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());
|
||||
agvElevatorTasks = agvElevatorTasks.FindAll(x => firstEleGrp.Select(y => y.endlocation_code).Contains(x.endlocation_code));
|
||||
preTasks = preTasks.Concat(agvElevatorTasks).ToList();
|
||||
|
||||
|
||||
|
||||
List<string> ids = preTasks.Select(x => x.id).Distinct().ToList();
|
||||
List<WmsPretaskCode>? preTaskCodes = await db.Queryable<WmsPretaskCode>().Where(it => ids.Contains(it.bill_id)).ToListAsync();
|
||||
@@ -385,7 +385,7 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
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();
|
||||
}
|
||||
//先注释 by ly on 20231025
|
||||
/* var eleP = preTasks.Find(x => x.area_code.Contains("ELE"));
|
||||
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();
|
||||
}
|
||||
*/
|
||||
var eleP = preTasks.Find(x => x.area_code.Contains("ELE"));
|
||||
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();
|
||||
}
|
||||
|
||||
return row > 0;
|
||||
}
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user