whycxzp
2024-01-25 c9e061ffefe027fd81e04e636ec4bef9d7cc3c08
黑河组1和组2的遥测时间戳取最大的时间
1个文件已修改
104 ■■■■ 已修改文件
src/main/java/com/whyc/util/HeiHeUtil.java 104 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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节单体负极极柱温度":