From 53c6a35bfe690d8b36f7c7e28c7228dba8bb54cb Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 02 二月 2026 13:55:57 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java |   53 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 42 insertions(+), 11 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java
index 6a7b56b..4947200 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java
@@ -7,8 +7,13 @@
 import com.zy.acs.manager.common.config.UplinkProperties;
 import com.zy.acs.manager.common.utils.HttpGo;
 import com.zy.acs.manager.core.integrate.dto.HttpResult;
+import com.zy.acs.manager.core.integrate.dto.TaskUplinkParam;
 import com.zy.acs.manager.core.service.ThreadPoolRegulator;
+import com.zy.acs.manager.manager.entity.Bus;
 import com.zy.acs.manager.manager.entity.Task;
+import com.zy.acs.manager.manager.enums.TaskStsType;
+import com.zy.acs.manager.manager.enums.TaskUplinkStateType;
+import com.zy.acs.manager.manager.service.BusService;
 import com.zy.acs.manager.manager.service.TaskService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,6 +35,8 @@
     private TaskService taskService;
     @Autowired
     private ThreadPoolRegulator threadPoolRegulator;
+    @Autowired
+    private BusService busService;
 
     private HttpGo http;
 
@@ -45,6 +52,23 @@
     }
 
     public boolean reportFinished(Task task) {
+        if (Cools.isEmpty(task)) {
+            return false;
+        }
+        if (!uplinkProperties.getEnabled()) {
+            return false;
+        }
+        if (!task.getTaskSts().equals(TaskStsType.COMPLETE.val())) {
+            return false;
+        }
+        TaskUplinkStateType uplinkStateType = TaskUplinkStateType.of(task.getUplinkSts());
+        if (!uplinkStateType.equals(TaskUplinkStateType.PENDING)
+                && !uplinkStateType.equals(TaskUplinkStateType.SENDING)
+                && !uplinkStateType.equals(TaskUplinkStateType.FAILED)
+        ) {
+            return false;
+        }
+
         // block
 //        Future<R> future = threadPoolRegulator.getInstance().submit(() -> {
 //            mapDataDispatcher.modifyDynamicMatrix(null, null, param.getAgvNo(), true);
@@ -60,33 +84,40 @@
         }, threadPoolRegulator.getInstance());
 
         // url
-        String url = this.http.buildUrl(uplinkProperties.getHost(), uplinkProperties.getPort(), "/cv/station/query");
+        String url = this.http.buildUrl(uplinkProperties.getHost(), uplinkProperties.getPort(), uplinkProperties.getUrl());
         // headers
         Map<String, String> headers = new HashMap<>();
         // params
-        Map<String, Object> params = new HashMap<>();
+        TaskUplinkParam param = new TaskUplinkParam();
+        if (null != task.getBusId()) {
+            Bus bus = busService.getById(task);
+            param.setBatchNo(bus.getBusNo());
+        }
+        param.setTaskNo(task.getSeqNum());
+        param.setTimestamp(null == task.getEndTime() ? System.currentTimeMillis() : task.getEndTime().getTime());
 
         HttpResult<?> result;
         try {
-            result = postForResult(url, headers, params);
+            result = postForResult(url, headers, param);
             Integer code = result.getCode();
             if (null == code || 200 != code) {
                 return false;
             }
-            Object data = result.getData();
-            if (Cools.isEmpty(data)) {
-                return false;
-            }
+//            Object data = result.getData();
+//            if (Cools.isEmpty(data)) {
+//                return false;
+//            }
         } catch (Exception e) {
-            log.error("");
+            log.error("Uplink report failed, taskId={}",
+                    JSON.toJSONString(task),
+                    e);
             return false;
         }
         return true;
     }
 
-    private HttpResult<?> postForResult(String url
-            , Map<String, String> headers, Map<String, Object> params) throws Exception {
-        String json = JSON.toJSONString(params);
+    private HttpResult<?> postForResult(String url, Map<String, String> headers, TaskUplinkParam param) throws Exception {
+        String json = JSON.toJSONString(param);
         HttpGo.HttpResponse response = this.http.postJson(url, headers, json);
 
         int status = response.statusCode();

--
Gitblit v1.9.1