From 9f7d850f985cbd1756798329b9a3669dae51ac48 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 18 八月 2025 17:23:55 +0800
Subject: [PATCH] 1

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java |   26 ++----------
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java |   34 +++++++++++++----
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java        |   13 +++++-
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/TaskReport.java       |    6 ++
 4 files changed, 46 insertions(+), 33 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java
index 78c19c9..a0af4cd 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java
@@ -145,7 +145,6 @@
         if (0 == availableAgvCount) {
             return;
         }
-
         List<String> staPreNos = getStaPrefixes(staGroupList);
         String staTaskMemo = "DEMO_STA_" + String.join("-", staPreNos);
         List<Task> list = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getDestSta, 33).in(Task::getTaskSts, TaskStsType.INIT.val(), TaskStsType.WAITING.val(), TaskStsType.ASSIGN.val(), TaskStsType.PROGRESS.val()));
@@ -172,11 +171,7 @@
         }
 
         // STOCK
-        LambdaQueryWrapper<Sta> stockWrapper = new LambdaQueryWrapper<Sta>()
-                .eq(Sta::getStaSts, StaStsType.STOCK.val())
-                .eq(Sta::getStatus, StatusType.ENABLE.val)
-                .eq(Sta::getInEnable, "Y")
-                .in(Sta::getStaNo, staGroupList);
+        LambdaQueryWrapper<Sta> stockWrapper = new LambdaQueryWrapper<Sta>().eq(Sta::getStaSts, StaStsType.STOCK.val()).eq(Sta::getStatus, StatusType.ENABLE.val).eq(Sta::getInEnable, "Y").in(Sta::getStaNo, staGroupList);
         List<Sta> stockList = staService.list(stockWrapper);
         if (Cools.isEmpty(stockList)) {
             return;
@@ -228,9 +223,7 @@
         // STOCK
         LambdaQueryWrapper<Sta> stockWrapper = new LambdaQueryWrapper<Sta>()
                 //.eq(Sta::getStaSts, StaStsType.STOCK.val())
-                .eq(Sta::getStatus, StatusType.ENABLE.val)
-                .eq(Sta::getInEnable, "Y")
-                .in(Sta::getStaNo, staGroupList);
+                .eq(Sta::getStatus, StatusType.ENABLE.val).eq(Sta::getInEnable, "Y").in(Sta::getStaNo, staGroupList);
         List<Sta> stockList = staService.list(stockWrapper);
         if (Cools.isEmpty(stockList)) {
             return;
@@ -282,11 +275,7 @@
         int maxCapacity = agvModel.getBackpack();
 
         // STA IDLE
-        LambdaQueryWrapper<Sta> idleWrapper = new LambdaQueryWrapper<Sta>()
-                .eq(Sta::getStaSts, StaStsType.IDLE.val())
-                .eq(Sta::getStatus, StatusType.ENABLE.val)
-                .eq(Sta::getOutEnable, "Y")
-                .in(Sta::getStaNo, staGroupList);
+        LambdaQueryWrapper<Sta> idleWrapper = new LambdaQueryWrapper<Sta>().eq(Sta::getStaSts, StaStsType.IDLE.val()).eq(Sta::getStatus, StatusType.ENABLE.val).eq(Sta::getOutEnable, "Y").in(Sta::getStaNo, staGroupList);
         List<Sta> idleList = staService.list(idleWrapper);
         if (Cools.isEmpty(idleList)) {
             return;
@@ -339,9 +328,7 @@
         // STA IDLE
         LambdaQueryWrapper<Sta> idleWrapper = new LambdaQueryWrapper<Sta>()
                 //.eq(Sta::getStaSts, StaStsType.IDLE.val())
-                .eq(Sta::getStatus, StatusType.ENABLE.val)
-                .eq(Sta::getOutEnable, "Y")
-                .in(Sta::getStaNo, staGroupList);
+                .eq(Sta::getStatus, StatusType.ENABLE.val).eq(Sta::getOutEnable, "Y").in(Sta::getStaNo, staGroupList);
         List<Sta> idleList = staService.list(idleWrapper);
         if (Cools.isEmpty(idleList)) {
             return;
@@ -391,10 +378,7 @@
         int availableAgvCount = this.getAvailableAgvCount(agvGroupList);
 
         // 鏈�澶� ? 缁刡us杩愯
-        if (availableAgvCount <= busService.count(new LambdaQueryWrapper<Bus>()
-                .in(Bus::getBusSts, BusStsType.RECEIVE.val(), BusStsType.PROGRESS.val())
-                .in(Bus::getMemo, memo, staTaskMemo)
-        )) {
+        if (availableAgvCount <= busService.count(new LambdaQueryWrapper<Bus>().in(Bus::getBusSts, BusStsType.RECEIVE.val(), BusStsType.PROGRESS.val()).in(Bus::getMemo, memo, staTaskMemo))) {
             return;
         }
 
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index f3acf60..2ff23fc 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -1362,6 +1362,9 @@
                                 .setQrCode(action.getCode())
                                 .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams())))
                         );
+                        if (!Cools.isEmpty(action.getAskType()) && (action.getAskType() == 1 || action.getAskType() == 2)) {
+                            flag = askSta(action.getAskType(), action.getAskSta());
+                        }
                         break;
                     case ReadyTakeFromAgvSite:
                         agvAction.add(new AgvActionItem<>(ReadyTakeFromAgvSite.class)
@@ -1383,6 +1386,9 @@
                                 .setQrCode(action.getCode())
                                 .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams())))
                         );
