From 7068307fa5a395b2027e9dd9ce8b2a4819d8ee9d Mon Sep 17 00:00:00 2001
From: pjb <pjb123456>
Date: 星期六, 16 八月 2025 15:33:14 +0800
Subject: [PATCH] 修复4号堆垛机不出一个入一个情况
---
src/main/java/com/zy/service/impl/MainServiceImpl.java | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index f4a0b8d..4b06fd2 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -41,6 +41,7 @@
import javax.annotation.Resource;
import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
@@ -620,15 +621,23 @@
crnProtocol.setLastIo("O");
} else if (basCrnp.getOutEnable().equals("Y")) {
//mark - 2 - ....
- this.locToCrnStn(crn, crnProtocol,mark); // 鍑哄簱
+ AtomicInteger atomicInteger = new AtomicInteger(mark);
+ this.locToCrnStn(crn, crnProtocol,atomicInteger); // 鍑哄簱
crnProtocol.setLastIo("I");
+ if(atomicInteger.get() == 99) { // 涓嬩竴娆¤繕鏄嚭搴�
+ crnProtocol.setLastIo("O");
+ }
}
}
// 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
else if (crnProtocol.getLastIo().equals("O")) {
if (basCrnp.getOutEnable().equals("Y")) {
- this.locToCrnStn(crn, crnProtocol,mark); // 鍑哄簱
+ AtomicInteger atomicInteger = new AtomicInteger(mark);
+ this.locToCrnStn(crn, crnProtocol,atomicInteger); // 鍑哄簱
crnProtocol.setLastIo("I");
+ if(atomicInteger.get() == 99) { // 涓嬩竴娆¤繕鏄嚭搴�
+ crnProtocol.setLastIo("O");
+ }
} else if (basCrnp.getInEnable().equals("Y")) {
this.crnStnToLoc(crn, crnProtocol,mark); // 鍏ュ簱
crnProtocol.setLastIo("O");
@@ -749,7 +758,7 @@
wrkMast.setIoPri(14D);
wrkMastMapper.updateById(wrkMast);
// 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
- moveLocForDeepLoc(slave, shallowLoc,mark);
+ moveLocForDeepLoc(slave, shallowLoc,new AtomicInteger(mark));
// 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�)
// moveLocForDeepLocPakin(slave, shallowLoc, wrkMast);
}
@@ -827,7 +836,7 @@
* 鍑哄簱 ===>> 搴撲綅鍒板爢鍨涙満绔�
* 2022-06-09 TQS淇敼锛屾煡璇㈠伐浣滄。LIST锛岄亶鍘嗕笅鍙戯紝闃叉绗竴涓换鍔″牭濉炲嚭搴�
*/
- public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol,Integer mark) {
+ public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol,AtomicInteger mark) {
News.warnNoLog(""+mark+" - 2"+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氭墽琛屽嚭搴�");
boolean crnAvailableOut = false;
Config config = configService.selectOne(new EntityWrapper<Config>().eq("code","removeCrnAvailableOut"));
@@ -999,6 +1008,7 @@
wrkMast1.setSourceStaNo(1056);
wrkMastService.updateById(wrkMast1);
}
+ mark.set(99);
break;
}
}
@@ -1727,7 +1737,7 @@
* 鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)
* tip锛氬悓姝�
*/
- private synchronized void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc,Integer mark) {
+ private synchronized void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc,AtomicInteger mark) {
// 鍙湁208L鑳芥斁11灞�
String model = null;
--
Gitblit v1.9.1