From 893d7c04b9b35b77f7440f7d4a32fa7466fd17f9 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 10 五月 2023 09:18:34 +0800
Subject: [PATCH] 入库状态2提升机指令

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  162 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 110 insertions(+), 52 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 e271946..dabeb91 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1197,7 +1197,7 @@
             }
 
             //鎼滅储鏄惁鏈夊緟澶勭悊鐨勪换鍔�
-            WrkMast wrkMast = wrkMastMapper.selectLiftStep62327();
+            WrkMast wrkMast = wrkMastMapper.selectLiftStep262327();
             if (wrkMast == null) {
                 continue;
             }
@@ -1205,56 +1205,40 @@
             //缁欐彁鍗囨満鍒嗛厤浠诲姟
             liftProtocol.setLiftLock(true);//閿佸畾鎻愬崌鏈�
             liftProtocol.setTaskNo(wrkMast.getWrkNo().shortValue());//璁剧疆浠诲姟鍙�
-            liftProtocol.setShuttleNo(wrkMast.getShuttleNo().shortValue());//璁剧疆鍥涘悜绌挎杞﹀彿
             liftProtocol.setProtocolStatus(LiftProtocolStatusType.WORKING);//璁剧疆鎻愬崌鏈虹姸鎬佷负宸ヤ綔涓�
-
-            //鎵惧埌鍥涘悜绌挎杞︾殑绾跨▼
-            ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, liftProtocol.getShuttleNo().intValue());
-            if (shuttleThread == null) {
-                continue;
-            }
-            ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
-            if (shuttleProtocol == null) {
-                continue;
-            }
 
             //鍛戒护list
             ArrayList<LiftCommand> commands = new ArrayList<>();
 
