From 8193e394e54c37dd17d98638b5a2574bf999fc49 Mon Sep 17 00:00:00 2001
From: db <bindu_bean@163.com>
Date: 星期二, 23 九月 2025 10:30:08 +0800
Subject: [PATCH] 初始化

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   91 +++++++++++++++++----------------------------
 1 files changed, 34 insertions(+), 57 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 84a094a..5aea8c5 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -153,7 +153,7 @@
                     errMsg = "鍙宠秴闄�";
                     back = true;
                 }
-                if (!back && staProtocol.getWeight() > 1000) {
+                if (!back && staProtocol.getWeight() > 15000) {
                     errMsg = "瓒呴噸鎴栨湭璇诲彇";
                     back = true;
                 }
@@ -183,13 +183,14 @@
                     if (!staProtocol.isPakMk()) {
                         continue;
                     }
-                    staProtocol.setWorkNo(wrkNo);
+                    staProtocol.setWorkNo(wrkNo);//閫�鍥� 宸ヤ綔鍙�:10000
                     News.info("{}PLC鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg, wrkNo);
-                    wrkNo++;
+//                    wrkNo++;
                     staProtocol.setStaNo(inSta.getBackSta().shortValue());
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                     log.error("杈撻�佺嚎涓嬪彂1锛�" + wrkNo + "," + inSta.getBackSta());
+                    break;//瓒呴檺鎵樼洏閫�鍥炰笉鐢熸垚宸ヤ綔妗�
                 }
 
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
@@ -204,7 +205,7 @@
 
                         staProtocol.setWorkNo(wrkNo);
                         News.info("{}barcode鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg, wrkNo);
-                        wrkNo++;
+//                        wrkNo++;
                         staProtocol.setStaNo(inSta.getBackSta().shortValue());
                         devpThread.setPakMk(staProtocol.getSiteId(), false);
                         MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -223,6 +224,13 @@
 //                        }
                         News.error(barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,璇锋煡鐪媁CS杈撻�佺嚎鐣岄潰,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
                         MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑浠诲姟,宸ヤ綔鍙�=" + wrkMast.getWrkNo()));
+                        staProtocol.setWorkNo(wrkMast.getWrkNo());
+                        staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+                        devpThread.setPakMk(staProtocol.getSiteId(), false);
+                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                        if (!result) {
+                            throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                        }
                         continue;
 //                        barcodeThread.setBarcode("");
 //                        staProtocol.setWorkNo(wrkMast.getWrkNo());
@@ -311,7 +319,7 @@
                                 continue;
                             }
                             staProtocol.setWorkNo(wrkNo);
-                            wrkNo++;
+//                            wrkNo++;
                             staProtocol.setStaNo(inSta.getBackSta().shortValue());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -323,7 +331,7 @@
                                 MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                             }
 //                            }
-//                            News.error(methodName + ":璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+                            News.error(methodName + ":璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                         }
 
 
@@ -337,7 +345,7 @@
 
             }
         }
-//        News.infoNoLog(""+mark+" - 0"+" - 缁勬墭  ===銆嬫墽琛屽畬鎴�");
+        News.infoNoLog(""+mark+" - 0"+" - 缁勬墭  ===銆嬫墽琛屽畬鎴�");
 
     }
 
@@ -468,7 +476,7 @@
                 // 閫�鍥�
 //                if (back) {
 //                    log.info("errmsg: " + errMsg);
-////                        News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
+//                        News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
 //                    MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(5, errMsg));
 //                    if (!staProtocol.isLoading()) {
 //                        continue;
@@ -503,7 +511,7 @@
 //
 //
 //                    if (!Cools.isEmpty(barcode)) {
-////                    News.info(""+mark+" - 1"+" - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
+//                    News.info(""+mark+" - 1"+" - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
 //                        if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
 //                            continue;
 //                        }
@@ -520,7 +528,7 @@
                     staProtocol = staProtocol.clone();
                 }
 
-//                // 鍏ュ嚭搴撴ā寮忓垽鏂�
+                // 鍏ュ嚭搴撴ā寮忓垽鏂�
 //                if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
 
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) {
@@ -1198,14 +1206,18 @@
                 } else {
                     staProtocol = staProtocol.clone();
                 }
