diff --git a/.gitignore b/.gitignore
index ce99067..24fbbe6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,4 +3,9 @@
*.iml
.vscode/
wms_log/
-CLAUDE.md
\ No newline at end of file
+CLAUDE.md
+db/
+202504-Wms-MengYang-tp/wms_serve_mengyang/db/
+202504-Wms-MengYang-box/wms_serve_mengyang/db/
+202504-Wms-MengYang-tp/wms_serve_mengyang/api-tests/*
+202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/*.xml
\ No newline at end of file
diff --git a/202504-Wms-MengYang-tp/.idea/.gitignore b/202504-Wms-MengYang-tp/.idea/.gitignore
deleted file mode 100644
index a0ccf77..0000000
--- a/202504-Wms-MengYang-tp/.idea/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Environment-dependent path to Maven home directory
-/mavenHomeManager.xml
diff --git a/202504-Wms-MengYang-tp/.idea/202504-Wms-MengYang-tp.iml b/202504-Wms-MengYang-tp/.idea/202504-Wms-MengYang-tp.iml
deleted file mode 100644
index d6ebd48..0000000
--- a/202504-Wms-MengYang-tp/.idea/202504-Wms-MengYang-tp.iml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/202504-Wms-MengYang-tp/.idea/misc.xml b/202504-Wms-MengYang-tp/.idea/misc.xml
deleted file mode 100644
index 639900d..0000000
--- a/202504-Wms-MengYang-tp/.idea/misc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/202504-Wms-MengYang-tp/.idea/modules.xml b/202504-Wms-MengYang-tp/.idea/modules.xml
deleted file mode 100644
index 89b4463..0000000
--- a/202504-Wms-MengYang-tp/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/202504-Wms-MengYang-tp/.idea/vcs.xml b/202504-Wms-MengYang-tp/.idea/vcs.xml
deleted file mode 100644
index 288b36b..0000000
--- a/202504-Wms-MengYang-tp/.idea/vcs.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/202504-Wms-MengYang-tp/wms_serve_mengyang/.gitignore b/202504-Wms-MengYang-tp/wms_serve_mengyang/.gitignore
index f58d42e..9360d69 100644
--- a/202504-Wms-MengYang-tp/wms_serve_mengyang/.gitignore
+++ b/202504-Wms-MengYang-tp/wms_serve_mengyang/.gitignore
@@ -28,3 +28,5 @@ replay_pid*
/.idea/inspectionProfiles/Project_Default.xml
/.idea/CoolRequestHistoryPersistent.xml
/.idea/CoolRequestCookiePersistent.xml
+/api-tests/
+/.idea/*.xml
diff --git a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/.gitignore b/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/.gitignore
deleted file mode 100644
index 35410ca..0000000
--- a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# 默认忽略的文件
-/shelf/
-/workspace.xml
-# 基于编辑器的 HTTP 客户端请求
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/CommonStatePersistent.xml b/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/CommonStatePersistent.xml
deleted file mode 100644
index cce905e..0000000
--- a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/CommonStatePersistent.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/CoolRequestCommonStatePersistent.xml b/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/CoolRequestCommonStatePersistent.xml
deleted file mode 100644
index cd23f89..0000000
--- a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/CoolRequestCommonStatePersistent.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/CoolRequestSetting.xml b/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/CoolRequestSetting.xml
deleted file mode 100644
index bff410d..0000000
--- a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/CoolRequestSetting.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/compiler.xml b/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/compiler.xml
deleted file mode 100644
index 269757b..0000000
--- a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/compiler.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/encodings.xml b/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/encodings.xml
deleted file mode 100644
index eebab54..0000000
--- a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/encodings.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/jarRepositories.xml b/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/jarRepositories.xml
deleted file mode 100644
index c7ea920..0000000
--- a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/jarRepositories.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/misc.xml b/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/misc.xml
deleted file mode 100644
index 9dc782b..0000000
--- a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/misc.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/vcs.xml b/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/vcs.xml
deleted file mode 100644
index 62bd7a0..0000000
--- a/202504-Wms-MengYang-tp/wms_serve_mengyang/.idea/vcs.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/202504-Wms-MengYang-tp/wms_serve_mengyang/api-tests/MyWmsController.http b/202504-Wms-MengYang-tp/wms_serve_mengyang/api-tests/MyWmsController.http
index 058b5b3..a05c006 100644
--- a/202504-Wms-MengYang-tp/wms_serve_mengyang/api-tests/MyWmsController.http
+++ b/202504-Wms-MengYang-tp/wms_serve_mengyang/api-tests/MyWmsController.http
@@ -7,8 +7,8 @@ POST {{baseUrl}}/mywms/orderIn
Content-Type: application/json
{
- "taskId": "testOrderId1",
- "vehicleNo": "1001"
+ "taskId": "testId12",
+ "vehicleNo": "1012"
}
### 2. 出库订单接口
@@ -51,7 +51,7 @@ POST {{baseUrl}}/mywms/cancelOrderIn
Content-Type: application/json
{
- "vehicleNo": "1005"
+ "vehicleNo": "1012"
}
### 8. AGVDone
@@ -59,7 +59,7 @@ POST {{baseUrl}}/mywms/agvDone
Content-Type: application/json
{
- "taskId": "testOrderId1"
+ "taskId": "testId12"
}
### 测试数据说明
diff --git a/202504-Wms-MengYang-tp/wms_serve_mengyang/src/main/java/com/wms_main/model/dto/response/wcs/WcsCanFeedResponse.java b/202504-Wms-MengYang-tp/wms_serve_mengyang/src/main/java/com/wms_main/model/dto/response/wcs/WcsCanFeedResponse.java
index 331659c..e6bc948 100644
--- a/202504-Wms-MengYang-tp/wms_serve_mengyang/src/main/java/com/wms_main/model/dto/response/wcs/WcsCanFeedResponse.java
+++ b/202504-Wms-MengYang-tp/wms_serve_mengyang/src/main/java/com/wms_main/model/dto/response/wcs/WcsCanFeedResponse.java
@@ -6,7 +6,8 @@ import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
-import java.time.LocalDateTime;
+import cn.hutool.core.date.DateTime;
+
/**
* 立库查询是否可上料响应
@@ -17,7 +18,7 @@ public class WcsCanFeedResponse {
@JsonProperty("responseTime")
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
- private LocalDateTime responseTime;
+ private DateTime responseTime;
@JsonProperty("allowAction")
boolean allowAction;
diff --git a/202504-Wms-MengYang-tp/wms_serve_mengyang/src/main/java/com/wms_main/service/api/serviceImpl/WcsApiServiceImpl.java b/202504-Wms-MengYang-tp/wms_serve_mengyang/src/main/java/com/wms_main/service/api/serviceImpl/WcsApiServiceImpl.java
index 13cfc5a..1f87385 100644
--- a/202504-Wms-MengYang-tp/wms_serve_mengyang/src/main/java/com/wms_main/service/api/serviceImpl/WcsApiServiceImpl.java
+++ b/202504-Wms-MengYang-tp/wms_serve_mengyang/src/main/java/com/wms_main/service/api/serviceImpl/WcsApiServiceImpl.java
@@ -1,6 +1,11 @@
package com.wms_main.service.api.serviceImpl;
import com.wms_main.app.AppCommon;
+
+import java.util.Objects;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.wms_main.constant.enums.wcs.WcsApiResponseCodeEnums;
import com.wms_main.constant.enums.wms.AppConfigKeyEnums;
import com.wms_main.model.bo.wcs.WcsPickTask;
import com.wms_main.model.bo.wcs.WcsStackerTask;
@@ -28,18 +33,18 @@ import org.springframework.stereotype.Service;
public class WcsApiServiceImpl implements IWcsApiService {
private final HttpClient httpClient;// http客户端
private final AppCommon appCommon;// 应用共通
+ private final ObjectMapper objectMapper;
/**
* 发送堆垛机任务
- *
+ *
* @param request 任务请求
* @return 响应结果
*/
@Override
public WcsApiResponse sendWcsStackerTask(WcsStackerTaskRequest request) {
// 设置http请求
- HttpRequest httpRequest = HttpRequest
- .postInstanceOf(appCommon.getConfigByKey(AppConfigKeyEnums.WCS_STACKER_TASK_URL.getKey()), request);
+ HttpRequest httpRequest = HttpRequest.postInstanceOf(appCommon.getConfigByKey(AppConfigKeyEnums.WCS_STACKER_TASK_URL.getKey()), request);
HttpResponse httpResponse = httpClient.httpPost(httpRequest);
if (httpResponse != null && httpResponse.isSuccess()) {
WcsApiResponse response = new WcsApiResponse<>();
@@ -52,15 +57,14 @@ public class WcsApiServiceImpl implements IWcsApiService {
/**
* 发送拣选任务
- *
+ *
* @param request 任务请求
* @return 响应结果
*/
@Override
public WcsApiResponse sendPickTask(WcsPickTaskRequest request) {
// 设置http请求
- HttpRequest httpRequest = HttpRequest
- .postInstanceOf(appCommon.getConfigByKey(AppConfigKeyEnums.WCS_PICK_TASK_URL.getKey()), request);
+ HttpRequest httpRequest = HttpRequest.postInstanceOf(appCommon.getConfigByKey(AppConfigKeyEnums.WCS_PICK_TASK_URL.getKey()), request);
HttpResponse httpResponse = httpClient.httpPost(httpRequest);
if (httpResponse != null && httpResponse.isSuccess()) {
WcsApiResponse response = new WcsApiResponse<>();
@@ -72,15 +76,14 @@ public class WcsApiServiceImpl implements IWcsApiService {
/**
* 发送释放载具请求
- *
+ *
* @param request 释放请求信息
* @return 响应结果
*/
@Override
public BaseWcsApiResponse releaseBox(WcsReleaseBoxRequest request) {
// 设置http请求
- HttpRequest httpRequest = HttpRequest
- .postInstanceOf(appCommon.getConfigByKey(AppConfigKeyEnums.WCS_RELEASE_BOX_URL.getKey()), request);
+ HttpRequest httpRequest = HttpRequest.postInstanceOf(appCommon.getConfigByKey(AppConfigKeyEnums.WCS_RELEASE_BOX_URL.getKey()), request);
HttpResponse httpResponse = httpClient.httpPost(httpRequest);
if (httpResponse != null && httpResponse.isSuccess()) {
return httpResponse.getData(BaseWcsApiResponse.class);
@@ -90,15 +93,14 @@ public class WcsApiServiceImpl implements IWcsApiService {
/**
* 取消拣选任务请求
- *
+ *
* @param request 取消请求信息
* @return 响应结果
*/
@Override
public WcsApiResponse cancelPickTask(WcsPickTaskRequest request) {
// 设置http请求
- HttpRequest httpRequest = HttpRequest
- .postInstanceOf(appCommon.getConfigByKey(AppConfigKeyEnums.WCS_CANCEL_PICK_TASK_URL.getKey()), request);
+ HttpRequest httpRequest = HttpRequest.postInstanceOf(appCommon.getConfigByKey(AppConfigKeyEnums.WCS_CANCEL_PICK_TASK_URL.getKey()), request);
HttpResponse httpResponse = httpClient.httpPost(httpRequest);
if (httpResponse != null && httpResponse.isSuccess()) {
WcsApiResponse response = new WcsApiResponse<>();
@@ -110,21 +112,60 @@ public class WcsApiServiceImpl implements IWcsApiService {
/**
* 查询WCS系统是否可上料
- *
+ *
* @param request 查询请求信息
* @return 查询结果
*/
@Override
public WcsApiResponse queryStandStatus(WcsQueryStandStatusRequest request) {
- HttpRequest httpRequest = HttpRequest.postInstanceOf(
- appCommon.getConfigByKey(AppConfigKeyEnums.WCS_QUERY_STAND_STATUS_URL.getKey()), request);
+ HttpRequest httpRequest = HttpRequest.postInstanceOf(appCommon.getConfigByKey(AppConfigKeyEnums.WCS_QUERY_STAND_STATUS_URL.getKey()), request);
HttpResponse httpResponse = httpClient.httpPost(httpRequest);
- if (httpResponse != null && httpResponse.isSuccess()) {
- WcsApiResponse response = new WcsApiResponse<>();
- response = httpResponse.getData(response.getClass().asSubclass(WcsApiResponse.class));
- return response;
+
+ // 1. 检查HTTP请求是否成功
+ if (httpResponse == null) {
+ return WcsApiResponse.error("请求WCS接口失败,未获得任何响应信息。", null);
+ }
+ if (!httpResponse.isSuccess()) {
+ log.error("请求WCS站台状态接口失败,状态码:{},响应体:{}", httpResponse.getResponseCode(), httpResponse.getResponseMessage());
+ return WcsApiResponse.error("WCS系统请求失败: " + httpResponse.getResponseMessage(), null);
+ }
+
+ try {
+ // 2. 第一步:先反序列化为原始类型(忽略泛型)
+ WcsApiResponse