-            //褰撳墠绌挎杞﹀簱浣嶅彿
-            String currentLocNo = shuttleProtocol.getCurrentLocNo();
-            //褰撳墠绌挎杞︽ゼ灞�
-            int currentLocNoLey = Integer.parseInt(currentLocNo.substring(currentLocNo.length() - 2, currentLocNo.length()));
+            if (wrkMast.getWrkSts() == 2) {
+                //宸ヤ綔妗g洰鏍囧簱浣嶅彿
+                String wrkMastLocNo = wrkMast.getIoType() == 101 ? wrkMast.getSourceLocNo() : wrkMast.getLocNo();
+                //宸ヤ綔妗g洰鏍囧簱浣嶆ゼ灞�
+                int wrkMastLocNoLey = Integer.parseInt(wrkMastLocNo.substring(wrkMastLocNo.length() - 2, wrkMastLocNo.length()));
 
-            //宸ヤ綔妗g洰鏍囧簱浣嶅彿
-            String wrkMastLocNo = wrkMast.getIoType() == 101 ? wrkMast.getSourceLocNo() : wrkMast.getLocNo();
-            //宸ヤ綔妗g洰鏍囧簱浣嶆ゼ灞�
-            int wrkMastLocNoLey = Integer.parseInt(wrkMastLocNo.substring(wrkMastLocNo.length() - 2, wrkMastLocNo.length()));
+                //鎻愬崌鏈哄綋鍓嶆ゼ灞�
+                int liftLev = liftProtocol.getLev().intValue();
+                if (liftLev != 1) {
+                    //鎻愬崌鏈轰笉鍦�1灞�
+                    LiftCommand command1 = new LiftCommand();
+                    command1.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿
+                    command1.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙�
+                    command1.setRun((short) 1);//鍗囬檷
+                    command1.setDistPosition((short) 1);//鐩爣妤煎眰1灞�
+                    command1.setLiftLock(true);//閿佸畾鎻愬崌鏈�
 
-            //鎻愬崌鏈哄綋鍓嶆ゼ灞�
-            int liftLev = liftProtocol.getLev().intValue();
-            if (liftLev != currentLocNoLey) {
-                //涓嶅悓妤煎眰
-                LiftCommand command1 = new LiftCommand();
-                command1.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿
-                command1.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙�
-                command1.setRun((short) 1);//鍗囬檷
-                command1.setDistPosition((short) currentLocNoLey);//鐩爣妤煎眰(绌挎杞︽墍鍦ㄦゼ灞�)
-                command1.setLiftLock(true);//閿佸畾鎻愬崌鏈�
+                    commands.add(command1);//灏嗗懡浠ゆ坊鍔犺繘list
+                }
 
-                commands.add(command1);//灏嗗懡浠ゆ坊鍔犺繘list
-            }
+                //杈撻�佺嚎灏嗚揣鐗╄繍杩涙潵
+                LiftCommand command2 = new LiftCommand();
+                command2.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿
+                command2.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙�
+                command2.setRun((short) 6);//杈撻�佺嚎杩愪綔
+                command2.setLiftLock(true);//閿佸畾鎻愬崌鏈�
 
-            //杈撻�佺嚎灏嗗洓鍚戠┛姊溅绉诲姩杩涙潵
-            LiftCommand command2 = new LiftCommand();
-            command2.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿
-            command2.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙�
-            command2.setRun((short) 6);//杈撻�佺嚎杩愪綔
-            command2.setLiftLock(true);//閿佸畾鎻愬崌鏈�
+                commands.add(command2);//灏嗗懡浠ゆ坊鍔犺繘list
 
-            commands.add(command2);//灏嗗懡浠ゆ坊鍔犺繘list
-
-            if (liftLev != currentLocNoLey) {
                 //鎻愬崌鏈哄墠寰�鐩爣妤煎眰
                 LiftCommand command3 = new LiftCommand();
                 command3.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿
@@ -1264,19 +1248,89 @@
                 command3.setLiftLock(true);//閿佸畾鎻愬崌鏈�
 
                 commands.add(command3);//灏嗗懡浠ゆ坊鍔犺繘list
+
+                //鎻愬崌鏈哄埌杈炬寚瀹氭ゼ灞傦紝杈撻�佺嚎灏嗚揣鐗╃Щ鍑哄幓
+                //杈撻�佺嚎灏嗚揣鐗╃Щ鍑哄幓
+                LiftCommand command4 = new LiftCommand();
+                command4.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿
+                command4.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙�
+                command4.setRun((short) 3);//杈撻�佺嚎杩愪綔
+                command4.setLiftLock(true);//閿佸畾鎻愬崌鏈�
+
+                commands.add(command4);//灏嗗懡浠ゆ坊鍔犺繘list
+            }else {
+                liftProtocol.setShuttleNo(wrkMast.getShuttleNo().shortValue());//璁剧疆鍥涘悜绌挎杞﹀彿
+
+                //鎵惧埌鍥涘悜绌挎杞︾殑绾跨▼
+                ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo());
+                if (shuttleThread == null) {
+                    continue;
+                }
+                ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
+                if (shuttleProtocol == null) {
+                    continue;
+                }
+
+                //褰撳墠绌挎杞﹀簱浣嶅彿
+                String currentLocNo = shuttleProtocol.getCurrentLocNo();
+                //褰撳墠绌挎杞︽ゼ灞�
+                int currentLocNoLey = Integer.parseInt(currentLocNo.substring(currentLocNo.length() - 2, currentLocNo.length()));
+
+                //宸ヤ綔妗g洰鏍囧簱浣嶅彿
+                String wrkMastLocNo = wrkMast.getIoType() == 101 ? wrkMast.getSourceLocNo() : wrkMast.getLocNo();
+                //宸ヤ綔妗g洰鏍囧簱浣嶆ゼ灞�
+                int wrkMastLocNoLey = Integer.parseInt(wrkMastLocNo.substring(wrkMastLocNo.length() - 2, wrkMastLocNo.length()));
+
+                //鎻愬崌鏈哄綋鍓嶆ゼ灞�
+                int liftLev = liftProtocol.getLev().intValue();
+                if (liftLev != currentLocNoLey) {
+                    //涓嶅悓妤煎眰
+                    LiftCommand command1 = new LiftCommand();
+                    command1.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿
+                    command1.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙�
+                    command1.setRun((short) 1);//鍗囬檷
+                    command1.setDistPosition((short) currentLocNoLey);//鐩爣妤煎眰(绌挎杞︽墍鍦ㄦゼ灞�)
+                    command1.setLiftLock(true);//閿佸畾鎻愬崌鏈�
+
+                    commands.add(command1);//灏嗗懡浠ゆ坊鍔犺繘list
+                }
+
+                //杈撻�佺嚎灏嗗洓鍚戠┛姊溅绉诲姩杩涙潵
+                LiftCommand command2 = new LiftCommand();
+                command2.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿
+                command2.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙�
+                command2.setRun((short) 6);//杈撻�佺嚎杩愪綔
+                command2.setLiftLock(true);//閿佸畾鎻愬崌鏈�
+
+                commands.add(command2);//灏嗗懡浠ゆ坊鍔犺繘list
+
+                if (liftLev != currentLocNoLey) {
+                    //鎻愬崌鏈哄墠寰�鐩爣妤煎眰
+                    LiftCommand command3 = new LiftCommand();
+                    command3.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿
+                    command3.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙�
+                    command3.setRun((short) 1);//鍗囬檷
+                    command3.setDistPosition((short) wrkMastLocNoLey);//宸ヤ綔妗g洰鏍囨ゼ灞�
+                    command3.setLiftLock(true);//閿佸畾鎻愬崌鏈�
+
+                    commands.add(command3);//灏嗗懡浠ゆ坊鍔犺繘list
+                }
+
+                //鎻愬崌鏈哄埌杈炬寚瀹氭ゼ灞傦紝杈撻�佺嚎灏嗗洓鍚戠┛姊溅绉诲嚭鍘�
+                //杈撻�佺嚎灏嗗洓鍚戠┛姊溅绉诲姩鍑哄幓
+                LiftCommand command4 = new LiftCommand();
+                command4.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿
+                command4.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙�
+                command4.setRun((short) 3);//杈撻�佺嚎杩愪綔
+                command4.setLiftLock(true);//閿佸畾鎻愬崌鏈�
+
+                commands.add(command4);//灏嗗懡浠ゆ坊鍔犺繘list
             }
 
