From a3cd273234d56c5a36bd0a793a67e533a2141d6d Mon Sep 17 00:00:00 2001 From: zc <zc@123> Date: 星期五, 25 四月 2025 08:23:47 +0800 Subject: [PATCH] 初步调试 --- /dev/null | 0 src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java | 34 +++++++++++++---- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 8 ++++ src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java | 2 src/main/resources/sql/20250425082153.nb3 | 0 src/main/java/com/zy/asrs/controller/TVController.java | 46 +--------------------- src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java | 4 +- 7 files changed, 40 insertions(+), 54 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/TVController.java b/src/main/java/com/zy/asrs/controller/TVController.java index 27109c92..c8b1de2 100644 --- a/src/main/java/com/zy/asrs/controller/TVController.java +++ b/src/main/java/com/zy/asrs/controller/TVController.java @@ -245,49 +245,6 @@ } List<LedCommand> commands = new ArrayList<>(); - // 缁勮鍛戒护 - LedCommand ledCommand = new LedCommand(); - ledCommand.setWorkNo(wrkMast.getWmsWrkNo()); - ledCommand.setIoType(wrkMast.getIoType()); - // 鍑哄簱妯″紡 - switch (wrkMast.getIoType()) { - case 1: - ledCommand.setTitle("鍏ㄦ澘鍏ュ簱"); - break; - case 10: - ledCommand.setTitle("绌烘澘鍏ュ簱"); - break; - case 101: - ledCommand.setTitle("鍏ㄦ澘鍑哄簱"); - break; - case 103: - ledCommand.setTitle("鎷f枡鍑哄簱"); - break; - case 104: - ledCommand.setTitle("骞舵澘鍑哄簱"); - break; - case 107: - ledCommand.setTitle("鐩樼偣鍑哄簱"); - break; - case 110: - ledCommand.setTitle("绌烘澘鍑哄簱"); - ledCommand.setEmptyMk(true); - break; - case 53: - ledCommand.setTitle("鎷f枡鍏ュ簱"); - break; - case 57: - ledCommand.setTitle("鐩樼偣鍏ュ簱"); - break; - case 54: - ledCommand.setTitle("骞舵澘鍏ュ簱"); - break; - default: - break; - } - ledCommand.setSourceLocNo(wrkMast.getSourceLocNo()); - ledCommand.setLocNo(wrkMast.getLocNo()); - ledCommand.setStaNo(wrkMast.getStaNo()); if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) { Map<String, Object> param = new HashMap<>(); param.put("taskNo", wrkMast.getWmsWrkNo()); @@ -381,6 +338,9 @@ continue; } HashMap<String, Object> map = new HashMap<>(); + if (Cools.isEmpty(shuttleProtocol.getErrorCode())) { + continue; + } int i = Integer.parseInt(shuttleProtocol.getErrorCode()); if (i > 0) { BasShuttleErr basShuttleErr = basShuttleErrService.queryByCode(i); 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 892adf2..42514ac 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; import com.zy.asrs.domain.enums.NotifyMsgType; import com.zy.asrs.entity.*; import com.zy.asrs.service.*; @@ -216,6 +217,9 @@ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) { String barcode = staProtocol.getBarcode(); + if (Cools.isEmpty(barcode) || "?".endsWith(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) { + continue; + } // 鍒ゆ柇閲嶅宸ヤ綔妗� WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("barcode", barcode)); if (wrkMast != null && wrkMast.getWrkSts() == WrkStsType.NEW_INBOUND.sts) { @@ -915,6 +919,10 @@ ledThread.error(errMsg); } } + String barcode = staProtocol.getBarcode(); + if (Cools.isEmpty(barcode) || "?".endsWith(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) { + return false; + } if (!staProtocol.isAutoing()) { News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鍦ㄨ嚜鍔ㄧ姸鎬�", wrkMast.getWrkNo(), staProtocol.getSiteId()); return false; diff --git a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java index 7e401d1..fe36b16 100644 --- a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java @@ -489,7 +489,7 @@ assignCommand.setAuto(true);//鑷姩妯″紡 //鑾峰彇灏忚溅鍒版彁鍗囨満琛岃蛋鍛戒护 - List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftThread.getLiftLocNo(Utils.getLev(shuttleProtocol.getCurrentLocNo())), NavigationMapType.NORMAL.id, assignCommand, shuttleThread); + List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftThread.getLiftLocNo(Utils.getLev(shuttleProtocol.getCurrentLocNo())), NavigationMapType.DFX.id, assignCommand, shuttleThread); if (commands == null) { News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛岃矾寰勮绠楀け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); return false; @@ -861,7 +861,7 @@ assignCommand.setLocNo(wrkMast.getLocNo());//鐩爣搴撲綅 List<ShuttleCommand> commands = new ArrayList<>(); - Integer mapType = NavigationMapType.NORMAL.id; + Integer mapType = NavigationMapType.DFX.id; List<ShuttleCommand> moveCommands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), wrkMast.getLocNo(), mapType, assignCommand, shuttleThread); if (moveCommands == null) { diff --git a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java index ee64ceb..1013d93 100644 --- a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java @@ -465,7 +465,7 @@ assignCommand.setAuto(true);//鑷姩妯″紡 //鑾峰彇灏忚溅鍒版彁鍗囨満琛岃蛋鍛戒护 - List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftThread.getLiftLocNo(Utils.getLev(shuttleProtocol.getCurrentLocNo())), NavigationMapType.NORMAL.id, assignCommand, shuttleThread); + List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftThread.getLiftLocNo(Utils.getLev(shuttleProtocol.getCurrentLocNo())), NavigationMapType.DFX.id, assignCommand, shuttleThread); if (commands == null) { News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛岃矾寰勮绠楀け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); return false; diff --git a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java index 5fb8a40..bcbe6e4 100644 --- a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java +++ b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java @@ -30,6 +30,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.rmi.CORBA.Util; import java.util.*; /** @@ -251,7 +252,7 @@ if (wrkMast1 != null) { wrkMast1.setShuttleNo(shuttleProtocol.getShuttleNo()); wrkMastService.updateById(wrkMast1); - sameLev.add(0,shuttleThread); + sameLev.add(0, shuttleThread); //return true; } break; @@ -364,7 +365,8 @@ */ public boolean searchDispatchShuttleNoLift(Integer wrkNo, String sourceLocNo, String locNo, String flag) { ArrayList<ShuttleThread> diffLev = new ArrayList<>();//涓嶅悓妤煎眰鐨勭┛姊溅 - + int lev1 = 0; + boolean tongLev = false; for (ShuttleSlave shuttle : slaveProperties.getShuttle()) { //鑾峰彇鍥涘悜绌挎杞︾嚎绋� ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttle.getId()); @@ -388,6 +390,13 @@ } } diffLev.add(shuttleThread); + if (lev1 != 0) { + if (lev1 == Utils.getLev(shuttleProtocol.getCurrentLocNo())) { + tongLev = true; + } + } else { + lev1 = Utils.getLev(shuttleProtocol.getCurrentLocNo()); + } } //瀵绘壘绂讳换鍔℃ゼ灞傛渶杩戠殑绌挎杞�(涓嶈�冭檻璺ㄦゼ灞傚皬杞︾Щ鍔ㄨ窛绂�) @@ -422,18 +431,27 @@ //褰撳墠绌挎杞﹀簱浣嶅彿 String currentLocNo = shuttleProtocol.getCurrentLocNo(); int currentLev = Utils.getLev(currentLocNo); - if (wrkMast1.getIoType() == 101 && currentLocNo.equals(locNo)) { //杞﹁締褰撳墠浣嶇疆宸茬粡鏄洰鏍囧簱浣嶏紝璋冨害璇ヨ溅 //缁欏伐浣滄。缁戝畾灏忚溅鍙� diffShuttles.put(-1, shuttleThread); } else { - //ABS(鐩爣妤煎眰 - 褰撳墠妤煎眰) 寰楀埌宸窛锛屽彇鏈�灏忓樊鍊� - int currentValue = Math.abs(lev - currentLev); - if (diffShuttles.get(currentValue) != null) { - diffShuttles.put(currentValue + 1, shuttleThread); + if (tongLev) { + //褰撳墠绌挎杞︾嚎绋嬪埌鐩爣鍦扮偣璺濈 + List<NavigateNode> currentShuttlePath = navigateUtils.calc(currentLocNo, locNo, NavigationMapType.NORMAL.id, Utils.getShuttlePoints(shuttleProtocol.getShuttleNo(), Utils.getLev(currentLocNo)), null);//鎼滅储绌洪棽绌挎杞︼紝浣跨敤姝e父閫氶亾鍦板浘 + if (currentShuttlePath == null) { + continue; + } + Integer currentAllDistance = navigateUtils.getOriginPathAllDistance(currentShuttlePath);//璁$畻褰撳墠璺緞琛岃蛋鎬昏窛绂� + diffShuttles.put(currentAllDistance, shuttleThread); } else { - diffShuttles.put(currentValue, shuttleThread); + //ABS(鐩爣妤煎眰 - 褰撳墠妤煎眰) 寰楀埌宸窛锛屽彇鏈�灏忓樊鍊� + int currentValue = Math.abs(lev - currentLev); + if (diffShuttles.get(currentValue) != null) { + diffShuttles.put(currentValue + 1, shuttleThread); + } else { + diffShuttles.put(currentValue, shuttleThread); + } } } } diff --git a/src/main/resources/sql/20250419211417.nb3 b/src/main/resources/sql/20250419211417.nb3 deleted file mode 100644 index c01c1f8..0000000 --- a/src/main/resources/sql/20250419211417.nb3 +++ /dev/null Binary files differ diff --git a/src/main/resources/sql/20250425082153.nb3 b/src/main/resources/sql/20250425082153.nb3 new file mode 100644 index 0000000..2638934 --- /dev/null +++ b/src/main/resources/sql/20250425082153.nb3 Binary files differ -- Gitblit v1.9.1