@ -2,6 +2,7 @@ package com.xzzn.ems.service.impl;
import com.alibaba.fastjson2.JSON ;
import com.alibaba.fastjson2.JSONArray ;
import com.alibaba.fastjson2.JSONException ;
import com.alibaba.fastjson2.JSONObject ;
import com.alibaba.fastjson2.TypeReference ;
import com.fasterxml.jackson.core.JsonProcessingException ;
@ -70,7 +71,6 @@ import java.util.HashSet;
import java.util.List ;
import java.util.Map ;
import java.util.Objects ;
import java.util.Optional ;
import java.util.Set ;
import java.util.concurrent.TimeUnit ;
import java.util.regex.Matcher ;
@ -153,7 +153,9 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
@Override
public void handleDeviceData ( String message , String siteId ) {
JSONArray arraylist = JSONArray . parseArray ( message ) ;
JSONArray arraylist = parseJsonData ( message ) ;
if ( arraylist = = null ) return ;
// 过滤掉空数据(空数据不处理,直接返回
for ( int i = 0 ; i < arraylist . size ( ) ; i + + ) {
JSONObject obj = JSONObject . parseObject ( arraylist . get ( i ) . toString ( ) ) ;
@ -181,6 +183,21 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
}
}
private JSONArray parseJsonData ( String message ) {
try {
JSONObject object = JSONObject . parseObject ( message ) ;
return object . getJSONArray ( " payload " ) ;
} catch ( JSONException e ) {
log . info ( " mqtt message is not a json object: " + e . getMessage ( ) ) ;
try {
return JSONArray . parseArray ( message ) ;
} catch ( Exception arrayException ) {
log . info ( " mqtt message is not a json array: " + e . getMessage ( ) ) ;
}
}
return null ;
}
public void processingDeviceData ( String siteId , String deviceId , String jsonData , Date dataUpdateTime ) {
// 判断设备类型,并调用对应的方法处理数据
String deviceCategory = getDeviceCategory ( siteId , deviceId ) ;
@ -242,11 +259,10 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理EMS数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . EMS . getCode ( ) ) ;
EmsEmsData emsData = new EmsEmsData ( ) ;
saveDeviceData ( pointMatchList , obj , emsData , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , emsData ) ;
emsData . setDataUpdateTime ( dataUpdateTime ) ;
emsData . setCreateBy ( " system " ) ;
@ -271,11 +287,10 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理中水冷却数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . COOLING . getCode ( ) ) ;
EmsCoolingData coolingData = new EmsCoolingData ( ) ;
saveDeviceData ( pointMatchList , obj , coolingData , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , coolingData ) ;
coolingData . setDataUpdateTime ( dataUpdateTime ) ;
coolingData . setCreateBy ( " system " ) ;
@ -301,14 +316,13 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理消防数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . XF . getCode ( ) ) ;
// 暂时只更新设备表的设备状态 ZDYBYDCZT-主电源备用电池状态
// 数据存表
EmsXfData xfData = new EmsXfData ( ) ;
xfData . setDataTimestamp ( dataUpdateTime ) ;
saveDeviceData ( pointMatchList , obj , xfData , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , xfData ) ;
xfData . setCreateBy ( " system " ) ;
xfData . setCreateTime ( DateUtils . getNowDate ( ) ) ;
@ -336,12 +350,11 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理动环数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . DH . getCode ( ) ) ;
//DH
EmsDhData dhData = new EmsDhData ( ) ;
saveDeviceData ( pointMatchList , obj , dhData , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , dhData ) ;
dhData . setDataUpdateTime ( dateUpdateTime ) ;
dhData . setCreateBy ( " system " ) ;
@ -371,7 +384,6 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理电池堆数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . STACK . getCode ( ) ) ;
//BMS 电池簇
EmsBatteryStack dataStack = new EmsBatteryStack ( ) ;
@ -382,7 +394,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
dataStack . setPcsCommunicationStatus ( CommunicationStatus . OK . getCode ( ) ) ;
dataStack . setEmsCommunicationStatus ( CommunicationStatus . OK . getCode ( ) ) ;
saveDeviceData ( pointMatchList , obj , dataStack , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , dataStack ) ;
dataStack . setCreateBy ( " system " ) ;
dataStack . setCreateTime ( DateUtils . getNowDate ( ) ) ;
@ -396,7 +408,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
redisCache . setCacheObject ( RedisKeyConstants . STACK + siteId + " _ " + deviceId , dataStack ) ;
// 同步更新设备工作状态
saveDeviceWorkStatus ( deviceId , siteId , dataStack . getWorkStatus ( ) ) ;
saveDeviceWorkStatus ( siteId , deviceId, DeviceMatchTable . STACK . getCode ( ) , dataStack . getWorkStatus ( ) ) ;
}
private void batteryGroupDataProcess ( String siteId , String deviceId , String jsonData ) {
@ -601,10 +613,8 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
* @param pointMatchList 字段匹配规则列表
* @param obj 原始数据Map
* @param entity 目标Java对象
* @param pointEnumMatchMap 枚举匹配规则
*/
private void saveDeviceData ( List < EmsPointMatch > pointMatchList , Map < String , Object > obj ,
Object entity , Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap ) {
private void saveDeviceData ( List < EmsPointMatch > pointMatchList , Map < String , Object > obj , Object entity ) {
if ( null = = obj | | obj . isEmpty ( ) ) {
return ;
}
@ -623,18 +633,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
// 1. 从原始数据中获取匹配值
Object matchValue = obj . get ( pointMatchMap . get ( fieldName ) ) ;
// 2. 处理枚举值 转换
List < EmsPointEnumMatch > pointEnumMatchList = pointEnumMatchMap . get ( fieldName ) ;
if ( CollectionUtils . isNotEmpty ( pointEnumMatchList ) & & matchValue ! = null ) {
String finalMatchValue = String . valueOf ( matchValue ) . replace ( " .0 " , " " ) ;
Optional < EmsPointEnumMatch > enumMatch = pointEnumMatchList . stream ( )
. filter ( data - > data . getDataEnumCode ( ) . equals ( finalMatchValue ) ) . findFirst ( ) ;
if ( enumMatch . isPresent ( ) ) {
matchValue = enumMatch . get ( ) . getEnumCode ( ) ;
}
}
// 3. 类型转换
// 2. 类型 转换
Class < ? > fieldType = field . getType ( ) ;
if ( String . class . equals ( fieldType ) ) {
matchValue = StringUtils . getString ( matchValue ) ;
@ -665,12 +664,11 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理电池簇数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( sit eId, D eviceMatchTable . CLUSTER . getCode ( ) ) ;
String stackDeviceId = getStackDeviceId ( deviceId ) ;
String stackDeviceId = getStackDevic eId( d eviceId ) ;
//BMS 电池簇
EmsBatteryCluster data = new EmsBatteryCluster ( ) ;
saveDeviceData ( pointMatchList , obj , data , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , data ) ;
data . setDataUpdateTime ( dataUpdateTime ) ;
// data.setWorkStatus(WorkStatus.NORMAL.getCode()); // 或其他默认值
@ -692,7 +690,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
redisCache . setCacheObject ( RedisKeyConstants . CLUSTER + siteId + " _ " + deviceId , data ) ;
// 同步更新设备工作状态
saveDeviceWorkStatus ( deviceId , siteId , data . getWorkStatus ( ) ) ;
saveDeviceWorkStatus ( siteId , deviceId, DeviceMatchTable . CLUSTER . getCode ( ) , data . getWorkStatus ( ) ) ;
}
private String getStackDeviceId ( String deviceId ) {
@ -715,7 +713,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
//单体电池
Map < String , Map < String , Object > > records = processData ( JSON . parseObject ( dataJson , new TypeReference < Map < String , Object > > ( ) {
} ) ) ;
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . BATTERY . getCode ( ) ) ;
log . info ( " 站点:{},单体电池数据:{} " , siteId , records ) ;
List < EmsBatteryData > list = new ArrayList < > ( ) ;
List < EmsBatteryDataDailyLatest > dailyList = new ArrayList < > ( ) ;
List < EmsBatteryDataMinutes > minutesList = new ArrayList < > ( ) ;
@ -730,6 +728,15 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
String batteryDeviceId = recordId + deviceId ;
// 点位匹配数据
List < EmsPointMatch > pointMatchList = devicePointMatchDataProcessor . getDevicePointMatch ( siteId , batteryDeviceId , DeviceMatchTable . BATTERY . getCode ( ) ) ;
if ( CollectionUtils . isEmpty ( pointMatchList ) ) {
pointMatchList = devicePointMatchDataProcessor . getDeviceDefaultPointMatch ( siteId , DeviceMatchTable . BATTERY . getCode ( ) ) ;
} else {
Map < String , Object > newFields = new HashMap < > ( ) ;
for ( Map . Entry < String , Object > entry : fields . entrySet ( ) ) {
newFields . put ( entry . getKey ( ) + recordId , entry . getValue ( ) ) ;
}
fields = newFields ;
}
if ( CollectionUtils . isEmpty ( pointMatchList ) ) {
log . info ( " 未找到匹配的点位数据, 无法处理单体电池数据, siteId: " + siteId + " , deviceId: " + batteryDeviceId ) ;
return ;
@ -739,7 +746,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
batteryData . setDeviceId ( recordId ) ;
batteryData . setBatteryCellId ( recordId ) ;
saveDeviceData ( pointMatchList , fields , batteryData , pointEnumMatchMap );
saveDeviceData ( pointMatchList , fields , batteryData ) ;
batteryData . setBatteryCluster ( deviceId ) ;
batteryData . setBatteryPack ( getStackDeviceId ( deviceId ) ) ;
@ -803,12 +810,11 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理PCS数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . PCS . getCode ( ) ) ;
//pcs
EmsPcsData pcsData = new EmsPcsData ( ) ;
saveDeviceData ( pointMatchList , obj , pcsData , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , pcsData ) ;
// 状态指示类
pcsData . setBranchStatus ( BranchStatus . NORMAL . getCode ( ) ) ;
@ -838,7 +844,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
redisCache . setCacheObject ( RedisKeyConstants . PCS + siteId + " _ " + deviceId , pcsData ) ;
// 同步更新PCS设备工作状态
saveDeviceWorkStatus ( deviceId , siteId , pcsData . getWorkStatus ( ) ) ;
saveDeviceWorkStatus ( siteId , deviceId, DeviceMatchTable . PCS . getCode ( ) , pcsData . getWorkStatus ( ) ) ;
// if (SiteEnum.FX.getCode().equals(siteId)) {
// //更新每日充放电数据
@ -857,7 +863,6 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理PCS支路数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . BRANCH . getCode ( ) ) ;
//PCS支路
for ( Map . Entry < String , Map < String , Object > > record : records . entrySet ( ) ) {
@ -869,7 +874,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
data . setSiteId ( siteId ) ;
data . setGridStatus ( GridStatus . GRID . getCode ( ) ) ;
saveDeviceData ( pointMatchList , fields , data , pointEnumMatchMap );
saveDeviceData ( pointMatchList , fields , data ) ;
data . setBranchId ( recordId ) ;
data . setCreateBy ( " system " ) ;
@ -898,13 +903,12 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理LOAD总表数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . AMMETER . getCode ( ) ) ;
EmsAmmeterData dataLoad = new EmsAmmeterData ( ) ;
// 更新时间
dataLoad . setDataUpdateTime ( dataUpdateTime ) ;
saveDeviceData ( pointMatchList , obj , dataLoad , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , dataLoad ) ;
dataLoad . setCreateBy ( " system " ) ;
dataLoad . setCreateTime ( DateUtils . getNowDate ( ) ) ;
@ -935,7 +939,6 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理电池簇数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . CLUSTER . getCode ( ) ) ;
//BMSC 电池簇
EmsBatteryCluster data = new EmsBatteryCluster ( ) ;
// 其他非 BigDecimal 字段
@ -957,25 +960,36 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
// 获取redis获取最新的BMSD数据
Map < String , Object > stackObj = redisCache . getCacheObject ( RedisKeyConstants . ORIGINAL_BMSD + siteId + " _ " + stackDeviceId ) ;
data . setDeviceId ( deviceId ) ;
saveDeviceData ( pointMatchList , obj , data , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , data ) ;
// 取堆里面数据
saveDeviceData ( pointMatchList , stackObj , data , pointEnumMatchMap );
saveDeviceData ( pointMatchList , stackObj , data ) ;
emsBatteryClusterMapper . insertEmsBatteryCluster ( data ) ;
redisCache . setCacheObject ( RedisKeyConstants . CLUSTER + siteId + " _ " + deviceId , data ) ;
// 同步更新设备工作状态
saveDeviceWorkStatus ( deviceId , siteId , data . getWorkStatus ( ) ) ;
saveDeviceWorkStatus ( siteId , deviceId, DeviceMatchTable . CLUSTER . getCode ( ) , data . getWorkStatus ( ) ) ;
}
}
private void saveDeviceWorkStatus ( String deviceId , String siteId , String workStatus ) {
private void saveDeviceWorkStatus ( String siteId , String deviceId , String deviceCategory , String workStatus ) {
if ( StringUtils . isEmpty ( workStatus ) ) {
return ;
}
// Map<String, List<EmsPointEnumMatch>> pointEnumMatchMap = devicePointMatchDataProcessor.getPointEnumMatchMap(siteId, deviceCategory);
// // 枚举值转换
// List<EmsPointEnumMatch> pointEnumMatchList = pointEnumMatchMap.get("workStatus");
// if (CollectionUtils.isNotEmpty(pointEnumMatchList) && workStatus != null) {
// String finalMatchValue = workStatus.replace(".0", "");
// Optional<EmsPointEnumMatch> enumMatch = pointEnumMatchList.stream()
// .filter(data -> data.getDataEnumCode().equals(finalMatchValue)).findFirst();
// if (enumMatch.isPresent()) {
// workStatus = enumMatch.get().getEnumCode();
// }
// }
EmsDevicesSetting emsDevicesSetting = emsDevicesSettingMapper . getDeviceBySiteAndDeviceId ( deviceId , siteId ) ;
emsDevicesSetting . setWorkStatus ( workStatus ) ;
emsDevicesSetting . setUpdatedAt ( DateUtils . getNowDate ( ) ) ;
@ -1046,7 +1060,6 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理电表数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . AMMETER . getCode ( ) ) ;
// 获取上次数据, 便于后面计算差值均无则默认0
EmsAmmeterData lastAmmeterData = getLastAmmeterData ( siteId , deviceId ) ;
@ -1055,7 +1068,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
// 更新时间
dataMete . setDataUpdateTime ( dataUpdateTime ) ;
saveDeviceData ( pointMatchList , obj , dataMete , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , dataMete ) ;
dataMete . setCreateBy ( " system " ) ;
dataMete . setCreateTime ( DateUtils . getNowDate ( ) ) ;
@ -1584,12 +1597,11 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理中水冷却告警数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . PCS . getCode ( ) ) ;
EmsPcsAlarmData pcsAlarmData = new EmsPcsAlarmData ( ) ;
// 更新时间
pcsAlarmData . setDataTimestamp ( dataUpdateTime ) ;
saveDeviceData ( pointMatchList , obj , pcsAlarmData , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , pcsAlarmData ) ;
pcsAlarmData . setCreateBy ( " system " ) ;
pcsAlarmData . setCreateTime ( DateUtils . getNowDate ( ) ) ;
@ -1611,13 +1623,12 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理电池堆告警数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . STACK . getCode ( ) ) ;
EmsStackAlarmData stackAlarmData = new EmsStackAlarmData ( ) ;
// 更新时间
stackAlarmData . setDataTimestamp ( dataUpdateTime ) ;
saveDeviceData ( pointMatchList , obj , stackAlarmData , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , stackAlarmData ) ;
stackAlarmData . setCreateBy ( " system " ) ;
stackAlarmData . setCreateTime ( DateUtils . getNowDate ( ) ) ;
@ -1638,12 +1649,11 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理电池簇告警数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . CLUSTER . getCode ( ) ) ;
EmsClusterAlarmData clusterAlarmData = new EmsClusterAlarmData ( ) ;
// 更新时间
clusterAlarmData . setDataTimestamp ( dataUpdateTime ) ;
saveDeviceData ( pointMatchList , obj , clusterAlarmData , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , clusterAlarmData ) ;
clusterAlarmData . setCreateBy ( " system " ) ;
clusterAlarmData . setCreateTime ( DateUtils . getNowDate ( ) ) ;
@ -1665,13 +1675,12 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
log . info ( " 未找到匹配的点位数据, 无法处理中水冷却告警数据, siteId: " + siteId + " , deviceId: " + deviceId ) ;
return ;
}
Map < String , List < EmsPointEnumMatch > > pointEnumMatchMap = devicePointMatchDataProcessor . getPointEnumMatchMap ( siteId , DeviceMatchTable . COOLING . getCode ( ) ) ;
EmsCoolingAlarmData coolingAlarmData = new EmsCoolingAlarmData ( ) ;
// 更新时间
coolingAlarmData . setDataTimestamp ( dataUpdateTime ) ;
saveDeviceData ( pointMatchList , obj , coolingAlarmData , pointEnumMatchMap );
saveDeviceData ( pointMatchList , obj , coolingAlarmData ) ;
coolingAlarmData . setCreateBy ( " system " ) ;
coolingAlarmData . setCreateTime ( DateUtils . getNowDate ( ) ) ;