From 92b6e11b2c9494e82e9bcb4b9b8b150951727135 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期四, 04 九月 2025 10:29:20 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 101 ++++++++++++++++++++++---------------------------- 1 files changed, 45 insertions(+), 56 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 596db23..d5dbdff 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -49,10 +49,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; /** @@ -2069,8 +2066,9 @@ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId()); // 鍛戒护闆嗗悎 List<LedCommand> commands = new ArrayList<>(); - // 宸ヤ綔妗i泦鍚� - List<WrkMast> wrkMasts = new ArrayList<>(); +// // 宸ヤ綔妗i泦鍚� +// List<WrkMast> wrkMasts = new ArrayList<>(); + List<Integer> workNoList = new ArrayList<>(); for (Integer staNo : led.getStaArr()) { // 鑾峰彇鍙夎溅绔欑偣 StaProtocol staProtocol = devpThread.getStation().get(staNo); @@ -2079,6 +2077,13 @@ } else { staProtocol = staProtocol.clone(); } + Integer wrkNo = null; + Integer ioType = null; + Integer targetStaNo = null; + String sourceLocNo = null; + String locNo = null; + String barcode = null; + // 鑾峰彇宸ヤ綔妗f暟鎹� WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo()); // if (null == wrkMast || wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) { continue; } @@ -2092,17 +2097,28 @@ } WrkMastLog wrkMastLog = wrkMastLogs.get(0); - wrkMast = new WrkMast(); - wrkMast.sync(wrkMastLog); + wrkNo = wrkMastLog.getWrkNo(); + ioType = wrkMastLog.getIoType(); + sourceLocNo = wrkMastLog.getSourceLocNo(); + locNo = wrkMastLog.getLocNo(); + targetStaNo = wrkMastLog.getStaNo(); + barcode = wrkMastLog.getBarcode(); + }else { + wrkNo = wrkMast.getWrkNo(); + ioType = wrkMast.getIoType(); + sourceLocNo = wrkMast.getSourceLocNo(); + locNo = wrkMast.getLocNo(); + targetStaNo = wrkMast.getStaNo(); + barcode = wrkMast.getBarcode(); } News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�:鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�"); - wrkMasts.add(wrkMast); + workNoList.add(wrkNo); // 缁勮鍛戒护 LedCommand ledCommand = new LedCommand(); - ledCommand.setWorkNo(wrkMast.getWrkNo()); - ledCommand.setIoType(wrkMast.getIoType()); + ledCommand.setWorkNo(wrkNo); + ledCommand.setIoType(ioType); // 鍑哄簱妯″紡 - switch (wrkMast.getIoType()) { + switch (ioType) { case 1: ledCommand.setTitle("鍏ㄦ澘鍏ュ簱"); break; @@ -2135,30 +2151,16 @@ ledCommand.setTitle("骞舵澘鍏ュ簱"); break; default: - News.error("" + mark + " - 1" + " - 浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType()); + News.error("" + mark + " - 1" + " - 浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkNo, ioType); break; } - ledCommand.setSourceLocNo(wrkMast.getSourceLocNo()); - ledCommand.setLocNo(wrkMast.getLocNo()); - ledCommand.setStaNo(wrkMast.getStaNo()); - ledCommand.setBarcode(wrkMast.getBarcode()); + ledCommand.setSourceLocNo(sourceLocNo); + ledCommand.setLocNo(locNo); + ledCommand.setStaNo(targetStaNo); + ledCommand.setBarcode(barcode); // ledCommand.setSourceStaNo(wrkMast.getSourceStaNo()); - if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) { - List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo()); -// try{ -// if (wrkMast.getIoType()>100){ -// for (WrkDetl wrkDetl : wrkDetls){ -// LocDetl locDetl = locDetlService.selectMatnrSpecs(wrkDetl.getMatnr(), wrkDetl.getSpecs(), wrkMast.getSourceLocNo()); -// wrkDetl.setWeight(locDetl.getAnfme()); -// } -// }else { -// for (WrkDetl wrkDetl : wrkDetls){ -// wrkDetl.setWeight(wrkDetl.getAnfme()); -// } -// } -// }catch (Exception e){ -// log.error("宸ヤ綔妗f鏄庣粏杈撳叆鐢佃鏈哄け璐�1锛氬紓甯镐俊鎭�==銆�"+e); -// } + if (ioType != 110 && ioType != 10) { + List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkNo); if (!wrkDetls.isEmpty()) { WrkDetl wrkDetl = wrkDetls.get(0); @@ -2199,22 +2201,6 @@ , wrkDetl.getCstateid$() )); -// wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto( -// wrkDetl.getMatnr() -// , wrkDetl.getMaktx() -// , wrkDetl.getAnfme() -// , wrkDetl.getWeight() -// , wrkDetl.getStockNum() -// , wrkDetl.getStockNum2() -// , wrkDetl.getSpecs() -// , wrkDetl.getSku() -// , wrkDetl.getZpallet() -// , wrkDetl.getModel() -// , wrkDetl.getSupp() -// , wrkDetl.getKpCstmrName() -// , wrkDetl.getOrderNo() -// , wrkDetl.getCstateid$() -// ))); }else { List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectTodayByWrkNo(wrkMast.getWrkNo()); if(!wrkDetlLogs.isEmpty()) { @@ -2262,7 +2248,7 @@ } commands.add(ledCommand); } - Set<Integer> workNos = wrkMasts.stream().map(WrkMast::getWrkNo).collect(Collectors.toSet()); + Set<Integer> workNos = new HashSet<>(workNoList); // 鑾峰彇LED绾跨▼ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId()); // 鐩稿悓宸ヤ綔鍙烽泦鍚堝垯杩囨护 @@ -2300,12 +2286,15 @@ try { // 淇敼涓绘。led鏍囪 - for (WrkMast wrkMast : wrkMasts) { - wrkMast.setOveMk("Y"); - wrkMast.setModiTime(new Date()); - if (wrkMastMapper.updateById(wrkMast) == 0) { - News.errorNoLog("" + mark + " - 4" + " - 鏇存柊宸ヤ綔妗eけ璐�"); - throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�"); + for (Integer wrkNo : workNoList) { + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkNo)); + if (wrkMast != null) { + wrkMast.setOveMk("Y"); + wrkMast.setModiTime(new Date()); + if (wrkMastMapper.updateById(wrkMast) == 0) { + News.errorNoLog("" + mark + " - 4" + " - 鏇存柊宸ヤ綔妗eけ璐�"); + throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�"); + } } } -- Gitblit v1.9.1