From 58365ea8a02e8adee1b56948085998107f9a80b3 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期二, 26 九月 2023 20:46:10 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 87 ++++++++++++++++++++++++------------------- 1 files changed, 48 insertions(+), 39 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 3476c4a..6becb10 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -236,16 +236,16 @@ Integer code = jsonObject.getInteger("code"); if (code.equals(200)) { StartupDto dto = jsonObject.getObject("data", StartupDto.class); - // plc 澶勭悊 - barcodeThread.setBarcode(""); - staProtocol.setWorkNo(dto.getWorkNo().shortValue()); - staProtocol.setStaNo(dto.getStaNo().shortValue()); - devpThread.setPakMk(staProtocol.getSiteId(), false); - - boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - if (!result) { - throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); - } +// // plc 澶勭悊 +// barcodeThread.setBarcode(""); +// staProtocol.setWorkNo(dto.getWorkNo().shortValue()); +// staProtocol.setStaNo(dto.getStaNo().shortValue()); +// devpThread.setPakMk(staProtocol.getSiteId(), false); +// +// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); +// if (!result) { +// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); +// } // 鍒ゆ柇閲嶅宸ヤ綔妗� WrkMast wrkMast = wrkMastMapper.selectPakInStep11(inSta.getStaNo()); @@ -267,10 +267,10 @@ } News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); } else if (code == 700) { - staProtocol.setWorkNo((short) 32002); - staProtocol.setRollback102(1);//102绔欏洖閫�淇″彿 - devpThread.setPakMk(staProtocol.getSiteId(), false); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(5, staProtocol)); +// staProtocol.setWorkNo((short) 32002); +// staProtocol.setRollback102(1);//102绔欏洖閫�淇″彿 +// devpThread.setPakMk(staProtocol.getSiteId(), false); +// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(5, staProtocol)); // led 寮傚父鏄剧ず if (ledThread != null) { @@ -873,7 +873,7 @@ return false;//鎵句笉鍒扮珯鐐� } - if (liftStaProtocol.getModel() && !liftStaProtocol.getBusy() && !liftStaProtocol.getHasTray()) { + if (!(liftStaProtocol.getModel() && !liftStaProtocol.getBusy() && !liftStaProtocol.getHasTray())) { return false;//绔欑偣蹇呴』鑷姩銆佺┖闂层�佹病鏈夋墭鐩� } @@ -1286,7 +1286,6 @@ && liftProtocol.getTaskNo() != 0 && !liftProtocol.getBusy() ) { - boolean clearTaskNoFlag = false;//娓呴浂宸ヤ綔鍙锋爣璁� //灏嗕换鍔℃。鏍囪涓哄畬鎴� WrkMast wrkMast = wrkMastMapper.selectByWorkNo324104(liftProtocol.getTaskNo().intValue()); if (wrkMast != null) { @@ -1311,17 +1310,11 @@ break; case 106://106.鎻愬崌鏈烘惉杩愪腑 ==> 107.鎻愬崌鏈烘惉杩愬畬鎴� wrkMast.setWrkSts(107L); -// //娓呴浂宸ヤ綔鍙� -// clearTaskNoFlag = true; break; default: } if (wrkMastMapper.updateById(wrkMast) > 0) { - if (clearTaskNoFlag) { - //娓呴浂宸ヤ綔鍙� - MessageQueue.offer(SlaveType.Lift, liftSlave.getId(), new Task(4, null)); - } //璁剧疆鎻愬崌鏈轰负绌洪棽鐘舵�� liftProtocol.setProtocolStatus(LiftProtocolStatusType.IDLE); //浠诲姟鎸囦护娓呴浂 @@ -1330,8 +1323,19 @@ } else { News.error("鎻愬崌鏈哄凡纭涓斾换鍔″畬鎴愮姸鎬�,澶嶄綅澶辫触锛屼絾鏈壘鍒板伐浣滄。銆傛彁鍗囨満鍙�={}锛屽伐浣滃彿={}", liftProtocol.getLiftNo(), liftProtocol.getTaskNo()); } + }else { + LiftAssignCommand assignCommand = liftProtocol.getAssignCommand(); + if (assignCommand != null) { + if (!assignCommand.getAuto()) { + //鎵嬪姩鎿嶄綔 + //璁剧疆鎻愬崌鏈轰负绌洪棽鐘舵�� + liftProtocol.setProtocolStatus(LiftProtocolStatusType.IDLE); + //浠诲姟鎸囦护娓呴浂 + liftProtocol.setAssignCommand(null); + News.info("鎻愬崌鏈哄凡纭鎵嬪姩鎿嶄綔銆傛彁鍗囨満鍙�={}", liftProtocol.getLiftNo()); + } + } } - } } } @@ -1912,14 +1916,14 @@ if (code.equals(200)) { StartupDto dto = jsonObject.getObject("data", StartupDto.class); - // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 - staProtocol.setWorkNo(dto.getWorkNo().shortValue()); - staProtocol.setStaNo(dto.getStaNo().shortValue()); - devpThread.setPakMk(staProtocol.getSiteId(), false); - boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - if (!result) { - throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); - } +// // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 +// staProtocol.setWorkNo(dto.getWorkNo().shortValue()); +// staProtocol.setStaNo(dto.getStaNo().shortValue()); +// devpThread.setPakMk(staProtocol.getSiteId(), false); +// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); +// if (!result) { +// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); +// } } else { if (ledThread != null) { String errorMsg = jsonObject.getString("msg"); @@ -2236,7 +2240,8 @@ } } else if (wrkCharge.getWrkSts() == 52) { //妫�娴嬪皬杞︽槸鍚︽弧鐢� - if (shuttleProtocol.getPowerPercent() < 100) { + int maxPower = 85; + if (shuttleProtocol.getPowerPercent() < maxPower) { continue; } @@ -2259,14 +2264,17 @@ MessageQueue.offer(SlaveType.Shuttle, assignCommand.getShuttleNo().intValue(), new Task(3, assignCommand)); } } else if (wrkCharge.getWrkSts() == 53) { - boolean result = Utils.searchEmptyGroupToMoveShuttle(Utils.getLev(wrkCharge.getLocNo()), shuttleThread.getSlave().getId(), shuttleThread); - if (!result) { - continue; + if (shuttleProtocol.getChargState() == 0) {//灏忚溅澶勪簬鏈厖鐢电姸鎬� + boolean result = Utils.searchEmptyGroupToMoveShuttle(Utils.getLev(wrkCharge.getLocNo()), shuttleThread.getSlave().getId(), shuttleThread); + if (result) { + wrkCharge.setWrkSts(60L);//53.灏忚溅鍏呯數瀹屾垚 => 60.鍏呯數浠诲姟瀹屾垚 + wrkCharge.setModiTime(new Date()); + if (wrkChargeMapper.updateById(wrkCharge) > 0) { + shuttleProtocol.setProtocolStatusType(ShuttleProtocolStatusType.IDLE); + shuttleProtocol.setTaskNo(0); + } + } } - - wrkCharge.setWrkSts(60L);//53.灏忚溅鍏呯數瀹屾垚 => 60.鍏呯數浠诲姟瀹屾垚 - wrkCharge.setModiTime(new Date()); - wrkChargeMapper.updateById(wrkCharge); } } @@ -2489,6 +2497,7 @@ assignCommand.setLiftNo(liftProtocol.getLiftNo()); assignCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); assignCommand.setTaskMode(NyLiftTaskModelType.MOVE_CAR.id.shortValue()); + assignCommand.setAuto(false); wrkMast.setLiftNo(liftThread.getSlave().getId());//閿佸畾鎻愬崌鏈洪槻姝㈣鍗犵敤 wrkMast.setModiTime(now); -- Gitblit v1.9.1