From 8d5c70aef9cbacbcc412d73c4b730e21f94e6514 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 30 六月 2025 09:04:10 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 48 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
index 1ea9d75..5fde269 100644
--- a/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
@@ -17,8 +17,8 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
-import java.io.IOException;
 import java.util.Date;
+import java.util.concurrent.TimeUnit;
 
 @Slf4j
 @Service("toWmsService")
@@ -59,6 +59,9 @@
      */
     @Value("${wms.taskStatusFeedbackPath}")
     private String taskStatusFeedbackPath;
+
+    @Value("${wms.executionStatusReport}")
+    private String executionStatusReport;
 
     @Value("${wms.code}")
     private String code;
@@ -104,29 +107,67 @@
         try {
             response = new HttpHandler.Builder()
                     .setUri(wmsUrl)
+                    .setTimeout(30, TimeUnit.SECONDS)
                     .setPath(inboundTaskApplyPath)
                     .setJson(JSON.toJSONString(wmsParam))
                     .build()
                     .doPost();
             if (!Cools.isEmpty(response)) {
                 JSONObject jsonObject = JSON.parseObject(response);
-                if (!Cools.isEmpty(jsonObject.get(code)) && jsonObject.get(code).equals(successCode)) {
+                if ("700".equals(jsonObject.get(code).toString())) {
+                    TaskWrk taskWrk=new TaskWrk();
+                    taskWrk.setWrkNo(-1);
+                    return taskWrk;
+                } else if (successCode.equals(jsonObject.get(code).toString())) {
                     WmsResult result = JSON.parseObject(jsonObject.get(data).toString(), WmsResult.class);
                     return createInTask(result, wmsParam.getBarcode(), wmsParam.getStationCode());
                 }
             }
-        } catch (IOException e) {
+        } catch (Exception e) {
             e.printStackTrace();
-            log.info("璇锋眰wms鎶ラ敊锛寋}", e.getMessage());
+            log.info("璇锋眰wms鎶ラ敊锛屽叆鍙傦細{},寮傚父锛歿}", JSON.toJSONString(wmsParam), e.getMessage());
         } finally {
             addApiLog("鍏ュ簱浠诲姟璇锋眰鑾峰彇搴撲綅", wmsUrl + inboundTaskApplyPath, JSON.toJSONString(wmsParam), response, success);
         }
         return null;
     }
 
+    @Override
+    public void executionStatusReport(String taskNo, Integer wrkSts) {
+        String response = "";
+        boolean bool = false;
+        JSONObject param = new JSONObject();
+        try {
+            log.info("浠诲姟鎵ц鐘舵�佷笂鎶ワ紝浠诲姟鍙凤細{}锛屾墽琛岀姸鎬侊細{}", taskNo, wrkSts);
+            param.put("taskNo", taskNo);
+            param.put("wrkSts", wrkSts);
+            response = new HttpHandler.Builder()
+                    // .setHeaders(headParam)
+                    .setUri(wmsUrl)
+                    .setPath(executionStatusReport)
+                    .setJson(param.toJSONString())
+                    .build()
+                    .doPost();
+            if (!Cools.isEmpty(response)) {
+                bool = true;
+            }
+
+        } catch (Exception e) {
+            log.error("浠诲姟鎵ц鐘舵�佷笂鎶ュ紓甯�" + e);
+        } finally {
+            apiLogService.save("浠诲姟鐘舵�佷笂鎶�"
+                    , wmsUrl + executionStatusReport
+                    , null
+                    , "127.0.0.1"
+                    , param.toJSONString()
+                    , response
+                    , bool
+            );
+        }
+    }
+
 
     private TaskWrk createInTask(WmsResult result, String barcode, Integer startPoint) {
-        //String locNo = Utils.Fusion(result.getRow(), result.getFloor(), result.getColumn());
         String locNo = result.getLocNo();
         Date now = new Date();
         TaskWrk taskWrk = new TaskWrk();
@@ -135,6 +176,7 @@
         taskWrk.setWrkNo(workNo1);
         taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//浠诲姟鐘舵�侊細娲惧彂
         taskWrk.setCreateTime(now);
+        taskWrk.setAssignTime(now);
         taskWrk.setIoType(1);//浠诲姟绫诲瀷
         taskWrk.setIoPri(13);//浼樺厛绾�
         taskWrk.setBarcode(barcode);//鏉$爜
@@ -142,13 +184,13 @@
         taskWrk.setCrnNo(locMast.getCrnNo());
         taskWrk.setTargetPoint(locNo);
         taskWrk.setStartPoint(startPoint + "");
-        taskWrk.setCrnNo(result.getCrnNo());
         if (taskWrk.getIoType() == 1) {
             taskWrk.setWrkSts(2);
             if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
                 taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
             }
         }
+        taskWrkService.insert(taskWrk);
         return taskWrk;
     }
 

--
Gitblit v1.9.1