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