From 448340025aefd8edbb72a23f2f1677fc3c74d486 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 08 九月 2023 16:03:53 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/RobotController.java | 44 ++++++++++++++ src/main/java/com/zy/asrs/domain/param/ReportExceptionParam.java | 23 +++++++ src/main/java/com/zy/asrs/domain/param/RobotReportActionStatusParam.java | 26 ++++++++ src/main/webapp/static/robotStatus.json | 4 + src/main/java/com/zy/common/utils/RobotUtils.java | 71 +++++++++++++++++++++++ 5 files changed, 168 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/RobotController.java b/src/main/java/com/zy/asrs/controller/RobotController.java new file mode 100644 index 0000000..3b4b5a4 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/RobotController.java @@ -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; + } + +} diff --git a/src/main/java/com/zy/asrs/domain/param/ReportExceptionParam.java b/src/main/java/com/zy/asrs/domain/param/ReportExceptionParam.java new file mode 100644 index 0000000..5f4c65b --- /dev/null +++ b/src/main/java/com/zy/asrs/domain/param/ReportExceptionParam.java @@ -0,0 +1,23 @@ +package com.zy.asrs.domain.param; + +import lombok.Data; + +/** + * Robot鍚慦CS鍥炴姤寮傚父鍙傛暟 + */ +@Data +public class ReportExceptionParam { + + //浠诲姟缂栧彿 + private String task_id; + + //閿欒浠g爜 + private String error_code; + + //閿欒淇℃伅 + private String msg; + + //鎻愮ず + private String tip; + +} diff --git a/src/main/java/com/zy/asrs/domain/param/RobotReportActionStatusParam.java b/src/main/java/com/zy/asrs/domain/param/RobotReportActionStatusParam.java new file mode 100644 index 0000000..b4bc5ee --- /dev/null +++ b/src/main/java/com/zy/asrs/domain/param/RobotReportActionStatusParam.java @@ -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; + +} diff --git a/src/main/java/com/zy/common/utils/RobotUtils.java b/src/main/java/com/zy/common/utils/RobotUtils.java new file mode 100644 index 0000000..2db7119 --- /dev/null +++ b/src/main/java/com/zy/common/utils/RobotUtils.java @@ -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;//绯荤粺姝e父 + } + } 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;//寮傚父 + } + +} diff --git a/src/main/webapp/static/robotStatus.json b/src/main/webapp/static/robotStatus.json new file mode 100644 index 0000000..3114dcc --- /dev/null +++ b/src/main/webapp/static/robotStatus.json @@ -0,0 +1,4 @@ +{ + "message": "ready", + "status": 0 +} \ No newline at end of file -- Gitblit v1.9.1