From 8e19e67d1178e834a868f4a820d827ddf64c6e01 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期三, 28 五月 2025 12:46:08 +0800
Subject: [PATCH] #ZH

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   61 +++++++++++++++++++++++++-----
 1 files changed, 51 insertions(+), 10 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 a57287c..b477145 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -200,6 +200,25 @@
                             continue;
                         }
                         String barcode = barcodeThread.getBarcode();
+                        int signI = 0;
+                        while (signI<6){
+                            Thread.sleep(200);
+                            signI = signI +1;
+                            // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+                            if (Cools.isEmpty(barcode) || barcode.equals("000000")) {
+                                devpThread.setErrorDev(staProtocol.getSiteId(), "寰幆娆℃暟锛�"+signI+"锛涙壂鐮佸�硷細"+barcode);
+
+                                BarcodeThread barcodeThreadO = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
+                                if (barcodeThreadO == null) {
+                                    continue;
+                                }
+                                barcode = barcodeThreadO.getBarcode();
+                            } else {
+                                break;
+                            }
+                        }
+
+
                         if (!Cools.isEmpty(barcode) && !barcode.equals("99999999") && !barcode.equals("000000")) {
                             // 璇锋眰wms鎺ュ彛锛岃幏鍙栧伐浣滃彿鍜岀洰鏍囧簱浣�
                             ToWmsDTO toWmsDTO = new ToWmsDTO(staProtocol.getSiteId(),staProtocol.getGrossWt(),barcode, workNo == 9998? 0 : 1);
@@ -293,7 +312,7 @@
                                 staProtocol.setWorkNo(9999);
                                 staProtocol.setStaNo(inSta.getBackSta());
                                 devpThread.setPakMk(staProtocol.getSiteId(), false);
-                                devpThread.setErrorDev(staProtocol.getSiteId(), jsonObject.getString("msg"));
+                                devpThread.setErrorDev(staProtocol.getSiteId(), jsonObject.getString("message"));
                                 MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             }
                         } else {
@@ -858,11 +877,12 @@
                 crnCommand.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
                 crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
                 crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡:  搴撲綅绉昏浆
-                crnCommand.setSourcePosX(crnStn.getRow().shortValue());     // 婧愬簱浣嶅垪
-                crnCommand.setSourcePosY(crnStn.getBay().shortValue());     // 婧愬簱浣嶅眰
-                crnCommand.setSourcePosZ(crnStn.getLev().shortValue());     // 婧愬簱浣嶆帓
+                crnCommand.setSourcePosX(crnStn.getRow().shortValue());     // 婧愬簱浣嶆帓
+                crnCommand.setSourcePosY(crnStn.getBay().shortValue());     // 婧愬簱浣嶅垪
+                crnCommand.setSourcePosZ(crnStn.getLev().shortValue());   // 婧愬簱浣嶅眰
                 crnCommand.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅鍒�
-                crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅灞�
+                int bay1 = Utils.getBayShort(taskWrk.getTargetPoint()) + 1;
+                crnCommand.setDestinationPosY((short)bay1);     // 鐩爣搴撲綅灞�
                 crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅鎺�
 //                crnCommand.setCommand((short) 1);
                 if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand))) {
@@ -989,12 +1009,13 @@
                         command.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
                         command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡
                         command.setSourcePosX(Utils.getRowShort(taskWrk.getStartPoint()));     // 婧愬簱浣嶆帓
-                        command.setSourcePosY(Utils.getBayShort(taskWrk.getStartPoint()));     // 婧愬簱浣嶅垪
+                        int bayS = Utils.getBayShort(taskWrk.getStartPoint()) + 1;
+                        command.setSourcePosY((short)bayS);     // 婧愬簱浣嶅垪
                         command.setSourcePosZ(Utils.getLevShort(taskWrk.getStartPoint()));     // 婧愬簱浣嶅眰
                         command.setDestinationPosX(crnStn.getRow().shortValue());     // 鐩爣搴撲綅鎺�
                         command.setDestinationPosY(crnStn.getBay().shortValue());     // 鐩爣搴撲綅鍒�
                         command.setDestinationPosZ(crnStn.getLev().shortValue());     // 鐩爣搴撲綅灞�
-                        command.setCommand((short) 1);
+//                        command.setCommand((short) 1);
                         if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command))) {
                             log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屽贩閬�={}锛屼换鍔℃暟鎹�={}", slave.getId(), taskWrk.getCrnNo(), JSON.toJSON(command));
                             devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
@@ -1120,10 +1141,12 @@
                 crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
                 crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡:  搴撲綅绉昏浆
                 crnCommand.setSourcePosX(Utils.getRowShort(taskWrk.getStartPoint()));     // 婧愬簱浣嶆帓
-                crnCommand.setSourcePosY(Utils.getBayShort(taskWrk.getStartPoint()));     // 婧愬簱浣嶅垪
+                int bayS = Utils.getBayShort(taskWrk.getStartPoint()) + 1;
+                crnCommand.setSourcePosY((short)bayS);     // 婧愬簱浣嶅垪
                 crnCommand.setSourcePosZ(Utils.getLevShort(taskWrk.getStartPoint()));     // 婧愬簱浣嶅眰
                 crnCommand.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅鎺�
-                crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅鍒�
+                int bayE = Utils.getBayShort(taskWrk.getTargetPoint()) + 1;
+                crnCommand.setDestinationPosY((short)bayE);     // 鐩爣搴撲綅鍒�
                 crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅灞�
 //                crnCommand.setCommand((short) 1);
                 if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand))) {
@@ -1660,6 +1683,8 @@
                         if (!sign && staList.size()==1){
                             if (rgvOtherIDLEOther(rgvSlave)){
                                 if (!rgvOtherIDLE(rgvSlave,staList.get(0))){
+                                    System.out.println("绌洪棽灏辫繎璺宠繃==="+rgvSlave.getId()+"===");
+
                                     sign=true;
                                 }
                             }
@@ -1671,6 +1696,8 @@
                                             Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint());
                                             for (RgvSlave.RgvStn rgvSuper : rgvSlave.getRgvSuperSta()){
                                                 if (rgvSuper.getStaNo().equals(outStaNo)){
+                                                    System.out.println("绌洪棽灏辫繎璺宠繃鍚庡洜鏈�杩滃啀娆℃墽琛�==="+rgvSlave.getId()+"===");
+
                                                     sign=false;
                                                     break;
                                                 }
@@ -1692,6 +1719,9 @@
                                         if (taskWrk != null) {
                                             BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint())));
                                             if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) {
+                                                System.out.println("鍏ㄨ寖鍥存墽琛�==="+rgvSlave.getId()+"==="+taskWrk);
+                                                System.out.println("鍏ㄨ寖鍥存墽琛�==="+rgvSlave.getId()+"==="+JSON.toJSONString(belongToRange));
+
                                                 sign = taskGenerate(rgvSlave, rgvStn, 0);
                                             }
                                         }
