From 017bfd52644c196a9a6d1fc8414a21a6320838b1 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期日, 02 六月 2024 20:26:27 +0800
Subject: [PATCH] 远程命令结果数据库保存实现

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java                 |   14 +++---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java                           |   14 +++++++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java |   55 +++++++++++++++++++++------
 3 files changed, 64 insertions(+), 19 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java
index ee77255..cfbc9e2 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java
@@ -14,12 +14,12 @@
         DataAlarmVo avo = new DataAlarmVo() ;
         byte b = bs[index] ;
         index++ ;
-        avo.batteryVolt = (byte)(b & 0x2) ;
-        avo.loss = (byte)(b & 0x8) ;
-        avo.meter = (byte)(b & 0x20) ;
+        avo.batteryVolt = (byte)(b & 0x2 >> 1) ;
+        avo.loss = (byte)(b & 0x8 >> 3) ;
+        avo.meter = (byte)(b & 0x20 >> 5) ;
 
         b = bs[index] ;
-        avo.valve = (byte)(b & 0x20) ;
+        avo.valve = (byte)(b & 0x20 >> 5) ;
         return avo ;
     }
 
@@ -27,9 +27,9 @@
         DataStateVo avo = new DataStateVo() ;
         byte b = bs[index] ;
         index++ ;
-        avo.icCard = (byte)(b & 0x4) ;
-        avo.working = (byte)(b & 0x8) ;
-        avo.valve = (byte)(b & 0x20) ;
+        avo.icCard = (byte)(b & 0x4 >> 2) ;
+        avo.working = (byte)(b & 0x8 >> 3) ;
+        avo.valve = (byte)(b & 0x20 >> 5) ;
         return avo ;
     }
 
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
index 362c70a..1fd18ed 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
@@ -45,6 +45,8 @@
     private RmLossLastMapper rmLossLastMapperDao ;//鎺у埗鍣ㄦ紡鎹熸按閲忕粺璁℃渶鏂版暟鎹瓺AO
     @Autowired
     private RmLossHistoryMapper rmLossHistoryMapperDao ;//鎺у埗鍣ㄦ紡鎹熸按閲忕粺璁″巻鍙叉暟鎹瓺AO
+    @Autowired
+    private RmCommandHistoryMapper rmCommandHistoryDao ;//杩滅▼鍛戒护鏃ュ織鐩稿叧
 
     //@Autowired
     //@Lazy
@@ -377,5 +379,17 @@
         return null ;
     }
 
+    //////////////////////////////////////////////////////
+    //
+    // 鍛戒护鏃ュ織鐩稿叧
+    //
+    //////////////////////////////////////////////////////
+    public RmCommandHistory getCommandLog(String commandId){
+        return rmCommandHistoryDao.selectByPrimaryKey(Long.parseLong(commandId)) ;
+    }
+    public void updateCommandLog(RmCommandHistory po){
+        rmCommandHistoryDao.updateByPrimaryKeySelective(po) ;
+    }
+
 
 }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java
index 8d2a570..24d7ac2 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java
@@ -1,8 +1,14 @@
 package com.dy.rtuMw.server.rtuData.p206V1_0_0;
 
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.mw.protocol.p206V1_0_0.*;
+import com.dy.common.util.DateTime;
+import com.dy.pipIrrGlobal.pojoPr.PrController;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
 import com.dy.rtuMw.server.rtuData.TaskSurpport;
 import com.dy.common.mw.protocol.Data;
-import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
+import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -29,17 +35,42 @@
         Object subD = d.getSubData();
         if (subD != null) {
             DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD;
-//            if (dV1_0_1 != null && dV1_0_1.dataCdC0Vo != null) {
-//                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
-//                DbSv sv = (DbSv)objs[0] ;
-//                PrController controller = (PrController)objs[1] ;
-//                try{
-//                    this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCdC0Vo) ;
-//                    this.saveHistory(sv, controller, d.getRtuAddr(),dV1_0_1, dV1_0_1.dataCdC0Vo) ;
-//                }catch (Exception e){
-//                    log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e);
-//                }
-//            }
+            if (dV1_0_1 != null && dV1_0_1.subData != null) {
+                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
+                DbSv sv = (DbSv)objs[0] ;
+                PrController controller = (PrController)objs[1] ;
+                try{
+                    RmCommandHistory po = sv.getCommandLog(d.commandId) ;
+                    if(po != null){
+                        po = this.updateCommandLogPo(po, dV1_0_1, dV1_0_1.subData) ;
+                        sv.updateCommandLog(po);
+                    }
+                }catch (Exception e){
+                    log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e);
+                }
+            }
         }
     }
+
+    public RmCommandHistory updateCommandLogPo(RmCommandHistory po, DataV1_0_1 dV1_0_1, Object obj) throws Exception{
+        if(obj instanceof DataCd97Vo){
+            DataCd97Vo vo = (DataCd97Vo)obj ;
+            po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt)) ;
+            po.setResultText((JSONObject) JSON.toJSON(vo));
+        }else if(obj instanceof DataCd98Vo){
+            DataCd98Vo vo = (DataCd98Vo)obj ;
+            po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt));
+            po.setResultText((JSONObject) JSON.toJSON(vo));
+        }else if(obj instanceof DataCd92Vo){
+            DataCd92Vo vo = (DataCd92Vo)obj ;
+            po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt)) ;
+            po.setResultText((JSONObject) JSON.toJSON(vo));
+        }else if(obj instanceof DataCd93Vo){
+            DataCd93Vo vo = (DataCd93Vo)obj ;
+            po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt)) ;
+            po.setResultText((JSONObject) JSON.toJSON(vo));
+        }
+        return po ;
+    }
+
 }

--
Gitblit v1.8.0