From 1503a5ccffbf2448d15ac662ad949521a189a2c7 Mon Sep 17 00:00:00 2001 From: zc <zc@123> Date: 星期四, 01 五月 2025 12:10:10 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 113 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 91 insertions(+), 22 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 65dcae0..27bc4e9 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -182,19 +182,27 @@ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); String errMsg = ""; if (!back && staProtocol.isBackErr()) { - errMsg = "瓒呭寮傚父"; + errMsg = "鍚庤秴闄�"; back = true; } if (!back && staProtocol.isHighErr()) { errMsg = "瓒呴珮寮傚父"; back = true; } - if (!back && staProtocol.isRightErr()) { - errMsg = "瓒呴暱寮傚父"; + if (!back && staProtocol.isWeightErr()) { + errMsg = "瓒呴噸寮傚父"; back = true; } - if (!back && staProtocol.isWeightErr()) { - errMsg = "瓒呴噸"; + if (!back && staProtocol.isRightErr()) { + errMsg = "鍙宠秴闄�"; + back = true; + } + if (!back && staProtocol.isLeftErr()) { + errMsg = "宸﹁秴闄�"; + back = true; + } + if (!back && staProtocol.isBarcodeErr()) { + errMsg = "鎵爜寮傚父"; back = true; } // 閫�鍥� @@ -283,6 +291,9 @@ .setJson(JSON.toJSONString(hashMap)) .build() .doPost(); +// if (!Cools.isEmpty(msg)&&"璇峰厛缁勬墭".equalsIgnoreCase(msg)){ +// ledThread.error(msg); +// } News.error("鍏ュ簱鐢宠澶辫触锛屼换鍔℃暟鎹�={}锛岃姹傚搷搴�={}", JSON.toJSON(param), JSON.toJSON(jsonObject)); } } catch (Exception e) { @@ -302,19 +313,27 @@ String errMsg = ""; boolean back = false; if (!back && staProtocol.isBackErr()) { - errMsg = "瓒呭寮傚父"; + errMsg = "鍚庤秴闄�"; back = true; } if (!back && staProtocol.isHighErr()) { errMsg = "瓒呴珮寮傚父"; back = true; } - if (!back && staProtocol.isRightErr()) { - errMsg = "瓒呴暱寮傚父"; + if (!back && staProtocol.isWeightErr()) { + errMsg = "瓒呴噸寮傚父"; back = true; } - if (!back && staProtocol.isWeightErr()) { - errMsg = "瓒呴噸"; + if (!back && staProtocol.isRightErr()) { + errMsg = "鍙宠秴闄�"; + back = true; + } + if (!back && staProtocol.isLeftErr()) { + errMsg = "宸﹁秴闄�"; + back = true; + } + if (!back && staProtocol.isBarcodeErr()) { + errMsg = "鎵爜寮傚父"; back = true; } // 閫�鍥� @@ -359,6 +378,9 @@ .setJson(JSON.toJSONString(hashMap)) .build() .doPost(); +// if (!Cools.isEmpty(msg)&&"璇峰厛缁勬墭".equalsIgnoreCase(msg)){ +// ledThread.error(msg); +// } News.error("鍏ュ簱鐢宠澶辫触锛屼换鍔℃暟鎹�={}锛岃姹傚搷搴�={}", JSON.toJSON(param), JSON.toJSON(jsonObject)); } } catch (Exception e) { @@ -405,6 +427,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 +499,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 { @@ -903,17 +952,17 @@ for (WrkMast wrkMast : wrkMasts) { boolean step0 = this.liftInExecuteStep0(wrkMast);//璁惧涓婅蛋 if (!step0) { - return; + continue; } boolean step1 = this.liftInExecuteStep1(wrkMast);//鎻愬崌鏈烘惉杩� if (!step1) { - return; + continue; } boolean step2 = this.liftInExecuteStep2(wrkMast);//瑙﹀彂鎼繍浠诲姟 if (!step2) { - return; + continue; } } } catch (Exception e) { @@ -944,19 +993,27 @@ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led); String errMsg = ""; if (!back && staProtocol.isBackErr()) { - errMsg = "瓒呭寮傚父"; + errMsg = "鍚庤秴闄�"; back = true; } if (!back && staProtocol.isHighErr()) { errMsg = "瓒呴珮寮傚父"; back = true; } - if (!back && staProtocol.isRightErr()) { - errMsg = "瓒呴暱寮傚父"; + if (!back && staProtocol.isWeightErr()) { + errMsg = "瓒呴噸寮傚父"; back = true; } - if (!back && staProtocol.isWeightErr()) { - errMsg = "瓒呴噸"; + if (!back && staProtocol.isRightErr()) { + errMsg = "鍙宠秴闄�"; + back = true; + } + if (!back && staProtocol.isLeftErr()) { + errMsg = "宸﹁秴闄�"; + back = true; + } + if (!back && staProtocol.isBarcodeErr()) { + errMsg = "鎵爜寮傚父"; back = true; } // 閫�鍥� @@ -968,7 +1025,6 @@ } } String barcode = staProtocol.getBarcode(); - if (!staProtocol.isLoading()) { @@ -1214,12 +1270,12 @@ for (WrkMast wrkMast : wrkMasts) { boolean step1 = this.liftOutExecuteStep1(wrkMast);//瑙﹀彂鎼繍浠诲姟 if (!step1) { - return; + continue; } boolean step2 = this.liftOutExecuteStep2(wrkMast);//鎻愬崌鏈烘惉杩� if (!step2) { - return; + continue; } } } catch (Exception e) { @@ -1479,6 +1535,11 @@ notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡 } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_12.sts) { wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_13.sts); + WrkMast wrkMast1 = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo()); + if (wrkMast1 != null) { + wrkMast1.setShuttleNo(wrkMast.getShuttleNo()); + log.info("瀵逛富宸ヤ綔妗h繘琛岀粦瀹氬皬杞︼紝涓轰簡灏忚溅杩涜绉昏溅,{},{}", wrkMast1.getWrkNo(), wrkMast.getShuttleNo()); + } shuttleThread.setSyncTaskNo(0); notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡 } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_10.sts) { @@ -1800,6 +1861,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); } -- Gitblit v1.9.1