From b9f5b7c6c0a66fa04e12ab2f85c0f015ad024a1a Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 05 六月 2025 15:51:10 +0800
Subject: [PATCH] wms分配库位异常回传给wms

---
 src/main/java/com/zy/asrs/task/TaskReportScheduler.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/TaskReportScheduler.java b/src/main/java/com/zy/asrs/task/TaskReportScheduler.java
index e6f44f2..7cffabb 100644
--- a/src/main/java/com/zy/asrs/task/TaskReportScheduler.java
+++ b/src/main/java/com/zy/asrs/task/TaskReportScheduler.java
@@ -36,6 +36,7 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 瀹氭椂灏嗕换鍔�(瀹屾垚銆佸彇娑�)杞垚鏃ュ織
@@ -80,6 +81,56 @@
         add(301);add(302);add(303);add(304);add(305);add(306);add(307);add(308);
     }};
 
+    // WMS鍒嗛厤鍏ュ簱搴撲綅寮傚父涓婃姤
+    @Scheduled(cron = "0/5 * * * * ? ")
+    public synchronized void locationAssignmentExceptionEscalation() {
+        List<TaskWrk> taskWrkList = taskWrkMapper.selectList(new EntityWrapper<TaskWrk>().eq("wrk_sts", 5));
+
+        for(TaskWrk taskWrk : taskWrkList) {
+            Date now = new Date();
+            WmsFeedback wmsFeedback = new WmsFeedback();
+            wmsFeedback.setTaskNo(taskWrk.getTaskNo());
+            wmsFeedback.setIoType(taskWrk.getIoType());
+            wmsFeedback.setBarcode(taskWrk.getBarcode());
+            wmsFeedback.setStatus(-1); // 鍏ュ簱搴撲綅鍒嗛厤寮傚父
+            wmsFeedback.setReportTime(DateUtils.convert(now));
+
+            String response = "";
+            boolean bool = false;
+            try {
+                log.info("鍏ュ簱wms鍒嗛厤搴撲綅鏈夎涓婃姤wms={}", taskWrk);
+                response = new HttpHandler.Builder()
+                        // .setHeaders(headParam)
+                        .setUri(wmsUrl)
+                        .setPath(TaskExecCallback)
+                        .setJson(JSON.toJSONString(wmsFeedback))
+                        .build()
+                        .doPost();
+                if (!Cools.isEmpty(response)) {
+                    JSONObject jsonObject = JSON.parseObject(response);
+                    if (Integer.parseInt(String.valueOf(jsonObject.get("code"))) == 200) {
+                        bool = true;
+                        taskWrk.setWrkSts(6);
+                        taskWrk.setModiTime(now);
+                        taskWrkMapper.updateById(taskWrk);
+                    }
+                }
+
+            } catch (Exception e) {
+                log.error("鍏ュ簱wms鍒嗛厤搴撲綅鏈夎涓婃姤wms澶辫触{},杩斿洖鍊�={}", taskWrk, response);
+            } finally {
+                apiLogService.save("wms鍒嗛厤搴撲綅鏈夎涓婃姤"
+                        , wmsUrl + TaskExecCallback
+                        , null
+                        , "127.0.0.1"
+                        , JSON.toJSONString(wmsFeedback)
+                        , response
+                        , bool
+                );
+            }
+        }
+    }
+
     @Scheduled(cron = "0/5 * * * * ? ")
     public synchronized void execute() throws IOException {
         Page<TaskWrkReport> taskWrkReportPage = taskWrkReportService.selectPage(new Page<>(0, 100), new EntityWrapper<TaskWrkReport>().orderBy("create_time", true));

--
Gitblit v1.9.1