From b288479b135c33ecb626a3770f818b441ebcc817 Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期四, 17 四月 2025 14:14:38 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 107 ++++++++++++++++++++++++++--------------------------- 1 files changed, 52 insertions(+), 55 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 3956c7d..5bb2005 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -594,59 +594,6 @@ } for (WrkMast wrkMast : wrkMasts) { - Integer liftNo = wrkMast.getLiftNo(); - if (liftNo == null) { - //鏈垎閰嶆彁鍗囨満 - Integer staNo = wrkMast.getIoType() == WrkIoType.IN.id ? wrkMast.getSourceStaNo() : wrkMast.getStaNo(); - liftNo = ForkLiftUtils.getConveyorBindLiftNo(staNo); - if(liftNo == null) { - News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛屾湭鎵惧埌鍖归厤鐨勬彁鍗囨満", wrkMast.getWrkNo()); - continue; - } - - ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo); - if (forkLiftThread == null) { - continue; - } - ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus(); - if (forkLiftProtocol == null) { - continue; - } - - if (!forkLiftThread.isIdle()) { - News.info("{}鍙锋彁鍗囨満锛屽繖纰屼腑", liftNo); - continue; - } - - //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟 - WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo()); - if (liftWrkMast != null) { - if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚� - News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo()); - continue;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇� - } - } - - wrkMast.setLiftNo(liftNo); - wrkMast.setModiTime(new Date()); - wrkMastService.updateById(wrkMast); - continue; - } - - ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo); - if (forkLiftThread == null) { - continue; - } - ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus(); - if (forkLiftProtocol == null) { - continue; - } - - if (!forkLiftThread.isIdle()) { - News.info("{}鍙锋彁鍗囨満锛屽繖纰屼腑", liftNo); - continue; - } - boolean stepIn = this.liftIoExecuteStepIn(wrkMast);//鎻愬崌鏈哄叆搴� if (!stepIn) { continue; @@ -689,7 +636,18 @@ return false; } - ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftSta.getLiftNo()); + Integer liftNo = wrkMast.getLiftNo(); + if (liftNo == null) { + //鏈垎閰嶆彁鍗囨満 + Integer staNo = wrkMast.getSourceStaNo(); + liftNo = ForkLiftUtils.getConveyorBindLiftNo(staNo); + if(liftNo == null) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛屾湭鎵惧埌鍖归厤鐨勬彁鍗囨満", wrkMast.getWrkNo()); + return false; + } + } + + ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo); if (forkLiftThread == null) { return false; } @@ -760,6 +718,7 @@ assignCommand.setTaskMode(ForkLiftTaskModeType.PICK_PUT.id.shortValue()); wrkMast.setWrkSts(WrkStsType.INBOUND_LIFT_RUN.sts);//鎻愬崌鏈烘惉杩愪腑 1.鐢熸垚鍏ュ簱浠诲姟 ==> 3.鎻愬崌鏈烘惉杩愪腑 + wrkMast.setLiftNo(liftNo); wrkMast.setSystemMsg("");//娓呯┖娑堟伅 wrkMast.setModiTime(now); if (wrkMastService.updateById(wrkMast)) { @@ -822,7 +781,18 @@ return false; } - ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftSta.getLiftNo()); + Integer liftNo = wrkMast.getLiftNo(); + if (liftNo == null) { + //鏈垎閰嶆彁鍗囨満 + Integer staNo = wrkMast.getStaNo(); + liftNo = ForkLiftUtils.getConveyorBindLiftNo(staNo); + if(liftNo == null) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛屾湭鎵惧埌鍖归厤鐨勬彁鍗囨満", wrkMast.getWrkNo()); + return false; + } + } + + ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo); if (forkLiftThread == null) { return false; } @@ -870,6 +840,7 @@ assignCommand.setTaskMode(ForkLiftTaskModeType.PICK_PUT.id.shortValue()); wrkMast.setWrkSts(WrkStsType.OUTBOUND_LIFT_RUN.sts);//鎻愬崌鏈烘惉杩愪腑 103.鐢熸垚鍏ュ簱浠诲姟 ==> 104.鎻愬崌鏈烘惉杩愪腑 + wrkMast.setLiftNo(liftNo); wrkMast.setShuttleNo(null);//閲婃斁灏忚溅 wrkMast.setSystemMsg("");//娓呯┖娑堟伅 wrkMast.setModiTime(new Date()); @@ -1484,6 +1455,32 @@ return false;//鎵句笉鍒扮珯鐐� } + if (liftSta.getHasTray()) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛屾簮绔欏瓨鍦ㄦ墭鐩�", wrkMast.getWrkNo()); + return false; + } + + if (liftSta.getHasCar()) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛屾簮绔欏瓨鍦ㄥ皬杞�", wrkMast.getWrkNo()); + return false; + } + + //鑾峰彇鐩爣杈撻�佺珯 + ForkLiftStaProtocol liftStaTarget = ForkLiftUtils.getLiftStaByStaNo(wrkMast.getStaNo()); + if (liftStaTarget == null) { + return false;//鎵句笉鍒扮珯鐐� + } + + if (liftStaTarget.getHasTray()) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛岀洰鏍囩珯瀛樺湪鎵樼洏", wrkMast.getWrkNo()); + return false; + } + + if (liftStaTarget.getHasCar()) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛岀洰鏍囩珯瀛樺湪灏忚溅", wrkMast.getWrkNo()); + return false; + } + if (wrkMast.getLiftNo() == null) { //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟(璇ヤ换鍔¢渶瑕佹崲灞傚繀椤绘彁鍓嶇嫭鍗犳彁鍗囨満) WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(liftSta.getLiftNo()); -- Gitblit v1.9.1