From f83e9ca0c3b3429c6ec85d31ff30db37c4218ae3 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期一, 18 十二月 2023 16:26:43 +0800 Subject: [PATCH] #map latest test --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 35 +++++++++++++++++++++++++++-------- 1 files changed, 27 insertions(+), 8 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 d3b815d..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()); @@ -2926,23 +2928,29 @@ }); if (locDetls.isEmpty()) { - List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkNo)); wrkDetls.forEach(wrkDetl -> { ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getAnfme(), wrkDetl.getSpecs(), wrkDetl.getSuppCode())); }); if (wrkDetls.isEmpty()) {//浠庡巻鍙叉。鏌ヨ - List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectLatestByWorkNo(wrkMast.getWrkNo()); - wrkDetlLogs.forEach(wrkDetl -> { - ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getAnfme(), wrkDetl.getSpecs(), wrkDetl.getSuppCode())); - }); + 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())); + } + } } } 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()); // 鐩稿悓宸ヤ綔鍙烽泦鍚堝垯杩囨护 @@ -3381,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