外部任务接口文档
外部任务模块接口
1. 创建新任务 (create_new_task)
接口描述
根据任务类型自动选择对应的任务模板并执行任务,用于外部系统调用创建和启动任务。
请求方式
- HTTP方法: POST
- 接口路径:
/newTask
请求参数
参数名 |
类型 |
必填 |
描述 |
ReqCode |
String |
是 |
请求唯一标识码 |
SourceID |
String |
否 |
来源ID |
TargetID |
String |
是 |
目标ID |
TaskType |
TaskTypeEnum |
是 |
任务类型 |
任务类型枚举 (TaskTypeEnum)
枚举值 |
描述 |
模板ID |
GG2MP |
高柜到MP |
template_gg2mp_id |
GGFK2MP |
高柜发库到MP |
template_ggfk2mp_id |
GT2MP |
高台到MP |
571985c1-cfa5-4186-8acd-6e3868a5e08c |
GTFK2MP |
高台发库到MP |
template_gtfk2mp_id |
ZG2MP |
中柜到MP |
template_zg2mp_id |
QZ2MP |
清洗到MP |
template_qz2mp_id |
LG2MP |
料柜到MP |
template_lg2mp_id |
PHZ2MP |
配货站到MP |
template_phz2mp_id |
MP2GG |
MP到高柜 |
template_mp2gg_id |
MP2GGFK |
MP到高柜发库 |
template_mp2ggfk_id |
MP2GT |
MP到高台 |
template_mp2gt_id |
MP2GTFK |
MP到高台发库 |
template_mp2gtfk_id |
MP2ZG |
MP到中柜 |
template_mp2zg_id |
MP2QZ |
MP到清洗 |
template_mp2qz_id |
MP2LG |
MP到料柜 |
template_mp2lg_id |
MP2PHZ |
MP到配货站 |
template_mp2phz_id |
请求示例
{
"ReqCode": "123e4567-e89b-12d3-a456-426614174000",
"SourceID": "WH-A-001",
"TargetID": "WH-B-002",
"TaskType": "GT2MP"
}
响应参数
{
"code": 0,
"reqCode": "123e4567-e89b-12d3-a456-426614174000",
"message": "成功",
"rowCount": 1
}
错误响应
- 不支持的任务类型时:
{
"code": 400,
"reqCode": "123e4567-e89b-12d3-a456-426614174000",
"message": "不支持的任务类型: UNKNOWN_TYPE",
"rowCount": 0
}
- 任务启动失败时:
{
"code": 500,
"reqCode": "123e4567-e89b-12d3-a456-426614174000",
"message": "任务启动失败",
"rowCount": 0
}
- 系统异常时:
{
"code": 500,
"reqCode": "123e4567-e89b-12d3-a456-426614174000",
"message": "创建任务失败: [详细错误信息]",
"rowCount": 0
}
2. AGV调度任务 (GenAgvSchedulingTask)
接口描述
用于生成AGV调度任务,支持更丰富的调度参数配置,包括位置路径、安全密钥验证等。
请求方式
- HTTP方法: POST
- 接口路径:
/GenAgvSchedulingTask
请求参数
参数名 |
类型 |
必填 |
描述 |
ReqCode |
String |
是 |
请求唯一标识码 |
TaskTyp |
String |
是 |
任务类型(使用TaskTypeEnum中的值) |
SecurityKey |
String |
是 |
安全密钥 |
Type |
String |
是 |
类型标识 |
TaskCode |
String |
是 |
任务代码 |
SubType |
String |
是 |
子类型标识 |
AreaPositonCode |
String |
是 |
区域位置代码 |
AreaPositonName |
String |
是 |
区域位置名称 |
PositionCodePath |
Array |
是 |
位置代码路径 |
ClientCode |
String |
否 |
客户端代码 |
TokenCode |
String |
否 |
令牌代码 |
PositionCodePath 参数结构
参数名 |
类型 |
必填 |
描述 |
PositionCode |
String |
是 |
位置代码 |
Type |
String |
是 |
类型 |
请求示例
{
"ReqCode": "a98334b940af48328290389a64b71bcc",
"TaskTyp": "MP2GGFK",
"SecurityKey": "2JN4YW5IJSQRXDEPBT3YQKEGJMT2GS1X",
"Type": "1",
"TaskCode": "d074b178e9c54a72a484a782d8955aa3",
"SubType": "3",
"AreaPositonCode": "1-1",
"AreaPositonName": "1-1,ZK",
"PositionCodePath": [
{
"PositionCode": "AP190",
"Type": "00"
},
{
"PositionCode": "AP313",
"Type": "04"
}
],
"ClientCode": "",
"TokenCode": ""
}
响应参数
{
"code": 0,
"reqCode": "a98334b940af48328290389a64b71bcc",
"message": "成功",
"rowCount": 0
}
错误响应
- 安全密钥为空时:
{
"code": 400,
"reqCode": "a98334b940af48328290389a64b71bcc",
"message": "安全密钥不能为空",
"rowCount": 0
}
- 不支持的任务类型时:
{
"code": 400,
"reqCode": "a98334b940af48328290389a64b71bcc",
"message": "不支持的任务类型: UNKNOWN_TYPE",
"rowCount": 0
}
- 任务启动失败时:
{
"code": 500,
"reqCode": "a98334b940af48328290389a64b71bcc",
"message": "任务启动失败",
"rowCount": 0
}
- 系统异常时:
{
"code": 500,
"reqCode": "a98334b940af48328290389a64b71bcc",
"message": "创建任务失败: [详细错误信息]",
"rowCount": 0
}
通用说明
响应码说明
响应码 |
描述 |
0 |
成功 |
400 |
请求参数错误 |
404 |
资源不存在 |
409 |
冲突(如任务已在运行) |
500 |
服务器内部错误 |
安全说明
- 所有接口都需要提供有效的请求标识码(ReqCode)
- AGV调度任务接口需要提供有效的安全密钥(SecurityKey)
- 系统会记录所有请求的客户端信息和来源
- 建议在生产环境中启用HTTPS
调用注意事项
- 请求标识码(ReqCode)应保证全局唯一性
- 任务类型必须在支持的枚举范围内
- 系统会根据任务类型自动选择对应的任务模板
- 位置代码路径用于指定AGV的行驶路径
- 系统支持并发调用,但相同设备的相同任务可能有限制
监控和日志
- 所有接口调用都会记录详细日志
- 支持通过ReqCode追踪任务执行状态
- 错误信息会包含足够的上下文用于排查问题
- 建议定期监控接口响应时间和成功率