VWED_server/docs/sc/AMR管理.md

455 lines
9.3 KiB
Markdown
Raw Normal View History

2025-09-29 09:35:08 +08:00
```markdown
# AMR管理API接口文档
## AMR管理
### AMR列表
- **请求方式**: GET
- **请求路径**: `/amr`
- **请求参数**:
- `brandId`: string(20), 非必填, 品牌id
- `typeId`: string(20), 非必填, 类型id
- `name`: string(32), 非必填, amr名称
- `isAvailable`: int(1), 非必填, 0不可用 1可用
- `isAcceptTask`: int(1), 非必填, 是否接单: 0不接单 1可接单
- `pageNo`: int, 非必填, 当前页码 默认1
- `pageSize`: int, 非必填, 每页显示条数 默认20
**返回值**:
- `code`: int, 返回状态码
- `message`: string, 返回消息
- `result`: json, json数组
**返回示例**:
```json
{
"success": true,
"message": "success",
"code": 200,
"result": {
"records": [
{
"id": "1930612644818161666",
"tenantId": 1000,
"brandId": "1900149312550977537",
"typeId": "1900154046275993602",
"ipAddress": "192.168.1.106",
"name": "ZKG-1",
"sceneId": "",
"groupId": "",
"onlineStationId": "",
"isOnline": 1,
"isSimulation": 0,
"isAvailable": 1,
"isAcceptTask": 1,
"length": 1.51,
"width": 0.88,
"minPower": 30,
"maxPower": 100,
"chargePower": 30,
"taskPower": 10,
"exchangePower": 60,
"amrStatus": 0,
"createBy": "admin",
"createTime": "2025-06-05 21:08:18"
}
],
"total": 1,
"size": 20,
"current": 1,
"orders": [],
"optimizeCountSql": true,
"searchCount": true,
"maxLimit": null,
"countId": null,
"pages": 1
},
"timestamp": 1749128917991
}
```
### AMR详情
- **请求方式**: GET
- **请求路径**: `/amr/{id}`
**返回值**:
- `code`: int, 返回状态码
- `message`: string, 返回消息
- `result`: json, json数组
**返回示例**:
```json
{
"success": true,
"message": "success",
"code": 200,
"result": {
"id": "1930612644818161666",
"tenantId": 1000,
"brandId": "1900149312550977537",
"typeId": "1900154046275993602",
"ipAddress": "192.168.1.106",
"name": "ZKG-1",
"sceneId": "",
"groupId": "",
"onlineStationId": "",
"isOnline": 1,
"isSimulation": 0,
"isAvailable": 1,
"isAcceptTask": 1,
"length": 1.51,
"width": 0.88,
"minPower": 30,
"maxPower": 100,
"chargePower": 30,
"taskPower": 10,
"exchangePower": 60,
"amrStatus": 0,
"createBy": "admin",
"createTime": "2025-06-05 21:08:18",
"amrState": {
"positionX": 3.2236714,
"positionY": 3.622143,
"currentPower": 0.21,
"localizationScore": 0.0,
"emergencyStop": false,
"hasControl": true,
"positionInitialized": true,
"navigationalState": "driving"
},
"amrConnection": {
"connected": true
}
},
"timestamp": 1749128926938
}
```
### 添加AMR
- **请求方式**: POST
- **Content-Type**: `application/json`
- **请求路径**: `/amr`
- **请求参数**:
- `brandId`: string(20), 必填, 品牌id
- `typeId`: string(20), 必填, 类型id
- `mapId`: string(32), 必填, 地图id (仿真必传; 非仿真不传)
- `ipAddress`: string(255), 必填, amr的硬件ip地址 (仿真不需要传ip地址)
- `isSimulation`: int(1), 必填, 是否仿真 0真实amr 1仿真amr
- `length`: float, 必填, amr长度 (仿真必传; 非仿真不传)
- `width`: float, 必填, amr宽度 (仿真必传; 非仿真不传)
- `minPower`: int(0-100), 必填, amr做任务所需的最小电量
- `maxPower`: int(0-100), 必填, amr的最大电量
- `chargePower`: int(0-100), 必填, amr的充电电量
- `taskPower`: int(0-100), 必填, amr的任务电量
- `exchangePower`: int(0-100), 必填, amr的交换电量
**请求示例**:
```json
{
"brandId": "1900149312550977537",
"typeId": "1900154046275993602",
"mapId": "1900165030629695490",
"groupName": "Group02",
"ipAddress": "199.168.0.125",
"isSimulation": 0,
"name": "Amr01",
"length": 2.32,
"width": 2.21,
"minPower": 30,
"maxPower": 100,
"chargePower": 30,
"taskPower": 10,
"exchangePower": 60
}
```
**返回值**:
- `code`: int, 返回状态码
- `message`: string, 返回消息
**返回示例**:
- 成功:
```json
{
"success": true,
"message": "success",
"code": 200,
"result": null,
"timestamp": 1741866819647
}
```
- 失败:
```json
{
"success": false,
"message": "已有Amr绑定此ip地址",
"code": 400,
"result": null,
"timestamp": 1741871203312
}
```
### 修改AMR
- **请求方式**: PUT
- **Content-Type**: `application/json`
- **请求路径**: `/amr/{id}`
- **请求参数**:
- `brandId`: string(20), 必填, 品牌id
- `typeId`: string(20), 必填, 类型id
- `mapId`: string(20), 必填, 地图id
- `ipAddress`: string(255), 必填, amr的硬件ip地址 (仿真不需要传ip地址)
- `isSimulation`: int(1), 必填, 是否仿真 0真实amr 1仿真amr
- `length`: float, 必填, amr长度 (仿真必传; 非仿真不传)
- `width`: float, 必填, amr宽度 (仿真必传; 非仿真不传)
- `minPower`: int(0-100), 必填, amr做任务所需的最小电量
- `maxPower`: int(0-100), 必填, amr的最大电量
- `chargePower`: int(0-100), 必填, amr的充电电量
- `taskPower`: int(0-100), 必填, amr的任务电量
- `exchangePower`: int(0-100), 必填, amr的交换电量
**请求示例**:
```json
{
"brandId": "1900149312550977537",
"typeId": "1900154046275993602",
"mapId": "1900165030629695490",
"ipAddress": "199.168.0.125",
"isSimulation": 0,
"length": 2.32,
"width": 2.21,
"minPower": 30,
"maxPower": 100,
"chargePower": 30,
"taskPower": 10,
"exchangePower": 60
}
```
**返回值**:
- `code`: int, 返回状态码
- `message`: string, 返回消息
**返回示例**:
- 成功:
```json
{
"success": true,
"message": "success",
"code": 200,
"result": null,
"timestamp": 1741866819647
}
```
- 失败:
```json
{
"success": false,
"message": "已有Amr绑定此ip地址",
"code": 400,
"result": null,
"timestamp": 1741871203312
}
```
### 删除AMR
- **请求方式**: DELETE
- **请求路径**: `/amr/{id}`
- **请求参数**: id
**请求示例**: `/amr/1899019940636917761`
**返回值**:
- `code`: int, 返回状态码
- `message`: string, 返回消息
**返回示例**:
- 成功:
```json
{
"success": true,
"message": "success",
"code": 200,
"result": null,
"timestamp": 1741866819647
}
```
- 失败:
```json
{
"success": false,
"message": "删除失败, 此Amr正在执行任务",
"code": 400,
"result": null,
"timestamp": 1741871203312
}
```
### 批量删除
- **请求方式**: DELETE
- **请求路径**: `/amr/batch`
- **请求参数**:
- `ids`: string, 示例: `"1929837327728517122,1927165737836593154"`
### 单个上线
- **请求方式**: PUT
- **Content-Type**: `application/json`
- **请求路径**: `/amr/5555553/online`
- **请求参数**:
- `onlineStationName`: string, 非必填, 仿真amr上线点名称
**请求示例**:
```json
{
"onlineStationName": "普通点"
}
```
**返回值**:
- `code`: int, 返回状态码
- `message`: string, 返回消息
**返回示例**:
- 成功:
```json
{
"success": true,
"message": "success",
"code": 200,
"result": null,
"timestamp": 1741866819647
}
```
- 失败:
```json
{
"success": false,
"message": "错误信息",
"code": 400,
"result": null,
"timestamp": 1741871203312
}
```
### 批量下线
- **请求方式**: PUT
- **Content-Type**: `application/json`
- **请求路径**: `/amr/offline`
- **请求参数**:
- `ids`: string, 必填, amr ids
**请求示例**:
```json
{
"ids": "1901607901006258178,1901614782747516930"
}
```
**返回值**:
- `code`: int, 返回状态码
- `message`: string, 返回消息
**返回示例**:
- 成功:
```json
{
"success": true,
"message": "success",
"code": 200,
"result": null,
"timestamp": 1741866819647
}
```
- 失败:
```json
{
"success": false,
"message": "错误信息",
"code": 400,
"result": null,
"timestamp": 1741871203312
}
```
### 批量可用/不可用
- **请求方式**: PUT
- **Content-Type**: `application/json`
- **请求路径**: `/amr/available`
- **请求参数**:
- `available`: int(1), 必填, 0不可用 1可用
- `ids`: string, 必填, amr ids
**请求示例**:
```json
{
"available": 1,
"ids": "1901607901006258178,1901614782747516930"
}
```
**返回值**:
- `code`: int, 返回状态码
- `message`: string, 返回消息
**返回示例**:
- 成功:
```json
{
"success": true,
"message": "success",
"code": 200,
"result": null,
"timestamp": 1741866819647
}
```
- 失败:
```json
{
"success": false,
"message": "available只能是0或1",
"code": 400,
"result": null,
"timestamp": 1741871203312
}
```
### 批量可接单/不接单
- **请求方式**: PUT
- **Content-Type**: `application/json`
- **请求路径**: `/amr/acceptTask`
- **请求参数**:
- `acceptTask`: int(1), 必填, 0不接单 1可接单
- `ids`: string, 必填, amr ids
**请求示例**:
```json
{
"acceptTask": 1,
"ids": "1901607901006258178,1901614782747516930"
}
```
**返回值**:
- `code`: int, 返回状态码
- `message`: string, 返回消息
**返回示例**:
- 成功:
```json
{
"success": true,
"message": "success",
"code": 200,
"result": null,
"timestamp": 1741866819647
}
```
- 失败:
```json
{
"success": false,
"message": "acceptTask只能是0或1",
"code": 400,
"result": null,
"timestamp": 1741871203312
}
```