From 1a40db40864f0662f6ab3bf1597faa249cffca68 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期三, 23 十月 2024 10:29:52 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/utils/TimeCalculatorUtils.java    |   11 +++++++++++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   13 +++++++++++++
 2 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 221f89c..7634128 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -9,6 +9,7 @@
 import com.zy.asrs.service.BasDevpService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.asrs.utils.SortTheExecutionOfTheCarUtil;
+import com.zy.asrs.utils.TimeCalculatorUtils;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.*;
@@ -88,6 +89,9 @@
             Integer rgvNo = SortTheExecutionOfTheCarUtil.LatelyAndGreaterThan(rgvPositionList, sitePosition);
 
             List<BasCircularShuttle> basCircularShuttleList = basCircularShuttleService.selectList(new EntityWrapper<BasCircularShuttle>().orderBy("rgv_id", true));
+            if (basCircularShuttleList.get(0).getRgvNo().equals(rgvNo)){
+                return;
+            }
 
             int[][] ints = new int[basCircularShuttleList.size()][2];
             for (BasCircularShuttle basCircularShuttle : basCircularShuttleList){
@@ -166,6 +170,15 @@
      */
     public synchronized void DevpTaskNoRun() {
         try{
+            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L).orderBy("modi_time",false));
+            if (wrkMasts.isEmpty()){
+                return;
+            }
+            long differenceInSeconds = TimeCalculatorUtils.differenceInSeconds(wrkMasts.get(0).getModiTime(), new Date());
+            if (differenceInSeconds<=5){
+                return;
+            }
+
             BasCircularShuttle basCircularShuttle = basCircularShuttleService.selectOne(new EntityWrapper<BasCircularShuttle>().eq("rgv_id", 1));
             RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basCircularShuttle.getRgvNo());
             RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
diff --git a/src/main/java/com/zy/asrs/utils/TimeCalculatorUtils.java b/src/main/java/com/zy/asrs/utils/TimeCalculatorUtils.java
index e151d94..7914eb8 100644
--- a/src/main/java/com/zy/asrs/utils/TimeCalculatorUtils.java
+++ b/src/main/java/com/zy/asrs/utils/TimeCalculatorUtils.java
@@ -156,6 +156,17 @@
         return endDay.getTime() - startDay.getTime();
     }
 
+    //鑾风宸紓
+    public static long differenceInSeconds(Date startDay, Date endDay) {
+        if (startDay == null || endDay == null) {
+            throw new IllegalArgumentException("Dates cannot be null");
+        }
+
+        // 鑾峰彇姣宸紓锛屽苟杞崲涓虹
+        long millisecondsDifference = endDay.getTime() - startDay.getTime();
+        return millisecondsDifference / 1000;
+    }
+
     public static boolean CompareData(Date startDay,Date endDay){
 
         // 灏嗘棩鏈熷瓧绗︿覆瑙f瀽涓篖ocalDate瀵硅薄

--
Gitblit v1.9.1