From 44908c897902082d885e35b1240db22c715df937 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期一, 18 十二月 2023 15:48: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