```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 } ```