From c70b92da60c0d00625da5fc2369b475e69e0b88e Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 22 八月 2024 11:36:41 +0800
Subject: [PATCH] 1、完善代码和application.yml配置文件,去掉不用的引入文件; 2、init-config.xml配置中增加属性 enable,相应解析类也增加了解析与判断; 3、凡是有Server的应用,加载资源方式改为用springboot的工具类加载; 4、通信协议相关的扫描注解功能实现改为采用reflections-0.10.2,以实现可以在jar包情况下能够扫描类(.class)注解。

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java |   71 ++++++++++++++++++++++++++++++-----
 1 files changed, 61 insertions(+), 10 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java
index 0d6af4a..23490d3 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java
@@ -2,8 +2,10 @@
 
 import com.dy.common.mw.protocol.Data;
 import com.dy.common.mw.protocol.p206V202404.DataV202404;
-import com.dy.common.mw.protocol.p206V202404.upVos.*;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo;
 import com.dy.pipIrrGlobal.pojoPr.PrController;
+import com.dy.pipIrrGlobal.pojoRm.RmTimingReportHistory;
+import com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast;
 import com.dy.rtuMw.server.rtuData.TaskSurpport;
 import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import org.apache.logging.log4j.LogManager;
@@ -12,7 +14,7 @@
 /**
  * @Author: liurunyu
  * @Date: 2024/5/20 20:29
- * @Description
+ * @Description 鎺у埗鍣ㄥ畾鏃朵笂鎶�(鍔熻兘鐮�83)
  */
 public class TkDealTimingReportV202404  extends TaskSurpport {
 
@@ -31,20 +33,69 @@
         Data d = (Data) data;
         DataV202404 dV202404 = (DataV202404) d.getSubData();//鍓嶉潰浠诲姟宸茬粡鍒ゆ柇涓嶄负null
         Object cdObj = dV202404.subData;
-        if (cdObj != null) {
+        if (cdObj != null && cdObj instanceof DataCd83Vo) {
             try {
                 Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId);
                 DbSv sv = (DbSv) objs[0];
                 PrController controller = (PrController) objs[1];
-                if (cdObj instanceof DataCd83Vo) {
-                    //璁惧缁堢瀹氱偣涓婃姤, 姣忓ぉ12鐐逛笂鎶ユ暟鎹�
-                    DataCd83Vo cdData = (DataCd83Vo) (cdObj);
-                    //this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt);
-                    //this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt);
-                }
+                this.doDeal(sv, controller, d.getRtuAddr(), dV202404, (DataCd83Vo)cdObj);
             } catch (Exception e) {
-                log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e);
+                log.error("淇濆瓨鎺у埗鍣ㄦ帶鍒跺櫒瀹氭椂鎶ユ暟鎹椂鍙戠敓寮傚父", e);
             }
         }
     }
+    /**
+     * 澶勭悊闃�涓婃姤鏁版嵁
+     * @param sv 鏈嶅姟
+     * @param controller 鎺у埗鍣ㄥ璞�
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @param dataV202404 鍗忚鏁版嵁
+     * @param cdData 鍔熻兘鏁版嵁
+     */
+    private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd83Vo cdData) throws Exception {
+        this.saveOrUpdateLast(sv, controller, rtuAddr, dataV202404, cdData);
+        this.saveHistory(sv, controller, rtuAddr, dataV202404, cdData);
+    }
+
+    /**
+     * 淇濆瓨鎴栨洿鏂版帶鍒跺櫒璇ヤ笂鎶ユ渶鏂版暟鎹�
+     * @param sv 鏈嶅姟bean
+     * @param controller 鎺у埗鍣ㄥ璞�
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @param dataV202404 鍗忚鏁版嵁
+     * @param cdData 鍔熻兘鏁版嵁
+     */
+    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd83Vo cdData)throws Exception {
+        RmTimingReportLast po = sv.getRmTimingReportLast(controller.getIntakeId()) ;
+        if(po == null){
+            po = new RmTimingReportLast();
+            po.controllerId = controller==null?null:controller.getId();
+            po.intakeId = controller==null?null:controller.getIntakeId();
+            po.rtuAddr = rtuAddr;
+            po.valueFrom(dataV202404, cdData);
+            sv.saveRmTimingReportLast(po) ;
+        }else{
+            po.controllerId = controller==null?null:controller.getId();
+            po.intakeId = controller==null?null:controller.getIntakeId();
+            po.valueFrom(dataV202404, cdData);
+            sv.updateRmTimingReportLast(po);
+        }
+    }
+
+    /**
+     * 淇濆瓨鎴栨洿鏂版帶鍒跺櫒璇ヤ笂鎶ュ巻鍙叉暟鎹�
+     * @param sv 鏈嶅姟bean
+     * @param controller 鎺у埗鍣ㄥ璞�
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @param dataV202404 鍗忚鏁版嵁
+     * @param cdData 鍔熻兘鏁版嵁
+     */
+    private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd83Vo cdData)throws Exception {
+        RmTimingReportHistory po = new RmTimingReportHistory();
+        po.controllerId = controller==null?null:controller.getId();
+        po.intakeId = controller==null?null:controller.getIntakeId();
+        po.rtuAddr = rtuAddr;
+        po.valueFrom(dataV202404, cdData);
+        sv.saveRmTimingReportHistory(po); ;
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0