@@ -1713,6 +1743,9 @@
                                             Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint());
                                             for (RgvSlave.RgvStn rgvStnOut : rgvSlave.getRgvOutSta()) {
                                                 if (rgvStnOut.getStaNo().equals(outStaNo)) {
+                                                    System.out.println("绛涢�夎寖鍥村唴鍙栬揣浠诲姟==="+rgvSlave.getId()+"==="+taskWrk);
+                                                    System.out.println("绛涢�夎寖鍥村唴鍙栬揣浠诲姟==="+rgvSlave.getId()+"==="+JSON.toJSONString(belongToRange));
+
                                                     sign = taskGenerate(rgvSlave, rgvStn, 0);
                                                     break;
                                                 }
@@ -1730,12 +1763,14 @@
                         if (!sign && staList.size()==1){
                             if (rgvOtherIDLEOther2(rgvSlave)){
                                 if (!rgvOtherIDLE2(rgvSlave,staList.get(0))){
+                                    System.out.println("杩愯灏辫繎璺宠繃==="+rgvSlave.getId()+"===");
+
                                     sign=true;
                                 }
                             }
                         }
 
-                        if (!sign) {
+                        if (!sign && staList.size()>1) {
                             for (Integer staNoNow : rangeList) {
                                 for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) {
                                     if (rgvStn.getStaNo().equals(staNoNow)) {
@@ -1743,6 +1778,9 @@
                                         if (taskWrk != null) {
                                             BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint())));
                                             if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) {
+                                                System.out.println("绛涢�夊崐杈硅寖鍥村唴浠诲姟==="+rgvSlave.getId()+"==="+taskWrk);
+                                                System.out.println("绛涢�夊崐杈硅寖鍥村唴浠诲姟==="+rgvSlave.getId()+"==="+JSON.toJSONString(belongToRange));
+
                                                 sign = taskGenerate(rgvSlave, rgvStn, 0);
                                             }
                                         }
@@ -1764,6 +1802,9 @@
                                             Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint());
                                             for (RgvSlave.RgvStn rgvStnOut : rgvSlave.getRgvOutSta()) {
                                                 if (rgvStnOut.getStaNo().equals(outStaNo)) {
+                                                    System.out.println("绛涢�夊崐杈硅寖鍥村彇璐т换鍔�==="+rgvSlave.getId()+"==="+taskWrk);
+                                                    System.out.println("绛涢�夊崐杈硅寖鍥村彇璐т换鍔�==="+rgvSlave.getId()+"==="+JSON.toJSONString(belongToRange));
+
                                                     sign = taskGenerate(rgvSlave, rgvStn, 0);
                                                     break;
                                                 }

--
Gitblit v1.9.1