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 | 35 ++++++++++++++++++++++++++--------- 1 files changed, 26 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java index b58bf09..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,12 +836,19 @@ * 鍑哄簱 ===>> 搴撲綅鍒板爢鍨涙満绔� * 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")); - if (config != null && config.getStatus() == 1) { - crnAvailableOut = true; + if (config != null && config.getStatus() == 1 && !Cools.isEmpty(config.getValue())) { + // 闇�瑕佽嚜鍔ㄨˉ绌烘《鐨勭珯鐐� + String[] split = config.getValue().split("="); + for (String item : split) { + if (slave.getId() == Integer.parseInt(item)) { + crnAvailableOut = true; + break; + } + } } // 闄愬埗鍘绘崋缁戞満鍣ㄤ换鍔℃暟 int kbWrks = wrkMastMapper.selectCountByKb(); @@ -992,6 +1008,7 @@ wrkMast1.setSourceStaNo(1056); wrkMastService.updateById(wrkMast1); } + mark.set(99); break; } } @@ -1720,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; @@ -2344,8 +2361,8 @@ } } else if (wantBucket.getSite() == 1071 && count <= 2 || wantBucket.getSite() == 1064 && count == 0 || wantBucket.getSite() == 1078 && count <= 2) { // 鍙互鍑轰袱涓� - // 鑷姩鍑虹┖妗跺垽鏂�4鍙峰爢鍨涙満鏈夋棤鍑哄簱浠诲姟锛屾湁鍒欎笉鐢熸垚锛岃鍏ュ簱鍙g洿渚涚綈瑁呯嚎 - Integer count1 = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", 4).eq("wrk_sts", 11)); + // 鑷姩鍑虹┖妗讹紝鍧囧寑鍑哄埌姣忓彴缃愯绾� + Integer count1 = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", 4).eq("sta_no",wantBucket.getSite()).in("wrk_sts", 11,12)); if(count1 > 0) { return; } -- Gitblit v1.9.1