From c1b54ec37a259a1d6fcafd04e2ef10dea4b5a078 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期六, 03 六月 2023 16:04:56 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   31 +++++++++++++++++++++++++++++--
 1 files changed, 29 insertions(+), 2 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 10fe3a8..697c0c2 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -940,7 +940,7 @@
                 continue;
             }
 
-            // 鍏ュ簱娣卞簱浣嶆槸鍚︽湁闈濬銆丏搴撲綅杩涜鏍¢獙
+            // 鍏ュ簱娣卞簱浣嶆槸鍚︽湁闈濬銆丏銆乆搴撲綅杩涜鏍¢獙
             if (wrkMastMapper.selectShallowLoc(Integer.parseInt(wrkMast.getLocNo().substring(0, 2)),Integer.parseInt(wrkMast.getLocNo().substring(2, 5)),Integer.parseInt(wrkMast.getLocNo().substring(5, 7)))!=null){
                 continue;
             }
@@ -1207,6 +1207,7 @@
      * 鍑哄簱  ===>>  搴撲綅鍒板爢鍨涙満绔�
      */
     public synchronized boolean locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol){
+        Collections.shuffle(slave.getCrnOutStn());
         for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
             // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
             WrkMast wrkMast = wrkMastMapper.selectPakOutStep111215(slave.getId(), crnStn.getStaNo());
@@ -1310,7 +1311,21 @@
                         for (String shallowLocNo : shallowLocs) {
                             LocMast shallowLoc = locMastService.selectById(shallowLocNo);
                             WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
-                            if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
+                            if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
+                                if (Cools.isEmpty(waitWrkMast)){
+                                    News.error("搴撲綅寮傚父");
+                                }else {
+                                    if (waitWrkMast.getIoType() != 11 || waitWrkMast.getWrkSts() != 17){
+                                        waitWrkMast.setIoPri((double)9999);
+                                        if (wrkMastMapper.updateById(waitWrkMast)==0){
+                                            News.error("璋冩暣浼樺厛绾уけ璐�");
+                                        }else if (waitWrkMast.getWrkSts() != 17){
+                                            flag = true;
+                                        }
+                                        break;
+                                    }
+                                }
+                            }else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
                                 if (null == waitWrkMast) {
                                     // 鐢熸垚涓�绗旂Щ搴撲换鍔″伐浣滄。銆佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵��
                                     // 娌℃湁浣滀笟涓殑鍑哄簱浠诲姟鏃讹紝鎵嶈兘鐢熸垚绉诲簱浠诲姟
@@ -4308,6 +4323,18 @@
                     || Utils.getBay(one.getLocNo()) != Utils.getBay(shallowLoc.getLocNo())
                     || Utils.getLev(one.getLocNo()) != Utils.getLev(shallowLoc.getLocNo())){
 
+                    Integer steNo = this.hasCarOfIdle(one.getLocNo());
+                    if (steNo != null) {
+                        //鏈夊皬杞�
+                        continue;
+                    }
+
+                    //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆
+                    if (Utils.checkInsideLocIsDFX(one.getLocNo())) {
+                        //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣�
+                        continue;
+                    }
+
                     loc = one;
                     break;
                 }

--
Gitblit v1.9.1