+                        if (!Cools.isEmpty(action.getAskType()) && (action.getAskType() == 1 || action.getAskType() == 2)) {
+                            flag = askSta(action.getAskType(), action.getAskSta());
+                        }
                         break;
                     case ReadyReleaseToAgvSite:
                         agvAction.add(new AgvActionItem<>(ReadyReleaseToAgvSite.class)
@@ -1411,9 +1417,7 @@
                     default:
                         break;
                 }
-                if (!Cools.isEmpty(action.getAskType()) && (action.getAskType() == 1 || action.getAskType() == 2)) {
-                    flag = askSta(action.getAskType(), action.getAskSta());
-                }
+
             }
             if (!flag) {
                 log.error("浠诲姟缁� [{}] 鍔ㄤ綔鎸囦护涓嬪彂澶辫触 ,鍚戣緭閫佺嚎璇㈤棶鎶ラ敊锛侊紒锛�", actionGroupId);
@@ -1626,6 +1630,8 @@
                 task.setUpdateTime(now);
                 if (!taskService.updateById(task)) {
                     log.error("Task [{}] 鏇存柊澶辫触 锛侊紒锛�", task.getSeqNum());
+                } else {
+                    report(task, null, TaskReportStsType.END);
                 }
             }
         }
@@ -1676,6 +1682,7 @@
         taskReport.setAgvId(task.getAgvId());
         taskReport.setBusNo(task.getBusId$());
         taskReport.setCreateTime(new Date());
+        taskReport.setCompleted(0);
         taskReport.setQrCode(qrCode);
         taskReport.setReportTimes(0);
         taskReport.setTaskSts(taskReportStsType.status);
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java
index 78a8c8b..c1babe3 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.manager.core.utils.HttpHandler;
 import com.zy.acs.manager.manager.entity.TaskReport;
@@ -17,6 +18,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
@@ -41,21 +43,37 @@
         if (report) {
             String wmsUrl = configService.getVal("WMS_URL", String.class);
             String wmsPath = configService.getVal("WMS_PATH", String.class);
-            Integer times = configService.getVal("REPORT_TIMES", Integer.class, 3);
             String codes = configService.getVal("CODES", String.class, "1457;1612");
-            List<TaskReport> list = taskReportService.list();
+            List<TaskReport> list = taskReportService.list(new LambdaQueryWrapper<TaskReport>().eq(TaskReport::getCompleted, 0).le(TaskReport::getReportTimes, 3));
             for (TaskReport taskReport : list) {
-                if ((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) > times) {
-                    toLog(taskReport);
-                    continue;
-                }
                 if (report(taskReport, wmsUrl, wmsPath)) {
-                    toLog(taskReport);
+                    taskReport.setReportTimes((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) + 1);
+                    taskReport.setUpdateTime(new Date());
+                    taskReport.setCompleted(1);
                 } else {
                     taskReport.setReportTimes((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) + 1);
                     taskReport.setUpdateTime(new Date());
-                    taskReportService.updateById(taskReport);
                 }
+                taskReportService.updateById(taskReport);
+            }
+        }
+    }
+
+    @Scheduled(fixedDelay = 3000)
+    public void execute2() {
+        Calendar instance = Calendar.getInstance();
+        instance.add(Calendar.DATE, 1);
+        List<TaskReport> list = taskReportService.list(new LambdaQueryWrapper<TaskReport>().eq(TaskReport::getCompleted, 1).ge(TaskReport::getUpdateTime, instance.getTime()));
+        Integer times = configService.getVal("REPORT_TIMES", Integer.class, 3);
+        for (TaskReport taskReport : list) {
+            if ((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) > times) {
+                toLog(taskReport);
+            }
+        }
+        list = taskReportService.list(new LambdaQueryWrapper<TaskReport>().eq(TaskReport::getReportTimes, 4).ge(TaskReport::getUpdateTime, instance.getTime()));
+        for (TaskReport taskReport : list) {
+            if ((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) > times) {
+                toLog(taskReport);
             }
         }
     }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/TaskReport.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/TaskReport.java
index 1f2fb3f..59d31af 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/TaskReport.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/TaskReport.java
@@ -61,7 +61,11 @@
      */
     @ApiModelProperty(value = "搴撲綅鎴栫珯鐐�")
     private String locNo;
-
+    /**
+     * 鏄惁瀹屾垚
+     */
+    @ApiModelProperty(value = "鏄惁瀹屾垚")
+    private Integer completed ;
 
     /**
      * 涓婃姤娆℃暟

--
Gitblit v1.9.1