-                StaProtocol staProtocol1 = devpThread.getStation().get(crnStn.getStaNo() - 1);
+                StaProtocol staProtocol1 = staProtocol.getSiteId()==101?devpThread.getStation().get(crnStn.getStaNo() + 1):devpThread.getStation().get(crnStn.getStaNo() - 1);
+//                StaProtocol staProtocol1 = devpThread.getStation().get(crnStn.getStaNo() - 1);
+//                StaProtocol staProtocol1 = devpThread.getStation().get(crnStn.getStaNo() + 1);
                 if (staProtocol1 == null) {
                     News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol);
                     break;
                 } else {
                     staProtocol1 = staProtocol1.clone();
                 }
-                StaProtocol staProtocol2 = devpThread.getStation().get(crnStn.getStaNo() - 2);
+                StaProtocol staProtocol2 = staProtocol.getSiteId()==101?devpThread.getStation().get(crnStn.getStaNo() + 2):devpThread.getStation().get(crnStn.getStaNo());
+//                StaProtocol staProtocol2 = devpThread.getStation().get(crnStn.getStaNo() - 2);
+//                StaProtocol staProtocol2 = devpThread.getStation().get(crnStn.getStaNo() + 2);
                 if (staProtocol2 == null) {
                     News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol);
                     break;
@@ -1213,7 +1225,7 @@
                     staProtocol2 = staProtocol2.clone();
                 }
                 //鍑哄叆鍙h緭閫佺嚎鍙厑璁稿瓨鍦ㄤ竴涓墭鐩�
-                if(staProtocol.isLoading() || staProtocol1.isLoading() || staProtocol2.isLoading() ) {
+                if(staProtocol.isLoading() || staProtocol1.isLoading() || staProtocol2.isLoading() || staProtocol.getWorkNo() != 0 || staProtocol1.getWorkNo() != 0 || staProtocol2.getWorkNo() != 0) {
                     break;
                 }
 
@@ -1544,7 +1556,10 @@
             //  鐘舵�侊細绛夊緟纭 骞朵笖  浠诲姟瀹屾垚浣� = 1
             if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
                 News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔锛屼换鍔″彿:" + crnProtocol.getTaskNo());
-
+                if (crnProtocol.getTaskNo() == 9999){
+                    crnThread.setResetFlag(true);
+                    continue;
+                }
                 // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
                 WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue());
                 if (wrkMast == null) {
@@ -1554,9 +1569,7 @@
                 // 鍏ュ簱 + 搴撲綅杞Щ  ==> 4.鍏ュ簱瀹屾垚
                 if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
                     wrkMast.setWrkSts(4L);
-                } else if (wrkMast.getIoType()==120 && wrkMast.getWrkSts()==2){
-                    wrkMast.setWrkSts(5L);
-                }else {
+                } else {
                     continue;
                 }
                 Date now = new Date();
@@ -1773,7 +1786,7 @@
                                 LedCommand ledCommand = new LedCommand();
                                 ledCommand.setWorkNo(dto.getWorkNo());
                                 ledCommand.setIoType(1);
-                                ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
+                                ledCommand.setTitle("绌烘澘鍏ュ簱");
                                 ledCommand.setLocNo(dto.getLocNo());
                                 ledCommand.setStaNo(dto.getStaNo());
                                 commands.add(ledCommand);
@@ -1810,7 +1823,7 @@
                 }
             }
         }
