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