| | |
| | | import com.whyc.pojo.Battinf; |
| | | import com.whyc.pojo.Fbs9100State; |
| | | |
| | | import java.text.ParseException; |
| | | import java.util.*; |
| | | |
| | | public class HeiHeUtil { |
| | |
| | | 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){ |
| | | |
| | | } |
| | | |
| | | //获取所有的停止原因 |
| | | //获取所有的设备状态 |
| | |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb1.append("0").append(","); |
| | | deviceStateTimeSb1.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | deviceStateTimeSb1.append(timestamp).append(","); |
| | | } |
| | | break; |
| | | } |
| | |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb1.append("1").append(","); |
| | | deviceStateTimeSb1.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | deviceStateTimeSb1.append(timestamp).append(","); |
| | | } |
| | | break; |
| | | } |
| | |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb1.append("2").append(","); |
| | | deviceStateTimeSb1.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | deviceStateTimeSb1.append(timestamp).append(","); |
| | | } |
| | | break; |
| | | } |
| | |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb1.append("3").append(","); |
| | | deviceStateTimeSb1.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | deviceStateTimeSb1.append(timestamp).append(","); |
| | | } |
| | | break; |
| | | } |
| | |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb1.append("4").append(","); |
| | | deviceStateTimeSb1.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | deviceStateTimeSb1.append(timestamp).append(","); |
| | | } |
| | | break; |
| | | } |
| | |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb2.append("0").append(","); |
| | | deviceStateTimeSb2.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | deviceStateTimeSb2.append(timestamp).append(","); |
| | | } |
| | | break; |
| | | } |
| | |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb2.append("1").append(","); |
| | | deviceStateTimeSb2.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | deviceStateTimeSb2.append(timestamp).append(","); |
| | | } |
| | | break; |
| | | } |
| | |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb2.append("2").append(","); |
| | | deviceStateTimeSb2.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | deviceStateTimeSb2.append(timestamp).append(","); |
| | | } |
| | | break; |
| | | } |
| | |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb2.append("3").append(","); |
| | | deviceStateTimeSb2.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | deviceStateTimeSb2.append(timestamp).append(","); |
| | | } |
| | | break; |
| | | } |
| | |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb2.append("4").append(","); |
| | | deviceStateTimeSb2.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | deviceStateTimeSb2.append(timestamp).append(","); |
| | | } |
| | | break; |
| | | } |
| | |
| | | |
| | | //填充其他所有的实时值 |
| | | 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; |
| | |
| | | case "第1组电池组第103节单体电池内阻值": |
| | | case "第1组电池组第104节单体电池内阻值": { |
| | | monResSb1.append(val).append(","); |
| | | monTimeSB1.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | monTimeSB1.append(timestamp).append(","); |
| | | } |
| | | break; |
| | | case "第1组电池组第1节单体负极极柱温度": |
| | |
| | | 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节单体电池电压值": |
| | |
| | | case "第2组电池组第103节单体电池内阻值": |
| | | case "第2组电池组第104节单体电池内阻值": { |
| | | monResSb2.append(val).append(","); |
| | | monTimeSB2.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | monTimeSB2.append(timestamp).append(","); |
| | | } |
| | | break; |
| | | case "第2组电池组第1节单体负极极柱温度": |