From 0bdae90ac60882b66200925c4fbde405fdb243b3 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 05 六月 2025 10:49:55 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 90 ++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 80 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..86eec76 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,16 @@
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 +1780,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);
}
}
@@ -1753,7 +1793,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) {
@@ -1764,6 +1831,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