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