From cf4c19268b9d5d65c3723cab869d1879954cff2d Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 21 四月 2025 09:50:46 +0800
Subject: [PATCH] 999

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java             |   25 ++++++++++++++++---------
 src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java |   16 ++++++++++++++++
 src/main/java/com/zy/core/thread/impl/FyDevpThread.java                 |    6 ++++--
 3 files changed, 36 insertions(+), 11 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 0283968..a31bf77 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -875,7 +875,7 @@
             short staNo = 1012;
             if (wrkMast.getSourceStaNo() == 1022) {
                 staNo = 1023;
-            } else if ( wrkMast.getSourceStaNo() == 1032) {
+            } else if (wrkMast.getSourceStaNo() == 1032) {
                 staNo = 1032;
             }
 
@@ -969,7 +969,7 @@
                     News.info("{}浠诲姟锛寋}绔欑偣锛屼换鍔″彿涓嶄竴鑷�", wrkMast.getWrkNo(), staProtocol.getSiteId());
                     return false;
                 }
-            } else if (sourceStaNo == 1032 ) {
+            } else if (sourceStaNo == 1032) {
                 if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) {
                     News.info("{}浠诲姟锛寋}绔欑偣锛屼换鍔″彿涓嶄竴鑷�", wrkMast.getWrkNo(), staProtocol.getSiteId());
                     return false;
@@ -979,7 +979,7 @@
             String locNo = "0200305";
             if (wrkMast.getSourceStaNo() == 1012) {
                 locNo = "0200301";
-            } else if (wrkMast.getSourceStaNo() == 1032 ) {
+            } else if (wrkMast.getSourceStaNo() == 1032) {
                 locNo = "0200308";
             }
             boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_LIFT");
@@ -993,7 +993,7 @@
                 //TODO
                 // lev = 105;
                 lev = 1021;
-            } else if ( wrkMast.getSourceStaNo() == 1031) {
+            } else if (wrkMast.getSourceStaNo() == 1031) {
                 lev = 1031;
             }
             //鑾峰彇鎻愬崌鏈哄懡浠�
@@ -1118,10 +1118,17 @@
                 News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鍦ㄨ嚜鍔ㄧ姸鎬�", wrkMast.getWrkNo(), staProtocol.getSiteId());
                 return false;
             }
-
-            if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
-                News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), staProtocol.getSiteId());
-                return false;
+            if (wrkMast.getStaNo() == 1031) {
+                //TODO
+                if (staProtocol.getOutInModel() != 1) {
+                    News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), staProtocol.getSiteId());
+                    return false;
+                }
+            } else {
+                if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
+                    News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), staProtocol.getSiteId());
+                    return false;
+                }
             }
 
             String locNo = "0200305";
@@ -2164,7 +2171,7 @@
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
             FyDevpThread devpThread = (FyDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-            WrkMast pakout = wrkMastService.selectWorkingPakout(1032);
+            WrkMast pakout = wrkMastService.selectWorkingPakout(1031);
             if (pakout != null) {
                 if (devpThread.ioModeOf2_5 != IoModeType.PAKOUT_MODE) {
                     // 鍑哄簱鍒囨崲涓�
diff --git a/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java
index 33fa51b..dea517b 100644
--- a/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java
@@ -541,6 +541,22 @@
 
             //鍘诲緟鏈轰綅
             String locNo = Utils.getLocNo(Utils.getRow(liftStandByLocNo) + 1, Utils.getBay(liftStandByLocNo) - 1, Utils.getLev(liftStandByLocNo));
+            //闃叉鍙︿竴杈嗚溅鍗犵敤寰呮満浣�
+            try{
+                if (shuttleProtocol.getShuttleNo() == 2) {
+                    ShuttleThread shuttleThread1 = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, 1);
+                    if (locNo.equals(shuttleThread1.getStatus().getCurrentLocNo())) {
+                        locNo = Utils.getLocNo(Utils.getRow(liftStandByLocNo) + 2, Utils.getBay(liftStandByLocNo) - 1, Utils.getLev(liftStandByLocNo));
+                    }
+                } else {
+                    ShuttleThread shuttleThread2 = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, 2);
+                    if (locNo.equals(shuttleThread2.getStatus().getCurrentLocNo())) {
+                        locNo = Utils.getLocNo(Utils.getRow(liftStandByLocNo) + 2, Utils.getBay(liftStandByLocNo) - 1, Utils.getLev(liftStandByLocNo));
+                    }
+                }
+            }catch (Exception e){
+
+            }
             //鑾峰彇灏忚溅鍒版彁鍗囨満寰呮満琛岃蛋鍛戒护
             List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), locNo, NavigationMapType.DFX.id, assignCommand, shuttleThread);
             if (commands == null) {
diff --git a/src/main/java/com/zy/core/thread/impl/FyDevpThread.java b/src/main/java/com/zy/core/thread/impl/FyDevpThread.java
index 2140fa2..f26d2ad 100644
--- a/src/main/java/com/zy/core/thread/impl/FyDevpThread.java
+++ b/src/main/java/com/zy/core/thread/impl/FyDevpThread.java
@@ -41,7 +41,7 @@
     private SiemensS7Net siemensS7Net;
     private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
 
-    public IoModeType ioModeOf2_5 = IoModeType.PAKIN_MODE;
+    public IoModeType ioModeOf2_5 = IoModeType.PAKOUT_MODE;
 
     private short heartBeatVal = 1;
     private int barcodeSize = 10;
@@ -304,8 +304,10 @@
 
 
     // 鏇存柊鍏ュ嚭搴撴ā寮�
-    private void updateIoMode() throws InterruptedException {
+    private void updateIoMode() {
         if (this.ioModeOf2_5 != null && (this.ioModeOf2_5.id == 0 || this.ioModeOf2_5.id == 1)) {
+            short[] array = new short[1];
+            array[0] = this.ioModeOf2_5.id;
             if (!siemensS7Net.Write("DB83.80", this.ioModeOf2_5.id).IsSuccess) {
                 OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎2.5F鍏ュ嚭搴撴ā寮忓け璐�", this.ioModeOf2_5));
                 log.error("銆恵0}銆戝啓鍏ヨ緭閫佺嚎2.5F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={}", this.ioModeOf2_5);

--
Gitblit v1.9.1