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

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java |   34 ++++++++++++++++++++++++----------
 zy-acs-manager/src/main/resources/application.yml                                         |    1 +
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java     |    4 ++--
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/dto/TaskUplinkParam.java   |    2 ++
 zy-acs-manager/src/main/java/com/zy/acs/manager/common/config/UplinkProperties.java       |    2 ++
 5 files changed, 31 insertions(+), 12 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/config/UplinkProperties.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/config/UplinkProperties.java
index 7efae5d..0ebee69 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/config/UplinkProperties.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/config/UplinkProperties.java
@@ -32,6 +32,8 @@
 
     private Integer port;
 
+    private String url;
+
     // millisecond
     private Integer timeout = 60 * 1000;
 
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/dto/TaskUplinkParam.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/dto/TaskUplinkParam.java
index d01e89c..09ae50d 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/dto/TaskUplinkParam.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/dto/TaskUplinkParam.java
@@ -9,4 +9,6 @@
 
     private String taskNo;
 
+    private Long timestamp;
+
 }
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 e6eaaee..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,10 +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;
@@ -32,6 +35,8 @@
     private TaskService taskService;
     @Autowired
     private ThreadPoolRegulator threadPoolRegulator;
+    @Autowired
+    private BusService busService;
 
     private HttpGo http;
 
@@ -57,7 +62,10 @@
             return false;
         }
         TaskUplinkStateType uplinkStateType = TaskUplinkStateType.of(task.getUplinkSts());
-        if (!uplinkStateType.equals(TaskUplinkStateType.PENDING) && !uplinkStateType.equals(TaskUplinkStateType.FAILED)) {
+        if (!uplinkStateType.equals(TaskUplinkStateType.PENDING)
+                && !uplinkStateType.equals(TaskUplinkStateType.SENDING)
+                && !uplinkStateType.equals(TaskUplinkStateType.FAILED)
+        ) {
             return false;
         }
 
@@ -76,23 +84,29 @@
         }, 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("Uplink report failed, taskId={}",
                     JSON.toJSONString(task),
@@ -102,8 +116,8 @@
         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();
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java
index eb4fc30..e2ae932 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java
@@ -164,11 +164,11 @@
             boolean finished = taskReportService.reportFinished(task);
             if (finished) {
                 task.setUplinkSts(TaskUplinkStateType.SUCCESS.toString());
-
             } else {
+                log.error("failed to report task to uplink: {}", task.getSeqNum());
                 task.setUplinkSts(TaskUplinkStateType.FAILED.toString());
-
             }
+            taskService.updateById(task);
         }
 
     }
diff --git a/zy-acs-manager/src/main/resources/application.yml b/zy-acs-manager/src/main/resources/application.yml
index 1b15456..3918043 100644
--- a/zy-acs-manager/src/main/resources/application.yml
+++ b/zy-acs-manager/src/main/resources/application.yml
@@ -53,6 +53,7 @@
 convey-plc:
   host: 10.10.10.222
   port: 9090
+  url: /api/open/task/report
   timeout: 15000
 
 uplink:

--
Gitblit v1.9.1