From 23244726687acf8f5da68ea1db551567efaba374 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 17 七月 2024 17:02:02 +0800
Subject: [PATCH] RTU对命令的应答处理完善

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java |   67 ++++++++++++++++-----------------
 1 files changed, 32 insertions(+), 35 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java
index 361434c..225fc0c 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java
@@ -1,5 +1,7 @@
 package com.dy.rtuMw.server.rtuData.p206V1_0_0;
 
+import com.dy.pipIrrGlobal.pojoRm.RmLossHistory;
+import com.dy.pipIrrGlobal.pojoRm.RmLossLast;
 import com.dy.rtuMw.server.rtuData.TaskSurpport;
 import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import com.dy.common.mw.protocol.Data;
@@ -7,8 +9,6 @@
 import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
 import com.dy.common.util.DateTime;
 import com.dy.pipIrrGlobal.pojoPr.PrController;
-import com.dy.pipIrrGlobal.pojoRm.RmLossHistory;
-import com.dy.pipIrrGlobal.pojoRm.RmLossLast;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -16,7 +16,7 @@
  * @Author liurunyu
  * @Date 2024/2/28 16:31
  * @LastEditTime 2024/2/28 16:31
- * @Description 鎺у埗鍣ㄦ紡鎹熺粺璁�
+ * @Description 鍙栨按鍙f紡鎹熺粺璁�
  */
 public class TkDealLoss extends TaskSurpport {
 
@@ -33,18 +33,16 @@
     @Override
     public void execute(Object data) {
         Data d = (Data) data;
-        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.subData != null && dV1_0_1.subData instanceof DataCdC0Vo) {
-                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId);
-                DbSv sv = (DbSv) objs[0];
-                PrController controller = (PrController) objs[1];
-                try {
-                    this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCdC0Vo)dV1_0_1.subData);
-                } catch (Exception e) {
-                    log.error("淇濆瓨閬ユ祴绔欒嚜鎶ュ疄鏃舵暟鎹腑鐨勬紡鎹熸暟鎹椂鍙戠敓寮傚父", e);
-                }
+        DataV1_0_1 dV1_0_1 = (DataV1_0_1) d.getSubData();//鍓嶉潰浠诲姟宸茬粡鍒ゆ柇涓嶄负null
+        Object cdObj = dV1_0_1.subData;
+        if (cdObj != null && cdObj instanceof DataCdC0Vo){
+            Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
+            DbSv sv = (DbSv)objs[0] ;
+            PrController controller = (PrController)objs[1] ;
+            try{
+                this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCdC0Vo)cdObj);
+            }catch (Exception e){
+                log.error("淇濆瓨鍙栨按鍙f紡鎹熺粺璁℃暟鎹椂鍙戠敓寮傚父", e);
             }
         }
     }
@@ -58,9 +56,9 @@
      * @param dataCdC0Vo 寮�闃�涓婃姤鏁版嵁瀵硅薄
      */
     private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception {
-        RmLossLast poLast = sv.getRmLossLast(rtuAddr);
+        RmLossLast poLast = sv.getRmLossLast(controller.getIntakeId());
         if (poLast == null) {
-            //鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鎺у埗鍣ㄧ殑婕忔崯鏁版嵁
+            //鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鍙栨按鍙g殑婕忔崯鏁版嵁
             //棣栧厛鐢熸垚鏈�鏂版暟鎹強鍘嗗彶鏁版嵁锛屽苟鍏堜繚瀛�
             poLast = this.newRmLossLast(controller, rtuAddr, dV1_0_1, dataCdC0Vo);
             this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCdC0Vo, poLast);
@@ -91,11 +89,12 @@
                     //鏂扮殑鏃ユ湡
                     poLast = this.newRmLossLast(controller, rtuAddr, dV1_0_1, dataCdC0Vo);
                     this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCdC0Vo, poLast);
-                    sv.saveRmLossLast(poLast);
+                    sv.updateRmLossLast(poLast);
                 }else{
-                    //杩欑鎯呭喌涓嶅瓨鍦紙鏀跺埌鏁版嵁鐨勬棩鏈熸棭浜庢湰鍦拌褰曚腑鐨勬棩鏈燂紝姝ょ鎯呭喌涓嶄細瀛樺湪锛�
+                    //杩欑鎯呭喌涓嶅瓨鍦紙RTU鏃堕挓鏃╀簬鏈湴璁板綍涓殑RTU鏃堕挓锛圧TU绌胯秺鍥炶繃鍘讳簡锛屽彲鑳芥椂閽熼噸缃簡锛夛紝姝ょ鎯呭喌涓嶅鐞嗭級
                 }
             }
+            sv.updateRmLossLast(poLast);
         }
     }
 
@@ -104,17 +103,16 @@
      * @param controller
      * @param rtuAddr
      * @param dV1_0_1
-     * @param dataCdC0Vo
+     * @param cdData
      * @return
      * @throws Exception
      */
-    private RmLossLast newRmLossLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo)throws Exception {
-        RmLossLast po = new RmLossLast(null, null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
-                rtuAddr,
-                DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt),
-                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
-                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt),
-                dataCdC0Vo.lossAmount) ;
+    private RmLossLast newRmLossLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData)throws Exception {
+        RmLossLast po = new RmLossLast() ;
+        po.controllerId = controller==null?null:controller.getId();
+        po.intakeId = controller==null?null:controller.getIntakeId();
+        po.rtuAddr = rtuAddr;
+        po.valueFrom(dV1_0_1, cdData) ;
         return po ;
     }
 
@@ -123,17 +121,16 @@
      * @param controller
      * @param rtuAddr
      * @param dV1_0_1
-     * @param dataCdC0Vo
+     * @param cdData
      * @return
      * @throws Exception
      */
-    private RmLossHistory newRmLossHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo)throws Exception {
-        RmLossHistory po = new RmLossHistory(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
-                rtuAddr,
-                DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt),
-                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
-                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt),
-                dataCdC0Vo.lossAmount) ;
+    private RmLossHistory newRmLossHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData)throws Exception {
+        RmLossHistory po = new RmLossHistory() ;
+        po.controllerId = controller==null?null:controller.getId();
+        po.intakeId = controller==null?null:controller.getIntakeId();
+        po.rtuAddr = rtuAddr;
+        po.valueFrom(dV1_0_1, cdData);
         return po ;
     }
 

--
Gitblit v1.8.0