From ef942fc4483059aa0526e913f9be41982df7bb79 Mon Sep 17 00:00:00 2001 From: zc <zc@123> Date: 星期二, 29 四月 2025 10:37:02 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/TransportLiftInServiceImpl.java | 1 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 50 ++++++++++++++++++++----- src/main/java/com/zy/asrs/controller/TVController.java | 2 src/main/java/com/zy/common/service/CommonService.java | 10 ++++ src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java | 20 +++------ src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java | 2 6 files changed, 59 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/TVController.java b/src/main/java/com/zy/asrs/controller/TVController.java index d797b27..540d1d5 100644 --- a/src/main/java/com/zy/asrs/controller/TVController.java +++ b/src/main/java/com/zy/asrs/controller/TVController.java @@ -239,7 +239,7 @@ dev_no2 = 1012; } else if (ledId == 2) { dev_no1 = 1013; - dev_no2 = 1015; + dev_no2 = 1014; dev_no3 = 1015; } else if (ledId == 3) { dev_no1 = 1021; 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 65dcae0..4df0f9f 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -182,7 +182,7 @@ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); String errMsg = ""; if (!back && staProtocol.isBackErr()) { - errMsg = "瓒呭寮傚父"; + errMsg = "瓒呴暱寮傚父"; back = true; } if (!back && staProtocol.isHighErr()) { @@ -190,11 +190,7 @@ back = true; } if (!back && staProtocol.isRightErr()) { - errMsg = "瓒呴暱寮傚父"; - back = true; - } - if (!back && staProtocol.isWeightErr()) { - errMsg = "瓒呴噸"; + errMsg = "瓒呭寮傚父"; back = true; } // 閫�鍥� @@ -405,6 +401,29 @@ if (wrkMast.getStaNo() == 1026) { locNo = "1200305"; } + //鑾峰彇鎻愬崌鏈轰俊鎭� + LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, 1); + if (liftThread == null) { + continue; + } + + LiftProtocol liftProtocol = liftThread.getStatus(); + if (liftProtocol == null) { + continue; + } + + if (!liftThread.isIdle()) { + continue; + } + + + //鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夋墭鐩� + if (liftProtocol.getHasTray()) { + News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮棤鎵樼洏锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo()); + continue; + } + + boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleNoLift(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_DEVP"); if (!dispatchShuttle) { News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo()); @@ -454,15 +473,19 @@ if (wrkMast.getStaNo() == 1024) { locNo = "1200305"; } + boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleNoLift(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_DEVP"); if (!dispatchShuttle) { News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo()); continue; } - + WrkMast wrkMast2 = wrkMastService.selectByMainWrkNo(wrkMast.getWrkNo()); wrkMast.setWrkSts(WrkStsType.OUTBOUND_SHUTTLE_RUN.sts); wrkMast.setSystemMsg("");//娓呯┖娑堟伅 wrkMast.setModiTime(now); + if (wrkMast2 != null) { + wrkMast.setShuttleNo(wrkMast2.getShuttleNo()); + } if (!wrkMastService.updateById(wrkMast)) { News.info("{}浠诲姟锛屾洿鏂板伐浣滄。澶辫触", wrkMast.getWrkNo()); } else { @@ -944,7 +967,7 @@ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led); String errMsg = ""; if (!back && staProtocol.isBackErr()) { - errMsg = "瓒呭寮傚父"; + errMsg = "瓒呴暱寮傚父"; back = true; } if (!back && staProtocol.isHighErr()) { @@ -952,7 +975,7 @@ back = true; } if (!back && staProtocol.isRightErr()) { - errMsg = "瓒呴暱寮傚父"; + errMsg = "瓒呭寮傚父"; back = true; } if (!back && staProtocol.isWeightErr()) { @@ -968,7 +991,6 @@ } } String barcode = staProtocol.getBarcode(); - if (!staProtocol.isLoading()) { @@ -1800,6 +1822,14 @@ try { this.recShuttleErr(); this.recLiftErr(); + LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 1); + ledThread.errorReset(); + ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 2); + ledThread.errorReset(); + ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 3); + ledThread.errorReset(); + ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 4); + ledThread.errorReset(); } catch (Exception e) { News.error("recErr fail", e); } 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 fe36b16..f83dcf7 100644 --- a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java @@ -64,6 +64,7 @@ /** * 浠庢病鏈夋彁鍗囨満渚у叆搴擄紝鏈変袱绉嶆儏鍐碉紝涓�绉嶅叆搴撳埌鍚屽眰锛屼竴绉嶅叆搴撳埌涓嶅悓灞傦紝鍒欓渶瑕佹彁鍗囨満 + * * @param wrkMast */ public void shuttleMoveExecute(WrkMast wrkMast, Integer staNo, Integer lev) { @@ -439,14 +440,7 @@ return false; } - //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟 - WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo()); - if (liftWrkMast != null) { - if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚� - News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo()); - return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇� - } - } + if (!liftThread.isIdle()) { News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満蹇欑涓紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo()); @@ -474,11 +468,11 @@ } //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟 - WrkMast w = wrkMastService.selectLiftWrkMast(1); - if (w != null) { - if (!w.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚� - News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鍒殑缁戝畾浠诲姟ru锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), 1); - return false; + WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo()); + if (liftWrkMast != null) { + if (!liftWrkMast.getWrkNo().equals(wrkMast.getMainWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚� + News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo()); + return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇� } } diff --git a/src/main/java/com/zy/asrs/service/impl/TransportLiftInServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TransportLiftInServiceImpl.java index 7a5cb18..8b3e275 100644 --- a/src/main/java/com/zy/asrs/service/impl/TransportLiftInServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/TransportLiftInServiceImpl.java @@ -137,6 +137,7 @@ return false; } + if (!liftStandByLocNo.equals(wrkMast.getSourceLocNo())) { //鑾峰彇灏忚溅鍒版彁鍗囨満寰呮満浣嶈璧板懡浠� List<ShuttleCommand> moveCommands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftStandByLocNo, mapType, assignCommand, shuttleThread); diff --git a/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java index 2dd8e9c..8f1d367 100644 --- a/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java @@ -558,7 +558,7 @@ } //鑾峰彇灏忚溅鍒版彁鍗囨満寰呮満琛岃蛋鍛戒护 - List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), locNo, NavigationMapType.DFX.id, assignCommand, shuttleThread); + List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), locNo, NavigationMapType.NORMAL.id, assignCommand, shuttleThread); if (commands == null) { News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛岃矾寰勮绠楀け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); return false; diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index 27935c9..6807dbb 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -1,5 +1,6 @@ package com.zy.common.service; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.domain.param.*; @@ -184,6 +185,10 @@ if (!locMast.getLocSts().equals("O")) { throw new CoolException("鐩爣搴撲綅涓嶅浜庣┖搴撶姸鎬�"); } + WrkMast wms_wrk_no = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", param.getTaskNo())); + if (wms_wrk_no!=null){ + throw new CoolException("宸ヤ綔褰撳凡缁忓瓨鍦�"); + } // 鑾峰彇宸ヤ綔鍙� int workNo = getWorkNo(WrkIoType.IN.id); @@ -225,7 +230,10 @@ if (!locMast.getLocSts().equals("F")) { throw new CoolException("婧愬簱浣嶄笉澶勪簬鍦ㄥ簱鐘舵��"); } - + WrkMast wms_wrk_no = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", param.getTaskNo())); + if (wms_wrk_no!=null){ + throw new CoolException("宸ヤ綔褰撳凡缁忓瓨鍦�"); + } // 鑾峰彇宸ヤ綔鍙� int workNo = getWorkNo(WrkIoType.OUT.id); // 淇濆瓨宸ヤ綔妗� -- Gitblit v1.9.1