From ed265ddfb8f08f69af064a9adf65fcbf06289ffe Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期二, 11 二月 2025 14:07:54 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/impl/NyShuttleThread.java |  113 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 75 insertions(+), 38 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
index dd31655..79eb4e1 100644
--- a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
@@ -120,6 +120,9 @@
 //                    //灏忚溅绌洪棽涓旀湁璺戝簱绋嬪簭
 //                    shuttleAction.moveLoc(slave.getId());
 
+                    //婕旂ず妯″紡
+                    shuttleAction.demo(slave.getId());
+
                     Thread.sleep(200);
                 } catch (Exception e) {
                     e.printStackTrace();
@@ -152,6 +155,9 @@
                 //閲囬泦鏃堕棿瓒呰繃5s锛屼繚瀛樹竴娆℃暟鎹褰�
                 //淇濆瓨鏁版嵁璁板綍
                 DeviceDataLogService deviceDataLogService = SpringUtils.getBean(DeviceDataLogService.class);
+                if (deviceDataLogService == null) {
+                    return;
+                }
                 DeviceDataLog deviceDataLog = new DeviceDataLog();
                 deviceDataLog.setOriginData(JSON.toJSONString(this.originDeviceData));
                 deviceDataLog.setWcsData(JSON.toJSONString(shuttleProtocol));
@@ -162,29 +168,8 @@
 
                 //鏇存柊閲囬泦鏃堕棿
                 shuttleProtocol.setDeviceDataLog(System.currentTimeMillis());
+                OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
             }
-        }
-
-        //灏嗗洓鍚戠┛姊溅鐘舵�佷繚瀛樿嚦鏁版嵁搴�
-        BasShuttleService shuttleService = SpringUtils.getBean(BasShuttleService.class);
-        BasShuttle basShuttle = shuttleService.selectOne(new EntityWrapper<BasShuttle>()
-                .eq("shuttle_no", slave.getId()));
-
-        if (basShuttle == null) {
-            basShuttle = new BasShuttle();
-            //鍥涘悜绌挎杞﹀彿
-            basShuttle.setShuttleNo(slave.getId());
-            basShuttle.setStatus(1);
-            shuttleService.insert(basShuttle);
-        }
-        //浠诲姟鍙�
-        basShuttle.setWrkNo(shuttleProtocol.getTaskNo().intValue());
-        //淇敼鏃堕棿
-        basShuttle.setUpdateTime(new Date());
-        //璁惧鐘舵��
-        basShuttle.setDeviceStatus(JSON.toJSONString(shuttleProtocol));
-        if (shuttleService.updateById(basShuttle)) {
-            OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
         }
     }
 
@@ -315,13 +300,21 @@
                 shuttleProtocol.setRunDirection(data.getString("runDir") == null ? "none" : data.getString("runDir"));
                 //鏄惁涓哄厖鐢电姸鎬�
                 shuttleProtocol.setHasCharge(data.getInteger("chargState") == 1 ? true : false);
+                //杩愯閫熷害
+                shuttleProtocol.setSpeed(data.getInteger("speed"));
 
                 //*********璇诲彇鎵╁睍瀛楁**********
                 InnerSuhttleExtend extend = (InnerSuhttleExtend) shuttleProtocol.getExtend();
                 //绠″埗鐘舵��
                 extend.setSuspendState(data.getInteger("suspendState"));
-                //褰撳墠閫熷害
-                extend.setSpeed(data.getInteger("speed"));
+                //鏈�楂樼數鑺數鍘�(mV)
+                extend.setMaxCellVoltage(data.getInteger("maxCellVoltage"));
+                //鏈�浣庣數鑺數鍘�(mV)
+                extend.setMinCellVoltage(data.getInteger("minCellVoltage"));
+                //鐢垫睜鐢靛帇
+                extend.setVoltage(data.getInteger("voltage"));
+                //鍏呮斁鐢靛惊鐜鏁�
+                extend.setChargeCycleTimes(data.getInteger("chargeCycleTimes"));
                 //鍓╀綑鐢甸噺
                 extend.setSurplusQuantity(data.getInteger("surplusQuantity"));
                 //鎬荤數閲�
@@ -333,7 +326,7 @@
                 ///璇诲彇鍥涘悜绌挎杞︾姸鎬�-end
 
                 //灏忚溅澶勪簬杩愯涓紝灏嗘爣璁扮疆涓簍rue
