From 7bac1f667a08787ce3f1ec722167ea96ad6332f1 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 03 十一月 2025 15:02:20 +0800
Subject: [PATCH] 添加KOPEN平台调度API

---
 src/main/java/com/zy/api/service/AgvScheduleService.java          |    9 ++
 src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java |   29 +++++++
 src/main/java/com/zy/api/entity/CallAgvParams.java                |   29 +++++++
 src/main/java/com/zy/api/enums/OrderType.java                     |   57 ++++++++++++++
 src/main/resources/application-dev.yml                            |   12 ++
 src/main/java/com/zy/common/properties/ThirdSysApiProperties.java |   19 ++++
 src/main/java/com/zy/api/controller/AgvScheduleController.java    |   40 ++++++++++
 7 files changed, 194 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/api/controller/AgvScheduleController.java b/src/main/java/com/zy/api/controller/AgvScheduleController.java
new file mode 100644
index 0000000..68463b3
--- /dev/null
+++ b/src/main/java/com/zy/api/controller/AgvScheduleController.java
@@ -0,0 +1,40 @@
+package com.zy.api.controller;
+
+import com.core.common.R;
+import com.zy.api.entity.CallAgvParams;
+import com.zy.api.enums.OrderType;
+import com.zy.api.service.AgvScheduleService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Objects;
+
+@RestController
+@RequestMapping("/hlk")
+public class AgvScheduleController {
+
+    @Autowired
+    private AgvScheduleService agvScheduleService;
+
+    /**
+     * @author Ryan
+     * @date 2025/11/3
+     * @description: 鍛煎彨AGV鎼繍缂撳瓨鍖�/EO/SO
+     * @version 1.0
+     */
+    @ApiOperation("鍛煎彨AGV鎼繍")
+    @PostMapping("/call/carry")
+    public R callAgvCarry(@RequestBody CallAgvParams params) {
+        if (Objects.isNull(params)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(params.getType())) {
+            return R.ok("鎼繍绫诲瀷涓嶈兘涓虹┖锛侊紒");
+        }
+        return agvScheduleService.callAgvCarry(params);
+    }
+}
diff --git a/src/main/java/com/zy/api/entity/CallAgvParams.java b/src/main/java/com/zy/api/entity/CallAgvParams.java
new file mode 100644
index 0000000..24a4709
--- /dev/null
+++ b/src/main/java/com/zy/api/entity/CallAgvParams.java
@@ -0,0 +1,29 @@
+package com.zy.api.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "CallAgvParams", description = "AGV鎼繍鍙傛暟")
+public class CallAgvParams implements Serializable {
+
+    @ApiModelProperty("鍛煎彨绫诲瀷锛氬嚭搴擄細out, 鍏ュ簱锛歩n")
+    private String type;
+
+    @ApiModelProperty("鍘熷簱浣�")
+    private String orgLoc;
+
+    @ApiModelProperty("鐩爣绔欑偣")
+    private String tarSite;
+
+    @ApiModelProperty("鍘熺珯鐐�")
+    private String orgSite;
+
+    @ApiModelProperty("鐩爣搴撲綅")
+    private String tarLoc;
+}
diff --git a/src/main/java/com/zy/api/enums/OrderType.java b/src/main/java/com/zy/api/enums/OrderType.java
new file mode 100644
index 0000000..0216467
--- /dev/null
+++ b/src/main/java/com/zy/api/enums/OrderType.java
@@ -0,0 +1,57 @@
+package com.zy.api.enums;
+
+/**
+ * @author Ryan
+ * @version 1.0
+ * @title PurchaseType
+ * @description
+ * @create 2025/3/5 15:54
+ */
+public enum OrderType {
+    //璁㈠崟绫诲瀷
+    ORDER_OUT("out", "鍑哄簱鍗�"),
+    ORDER_IN("in", "鍏ュ簱鍗�"),
+    ORDER_TRANSFER("transfer", "璋冩嫈鍗�"),
+    ORDER_REVISE("revise", "搴撳瓨璋冩暣"),
+    ORDER_CHECK("check", "鐩樼偣鍗�");
+
+
+    OrderType(String type, String desc) {
+        this.type = type;
+        this.desc = desc;
+    }
+
+    public String type;
+    public String desc;
+
+    public static String getTypeVal(String desc) {
+        if (desc.equals(OrderType.ORDER_IN.desc)) {
+            return OrderType.ORDER_IN.type;
+        } else if (desc.equals(OrderType.ORDER_OUT.desc)) {
+            return OrderType.ORDER_OUT.type;
+        } else if (desc.equals(OrderType.ORDER_CHECK.desc)) {
+            return OrderType.ORDER_CHECK.type;
+        } else if (desc.equals(OrderType.ORDER_TRANSFER.desc)) {
+            return OrderType.ORDER_TRANSFER.type;
+        } else if (desc.equals(OrderType.ORDER_REVISE.desc)) {
+            return OrderType.ORDER_REVISE.type;
+        }
+        return null;
+    }
+
+    public static String getValType(String type) {
+        if (type.equals(OrderType.ORDER_IN.type)) {
+            return OrderType.ORDER_IN.desc;
+        } else if (type.equals(OrderType.ORDER_OUT.type)) {
+            return OrderType.ORDER_OUT.desc;
+        } else if (type.equals(OrderType.ORDER_CHECK.type)) {
+            return OrderType.ORDER_CHECK.desc;
+        } else if (type.equals(OrderType.ORDER_TRANSFER.type)) {
+            return OrderType.ORDER_TRANSFER.desc;
+        } else if (type.equals(OrderType.ORDER_REVISE.type)) {
+            return OrderType.ORDER_REVISE.desc;
+        }
+        return null;
+    }
+
+}
diff --git a/src/main/java/com/zy/api/service/AgvScheduleService.java b/src/main/java/com/zy/api/service/AgvScheduleService.java
new file mode 100644
index 0000000..9fcd330
--- /dev/null
+++ b/src/main/java/com/zy/api/service/AgvScheduleService.java
@@ -0,0 +1,9 @@
+package com.zy.api.service;
+
+import com.core.common.R;
+import com.zy.api.entity.CallAgvParams;
+
+public interface AgvScheduleService {
+
+    R callAgvCarry(CallAgvParams params);
+}
diff --git a/src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java b/src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java
new file mode 100644
index 0000000..636f52f
--- /dev/null
+++ b/src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java
@@ -0,0 +1,29 @@
+package com.zy.api.service.impl;
+
+import com.core.common.R;
+import com.zy.api.entity.CallAgvParams;
+import com.zy.api.enums.OrderType;
+import com.zy.api.service.AgvScheduleService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class AgvScheduleServiceImpl implements AgvScheduleService {
+
+    /**
+     * @author Ryan
+     * @date 2025/11/3
+     * @description: 鍛煎彨AGV鎼繍
+     * @version 1.0
+     */
+    @Override
+    public R callAgvCarry(CallAgvParams params) {
+        if (params.getType().equals(OrderType.ORDER_OUT.type)) {
+            //缂撳瓨鍖哄嚭搴�
+        } else if (params.getType().equals(OrderType.ORDER_IN.type)) {
+            //缂撳瓨鍖哄叆搴�
+        } else {
+
+        }
+        return R.ok();
+    }
+}
diff --git a/src/main/java/com/zy/common/properties/ThirdSysApiProperties.java b/src/main/java/com/zy/common/properties/ThirdSysApiProperties.java
new file mode 100644
index 0000000..424f48b
--- /dev/null
+++ b/src/main/java/com/zy/common/properties/ThirdSysApiProperties.java
@@ -0,0 +1,19 @@
+package com.zy.common.properties;
+
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+@Data
+@Configuration
+@ConfigurationProperties(prefix = "hlk")
+public class ThirdSysApiProperties {
+
+
+    private String host;
+
+    private String port;
+
+    private String prefix;
+}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index cd52cb2..a1069ec 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -109,4 +109,14 @@
     acctID: "647e849ab6fa0f"
     username: "llw"
     password: "666666"
-    lcid: 2052
\ No newline at end of file
+    lcid: 2052
+
+#KOPEN灏忔澗骞冲彴
+kopen:
+
+
+#AGV璋冨害
+hlk:
+  url: http://127.0.0.1
+  port: 5173
+  prefix: hlk

--
Gitblit v1.9.1