From 3b42d4d488cc983469e3729ff7f48c2d50c59b52 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 19 九月 2022 12:43:19 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/SteThread.java             |   22 +++++++----
 src/main/java/com/zy/asrs/controller/SteController.java     |    6 +++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   36 +++++++++++++++++
 src/main/java/com/zy/core/enums/SteTaskModeType.java        |    8 ++--
 4 files changed, 59 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/SteController.java b/src/main/java/com/zy/asrs/controller/SteController.java
index bbc2b37..8d9ec7d 100644
--- a/src/main/java/com/zy/asrs/controller/SteController.java
+++ b/src/main/java/com/zy/asrs/controller/SteController.java
@@ -191,6 +191,12 @@
                 throw new CoolException("鏈嶅姟鍣ㄩ敊璇�");
             }
         }
+        SteCommand steCommand = new SteCommand();
+        steCommand.setTaskNo(vo.getWorkNo());
+        if (MessageQueue.offer(SlaveType.Ste, vo.getSteNo(), new Task(2, steCommand))) {
+        } else {
+            throw new CoolException("鍛戒护涓嬪彂澶辫触");
+        }
         basSte.setPakMk(vo.getPakMk());
         basSte.setWrkNo(vo.getWorkNo());
         basSte.setCrnNo(vo.getCrnNo());
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 d74a735..1cb922a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -541,7 +541,7 @@
                 if (steNo != null) {
                     // 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣
                     if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) {
-                        this.letCarBeReady(wrkMast, steNo, wrkMast.getLocNo());
+                        this.letCarBeWaiting(wrkMast, steNo, wrkMast.getLocNo());
                     }
                     // 鍫嗗灈鏈哄皢璐ф斁鑷冲皬杞︿笂 3.灏忚溅寰呮惉锛堝皬杞︿笉鐢ㄦ惉杩愶紝宸茬粡鍦ㄥ綋鍓嶇粍搴撲綅锛� / 6.灏忚溅寰呭叆  ===>> 7.鍚婅溅鍏ュ簱涓�
                     if (wrkMast.getWrkSts() == 3L || wrkMast.getWrkSts() == 6L) {
@@ -806,6 +806,40 @@
     }
 
     /**
+     * 璁╁皬杞︿粠 杩滅偣 ====>> 寰呮満
+     *  绛夊緟鍫嗗灈鏈烘惉杩�
+     */
+    public void letCarBeWaiting(WrkMast wrkMast, Integer steNo, String locNo) {
+        // 鑾峰彇绌挎杞︿俊鎭�
+        SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+        SteProtocol steProtocol = steThread.getSteProtocol();
+        if (steProtocol == null) { return; }
+        if (steProtocol.isIdle()) {
+
+            // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+            SteCommand steCommand = new SteCommand();
+            steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
+            steCommand.setTaskNo(9999); // 宸ヤ綔鍙�
+            steCommand.setTaskMode(SteTaskModeType.findWaiting(steProtocol.getRow().intValue())); // 浠诲姟妯″紡:  鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+
+            steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue());
+            steCommand.setBay(steProtocol.getBay());
+            steCommand.setLev(steProtocol.getLev());
+
+            if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
+                log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
+            } else {
+                // 淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞�
+                wrkMast.setSteNo(steNo);
+                wrkMast.setModiTime(new Date());
+                if (wrkMastMapper.updateById(wrkMast) == 0) {
+                    log.error("淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+                }
+            }
+        }
+    }
+
+    /**
      * 璁╁皬杞︿粠 杩滅偣 ====>> 绉诲姩鍒拌繎鐐�
      *  绛夊緟鍫嗗灈鏈烘惉杩�
      */
diff --git a/src/main/java/com/zy/core/enums/SteTaskModeType.java b/src/main/java/com/zy/core/enums/SteTaskModeType.java
index 3facf5d..55bf278 100644
--- a/src/main/java/com/zy/core/enums/SteTaskModeType.java
+++ b/src/main/java/com/zy/core/enums/SteTaskModeType.java
@@ -60,11 +60,11 @@
             case 3:
             case 11:
             case 18:
-                return SteTaskModeType.IN_LEFT;   // 鍙�
+                return SteTaskModeType.IN_RIGHT;   // 鍙�
             case 4:
             case 12:
             case 19:
-                return SteTaskModeType.IN_RIGHT;    // 宸�
+                return SteTaskModeType.IN_LEFT;    // 宸�
             default:
                 throw new CoolException("瑙f瀽绌挎杞﹀師鐐瑰畾浣嶅け璐�");
         }
@@ -191,7 +191,7 @@
             case 16:
             case 17:
             case 18:
-                return SteTaskModeType.WAITING_LEFT;
+                return SteTaskModeType.WAITING_RIGHT;
             case 4:
             case 5:
             case 6:
@@ -202,7 +202,7 @@
             case 19:
             case 20:
             case 21:
-                return SteTaskModeType.WAITING_RIGHT;
+                return SteTaskModeType.WAITING_LEFT;
             default:
                 throw new CoolException("瑙f瀽绌挎杞﹀師鐐瑰畾浣嶅け璐�");
         }
diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java
index 8188d03..d02a3f3 100644
--- a/src/main/java/com/zy/core/thread/SteThread.java
+++ b/src/main/java/com/zy/core/thread/SteThread.java
@@ -220,16 +220,15 @@
         OperateResult result = null;
         // 寮�濮嬩换鍔�
         if (!command.getComplete()) {
-
+            // 1.浠诲姟鍙�
+            OperateResult result0 = siemensS7Net.Write("V998", command.getTaskNo().shortValue());
+            try {
+                Thread.sleep(200);
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
             // 浣滀笟
             if (command.getTaskMode() != 0) {
-                // 1.浠诲姟鍙�
-                OperateResult result0 = siemensS7Net.Write("V998", command.getTaskNo().shortValue());
-                try {
-                    Thread.sleep(200);
-                } catch (InterruptedException e) {
-                    e.printStackTrace();
-                }
                 // 2.浣滀笟
                 OperateResult result1 = siemensS7Net.Write("V1000", command.getTaskMode());
                 // 3.纭寮�濮嬩换鍔�
@@ -259,6 +258,7 @@
 
         // 浠诲姟瀹屾垚
         } else {
+            siemensS7Net.Write("V1000",(short) 0);
             result = siemensS7Net.Write("V2000.1", true);
         }
 
@@ -367,6 +367,12 @@
         }
     }
 
+//    public void modifyPos(int wrkNo, int row, int bay, int lev) {
+//        BasSteService service = SpringUtils.getBean(BasSteService.class);
+//        if (!service.updatePos(wrkNo,this.slave.getId(), row, bay, lev)) {
+//            log.error("鏇存柊{}鍙风┛姊溅瀹氫綅澶辫触 ===>> 鎺掞細銆恵}銆�, 鍒楋細銆恵}銆戯紝灞傦細銆恵}銆�", this.slave.getId(), row, bay, lev);
+//        }
+//    }
 
     /******************************************************************************************/
     /**************************************** 娴嬭瘯涓撶敤 *****************************************/

--
Gitblit v1.9.1