From 08d8933d3fe66fb83f1e2e7e4038e62b3c5143e1 Mon Sep 17 00:00:00 2001 From: cpT <1@123> Date: 星期四, 19 六月 2025 11:10:43 +0800 Subject: [PATCH] #改造 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 193 +++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 173 insertions(+), 20 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 b477145..5881a59 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1617,6 +1617,70 @@ && staProtocol.getWorkNo() != 0) { TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo()); if (taskWrk != null) { + Integer stano = staProtocol.getStaNo(); + + if (staProtocol.getSiteId() == 1004 || staProtocol.getSiteId()==1020){ + + // 灏哄妫�娴嬪紓甯� + boolean back = false; + String errMsg = "-"; + if (staProtocol.getGrossWt()>=600){ + errMsg = "瓒呴噸"; + back = true; + } + if (staProtocol.isFrontErr()) { + errMsg = "鍓嶈秴闄�"; + back = true; + } + if (!back && staProtocol.isBackErr()) { + errMsg = "鍚庤秴闄�"; + back = true; + } + if (!back && staProtocol.isHighErr()) { + errMsg = "楂樿秴闄�"; + back = true; + } + if (!back && staProtocol.isLeftErr()) { + errMsg = "宸﹁秴闄�"; + back = true; + } + if (!back && staProtocol.isRightErr()) { + errMsg = "鍙宠秴闄�"; + back = true; + } + if (!back && staProtocol.isWeightErr()) { + errMsg = "瓒呴噸"; + back = true; + } + if (!back && staProtocol.isBarcodeErr()) { + errMsg = "鎵爜澶辫触"; + back = true; + } + // 閫�鍥� + if (back) { + if (stano.equals(staProtocol.getStaNo() + 1)) { + return null; + } + if (!staProtocol.isPakMk()) { + return null; + } + System.out.println("鎵爜鍏ュ簱澶辫触锛寋"+inSta.getStaNo()+"}鍏ュ簱绔欏洜{"+errMsg+"}寮傚父锛屾墭鐩樺凡琚��鍥�"); +// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); + staProtocol.setWorkNo(9999); + staProtocol.setStaNo(staProtocol.getStaNo()+1); + devpThread.setPakMk(staProtocol.getSiteId(), false); + devpThread.setErrorDev(staProtocol.getSiteId(), errMsg); + MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); + try{ + taskWrk.setMemo(errMsg);//灏嗛敊璇爜瀛樺叆澶囨敞瀛楁杩涜灞曠ず + taskWrk.setModiTime(new Date()); + taskWrkMapper.updateById(taskWrk); + } catch (Exception e){ + devpThread.setErrorDev(staProtocol.getSiteId(), errMsg+"寮傚父淇℃伅淇濆瓨宸ヤ綔妗f澶辫触锛�"); + } + return null; + } + } return taskWrk; } } @@ -1768,7 +1832,30 @@ sign=true; } } + if (sign){ + for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) { + if (rgvStn.getStaNo().equals(staList.get(0))) { + TaskWrk taskWrk = deviceDetection(rgvStn); + if (taskWrk != null) { + 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; + } + } + } else { + return; + } + break; + } + } + } } + + if (!sign && staList.size()>1) { for (Integer staNoNow : rangeList) { @@ -1791,7 +1878,34 @@ break; } } + }else if (!sign && staList.size()==1){ + BasDevpPosition basDevpPosition1 = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", staList.get(0))); + if (Math.abs(basDevpPosition1.getPlcPosition()- rgvProtocol.getRgvPos())<rgvProtocol.getCarBodyJiaoMing()+rgvProtocol.getCarBodyKunPeng() + avoidDistance*2){ + for (Integer staNoNow : rangeList) { + for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) { + if (rgvStn.getStaNo().equals(staNoNow)) { + TaskWrk taskWrk = deviceDetection(rgvStn); + 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); + } + } + break; + } + } + if (sign) { + break; + } + } + } } + + + if (!sign && staList.size()>1) { // 鍗婅竟鍖哄煙鍐呭彇璐т换鍔� for (Integer staNoNow : rangeList) { @@ -1818,26 +1932,65 @@ } } } -// if (!sign) { -// // 鍗婅竟鍖哄煙鍐呮斁璐т换鍔� -// for (Integer staNoNow : rangeListOther) { -// for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) { -// if (rgvStn.getStaNo().equals(staNoNow)) { -// TaskWrk taskWrk = deviceDetection(rgvStn); -// 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)) { -// sign = taskGenerate(rgvSlave, rgvStn, 0); -// } -// } -// break; -// } -// } -// if (sign) { -// break; -// } -// } -// } + if (!sign && staList.size()>1) { + for (Integer staNoNow : rangeListOther) { + for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) { + if (rgvStn.getStaNo().equals(staNoNow)) { + TaskWrk taskWrk = deviceDetection(rgvStn); + if (taskWrk != null) { + Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint()); + for (RgvSlave.RgvStn rgvSuper : rgvSlave.getRgvSuperSta()){ + if (rgvSuper.getStaNo().equals(outStaNo)){ + System.out.println("鍥犳渶杩滄墽琛屽崐杈瑰尯鍩熷唴鏀捐揣浠诲姟==="+rgvSlave.getId()+"==="); + BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint()))); + if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) { + sign = taskGenerate(rgvSlave, rgvStn, 0); + } + break; + } + } + } + break; + } + if (sign) { + break; + } + } + if (sign) { + break; + } + } + + }else if (!sign && staList.size()==1){ + for (Integer staNoNow : rangeList) { + for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) { + if (rgvStn.getStaNo().equals(staNoNow)) { + TaskWrk taskWrk = deviceDetection(rgvStn); + if (taskWrk != null) { + Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint()); + for (RgvSlave.RgvStn rgvSuper : rgvSlave.getRgvSuperSta()){ + if (rgvSuper.getStaNo().equals(outStaNo)){ + System.out.println("鍥犳渶杩滄墽琛屽崐杈瑰尯鍩熷唴鏀捐揣浠诲姟==="+rgvSlave.getId()+"==="); + BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint()))); + if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) { + sign = taskGenerate(rgvSlave, rgvStn, 0); + } + break; + } + } + } + break; + } + if (sign) { + break; + } + } + if (sign) { + break; + } + } + + } } else { //鍙敤鍖哄煙灏辫繎鍙栬揣 //灏辫繎鎺掑簭 -- Gitblit v1.9.1