src/main/java/com/zy/asrs/controller/RobotController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/domain/param/ReportExceptionParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/domain/param/RobotReportActionStatusParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/utils/RobotUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/robotStatus.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/RobotController.java
New file @@ -0,0 +1,44 @@ package com.zy.asrs.controller; import com.zy.asrs.domain.param.RobotReportActionStatusParam; import com.zy.asrs.domain.param.ReportExceptionParam; import com.zy.common.utils.RobotUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; @RestController public class RobotController { //机械手向WCS回报任务结果完成 @PostMapping("/request/wcs/single_class_depal_task/report_action_status") public HashMap<String,Object> reportActionStatus(@RequestBody RobotReportActionStatusParam param) { HashMap<String, Object> map = new HashMap<>(); String taskId = param.getTask_id(); Integer taskStatus = param.getTask_status(); Integer pickNum = param.getPick_num(); Integer targetNum = param.getTarget_num(); String message = param.getMessage(); map.put("error", 0); map.put("error_message", "success"); return map; } //机械手向WCS回报异常 @PostMapping("/request/wcs/report_exception") public HashMap<String,Object> reportException(@RequestBody ReportExceptionParam param) { HashMap<String, Object> map = new HashMap<>(); String taskId = param.getTask_id(); String errorCode = param.getError_code(); String msg = param.getMsg(); String tip = param.getTip(); map.put("error", 0); map.put("error_message", "success"); return map; } } src/main/java/com/zy/asrs/domain/param/ReportExceptionParam.java
New file @@ -0,0 +1,23 @@ package com.zy.asrs.domain.param; import lombok.Data; /** * Robot向WCS回报异常参数 */ @Data public class ReportExceptionParam { //任务编号 private String task_id; //错误代码 private String error_code; //错误信息 private String msg; //提示 private String tip; } src/main/java/com/zy/asrs/domain/param/RobotReportActionStatusParam.java
New file @@ -0,0 +1,26 @@ package com.zy.asrs.domain.param; import lombok.Data; /** * 机械臂向WCS回报单次抓取已完成参数 */ @Data public class RobotReportActionStatusParam { //任务编号 private String task_id; //任务状态 private Integer task_status; //任务总抓取数量 private Integer pick_num; //目标抓取数量 private Integer target_num; //结果讯息 private String message; } src/main/java/com/zy/common/utils/RobotUtils.java
New file @@ -0,0 +1,71 @@ package com.zy.common.utils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.core.common.SpringUtils; import org.springframework.core.env.Environment; import java.io.IOException; import java.util.HashMap; import java.util.Map; /** * 机械手(Robot)工具类 */ public class RobotUtils { //获取Robot系统状态 public static boolean getSystemStatus() { Environment environment = SpringUtils.getBean(Environment.class); String robotUrl = environment.getProperty("robot.url"); HashMap<String, Object> map = new HashMap<>(); try { String response = new HttpHandler.Builder() .setUri(robotUrl) .setPath("/api/wcs/is_system_ready") .setJson(JSON.toJSONString(map)) .build() .doPost(); JSONObject data = JSON.parseObject(response); int status = Integer.parseInt(data.get("status").toString()); if (status == 0) { return true;//系统正常 } } catch (IOException e) { e.printStackTrace(); } return false;//系统异常,没有准备好 } //WCS向机械臂下发单拆任务 public static boolean sendTask(String taskId, Map<String, Object> skuInfo, String from, String to) { Environment environment = SpringUtils.getBean(Environment.class); String robotUrl = environment.getProperty("robot.url"); HashMap<String, Object> map = new HashMap<>(); map.put("task_id", taskId); map.put("sku_info", skuInfo); map.put("from", from); map.put("to", to); try { String response = new HttpHandler.Builder() .setUri(robotUrl) .setPath("api/wcs/single_class_depal_task") .setJson(JSON.toJSONString(map)) .build() .doPost(); JSONObject data = JSON.parseObject(response); int error = Integer.parseInt(data.get("error").toString()); if (error == 0) { return true;//成功 } } catch (IOException e) { e.printStackTrace(); } return false;//异常 } } src/main/webapp/static/robotStatus.json
New file @@ -0,0 +1,4 @@ { "message": "ready", "status": 0 }