From 18f9dc6d0f15cad4a74e68fcf87b1a9aa83b5e66 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 18 七月 2024 14:28:28 +0800
Subject: [PATCH] 实现协议中各种命令结果日志数据库永久更新保存功能

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java |  107 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 95 insertions(+), 12 deletions(-)

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..0c0db5f 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,12 @@
 package com.dy.rtuMw.server.rtuData.p206V1_0_0;
 
-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.common.mw.protocol.p206V1_0_0.upVos.*;
+import com.dy.common.util.DateTime;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
+import com.dy.rtuMw.server.rtuData.TaskSurpport;
+import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -29,17 +33,96 @@
         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, d.code, dV1_0_1, dV1_0_1.subData) ;
+                        sv.updateCommandLog(po);
+                    }else{
+                        log.error("鏈緱鍒板懡浠ゆ棩蹇楋紙" + d.getCommandId() + ")");
+                    }
+                }catch (Exception e){
+                    log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e);
+                }
+            }
         }
     }
+
+    public RmCommandHistory updateCommandLogPo(RmCommandHistory po, String code, DataV1_0_1 dV1_0_1, Object obj) throws Exception{
+        po.setResult((byte)1);
+        po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt)) ;
+        if(obj instanceof DataCd97Vo){
+            DataCd97Vo vo = (DataCd97Vo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd98Vo){
+            DataCd98Vo vo = (DataCd98Vo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd92Vo){
+            DataCd92Vo vo = (DataCd92Vo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd93Vo){
+            DataCd93Vo vo = (DataCd93Vo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd3AAnd6AVo){
+            DataCd3AAnd6AVo vo = (DataCd3AAnd6AVo)obj ;
+            po.setResultText(vo.comLog(code));
+        }else if(obj instanceof DataCd3BAnd6BVo){
+            DataCd3BAnd6BVo vo = (DataCd3BAnd6BVo)obj ;
+            po.setResultText(vo.comLog(code));
+        }else if(obj instanceof DataCd3BAnd6BVo){
+            DataCd3CAnd65Vo vo = (DataCd3CAnd65Vo)obj ;
+            po.setResultText(vo.comLog(code));
+        }else if(obj instanceof DataCd3DVo){
+            DataCd3DVo vo = (DataCd3DVo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd3EVo){
+            DataCd3EVo vo = (DataCd3EVo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd5EVo){
+            DataCd5EVo vo = (DataCd5EVo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd6CVo){
+            DataCd6CVo vo = (DataCd6CVo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd10Vo){
+            DataCd10Vo vo = (DataCd10Vo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd21Vo){
+            DataCd21Vo vo = (DataCd21Vo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd36Vo){
+            DataCd36Vo vo = (DataCd36Vo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd37And67Vo){
+            DataCd37And67Vo vo = (DataCd37And67Vo)obj ;
+            po.setResultText(vo.comLog(code));
+        }else if(obj instanceof DataCd38And68Vo){
+            DataCd38And68Vo vo = (DataCd38And68Vo)obj ;
+            po.setResultText(vo.comLog(code));
+        }else if(obj instanceof DataCd39And69Vo){
+            DataCd39And69Vo vo = (DataCd39And69Vo)obj ;
+            po.setResultText(vo.comLog(code));
+        }else if(obj instanceof DataCd51Vo){
+            DataCd51Vo vo = (DataCd51Vo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd66Vo){
+            DataCd66Vo vo = (DataCd66Vo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd71Vo){
+            DataCd71Vo vo = (DataCd71Vo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCd99Vo){
+            DataCd99Vo vo = (DataCd99Vo)obj ;
+            po.setResultText(vo.comLog());
+        }else if(obj instanceof DataCdA0Vo){
+            DataCdA0Vo vo = (DataCdA0Vo)obj ;
+            po.setResultText(vo.comLog());
+        }
+        return po ;
+    }
+
 }

--
Gitblit v1.8.0