| | |
| | | import com.whyc.pojo.Battinf; |
| | | import com.whyc.pojo.Fbs9100State; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.HashMap; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | |
| | | StringBuffer monTmpSb2 = new StringBuffer(); |
| | | StringBuffer monTimeSB2 = new StringBuffer(); |
| | | |
| | | StringBuffer stopReasonSb1 = new StringBuffer(); |
| | | StringBuffer stopReasonSb2 = new StringBuffer(); |
| | | StringBuffer deviceStateSb1 = new StringBuffer(); |
| | | StringBuffer deviceStateSb2 = new StringBuffer(); |
| | | for (HeiHeRealtimeDataDTO realtimeDataDTO : realtimeDataDTOS) { |
| | | String name = realtimeDataDTO.getName(); |
| | | List<String> allStopReasonSignals1 = new LinkedList<>(); |
| | | List<String> allDeviceStateSignals1 = new LinkedList<>(); |
| | | |
| | | List<String> allStopReasonSignals2 = new LinkedList<>(); |
| | | List<String> allDeviceStateSignals2 = new LinkedList<>(); |
| | | String val = realtimeDataDTO.getVal(); |
| | | |
| | | //获取所有的停止原因 |
| | | //获取所有的设备状态 |
| | | switch (name){ |
| | | case "第一组核容测试设备掉电终止": |
| | | case "第一组核容测试设备掉电终止":{ |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("0").append(","); |
| | | } |
| | | break; |
| | | } |
| | | case "第一组核容测试手动终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("1").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试放电时间到终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("2").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试放电容量到终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("3").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试单体电压下限到终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("4").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试单体温度上限终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("5").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试组端电压下限到终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("6").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试市电中断终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("7").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试单体通信异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("8").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试存储数据满终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("9").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试机内温度异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("10").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试放电电流异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("11").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试后台通信中断终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("12").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试内部程序异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("13").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试电源电压高终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("14").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试协转通信异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("15").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试切换装置通信故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("16").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试切换装置故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("27").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试DCAC模块故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("28").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试负载功率小终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("29").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试干接点接入故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("30").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试母联通信异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("31").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试母联手动关闭/信号异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("32").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试逆变器通信故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("33").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试防雷器故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("34").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试机柜表头通信故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("35").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试限流充电模块故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("36").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试紧急停止终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("37").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试远程闭锁终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("38").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试切换装置开关异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("39").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试交流空开异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("40").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试交流接触器异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("41").append(","); |
| | | } |
| | | break; |
| | | case "第一组核容测试直流空开异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb1.append("42").append(","); |
| | | } |
| | | break; |
| | | default:break; |
| | | } |
| | | |
| | | switch (name){ |
| | | case "第二组核容测试设备掉电终止": |
| | | case "第二组核容测试设备掉电终止":{ |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("0").append(","); |
| | | } |
| | | break; |
| | | } |
| | | case "第二组核容测试手动终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("1").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试放电时间到终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("2").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试放电容量到终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("3").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试单体电压下限到终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("4").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试单体温度上限终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("5").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试组端电压下限到终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("6").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试市电中断终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("7").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试单体通信异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("8").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试存储数据满终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("9").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试机内温度异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("10").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试放电电流异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("11").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试后台通信中断终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("12").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试内部程序异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("13").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试电源电压高终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("14").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试协转通信异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("15").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试切换装置通信故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("16").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试切换装置故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("27").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试DCAC模块故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("28").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试负载功率小终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("29").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试干接点接入故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("30").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试母联通信异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("31").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试母联手动关闭/信号异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("32").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试逆变器通信故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("33").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试防雷器故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("34").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试机柜表头通信故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("35").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试限流充电模块故障终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("36").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试紧急停止终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("37").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试远程闭锁终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("38").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试切换装置开关异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("39").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试交流空开异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("40").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试交流接触器异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("41").append(","); |
| | | } |
| | | break; |
| | | case "第二组核容测试直流空开异常终止": |
| | | if(val.equals("1")){ |
| | | stopReasonSb2.append("42").append(","); |
| | | } |
| | | break; |
| | | default:break; |
| | | } |
| | | |
| | | switch (name){ |
| | | case "第一组通信蓄电池远程核容系统在线浮充": |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb1.append("0").append(","); |
| | | } |
| | | break; |
| | | } |
| | | case "第一组通信蓄电池远程核容系统充电": |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb1.append("1").append(","); |
| | | } |
| | | break; |
| | | } |
| | | case "第一组通信蓄电池远程核容系统核容": |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb1.append("2").append(","); |
| | | } |
| | | break; |
| | | } |
| | | case "第一组通信蓄电池远程核容系统停电放电": |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb1.append("3").append(","); |
| | | } |
| | | break; |
| | | } |
| | | case "第一组通信蓄电池远程核容系统内阻测试": |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb1.append("4").append(","); |
| | | } |
| | | break; |
| | | } |
| | | default:break; |
| | | } |
| | | |
| | | switch (name){ |
| | | case "第二组通信蓄电池远程核容系统在线浮充": |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb2.append("0").append(","); |
| | | } |
| | | break; |
| | | } |
| | | case "第二组通信蓄电池远程核容系统充电": |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb2.append("1").append(","); |
| | | } |
| | | break; |
| | | } |
| | | case "第二组通信蓄电池远程核容系统核容": |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb2.append("2").append(","); |
| | | } |
| | | break; |
| | | } |
| | | case "第二组通信蓄电池远程核容系统停电放电": |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb2.append("3").append(","); |
| | | } |
| | | break; |
| | | } |
| | | case "第二组通信蓄电池远程核容系统内阻测试": |
| | | { |
| | | if(val.equals("1")){ |
| | | deviceStateSb2.append("4").append(","); |
| | | } |
| | | break; |
| | | } |
| | | default:break; |
| | | } |
| | | |
| | | //填充其他所有的实时值 |
| | | switch (name){ |
| | | case "第1组电池组电压": battState1.setGroupVol(Float.valueOf(realtimeDataDTO.getVal()));break; |
| | | case "第1组电池组电流": battState1.setGroupCurr(Float.valueOf(realtimeDataDTO.getVal()));break; |
| | | case "第1组电池组电压": battState1.setGroupVol(Float.valueOf(val));break; |
| | | case "第1组电池组电流": battState1.setGroupCurr(Float.valueOf(val));break; |
| | | case "第1组在线端电压": { |
| | | battState1.setOnlineVol(Float.valueOf(realtimeDataDTO.getVal())); |
| | | battState1.setOnlineVol(Float.valueOf(val)); |
| | | try { |
| | | battState1.setRecDatetime(DateUtil.YYYY_MM_DD_HH_MM_SS.parse(realtimeDataDTO.getTimestamp())); |
| | | }catch (Exception e){ |
| | | //battState1.setRecDatetime(); |
| | | } |
| | | break; |
| | | } |
| | | break; |
| | | case "第1组电池组第1节单体电池电压值": |
| | | case "第1组电池组第2节单体电池电压值": |
| | | case "第1组电池组第3节单体电池电压值": |
| | |
| | | case "第1组电池组第102节单体电池电压值": |
| | | case "第1组电池组第103节单体电池电压值": |
| | | case "第1组电池组第104节单体电池电压值": |
| | | monVolSb1.append(Float.valueOf(realtimeDataDTO.getVal())+",");break; |
| | | monVolSb1.append(val).append(",");break; |
| | | case "第1组电池组第1节单体电池内阻值": |
| | | case "第1组电池组第2节单体电池内阻值": |
| | | case "第1组电池组第3节单体电池内阻值": |
| | |
| | | case "第1组电池组第102节单体电池内阻值": |
| | | case "第1组电池组第103节单体电池内阻值": |
| | | case "第1组电池组第104节单体电池内阻值": { |
| | | monResSb1.append(Float.valueOf(realtimeDataDTO.getVal()) + ","); |
| | | monTimeSB1.append(Float.valueOf(realtimeDataDTO.getTimestamp())+","); |
| | | break; |
| | | monResSb1.append(val).append(","); |
| | | monTimeSB1.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | } |
| | | break; |
| | | case "第1组电池组第1节单体负极极柱温度": |
| | | case "第1组电池组第2节单体负极极柱温度": |
| | | case "第1组电池组第3节单体负极极柱温度": |
| | |
| | | case "第1组电池组第102节单体负极极柱温度": |
| | | case "第1组电池组第103节单体负极极柱温度": |
| | | case "第1组电池组第104节单体负极极柱温度": |
| | | monTmpSb1.append(Float.valueOf(realtimeDataDTO.getVal())+",");break; |
| | | case "第2组电池组电压":battState2.setGroupVol(Float.valueOf(realtimeDataDTO.getVal()));break; |
| | | case "第2组电池组电流":battState2.setGroupCurr(Float.valueOf(realtimeDataDTO.getVal()));break; |
| | | case "第2组在线端电压":battState2.setOnlineVol(Float.valueOf(realtimeDataDTO.getVal()));break; |
| | | monTmpSb1.append(val).append(",");break; |
| | | case "第2组电池组电压":battState2.setGroupVol(Float.valueOf(val));break; |
| | | case "第2组电池组电流":battState2.setGroupCurr(Float.valueOf(val));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(); |
| | | } |
| | | } |
| | | break; |
| | | case "第2组电池组第1节单体电池电压值": |
| | | case "第2组电池组第2节单体电池电压值": |
| | | case "第2组电池组第3节单体电池电压值": |
| | |
| | | case "第2组电池组第102节单体电池电压值": |
| | | case "第2组电池组第103节单体电池电压值": |
| | | case "第2组电池组第104节单体电池电压值": |
| | | monVolSb2.append(Float.valueOf(realtimeDataDTO.getVal())+",");break; |
| | | monVolSb2.append(val).append(",");break; |
| | | case "第2组电池组第1节单体电池内阻值": |
| | | case "第2组电池组第2节单体电池内阻值": |
| | | case "第2组电池组第3节单体电池内阻值": |
| | |
| | | case "第2组电池组第102节单体电池内阻值": |
| | | case "第2组电池组第103节单体电池内阻值": |
| | | case "第2组电池组第104节单体电池内阻值": { |
| | | monResSb2.append(Float.valueOf(realtimeDataDTO.getVal()) + ","); |
| | | monTimeSB2.append(Float.valueOf(realtimeDataDTO.getTimestamp())+","); |
| | | break; |
| | | monResSb2.append(val).append(","); |
| | | monTimeSB2.append(realtimeDataDTO.getTimestamp()).append(","); |
| | | } |
| | | break; |
| | | case "第2组电池组第1节单体负极极柱温度": |
| | | case "第2组电池组第2节单体负极极柱温度": |
| | | case "第2组电池组第3节单体负极极柱温度": |
| | |
| | | case "第2组电池组第102节单体负极极柱温度": |
| | | case "第2组电池组第103节单体负极极柱温度": |
| | | case "第2组电池组第104节单体负极极柱温度": |
| | | monTmpSb2.append(Float.valueOf(realtimeDataDTO.getVal())+",");break; |
| | | monTmpSb2.append(val).append(",");break; |
| | | default:break; |
| | | } |
| | | } |
| | | |
| | | //确定 设备1停止原因 |
| | | int stopReason1; |
| | | String stopReason1Str = stopReasonSb1.toString(); |
| | | if(stopReason1Str.equals("")){ |
| | | stopReason1=255; |
| | | }else{ |
| | | String[] stopReason1Split = stopReason1Str.split(","); |
| | | stopReason1 = Integer.valueOf(stopReason1Split[0]); |
| | | } |
| | | //确定 设备2停止原因 |
| | | int stopReason2; |
| | | String stopReason2Str = stopReasonSb2.toString(); |
| | | if(stopReason2Str.equals("")){ |
| | | stopReason2=255; |
| | | }else{ |
| | | String[] stopReason2Split = stopReason2Str.split(","); |
| | | stopReason2 = Integer.valueOf(stopReason2Split[0]); |
| | | } |
| | | //确定 设备状态1 |
| | | int deviceStateType1; |
| | | String deviceState1Str = deviceStateSb1.toString(); |
| | | if(deviceState1Str.equals("")){ |
| | | deviceStateType1=-1; |
| | | }else{ |
| | | String[] deviceState1Split = deviceState1Str.split(","); |
| | | deviceStateType1 = Integer.valueOf(deviceState1Split[0]); |
| | | } |
| | | //确定 设备状态2 |
| | | int deviceStateType2; |
| | | String deviceState2Str = deviceStateSb2.toString(); |
| | | if(deviceState2Str.equals("")){ |
| | | deviceStateType2=-1; |
| | | }else{ |
| | | String[] deviceState2Split = deviceState2Str.split(","); |
| | | deviceStateType2 = Integer.valueOf(deviceState2Split[0]); |
| | | } |
| | | //回写设备状态和终止原因 |
| | | deviceState1.setDevWorkstate(deviceStateType1); |
| | | deviceState1.setDevLastCaptestStopType(stopReason1); |
| | | |
| | | deviceState2.setDevWorkstate(deviceStateType2); |
| | | deviceState2.setDevLastCaptestStopType(stopReason2); |
| | | |
| | | //对应结果接收 |
| | | deviceStateList.add(deviceState1); |
| | | deviceStateList.add(deviceState2); |