From c9e061ffefe027fd81e04e636ec4bef9d7cc3c08 Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期四, 25 一月 2024 12:01:29 +0800
Subject: [PATCH] 黑河组1和组2的遥测时间戳取最大的时间

---
 src/main/java/com/whyc/util/HeiHeUtil.java |  104 +++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 78 insertions(+), 26 deletions(-)

diff --git a/src/main/java/com/whyc/util/HeiHeUtil.java b/src/main/java/com/whyc/util/HeiHeUtil.java
index 31d67f5..ec7ac6b 100644
--- a/src/main/java/com/whyc/util/HeiHeUtil.java
+++ b/src/main/java/com/whyc/util/HeiHeUtil.java
@@ -7,6 +7,7 @@
 import com.whyc.pojo.Battinf;
 import com.whyc.pojo.Fbs9100State;
 
+import java.text.ParseException;
 import java.util.*;
 
 public class HeiHeUtil {
@@ -1497,6 +1498,13 @@
         for (HeiHeRealtimeDataDTO realtimeDataDTO : realtimeDataDTOS) {
             String name = realtimeDataDTO.getName();
             String val = realtimeDataDTO.getVal();
+            String timestamp = realtimeDataDTO.getTimestamp();
+            Date date = null;
+            try {
+                date = DateUtil.YYYY_MM_DD_HH_MM_SS.parse(timestamp);
+            }catch (ParseException e){
+
+            }
 
             //鑾峰彇鎵�鏈夌殑鍋滄鍘熷洜
             //鑾峰彇鎵�鏈夌殑璁惧鐘舵��
@@ -1844,7 +1852,7 @@
                 {
                     if(val.equals("1")){
                         deviceStateSb1.append("0").append(",");
-                        deviceStateTimeSb1.append(realtimeDataDTO.getTimestamp()).append(",");
+                        deviceStateTimeSb1.append(timestamp).append(",");
                     }
                     break;
                 }
@@ -1852,7 +1860,7 @@
                 {
                     if(val.equals("1")){
                         deviceStateSb1.append("1").append(",");
-                        deviceStateTimeSb1.append(realtimeDataDTO.getTimestamp()).append(",");
+                        deviceStateTimeSb1.append(timestamp).append(",");
                     }
                     break;
                 }
@@ -1860,7 +1868,7 @@
                 {
                     if(val.equals("1")){
                         deviceStateSb1.append("2").append(",");
-                        deviceStateTimeSb1.append(realtimeDataDTO.getTimestamp()).append(",");
+                        deviceStateTimeSb1.append(timestamp).append(",");
                     }
                     break;
                 }
@@ -1868,7 +1876,7 @@
                 {
                     if(val.equals("1")){
                         deviceStateSb1.append("3").append(",");
-                        deviceStateTimeSb1.append(realtimeDataDTO.getTimestamp()).append(",");
+                        deviceStateTimeSb1.append(timestamp).append(",");
                     }
                     break;
                 }
@@ -1876,7 +1884,7 @@
                 {
                     if(val.equals("1")){
                         deviceStateSb1.append("4").append(",");
-                        deviceStateTimeSb1.append(realtimeDataDTO.getTimestamp()).append(",");
+                        deviceStateTimeSb1.append(timestamp).append(",");
                     }
                     break;
                 }
@@ -1887,7 +1895,7 @@
                 {
                     if(val.equals("1")){
                         deviceStateSb2.append("0").append(",");
-                        deviceStateTimeSb2.append(realtimeDataDTO.getTimestamp()).append(",");
+                        deviceStateTimeSb2.append(timestamp).append(",");
                     }
                     break;
                 }
@@ -1895,7 +1903,7 @@
                 {
                     if(val.equals("1")){
                         deviceStateSb2.append("1").append(",");
-                        deviceStateTimeSb2.append(realtimeDataDTO.getTimestamp()).append(",");
+                        deviceStateTimeSb2.append(timestamp).append(",");
                     }
                     break;
                 }
@@ -1903,7 +1911,7 @@
                 {
                     if(val.equals("1")){
                         deviceStateSb2.append("2").append(",");
-                        deviceStateTimeSb2.append(realtimeDataDTO.getTimestamp()).append(",");
+                        deviceStateTimeSb2.append(timestamp).append(",");
                     }
                     break;
                 }
@@ -1911,7 +1919,7 @@
                 {
                     if(val.equals("1")){
                         deviceStateSb2.append("3").append(",");
-                        deviceStateTimeSb2.append(realtimeDataDTO.getTimestamp()).append(",");
+                        deviceStateTimeSb2.append(timestamp).append(",");
                     }
                     break;
                 }
@@ -1919,7 +1927,7 @@
                 {
                     if(val.equals("1")){
                         deviceStateSb2.append("4").append(",");
-                        deviceStateTimeSb2.append(realtimeDataDTO.getTimestamp()).append(",");
+                        deviceStateTimeSb2.append(timestamp).append(",");
                     }
                     break;
                 }
@@ -1928,14 +1936,37 @@
 
             //濉厖鍏朵粬鎵�鏈夌殑瀹炴椂鍊�
             switch (name){
-                case "绗�1缁勭數姹犵粍鐢靛帇": battState1.setGroupVol(Float.valueOf(val));break;
-                case "绗�1缁勭數姹犵粍鐢垫祦": battState1.setGroupCurr(Float.valueOf(val));break;
+                case "绗�1缁勭數姹犵粍鐢靛帇": {
+                    battState1.setGroupVol(Float.valueOf(val));
+                    Date recDatetime = battState1.getRecDatetime();
+                    //濡傛灉缁�1鏃堕棿瀛樺湪,涓庡綋鍓嶆椂闂村姣�.濮嬬粓鍙栨渶澶у��
+                    if(recDatetime == null){
+                        battState1.setRecDatetime(date);
+                    }
+                    else if(date.compareTo(recDatetime)>0){
+                        battState1.setRecDatetime(date);
+                    }
+                }break;
+                case "绗�1缁勭數姹犵粍鐢垫祦": {
+                    battState1.setGroupCurr(Float.valueOf(val));
+                    Date recDatetime = battState1.getRecDatetime();
+                    //濡傛灉缁�1鏃堕棿瀛樺湪,涓庡綋鍓嶆椂闂村姣�.濮嬬粓鍙栨渶澶у��
+                    if(recDatetime == null){
+                        battState1.setRecDatetime(date);
+                    }
+                    else if(date.compareTo(recDatetime)>0){
+                        battState1.setRecDatetime(date);
+                    }
+                }break;
                 case "绗�1缁勫湪绾跨鐢靛帇": {
                     battState1.setOnlineVol(Float.valueOf(val));
-                    try {
-                        battState1.setRecDatetime(DateUtil.YYYY_MM_DD_HH_MM_SS.parse(realtimeDataDTO.getTimestamp()));
-                    }catch (Exception e){
-                        //battState1.setRecDatetime();
+                    Date recDatetime = battState1.getRecDatetime();
+                    //濡傛灉缁�1鏃堕棿瀛樺湪,涓庡綋鍓嶆椂闂村姣�.濮嬬粓鍙栨渶澶у��
+                    if(recDatetime == null){
+                        battState1.setRecDatetime(date);
+                    }
+                    else if(date.compareTo(recDatetime)>0){
+                        battState1.setRecDatetime(date);
                     }
                 }
                 break;
@@ -2149,7 +2180,7 @@
                 case "绗�1缁勭數姹犵粍绗�103鑺傚崟浣撶數姹犲唴闃诲��":
                 case "绗�1缁勭數姹犵粍绗�104鑺傚崟浣撶數姹犲唴闃诲��": {
                     monResSb1.append(val).append(",");
-                    monTimeSB1.append(realtimeDataDTO.getTimestamp()).append(",");
+                    monTimeSB1.append(timestamp).append(",");
                 }
                 break;
                 case "绗�1缁勭數姹犵粍绗�1鑺傚崟浣撹礋鏋佹瀬鏌辨俯搴�":
@@ -2257,17 +2288,38 @@
                 case "绗�1缁勭數姹犵粍绗�103鑺傚崟浣撹礋鏋佹瀬鏌辨俯搴�":
                 case "绗�1缁勭數姹犵粍绗�104鑺傚崟浣撹礋鏋佹瀬鏌辨俯搴�":
                     monTmpSb1.append(val).append(",");break;
-                case "绗�2缁勭數姹犵粍鐢靛帇":battState2.setGroupVol(Float.valueOf(val));break;
-                case "绗�2缁勭數姹犵粍鐢垫祦":battState2.setGroupCurr(Float.valueOf(val));break;
+                case "绗�2缁勭數姹犵粍鐢靛帇": {
+                    battState2.setGroupVol(Float.valueOf(val));
+                    Date recDatetime = battState2.getRecDatetime();
+                    //濡傛灉缁�2鏃堕棿瀛樺湪,涓庡綋鍓嶆椂闂村姣�.濮嬬粓鍙栨渶澶у��
+                    if(recDatetime == null){
+                        battState2.setRecDatetime(date);
+                    }
+                    else if(date.compareTo(recDatetime)>0){
+                        battState2.setRecDatetime(date);
+                    }
+                }break;
+                case "绗�2缁勭數姹犵粍鐢垫祦":{battState2.setGroupCurr(Float.valueOf(val));
+                    Date recDatetime = battState2.getRecDatetime();
+                    //濡傛灉缁�2鏃堕棿瀛樺湪,涓庡綋鍓嶆椂闂村姣�.濮嬬粓鍙栨渶澶у��
+                    if(recDatetime == null){
+                        battState2.setRecDatetime(date);
+                    }
+                    else if(date.compareTo(recDatetime)>0){
+                        battState2.setRecDatetime(date);
+                    }
+                }break;
                 case "绗�2缁勫湪绾跨鐢靛帇": {
                     battState2.setOnlineVol(Float.valueOf(val));
-                    try {
-                        battState2.setRecDatetime(DateUtil.YYYY_MM_DD_HH_MM_SS.parse(realtimeDataDTO.getTimestamp()));
-                    }catch (Exception e){
-                        //battState1.setRecDatetime();
+                    Date recDatetime = battState2.getRecDatetime();
+                    //濡傛灉缁�2鏃堕棿瀛樺湪,涓庡綋鍓嶆椂闂村姣�.濮嬬粓鍙栨渶澶у��
+                    if(recDatetime == null){
+                        battState2.setRecDatetime(date);
                     }
-                }
-                break;
+                    else if(date.compareTo(recDatetime)>0){
+                        battState2.setRecDatetime(date);
+                    }
+                }break;
                 case "绗�2缁勭數姹犵粍绗�1鑺傚崟浣撶數姹犵數鍘嬪��":
                 case "绗�2缁勭數姹犵粍绗�2鑺傚崟浣撶數姹犵數鍘嬪��":
                 case "绗�2缁勭數姹犵粍绗�3鑺傚崟浣撶數姹犵數鍘嬪��":
@@ -2478,7 +2530,7 @@
                 case "绗�2缁勭數姹犵粍绗�103鑺傚崟浣撶數姹犲唴闃诲��":
                 case "绗�2缁勭數姹犵粍绗�104鑺傚崟浣撶數姹犲唴闃诲��": {
                     monResSb2.append(val).append(",");
-                    monTimeSB2.append(realtimeDataDTO.getTimestamp()).append(",");
+                    monTimeSB2.append(timestamp).append(",");
                 }
                 break;
                 case "绗�2缁勭數姹犵粍绗�1鑺傚崟浣撹礋鏋佹瀬鏌辨俯搴�":

--
Gitblit v1.9.1