From 4790be9d288a84a38b10e143c8433b7becc62404 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 11 十二月 2025 13:10:42 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java |   44 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java
index ef92490..bcd030c 100644
--- a/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java
@@ -69,11 +69,26 @@
 
     private boolean flag1007 = false;
 
+    private Map<Integer, Long> staNoSet = new HashMap<>();
+
+    public Map<Integer, Long> getStaNoSet() {
+        return staNoSet;
+    }
+
+    public void setStaNoSet(Map<Integer, Long> staNoSet) {
+        this.staNoSet = staNoSet;
+    }
 
     /**
      * 鍏ュ簱锛屼粠鎷f枡绔欏埌鍏ュ簱绔欙紙CTU鍙栬揣绔欙級
      */
     public synchronized void generateStoreWrkFile(Integer mark) {
+        for (Map.Entry<Integer, Long> entry : staNoSet.entrySet()) {
+            if (entry.getValue() != null && System.currentTimeMillis() - entry.getValue() > 1000 * 60 * 5) {
+                log.info("瓒呮椂锛歿}", entry.getKey());
+                staNoSet.remove(entry.getKey());
+            }
+        }
         // 鏍规嵁杈撻�佺嚎plc閬嶅巻
         SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
         StaProtocol staProtocol = devpThread.getStation().get(1004);
@@ -83,9 +98,13 @@
             staProtocol = staProtocol.clone();
         }
         // 鍒ゆ柇鏄惁婊¤冻鏉′欢
-//        if (!staProtocol.isLoading()) {
-//            return;
-//        }
+        if (!staProtocol.isLoading()) {
+            return;
+        }
+        Long i = staNoSet.get(staProtocol.getWorkNo());
+        if (i != null) {
+            return;
+        }
         // && staProtocol.isInEnable()
         if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing() && !staProtocol.isEmptyMk() && staProtocol.isPakMk()) {
             if (staProtocol.getStaNo() == 1004) {
@@ -96,6 +115,7 @@
                 }
                 staProtocol.setStaNo((short) 1007);
                 boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+                staNoSet.put(staProtocol.getWorkNo(), System.currentTimeMillis());
                 log.info("鍏ュ簱杈撻�佺嚎涓嬪彂锛歿},{}", staProtocol.getWorkNo(), 1007);
 
             }
@@ -302,14 +322,24 @@
         }
         SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
         StaProtocol staProtocol = devpThread.getStation().get(1001);
-        if (i >= 6) {
+        if (i >= 7) {
             OpenBusSubmitParam openBusSubmitParam = new OpenBusSubmitParam();
             openBusSubmitParam.setBatch(DateUtils.convert(new Date()));
             List<TaskDto> taskList = new ArrayList<>();
-            TaskDto taskDto = new TaskDto();
             Random rand = new Random();
+            TaskDto taskDto = new TaskDto();
             taskDto.setSeqNum("SSX-CK" + rand.nextInt() * 10000);
             taskDto.setOriLoc(getFLoc("1001", "16"));
+            taskDto.setDestSta("1001");
+            taskDto.setPriority(123);
+            taskList.add(taskDto);
+            String fLoc = getFLoc("1001", "16");
+            if (fLoc == taskDto.getOriLoc()) {
+                fLoc = getFLoc("1001", "16");
+            }
+            taskDto = new TaskDto();
+            taskDto.setSeqNum("SSX-CK" + rand.nextInt() * 10000);
+            taskDto.setOriLoc(fLoc);
             taskDto.setDestSta("1001");
             taskDto.setPriority(123);
             taskList.add(taskDto);
@@ -386,7 +416,7 @@
                 log.info("涓嬪彂浠诲姟杩斿洖鏁版嵁锛歿}", response);
                 return true;
             } else {
-                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", ctuUrl + sendTask, JSON.toJSONString(openBusSubmitParam), response);
+                //log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", ctuUrl + sendTask, JSON.toJSONString(openBusSubmitParam), response);
                 throw new CoolException("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊");
             }
         } catch (Exception e) {
@@ -441,7 +471,7 @@
                 JSONObject loc = JSON.parseObject(jsonObject.getString("data"));
                 return loc.getString("locNo");
             } else {
-                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", ctuUrl + sendTask, JSON.toJSONString(data), response);
+                //log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", ctuUrl + sendTask, JSON.toJSONString(data), response);
                 throw new CoolException("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊");
             }
         } catch (Exception e) {

--
Gitblit v1.9.1