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