-                if (shuttleProtocol.getDeviceStatus() == 1) {
+                if (shuttleProtocol.getDeviceStatus() == 0) {
                     shuttleProtocol.setPakMk(true);
                 }
 
@@ -370,6 +363,9 @@
             int removeIdx = -1;
             for (int i = 0; i < socketResults.size(); i++) {
                 JSONObject socketResult = socketResults.get(i);
+                if (socketResult == null) {
+                    continue;
+                }
                 if (!socketResult.get("msgType").equals("requestMsg")) {//涓嶆槸璇锋眰鍐呭
                     continue;
                 }
@@ -399,7 +395,7 @@
                 socketResults.remove(removeIdx);
             }
         } catch (Exception e) {
-            e.printStackTrace();
+//            e.printStackTrace();
         }
     }
 
@@ -576,6 +572,7 @@
                 && this.shuttleProtocol.getMode() == 1
                 && this.shuttleProtocol.getPakMk()
                 && this.shuttleProtocol.getErrorCode().equals("0")
+                && this.shuttleProtocol.getTaskNo() == 0
                 && (this.shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.IDLE.id
                 || this.shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.WAITING.id
                 || this.shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.CHARGING_WAITING.id)
@@ -810,6 +807,19 @@
     }
 
     @Override
+    public boolean enableDemo(boolean enable) {
+        shuttleProtocol.setDemo(enable);
+        return true;
+    }
+
+    @Override
+    public boolean offerSystemMsg(String format, Object... arguments) {
+        String msg = News.replace(format, arguments);
+        shuttleProtocol.setSystemMsg(msg);
+        return true;
+    }
+
+    @Override
     public ShuttleCommand getMoveCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed, List<NavigateNode> nodes) {
         NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class);
         NyShuttleHttpCommand httpStandard = getHttpStandard(slave.getId(), taskNo);
@@ -842,8 +852,8 @@
             data.put("xp", xp);
             data.put("yp", yp);
             data.put("z", z);
-            data.put("x", mapNode.getYBase());
-            data.put("y", mapNode.getXBase());
+            data.put("x", mapNode.getXBase());
+            data.put("y", mapNode.getYBase());
             path.add(data);
         }
 
@@ -851,7 +861,7 @@
 
         LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
         LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
-                .eq("code", distCodeNum));
+                .eq("qr_code_value", distCodeNum));
         if (locMast == null) {
             throw new CoolException("搴撲綅淇℃伅涓嶅瓨鍦�");
         }
@@ -946,8 +956,7 @@
 
         String mapStr = JSON.toJSONString(map);
         LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
-                .eq("code", mapStr)
-                .eq("status", 1));
+                .eq("qr_code_value", mapStr));
         if (locMast == null) {
             throw new CoolException("鍦板潃鐮佷笉瀛樺湪");
         }
@@ -960,8 +969,8 @@
         location.put("xp", row);
         location.put("yp", bay);
         location.put("z", lev);
-        location.put("x", mapNode.getYBase());
-        location.put("y", mapNode.getXBase());
+        location.put("x", mapNode.getXBase());
+        location.put("y", mapNode.getYBase());
 
         HashMap<String, Object> body = new HashMap<>();
         body.put("responseType", "init");//澶嶄綅
@@ -1117,9 +1126,22 @@
 //        int x1 = Math.abs(y - 61) + 11;
 //        //WCS绯荤粺X杞� => 鐗涚溂Y杞磋浆鎹㈠叕寮�
 //        int y1 = x + 10;
-        int x1 = x + 10;
-        int y1 = y + 10;
-        return new int[]{y1, x1, z};
+
+//        int x1 = x + 10;
+//        int y1 = y + 10;
+        LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
+        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+                .eq("row1", x)
+                .eq("bay1", y)
+                .eq("lev1", z)
+                .eq("status", 1));
+        if (locMast == null) {
+            return null;
+        }
+
+        String qrCodeValue = locMast.getQrCodeValue();
+        JSONObject data = JSON.parseObject(qrCodeValue);
+        return new int[]{data.getInteger("y"), data.getInteger("x"), z};
     }
 
     @Data
@@ -1132,9 +1154,24 @@
         private Integer suspendState;
 
         /**
-         * 褰撳墠閫熷害锛屽崟浣峬m/s
+         * 鏈�楂樼數鑺數鍘�(mV)
          */
-        private Integer speed;
+        private Integer maxCellVoltage;
+
+        /**
+         * 鏈�浣庣數鑺數鍘�(mV)锛屼綆浜�2900mv闇�瑕佺珛鍗冲厖鐢�
+         */
+        private Integer minCellVoltage;
+
+        /**
+         * 鐢垫睜鐢靛帇锛坢V锛�
+         */
+        private Integer voltage;
+
+        /**
+         * 鍏呮斁鐢靛惊鐜鏁�
+         */
+        private Integer chargeCycleTimes;
 
         /**
          * 鍓╀綑鐢甸噺/10(A)

--
Gitblit v1.9.1