From 9784ec36b190d0f0103b42059585d04ea0b10745 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期一, 22 九月 2025 13:33:17 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 68 ++++++++++++++++++++++++++++----- 1 files changed, 57 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 d5f05ac..ba96987 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -3218,16 +3218,18 @@ // 鍙湁褰揜GV绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛� if ((rgvProtocol.getStatusType1() == RgvStatusType.IDLE || rgvProtocol.getStatusType2() == RgvStatusType.IDLE) - && rgvProtocol.getModeType() == RgvModeType.AUTO +// && rgvProtocol.getModeType() == RgvModeType.AUTO && rgvThread.isPakMk()) { News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛孯GV鍏ュ嚭搴撲綔涓氫笅鍙�"); // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡 +// rgvRunWrkMastInTest(); + if (rgvProtocol.getLastIo().equals("I")) { - if (basRgv.getInEnable().equals("Y") && rgvThread.isPakIn()) { + if (basRgv.getInEnable().equals("1") && rgvThread.isPakIn()) { //mark - 1 - .... this.rgvRunWrkMastIn(rgv, rgvProtocol,mark); // 鍏ュ簱 rgvProtocol.setLastIo("O"); - } else if (basRgv.getOutEnable().equals("Y") && rgvThread.isPakOut()) { + } else if (basRgv.getOutEnable().equals("1") && rgvThread.isPakOut()) { //mark - 2 - .... this.rgvRunWrkMastOut(rgv, rgvProtocol,mark); // 鍑哄簱 rgvProtocol.setLastIo("I"); @@ -3235,10 +3237,10 @@ } // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡 else if (rgvProtocol.getLastIo().equals("O")) { - if (basRgv.getOutEnable().equals("Y") && rgvThread.isPakOut()) { + if (basRgv.getOutEnable().equals("1") && rgvThread.isPakOut()) { this.rgvRunWrkMastOut(rgv, rgvProtocol,mark); // 鍑哄簱 rgvProtocol.setLastIo("I"); - } else if (basRgv.getInEnable().equals("Y") && rgvThread.isPakIn()) { + } else if (basRgv.getInEnable().equals("1") && rgvThread.isPakIn()) { this.rgvRunWrkMastIn(rgv, rgvProtocol,mark); // 鍏ュ簱 rgvProtocol.setLastIo("O"); } @@ -3259,6 +3261,44 @@ rgvOutExecute(); } + } + } + public synchronized void rgvRunWrkMastInTest(){ + BasRgvMap basRgvMap = basRgvMapMapper.selectById(1); + List<Integer> route = RouteUtils.getRoute(basRgvMap.getStartRoute(), basRgvMap.getEndRoute()); + basRgvMap.setNowRoute(1031); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙� + WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(342);//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。 + +// WrkMastSta wrkMastSta2 = wrkMastStaMapper.selectByWorkSta(2, 1); + boolean result = false; +// if(wrkMastSta2 != null && rgvProtocol.getRgvNo() == 1){ //璺濈璁$畻 2妤煎崟鍏ュ簱鍙d笉闇�瑕佽绠� +// result = rgvCalcDistance((int) rgvProtocol.getRgvNo(),wrkMastSta2.getStaEnd(),wrkMastSta.getStaStart());//宸ヤ綅2鏀捐揣绔欑偣锛屽伐浣�1鍙栬揣绔欑偣 +// } +// if(result){//鑻ュ皬杞﹁窛绂绘斁璐х偣璺濈杩戜簬鍙栬揣鐐瑰垯璺宠繃鍙栬揣 true璺宠繃鍙栬揣/false浼樺厛鍙栬揣 +// rgvThread.setPakRgv(false); +// continue; +// } + wrkMastSta.setWorkSta(1); + wrkMastSta.setRgvNo(1); + wrkMastSta.setStaStart(1031); + Short direction = 2;//鍙屽伐浣嶆渶缁堟姷杈句綅缃� + boolean sign = false; + sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta,direction); //鍛戒护涓嬪彂 + if (sign){ + wrkMastSta.setWrkSts(1); + try{ + wrkMastStaMapper.updateById(wrkMastSta); + log.error("鏇存柊灏忚溅浠诲姟鎴愬姛"); + }catch (Exception e){ + log.error("鏇存柊灏忚溅浠诲姟澶辫触"); + } +// rgvThread.setPakOut(false);//鍑哄簱涓嶅厑璁� + boolean signMap = rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd(),"2526"); + if (!signMap){ + log.error("璐х墿鎼繍浠诲姟锛氬伐浣滃彿{}鎵�灞炰换鍔′笅鍙戝悗鍦板浘鍚屾澶辫触",wrkMastSta.getWrkNo()); + } + } else { + log.error("宸ヤ綔鍙穥}鎵�灞炰换鍔′笅鍙戝け璐�",wrkMastSta.getWrkNo()); } } /** @@ -3920,7 +3960,8 @@ rgvCommand.setTaskStatus2(RgvTaskStatusType.X_MOVE); // 宸ヤ綅2浠诲姟妯″紡: 鍙栨斁璐� rgvCommand.setEndStaNo2(wrkMastSta.getWrkEnd()); //宸ヤ綅2 鏀捐揣鍚庤鍘荤殑浣嶇疆 rgvCommand.setTargetPosition1(wrkMastSta.getStaStart()); //宸ヤ綅2鐩爣绔欑偣 - rgvCommand.setDirection2(direction); +// rgvCommand.setDirection1((short) 2); +// rgvCommand.setWrkTaskMove2(direction); rgvCommand.setCommand(true); //宸ヤ綅1浠诲姟纭 pakIn1 = false; }else{ //鍏ュ簱RGV鍙栬揣琛岃蛋 @@ -3929,11 +3970,12 @@ rgvCommand.setTaskStatus1(RgvTaskStatusType.X_MOVE); // 宸ヤ綅1浠诲姟妯″紡: 鍙栨斁璐� rgvCommand.setEndStaNo1(wrkMastSta.getWrkEnd()); //宸ヤ綅1 鏀捐揣鍚庤鍘荤殑浣嶇疆 rgvCommand.setTargetPosition1(wrkMastSta.getStaStart()); //宸ヤ綅1鐩爣绔欑偣 - rgvCommand.setDirection1(direction); +// rgvCommand.setDirection1((short) 1); +// rgvCommand.setDirection1(direction); rgvCommand.setCommand(true); //宸ヤ綅1浠诲姟纭 } if(!pakIn1){ - if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) { + if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(5, rgvCommand))) { //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔� log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand)); return false; @@ -3941,7 +3983,7 @@ return true; } }else{ - if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(5, rgvCommand))) { + if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) { //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔� log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand)); return false; @@ -3957,7 +3999,8 @@ rgvCommand.setTaskStatus2(RgvTaskStatusType.FETCH); // 宸ヤ綅2浠诲姟妯″紡: 鍙栨斁璐� rgvCommand.setEndStaNo2(wrkMastSta.getWrkEnd()); //宸ヤ綅2 鏀捐揣鍚庤鍘荤殑浣嶇疆 rgvCommand.setTargetPosition1(wrkMastSta.getStaStart()); //宸ヤ綅2鐩爣绔欑偣 - rgvCommand.setDirection2(direction); + rgvCommand.setDirection1((short)2); + rgvCommand.setWrkTaskMove2(direction); rgvCommand.setCommand(true); //宸ヤ綅1浠诲姟纭 pakIn1 = false; }else{ //鍏ュ簱RGV鍙栬揣 @@ -3966,7 +4009,8 @@ rgvCommand.setTaskStatus1(RgvTaskStatusType.FETCH); // 宸ヤ綅1浠诲姟妯″紡: 鍙栨斁璐� rgvCommand.setEndStaNo1(wrkMastSta.getWrkEnd()); //宸ヤ綅1 鏀捐揣鍚庤鍘荤殑浣嶇疆 rgvCommand.setTargetPosition1(wrkMastSta.getStaStart()); //宸ヤ綅1鐩爣绔欑偣 - rgvCommand.setDirection1(direction); + rgvCommand.setDirection1((short)1); + rgvCommand.setWrkTaskMove1(direction); rgvCommand.setCommand(true); //宸ヤ綅1浠诲姟纭 } if(!pakIn1){ @@ -3994,6 +4038,7 @@ rgvCommand.setTaskStatus2(RgvTaskStatusType.PUT); // 宸ヤ綅2浠诲姟妯″紡: 鏀捐揣 rgvCommand.setEndStaNo2(wrkMastSta.getWrkEnd()); //宸ヤ綅2 鏀捐揣鍚庤鍘荤殑浣嶇疆 rgvCommand.setTargetPosition1(wrkMastSta.getStaEnd()); //宸ヤ綅2鐩爣绔欑偣 + rgvCommand.setDirection1((short)2); rgvCommand.setCommand(true); //宸ヤ綅1浠诲姟纭 pakIn2 = false; }else{ //宸ヤ綅1浠诲姟鏀捐揣 @@ -4002,6 +4047,7 @@ rgvCommand.setTaskStatus1(RgvTaskStatusType.PUT); // 宸ヤ綅1浠诲姟妯″紡: 鏀捐揣 rgvCommand.setEndStaNo1(wrkMastSta.getWrkEnd()); //宸ヤ綅1 鏀捐揣鍚庤鍘荤殑浣嶇疆 rgvCommand.setTargetPosition1(wrkMastSta.getStaEnd()); //宸ヤ綅1鐩爣绔欑偣 + rgvCommand.setDirection1((short)1); rgvCommand.setCommand(true); //宸ヤ綅1浠诲姟纭 } if(!pakIn2){ -- Gitblit v1.9.1