change - AGV调度服务添加AGV任务获取对外暴露接口、更新待办事项

dev
WenJY 10 hours ago
parent fc74a33327
commit 84c178352a

@ -24,6 +24,7 @@
#endregion << 版 本 注 释 >>
using Sln.Wcs.HikRoBotAdapter.Domain.Dto.GbTaskSubmit;
using Sln.Wcs.HikRoBotAdapter.Domain.Dto.QueryTask;
using Sln.Wcs.HikRoBotAdapter.Enum;
using Sln.Wcs.HikRoBotAdapter.Service;
using Sln.Wcs.Model.Domain;
@ -62,6 +63,31 @@ public class HikRoBotDispatchHub
_logger.Info($"调度任务{taskDetail.taskCode}下发失败:{submitResultDto.msg}");
}
}
/// <summary>
/// 获取任务状态
/// </summary>
/// <param name="taskDetail"></param>
/// <returns></returns>
public string GetTaskStatus(string taskCode)
{
string result = string.Empty;
QueryTaskResultDto taskStatus = _hikRobotAdapter.QueryTaskStatus(new QueryTaskDto()
{
RobotTaskCode = taskCode,
});
if (taskStatus.code == HikRoBotStatusEnum.)
{
_logger.Info($"调度任务{taskCode}状态获取成功:{taskStatus.data.TaskStatus}");
result = taskStatus.data.TaskStatus;
}
else
{
_logger.Info($"调度任务{taskCode}状态获取失败:{taskStatus.msg}");
}
return result;
}
}

@ -96,6 +96,13 @@ api.MapPost("/task/receive", (ReceiveTaskRequest req) =>
return Results.Ok(new { success = true });
});
// Hub 方法: GetTaskStatus
api.MapGet("/task/status", (string taskCode) =>
{
string taskStatus = hub.GetTaskStatus(taskCode);
return Results.Ok(new { time = DateTime.Now, status = "ok" , taskStatus = taskStatus });
});
api.MapGet("/health", () => Results.Ok(new { time = DateTime.Now, status = "ok" }));
log.Info("HikRoBotServer 就绪: http://localhost:5200/swagger");

@ -11,22 +11,24 @@
## 待完成
### 1. 任务执行引擎(分组并行方案)
- [ ] 重新实现 BaseTaskExecutor、6 个执行类、TaskExecutorFactory
- [ ] MaterialStrategy.ProcessTask 改为调用工厂
- [ ] SemaphoreSlim 实现分组并行 + 组内串行
- [ ] 移除旧的 DispatchToAgv/DispatchToHoist stub
### 1.调度逻辑修改
- [ ] HoistDispatcher、HikRoBotDispatcher任务下发后需要监控任务执行情况任务执行完成后才可以返回ok给Strategy
- [ ] AGV 任务下发后开始获取任务状态(调用/task/status只有状态为FINISHED/MANUALED完成或手动完成时才可以进行后序任务CANCELLED时终端调度任务后序也不执行
等待步骤执行WAIT => 筛选提升机、下发提升机任务
FINISHED/MANUALED => 完成/手动完成,可以进行后序任务
CANCELLED => 任务取消,终止调度任务
- [ ] Strategy执行到提升机任务时进行读取托盘条码验证物料并下发提升机启动信号
### 2. 登录与权限
- [ ] 登录窗口 + 用户认证
- [ ] 菜单权限控制
- [ ] 用户管理页面(已有部分代码,需恢复)
### 2. 任务执行引擎(分组并行方案)
- [ ] 包材入库逻辑测试
- [ ] 包材出库、成品入库、成品出库逻辑测试
- [ ] 任务执行引擎抽象,优化代码结构
### 3. UI 优化
- [ ] 选中行高亮颜色与编辑按钮区分FluentTheme 内部限制,待找替代方案)
- [ ] 码垛机 HMI 接入实时 PLC 数据
- [ ] 任务页面添加"下发"按钮(调用 HoistServer/HikRoBotServer API
### 4. 方案设计
- [ ] 前端/引擎通信协议确定HTTP API 已就绪,需确认请求/响应格式)
- [ ] 设备并行数调优(当前 SemaphoreSlim(1)
### 4. 登录与权限
- [ ] 登录窗口 + 用户认证
- [ ] 菜单权限控制

Loading…
Cancel
Save