From 54fc241d1a44ec21a6994ce0ae37ec7b22d3e748 Mon Sep 17 00:00:00 2001 From: 1 <1> Date: 星期四, 09 十月 2025 16:46:09 +0800 Subject: [PATCH] #和得服务器 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 99 ++++++++++++++++++++++++++++++++----------------- 1 files changed, 65 insertions(+), 34 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 d770187..7eb0fb0 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -138,6 +138,9 @@ } else { staProtocol = staProtocol.clone(); } + if(!staProtocol.isLoading()){ + continue; + } if (barcodeThread == null) { continue; @@ -180,7 +183,7 @@ } // 閫�鍥� if (back) { -// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); + News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); if (!staProtocol.isLoading()){ @@ -194,10 +197,11 @@ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); } staProtocol.setWorkNo(wrkNo); - News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo); + News.info("寮傚父鍒ゆ柇{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo); wrkNo++; staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); + staProtocol.setBarcode(barcode); staProtocol.setPakMk(false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); System.out.println(staProtocol); @@ -209,7 +213,8 @@ && staProtocol.isLoading() && staProtocol.isInEnable() && !staProtocol.isEmptyMk() - && staProtocol.isPakMk()) { + && staProtocol.isPakMk() + ) { if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) { // News.error(JSON.toJSONString(staProtocol)); News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); @@ -219,9 +224,10 @@ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); } staProtocol.setWorkNo(wrkNo); - News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo); + News.info("鏉$爜鍒ゆ柇{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo); wrkNo++; staProtocol.setStaNo(inSta.getBackSta().shortValue()); + staProtocol.setBarcode(barcode); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); log.error("杈撻�佺嚎涓嬪彂1锛�"+wrkNo+","+inSta.getBackSta()); @@ -248,9 +254,10 @@ if (wrkNo1 != 0){ News.error(barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,璇锋煡鐪媁CS杈撻�佺嚎鐣岄潰,宸ヤ綔鍙�={}", wrkMast.getWrkNo()); StaProtocol staProtocolNew = new StaProtocol(); - staProtocolNew.setWorkNo(wrkNo1); + staProtocolNew.setWorkNo(wrkMast.getWrkNo()); staProtocolNew.setStaNo(RouteUtils.SouStaEnd(wrkMast.getStaNo(),wrkMast.getSourceStaNo())); staProtocolNew.setSiteId(staProtocol.getSiteId()); + staProtocolNew.setBarcode(barcode); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolNew)); if (ledThread != null) { News.error(methodName + ":鎵爜澶辫触锛岃閲嶈瘯"); @@ -261,6 +268,8 @@ barcodeThread.setBarcode(""); staProtocol.setWorkNo(wrkMast.getWrkNo()); staProtocol.setStaNo(RouteUtils.SouStaEnd(null,wrkMast.getSourceStaNo())); + staProtocol.setBarcode(barcode); + devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); log.info("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒))锛�"+wrkMast.getWrkNo()+","+wrkMast.getStaNo()); @@ -349,7 +358,7 @@ staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// + News.info("浠诲姟涓嬪彂鍒ゆ柇{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo); // if (ledThread != null) { String errorMsg = jsonObject.getString("msg"); if (!Cools.isEmpty(errorMsg)) { @@ -3063,6 +3072,7 @@ } if(rgvProtocol.getStatusType1() == RgvStatusType.WORKING){ rgvThread.setPaking(true); + continue; } //灏忚溅鏃犱换鍔℃椂璺宠繃 if(rgvProtocol.getTaskNo1() ==0 && rgvProtocol.getTaskNo2() == 0 ){ @@ -3106,26 +3116,31 @@ } BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙� - Integer workNo = rgvProtocol.getTaskNo2() !=0 ? rgvProtocol.getTaskNo2() : rgvProtocol.getTaskNo1(); //鍏ュ簱鏀捐揣浼樺厛宸ヤ綅2鎵ц + Integer workNo = 0; + if(rgvProtocol.getTaskNo2() > 9999|| rgvProtocol.getTaskNo1() > 9999){ + workNo = rgvProtocol.getTaskNo1() !=0 ? rgvProtocol.getTaskNo1() : rgvProtocol.getTaskNo2(); + }else{ + workNo = rgvProtocol.getTaskNo2() !=0 ? rgvProtocol.getTaskNo2() : rgvProtocol.getTaskNo1(); + } WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNoPut(workNo); WrkMast wrkMast = wrkMastMapper.selectByWrkNo(workNo); if( null == wrkMastSta ) { News.infoNoLog( " - 1" + " - 4" + " - 鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts0, 宸ヤ綔鍙�={}", staProtocol.getWorkNo()); continue; } - - boolean sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂 if (sign){ try{ rgvThread.setPaking(false); - wrkMast.setSheetNo("2"); + if(wrkMast != null){ + wrkMast.setSheetNo("2"); + wrkMastMapper.updateById(wrkMast); + } wrkMastSta.setWrkSts(2); wrkMastStaMapper.updateById(wrkMastSta); - wrkMastMapper.updateById(wrkMast); log.error("鏇存柊灏忚溅浠诲姟鎴愬姛"); }catch (Exception e){ - log.error("鏇存柊灏忚溅浠诲姟澶辫触"); + log.error("鏇存柊灏忚溅浠诲姟澶辫触"+ e); } } else { log.error("宸ヤ綔鍙穥}鎵�灞炰换鍔′笅鍙戝け璐�",wrkMastSta.getWrkNo()); @@ -3175,6 +3190,7 @@ } WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNoPut(workNo);//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。 + WrkMast wrkMast = wrkMastMapper.selectByWrkNo(workNo); if( null == wrkMastSta ) { News.infoNoLog( " - 1" + " - 4" + " - 鏌ヨ鏃犲緟鍑哄簱鏁版嵁--wrk_sts0, 宸ヤ綔鍙�={}", staProtocol.getWorkNo()); @@ -3184,6 +3200,10 @@ if (sign){ try{ rgvThread.setPaking(false); + if(wrkMast != null){ + wrkMast.setSheetNo("2"); + wrkMastMapper.updateById(wrkMast); + } wrkMastSta.setWrkSts(2); wrkMastStaMapper.updateById(wrkMastSta); log.error("鏇存柊灏忚溅浠诲姟鎴愬姛"); @@ -3412,8 +3432,12 @@ News.error("" + mark + " - 1" + " - 2" + " - 鍏ュ簱 ===>>Rgv绔欑偣鍦ㄦ暟鎹簱涓嶅瓨鍦�, 绔欑偣缂栧彿={}", rgvStn.getStaNo()); continue; } + wrkMastSta3 = wrkMastStaMapper.selectByWrkNo(staProtocol2.getWorkNo()); } +// if(rgvProtocol.getTaskNo2() > 9999){ +// continue; +// } if (staProtocol == null) { News.infoNoLog("" + mark + " - 1" + " - 1" + " - Rgv鍏ュ簱绔欎俊鎭�(staProtocol!=null缁х画鎵ц)锛歴taProtocol=" + staProtocol); @@ -3469,24 +3493,25 @@ boolean sign = false; sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂 if (sign){ - if(wrkMastSta3 != null){ - wrkMastSta3.setMk(1); - basRgv.setPakAll("0"); - basRgvService.updateById(basRgv); - try{ - wrkMastStaMapper.updateById(wrkMastSta3); - log.error("閿佸畾鐩搁殧绔欑偣浠诲姟"); - }catch (Exception e){ - log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触"); + if(wrkMastSta3 != null ){ + List<WrkMastSta> wrkMastStaPaking = wrkMastStaService.selectPakingWrk(wrkMastSta3.getStaStart()); + if(wrkMastStaPaking.size() < 1){//宸叉湁鏍囪涓嶅啀鏍囪 + wrkMastSta3.setMk(1); + basRgv.setPakAll("0"); + basRgvService.updateById(basRgv); + + try{ + wrkMastStaMapper.updateById(wrkMastSta3); + log.error("閿佸畾鐩搁殧绔欑偣浠诲姟"); + }catch (Exception e){ + log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触"); + } } - } - basRgv.setPakOut("0"); + basRgv.setPakOut("0");//鍑哄簱涓嶅厑璁� basRgvService.updateById(basRgv); - rgvThread.setPaking(false); -// rgvThread.setPakOut(false);//鍑哄簱涓嶅厑璁� -// basRgvService.updateById(basRgv); + rgvThread.setPaking(false);//浠诲姟涓嬪彂閿佸畾 try{ wrkMastSta.setWrkSts(1); @@ -3568,6 +3593,7 @@ case 2: route = RouteUtils.getRouteTwo();break; } basRgvMap.setNowRoute(rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙� + basRgvMapService.updateById(basRgvMap); WrkMastSta wrkMastSta = wrkMastStaMapper.selectNoInterfere(route, route, Long.valueOf(staProtocol.getWorkNo()));//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。 if( null == wrkMastSta ) { News.infoNoLog("" + mark + " - 1" + " - 4" + " - 鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts0, 宸ヤ綔鍙�={}", staProtocol.getWorkNo()); @@ -3596,15 +3622,20 @@ // rgvThread.setPakToCrn(false); //閿佸畾灏忚溅鍙兘鎺ユ帴椹充换鍔� } - if(wrkMastSta3 != null){ - wrkMastSta3.setMk(1); - try{ - wrkMastStaMapper.updateById(wrkMastSta3); - log.error("閿佸畾鐩搁殧绔欑偣浠诲姟"); - }catch (Exception e){ - log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触"); - } + if(wrkMastSta3 != null ){ + List<WrkMastSta> wrkMastStaPaking = wrkMastStaService.selectPakingWrk(wrkMastSta3.getStaStart()); + if(wrkMastStaPaking.size() < 1){ + wrkMastSta3.setMk(1); + basRgv.setPakAll("0"); + basRgvService.updateById(basRgv); + try{ + wrkMastStaMapper.updateById(wrkMastSta3); + log.error("閿佸畾鐩搁殧绔欑偣浠诲姟"); + }catch (Exception e){ + log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触"); + } + } } basRgv.setPakIn("0"); basRgvService.updateById(basRgv); -- Gitblit v1.9.1