From 91f54031fbe09695c0664aa712a66d31fd97cd7b Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期五, 15 十二月 2023 13:27:10 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 26 ++++++++++++++++++++++---- 1 files changed, 22 insertions(+), 4 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 62f7286..6d0eab8 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -2824,6 +2824,7 @@ List<LedCommand> commands = new ArrayList<>(); // 宸ヤ綔妗i泦鍚� List<WrkMast> wrkMasts = new ArrayList<>(); + List<WrkMastLog> wrkMastLogs = new ArrayList<>(); for (Integer staNo : led.getStaArr()) { // 鑾峰彇鍙夎溅绔欑偣 StaProtocol staProtocol = devpThread.getStation().get(staNo); @@ -2851,6 +2852,7 @@ locNo = wrkMastLog.getLocNo(); wrkStaNo = wrkMastLog.getStaNo(); barcode = wrkMastLog.getBarcode(); + wrkMastLogs.add(wrkMastLog); }else { if (wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) { continue; @@ -2860,8 +2862,8 @@ locNo = wrkMast.getLocNo(); wrkStaNo = wrkMast.getStaNo(); barcode = wrkMast.getBarcode(); + wrkMasts.add(wrkMast); } - wrkMasts.add(wrkMast); // 缁勮鍛戒护 LedCommand ledCommand = new LedCommand(); ledCommand.setWorkNo(wrkNo); @@ -2895,7 +2897,7 @@ if (ioType != 110 && ioType != 10) { List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo)); locDetls.forEach(locDetl -> { - Wrapper<WrkDetl> wrapper = new EntityWrapper<WrkDetl>().eq("matnr", locDetl.getMatnr()).eq("wrk_no", wrkMast.getWrkNo()); + Wrapper<WrkDetl> wrapper = new EntityWrapper<WrkDetl>().eq("matnr", locDetl.getMatnr()).eq("wrk_no", wrkNo); Utils.wapperSetCondition(wrapper, "batch", locDetl.getBatch()); Utils.wapperSetCondition(wrapper, "three_code", locDetl.getThreeCode()); Utils.wapperSetCondition(wrapper, "dead_time", locDetl.getDeadTime()); @@ -2932,7 +2934,7 @@ }); if (wrkDetls.isEmpty()) {//浠庡巻鍙叉。鏌ヨ - List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectLatestByWorkNo(wrkNo); + List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectLatestByWorkNo(wrkNo, barcode); for (WrkDetlLog wrkDetlLog : wrkDetlLogs) { ledCommand.getMatDtos().add(new MatDto(wrkDetlLog.getMatnr(), wrkDetlLog.getMaktx(), wrkDetlLog.getAnfme(), wrkDetlLog.getAnfme(), wrkDetlLog.getSpecs(), wrkDetlLog.getSuppCode())); } @@ -2943,7 +2945,12 @@ commands.add(ledCommand); } - Set<Integer> workNos = wrkMasts.stream().map(WrkMast::getWrkNo).collect(Collectors.toSet()); + Set<Integer> workNos = null; + if (!wrkMasts.isEmpty()) { + workNos = wrkMasts.stream().map(WrkMast::getWrkNo).collect(Collectors.toSet()); + }else { + workNos = wrkMastLogs.stream().map(WrkMastLog::getWrkNo).collect(Collectors.toSet()); + } // 鑾峰彇LED绾跨▼ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId()); // 鐩稿悓宸ヤ綔鍙烽泦鍚堝垯杩囨护 @@ -3382,6 +3389,17 @@ //鑾峰彇灏忚溅鍒拌緭閫佺珯鐐硅璧板懡浠� NyShuttleOperaResult result = NyShuttleOperaUtils.getStartToTargetCommands(shuttleThread.getSlave().getId(), wrkMast.getWrkNo(), shuttleProtocol.getCurrentLocNo(), liftSta.getLocNo(), NavigationMapType.NORMAL.id); + if (result == null) { + //璺緞鑾峰彇澶辫触锛岄渶瑕佽В閿佷笂闈㈤攣瀹氱殑璺緞 + //灏濊瘯瑙i攣鐩爣绔欒矾寰� + boolean result3 = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), targetNodes, false);//鎵�浣跨敤鐨勮矾寰勮繘琛岃В閿� + if (!result3) { + News.info("{}浠诲姟锛寋}灏忚溅锛岃矾寰勮В閿佸け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); + return false;//璺緞瑙i攣澶辫触 + } + News.info("{}浠诲姟锛寋}灏忚溅锛岃矾寰勮绠楀け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); + return false;//璺緞瑙i攣澶辫触 + } List<NyShuttleHttpCommand> commands = result.getCommands(); ShuttleAssignCommand assignCommand = new ShuttleAssignCommand(); -- Gitblit v1.9.1