VWED_server/docs/sc/AMR管理.md

9.3 KiB

# 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数组

返回示例:

{
  "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的交换电量

请求示例:

{
  "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, 返回消息

返回示例:

  • 成功:
{
  "success": true,
  "message": "success",
  "code": 200,
  "result": null,
  "timestamp": 1741866819647
}
  • 失败:
{
  "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的交换电量

请求示例:

{
  "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, 返回消息

返回示例:

  • 成功:
{
  "success": true,
  "message": "success",
  "code": 200,
  "result": null,
  "timestamp": 1741866819647
}
  • 失败:
{
  "success": false,
  "message": "已有Amr绑定此ip地址",
  "code": 400,
  "result": null,
  "timestamp": 1741871203312
}

删除AMR

  • 请求方式: DELETE
  • 请求路径: /amr/{id}
  • 请求参数: id

请求示例: /amr/1899019940636917761

返回值:

  • code: int, 返回状态码
  • message: string, 返回消息

返回示例:

  • 成功:
{
  "success": true,
  "message": "success",
  "code": 200,
  "result": null,
  "timestamp": 1741866819647
}
  • 失败:
{
  "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上线点名称

请求示例:

{
  "onlineStationName": "普通点"
}

返回值:

  • code: int, 返回状态码
  • message: string, 返回消息

返回示例:

  • 成功:
{
  "success": true,
  "message": "success",
  "code": 200,
  "result": null,
  "timestamp": 1741866819647
}
  • 失败:
{
  "success": false,
  "message": "错误信息",
  "code": 400,
  "result": null,
  "timestamp": 1741871203312
}

批量下线

  • 请求方式: PUT
  • Content-Type: application/json
  • 请求路径: /amr/offline
  • 请求参数:
    • ids: string, 必填, amr ids

请求示例:

{
  "ids": "1901607901006258178,1901614782747516930"
}

返回值:

  • code: int, 返回状态码
  • message: string, 返回消息

返回示例:

  • 成功:
{
  "success": true,
  "message": "success",
  "code": 200,
  "result": null,
  "timestamp": 1741866819647
}
  • 失败:
{
  "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

请求示例:

{
  "available": 1,
  "ids": "1901607901006258178,1901614782747516930"
}

返回值:

  • code: int, 返回状态码
  • message: string, 返回消息

返回示例:

  • 成功:
{
  "success": true,
  "message": "success",
  "code": 200,
  "result": null,
  "timestamp": 1741866819647
}
  • 失败:
{
  "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

请求示例:

{
  "acceptTask": 1,
  "ids": "1901607901006258178,1901614782747516930"
}

返回值:

  • code: int, 返回状态码
  • message: string, 返回消息

返回示例:

  • 成功:
{
  "success": true,
  "message": "success",
  "code": 200,
  "result": null,
  "timestamp": 1741866819647
}
  • 失败:
{
  "success": false,
  "message": "acceptTask只能是0或1",
  "code": 400,
  "result": null,
  "timestamp": 1741871203312
}