From e4e648039069464f96b3e4abacae167e3a0b3be3 Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期六, 04 三月 2023 14:15:40 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   64 +++++++++++++++++++++++++++----
 1 files changed, 55 insertions(+), 9 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 a979c0d..c32a5d8 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2556,7 +2556,7 @@
                     }
 
                     // 澶勪簬鍏呯數搴撲綅缁�
-                    if (steProtocol.getRow().intValue() == Utils.getRow(chargeLocNo)
+                    if ( 0<steProtocol.getRow().intValue() && steProtocol.getRow().intValue()<=4
                             && steProtocol.getBay().intValue() == Utils.getBay(chargeLocNo)
                             && steProtocol.getLev().intValue() == Utils.getLev(chargeLocNo)) {
                         // 淇敼宸ヤ綔妗g姸鎬� 21.鍑嗗鍏呯數 => 24.灏忚溅鍒拌揪
@@ -2583,10 +2583,22 @@
      */
     public synchronized void executeSteCharge() {
         WrkCharge wrkCharge = wrkChargeService.selectWorking(null, WrkChargeType.charge);
-        if (null == wrkCharge) { return; }
-        Integer steNo = wrkCharge.getSteNo();
-        SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+        SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, 1);
         SteProtocol steProtocol = steThread.getSteProtocol();
+        if (null == wrkCharge) {
+            if (steProtocol.getChargeStatus()==(short)0 && steProtocol.isBrushConnect()){
+                SteCommand steCommand = new SteCommand();
+                steCommand.setSteNo(1); // 绌挎杞︾紪鍙�
+                steCommand.setTaskNo(10060); // 宸ヤ綔鍙�
+                steCommand.setTaskMode(SteTaskModeType.CLOSE_CHARGE); // 浠诲姟妯″紡: 鏂紑鍏呯數
+                if (!MessageQueue.offer(SlaveType.Ste, 1, new Task(2, steCommand))) {
+                    News.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand));
+                }
+            }
+            return;
+        }
+        Integer steNo = wrkCharge.getSteNo();
+
         BasSte basSte = basSteService.selectById(steNo);
         if (Cools.isEmpty(steProtocol, basSte)) { return; }
         if (steProtocol.getMode() == 0
@@ -2600,10 +2612,35 @@
         if (!steProtocol.isEnable()) {
             return;
         }
-        if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) {
-            MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 999));//鍏呯數鏍囪
+        if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())+40) {
+            MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 999));//涓柇鍏呯數鏍囪
             wrkCharge.setWrkSts(30L);
-            wrkChargeMapper.updateById(wrkCharge);
+            if (!wrkChargeService.updateById(wrkCharge)) {
+                News.error("淇敼鍏呯數浠诲姟鐘舵�� 29.寮�濮嬪厖鐢� ===>> 30.瀹屾垚鍏呯數 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+            }else {
+                SteCommand steCommand = new SteCommand();
+                steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙�
+                steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙�
+                steCommand.setTaskMode(SteTaskModeType.CLOSE_CHARGE); // 浠诲姟妯″紡: 鏂紑鍏呯數
+                if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) {
+                    News.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand));
+                }
+            }
+            return;
+        }else if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine()) && steProtocol.getChargeStatus()==(short)0 && steProtocol.isBrushConnect()) {
+            MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 999));//涓柇鍏呯數鏍囪
+            wrkCharge.setWrkSts(30L);
+            if (!wrkChargeService.updateById(wrkCharge)) {
+                News.error("淇敼鍏呯數浠诲姟鐘舵�� 29.寮�濮嬪厖鐢� ===>> 30.瀹屾垚鍏呯數 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+            }else {
+                SteCommand steCommand = new SteCommand();
+                steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙�
+                steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙�
+                steCommand.setTaskMode(SteTaskModeType.CLOSE_CHARGE); // 浠诲姟妯″紡: 鏂紑鍏呯數
+                if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) {
+                    News.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand));
+                }
+            }
             return;
         }
         try {
@@ -2683,6 +2720,7 @@
                     }
                 }
             } else if (wrkCharge.getWrkSts() == 26) {
+                //26.绛夊緟鍏呯數 ===>
                 // 绌挎杞︿笅鍙戝厖鐢典换鍔�
                 SteCommand steCommand = new SteCommand();
                 steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙�
@@ -2702,12 +2740,20 @@
                 String chargeLine = SpringUtils.getBean(BasSteService.class).selectById(1).getChargeLine();
                 if (idle2<(Float.parseFloat(chargeLine)+2)){
                     MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 666));//鍏呯數鏍囪
-                }else if (idle2 > 70f){
-                    MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 999));//鍏呯數鏍囪
+                }else if (idle2 >= 100f){
+                    MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 999));//涓柇鍏呯數鏍囪
                     // 29.寮�濮嬪厖鐢� ===>> 30.瀹屾垚鍏呯數
                     wrkCharge.setWrkSts(30L);
                     if (!wrkChargeService.updateById(wrkCharge)) {
                         News.error("淇敼鍏呯數浠诲姟鐘舵�� 29.寮�濮嬪厖鐢� ===>> 30.瀹屾垚鍏呯數 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+                    }else {
+                        SteCommand steCommand = new SteCommand();
+                        steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙�
+                        steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙�
+                        steCommand.setTaskMode(SteTaskModeType.CLOSE_CHARGE); // 浠诲姟妯″紡: 鏂紑鍏呯數
+                        if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) {
+                            News.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand));
+                        }
                     }
                 }
             }

--
Gitblit v1.9.1