编辑 | blame | 历史 | 原始文档

本地创建机器人任务设计

背景

RobotTaskService.GetWMSRobotTask 当前通过 HTTP 调用 WMS 获取机器人任务数据,再写入本地数据库。需求是跳过 WMS 调用,直接在本地创建 Dt_RobotTask

方案

新增 CreateLocalRobotTask(Dt_Task task) 方法,保留原 GetWMSRobotTask 不删除。

改动文件

  1. RobotTaskService.cs — 新增 CreateLocalRobotTask 和辅助方法 MapConfigKeyToRobotTaskType
  2. IRobotTaskService.cs — 接口新增方法声明
  3. OutboundTaskFlowService.cs — 调用点从 GetWMSRobotTask 改为 CreateLocalRobotTask

方法逻辑

  1. 复用 ResolveRobotTaskConfigKey 解析任务类型配置键
  2. 复用 BuildRobotTaskStock 构建 StockDTO
  3. 新增 MapConfigKeyToRobotTaskType 映射配置键到 RobotTaskTypeEnum
  • CreateRobotChangePalletTaskChangePallet (510)
  • CreateRobotGroupPalletTaskGroupPallet (500)
  • CreateRobotSplitPalletTaskSplitPallet (520)
  1. 构建 Dt_RobotTask
  • RobotTaskNum = Random.Shared.Next()
  • RobotSourceAddress / RobotTargetAddress = task.SourceAddress / task.TargetAddress
  • RobotSourceAddressLineCode / RobotTargetAddressLineCode = stock 对应字段
  • RobotRoadway = stock.Roadway
  • RobotSourceAddressPalletCode / RobotTargetAddressPalletCode = stock 对应字段
  • RobotTaskType = 映射后的枚举值
  • RobotTaskState = RobotNew (300)
  • RobotGrade = task.Grade
  • Creater = "WCS_Local"
  • RobotTaskTotalNum = 1
  1. BaseDal.AddData 插入数据库
  2. _taskExecuteDetailService.AddTaskExecuteDetail 记录执行明细

不动的部分

  • GetWMSRobotTaskReceiveWMSTask 保持原样
  • ResolveRobotTaskConfigKeyBuildRobotTaskStock 等现有方法复用,不修改
  • 配置文件 appsettings.json 不改