-//        News.infoNoLog(""+mark+" - 0"+" - 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐ф墽琛屽畬鎴�");
+        News.infoNoLog(""+mark+" - 0"+" - 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐ф墽琛屽畬鎴�");
     }
 
     /**
@@ -3213,13 +3226,6 @@
             }
 
             if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
-
-//                if ((crnProtocol.getCrnNo()==3 || crnProtocol.getCrnNo()==4) && crnProtocol.getBay()==0 && crnProtocol.getLevel() == 1) {
-//                    continue;
-//                }
-//                if ((crnProtocol.getCrnNo()==1 || crnProtocol.getCrnNo()==2) && crnProtocol.getBay()==1 && crnProtocol.getLevel() == 1) {
-//                    continue;
-//                }
                 if (crnProtocol.getCrnNo()==1 && crnProtocol.getBay()==1 && crnProtocol.getLevel() == 1) {
                     continue;
                 }
@@ -3244,49 +3250,20 @@
                 CrnSlave.CrnStn crnStn = crn.getCrnInStn().get(0);
 
                 News.info("鍫嗗灈鏈烘棤浠诲姟鑷姩鍥炲叆搴撳彛寰呮満==>>" + crnProtocol.getCrnNo() + "鍙峰爢鍨涙満");
-                //鐢熸垚鍥炲師鐐瑰伐浣滄。  浣欏閿愰簰
-                WrkMast wrkMast=new WrkMast();
-                wrkMast.setWrkNo(9999);//宸ヤ綔鍙�
-                wrkMast.setIoTime(new Date());
-                wrkMast.setWrkSts(2L);//宸ヤ綔鐘舵��
-                wrkMast.setIoType(120);//浠诲姟绫诲瀷  120.鍫嗗灈鏈哄洖鍘熺偣
-                wrkMast.setIoPri(13.0);//浼樺厛绾�
-                wrkMast.setCrnNo(1);//鍫嗗灈鏈哄彿
-                wrkMast.setSourceStaNo(0);//婧愮珯
-                wrkMast.setStaNo(0);//鐩爣绔�
-                wrkMast.setSourceLocNo("");//婧愬簱浣�
-                wrkMast.setLocNo("");//鐩爣搴撲綅
-                if (wrkMastMapper.insert(wrkMast)==0){
-                    throw new CoolException("淇濆瓨宸ヤ綔妗f暟鎹姸鎬佸け璐�");
-                }
                 // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
                 CrnCommand crnCommand = new CrnCommand();
-//                if (crnProtocol.getCrnNo()==3 || crnProtocol.getCrnNo()==4){
-//                    crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
-//                    crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙�
-//                    crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
-//                    crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡:  鍫嗗灈鏈虹Щ鍔�
-//                    crnCommand.setSourcePosX(crnStn.getRow().shortValue());     // 婧愬簱浣嶆帓
-//                    crnCommand.setSourcePosY((short) 0);     // 婧愬簱浣嶅垪
-//                    crnCommand.setSourcePosZ((short) 1);     // 婧愬簱浣嶅眰
-//                    crnCommand.setDestinationPosX((short) 0);     // 鐩爣搴撲綅鎺�
-//                    crnCommand.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
-//                    crnCommand.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
-//                    crnCommand.setCommand((short) 1);
-//                }else {
                     crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
                     crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙�
                     crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
 //                    crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡:  鍫嗗灈鏈虹Щ鍔�
-                    crnCommand.setTaskMode(CrnTaskModeType.X_MOVE);//浣欏閿愰簰鍥炲師鐐逛换鍔$被鍨�
+                    crnCommand.setTaskMode(CrnTaskModeType.X_MOVE);//浣欏閿愰簰鍥炲師鐐逛换鍔℃ā寮�:  绔欎綅杞Щ
                     crnCommand.setSourcePosX(crnStn.getRow().shortValue());     // 婧愬簱浣嶆帓
                     crnCommand.setSourcePosY((short) 1);     // 婧愬簱浣嶅垪
                     crnCommand.setSourcePosZ((short) 1);     // 婧愬簱浣嶅眰
                     crnCommand.setDestinationPosX((short) 0);     // 鐩爣搴撲綅鎺�
                     crnCommand.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
                     crnCommand.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
-                    crnCommand.setCommand((short) 1);
-//                }
+                    crnCommand.setCommand((short) 1);//浠诲姟纭浣�
                 if (!MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, crnCommand))) {
                     News.error("鍫嗗灈鏈虹Щ鍔ㄥ懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnProtocol.getCrnNo(), JSON.toJSON(crnCommand));
                 }

--
Gitblit v1.9.1