-            //鎻愬崌鏈哄埌杈炬寚瀹氭ゼ灞傦紝杈撻�佺嚎灏嗗洓鍚戠┛姊溅绉诲嚭鍘�
-            //杈撻�佺嚎灏嗗洓鍚戠┛姊溅绉诲姩鍑哄幓
-            LiftCommand command4 = new LiftCommand();
-            command4.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿
-            command4.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙�
-            command4.setRun((short) 3);//杈撻�佺嚎杩愪綔
-            command4.setLiftLock(true);//閿佸畾鎻愬崌鏈�
-
-            commands.add(command4);//灏嗗懡浠ゆ坊鍔犺繘list
-
             switch (wrkMast.getWrkSts().intValue()) {
+                case 2://2.璁惧涓婅蛋
+                    wrkMast.setWrkSts(3L);//3.鎻愬崌鏈烘惉杩愪腑
+                    break;//3.鎻愬崌鏈烘惉杩愪腑
                 case 6://6.杩佺Щ灏忚溅鑷虫彁鍗囨満鍙e畬鎴�
                     wrkMast.setWrkSts(7L);//7.鎻愬崌鏈鸿縼绉诲皬杞︿腑
                     break;
@@ -1315,9 +1369,12 @@
             //鎻愬崌鏈轰负绛夊緟纭
             if (liftProtocol.getProtocolStatus() == LiftProtocolStatusType.WAITING.id && liftProtocol.getTaskNo() != 0) {
                 //灏嗕换鍔℃。鏍囪涓哄畬鎴�
-                WrkMast wrkMast = wrkMastMapper.selectByWorkNo72428(liftProtocol.getTaskNo().intValue());
+                WrkMast wrkMast = wrkMastMapper.selectByWorkNo372428(liftProtocol.getTaskNo().intValue());
                 if (wrkMast != null) {
                     switch (wrkMast.getWrkSts().intValue()) {
+                        case 3://3.鎻愬崌鏈烘惉杩愪腑 ==> 4.鎻愬崌鏈烘惉杩愬畬鎴�
+                            wrkMast.setWrkSts(4L);
+                            break;
                         case 7://7.鎻愬崌鏈鸿縼绉诲皬杞︿腑 ==> 8.鎻愬崌鏈鸿縼绉诲皬杞﹀畬鎴�
                             wrkMast.setWrkSts(8L);
                             break;
@@ -1326,6 +1383,7 @@
                             break;
                         case 28://28.鎻愬崌鏈烘惉杩愪腑 ==> 29.鎻愬崌鏈烘惉杩愬畬鎴�
                             wrkMast.setWrkSts(29L);
+                            wrkMast.setWrkSts(34L);//34.鍑哄簱瀹屾垚锛屾殏鏃跺厛鐩存帴瀹屾垚鍑哄簱宸ヤ綔妗o紝鍚庣画闇�瑕佹牴鎹緭閫佺嚎缁欏嚭鐨勭姸鎬佹潵纭畾34.鍑哄簱瀹屾垚鐘舵��
                             break;
                         default:
                     }

--
Gitblit v1.9.1