临时修改
This commit is contained in:
@ -405,7 +405,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
|
|||||||
|
|
||||||
//TODO 临时解决上送数据为浮点的问题
|
//TODO 临时解决上送数据为浮点的问题
|
||||||
String status = dataStack.getWorkStatus();
|
String status = dataStack.getWorkStatus();
|
||||||
int result = 0;
|
int result = 5;
|
||||||
|
|
||||||
if (status != null && !status.trim().isEmpty()) {
|
if (status != null && !status.trim().isEmpty()) {
|
||||||
// 1.0 -> 1, 2.0 -> 2
|
// 1.0 -> 1, 2.0 -> 2
|
||||||
@ -724,6 +724,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
|
|||||||
//单体电池
|
//单体电池
|
||||||
Map<String, Map<String, Object>> records = processData(JSON.parseObject(dataJson, new TypeReference<Map<String, Object>>() {
|
Map<String, Map<String, Object>> records = processData(JSON.parseObject(dataJson, new TypeReference<Map<String, Object>>() {
|
||||||
}));
|
}));
|
||||||
|
|
||||||
log.info("站点:{},单体电池数据:{}", siteId, records);
|
log.info("站点:{},单体电池数据:{}", siteId, records);
|
||||||
List<EmsBatteryData> list = new ArrayList<>();
|
List<EmsBatteryData> list = new ArrayList<>();
|
||||||
List<EmsBatteryDataDailyLatest> dailyList = new ArrayList<>();
|
List<EmsBatteryDataDailyLatest> dailyList = new ArrayList<>();
|
||||||
@ -739,6 +740,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
|
|||||||
String batteryDeviceId = recordId + deviceId;
|
String batteryDeviceId = recordId + deviceId;
|
||||||
// 点位匹配数据
|
// 点位匹配数据
|
||||||
List<EmsPointMatch> pointMatchList = devicePointMatchDataProcessor.getDevicePointMatch(siteId, batteryDeviceId, DeviceMatchTable.BATTERY.getCode());
|
List<EmsPointMatch> pointMatchList = devicePointMatchDataProcessor.getDevicePointMatch(siteId, batteryDeviceId, DeviceMatchTable.BATTERY.getCode());
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(pointMatchList)) {
|
if (CollectionUtils.isEmpty(pointMatchList)) {
|
||||||
pointMatchList = devicePointMatchDataProcessor.getDeviceDefaultPointMatch(siteId, DeviceMatchTable.BATTERY.getCode());
|
pointMatchList = devicePointMatchDataProcessor.getDeviceDefaultPointMatch(siteId, DeviceMatchTable.BATTERY.getCode());
|
||||||
} else {
|
} else {
|
||||||
@ -748,13 +750,15 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
|
|||||||
}
|
}
|
||||||
fields = newFields;
|
fields = newFields;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(pointMatchList)) {
|
if (CollectionUtils.isEmpty(pointMatchList)) {
|
||||||
log.info("未找到匹配的点位数据,无法处理单体电池数据,siteId: " + siteId + ",deviceId: " + batteryDeviceId);
|
log.info("未找到匹配的点位数据,无法处理单体电池数据,siteId: " + siteId + ",deviceId: " + batteryDeviceId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
EmsBatteryData batteryData = new EmsBatteryData();
|
EmsBatteryData batteryData = new EmsBatteryData();
|
||||||
batteryData.setDeviceId(recordId);
|
//TODO 单体电池 deviceid 拼接簇的 deviceid
|
||||||
|
batteryData.setDeviceId(recordId+deviceId);
|
||||||
batteryData.setBatteryCellId(recordId);
|
batteryData.setBatteryCellId(recordId);
|
||||||
|
|
||||||
saveDeviceData(pointMatchList, fields, batteryData);
|
saveDeviceData(pointMatchList, fields, batteryData);
|
||||||
@ -997,7 +1001,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
|
|||||||
//TODO 临时解决上送数据为浮点的问题 start
|
//TODO 临时解决上送数据为浮点的问题 start
|
||||||
log.info("临时解决上送数据为浮点的问题");
|
log.info("临时解决上送数据为浮点的问题");
|
||||||
String status = data.getWorkStatus();
|
String status = data.getWorkStatus();
|
||||||
int result = 0;
|
int result = 5;
|
||||||
if (status != null && !status.trim().isEmpty()) {
|
if (status != null && !status.trim().isEmpty()) {
|
||||||
// 1.0 -> 1, 2.0 -> 2
|
// 1.0 -> 1, 2.0 -> 2
|
||||||
result = (int) Double.parseDouble(status.trim());
|
result = (int) Double.parseDouble(status.trim());
|
||||||
|
|||||||
@ -192,14 +192,21 @@ public class EmsDeviceSettingServiceImpl implements IEmsDeviceSettingService
|
|||||||
String parentDeviceId = request.getParentId();
|
String parentDeviceId = request.getParentId();
|
||||||
String ipAddress = request.getIpAddress();
|
String ipAddress = request.getIpAddress();
|
||||||
Integer ipPort = request.getIpPort();
|
Integer ipPort = request.getIpPort();
|
||||||
|
log.info("处理点位清单,deviceCategory:"+ deviceCategory);
|
||||||
|
log.info("处理点位清单,deviceId:"+ deviceId);
|
||||||
|
log.info("处理点位清单,parentDeviceId:"+ parentDeviceId);
|
||||||
|
|
||||||
Integer isAlarm = request.getIsAlarm() == null ? PointType.NO.getCode() : request.getIsAlarm();
|
Integer isAlarm = request.getIsAlarm() == null ? PointType.NO.getCode() : request.getIsAlarm();
|
||||||
// 电动所的电池簇特殊处理-来源pcs+bmsd
|
// 电动所的电池簇特殊处理-来源pcs+bmsd
|
||||||
if (siteId.equals(DDS_SITE_ID) && DeviceCategory.CLUSTER.getCode().equals(deviceCategory)) {
|
if (siteId.equals(DDS_SITE_ID) && DeviceCategory.CLUSTER.getCode().equals(deviceCategory)) {
|
||||||
response = specialDealWithDDSCluster(siteId,deviceId,deviceCategory,dataPointName,dataPoint,ipAddress,ipPort,isAlarm);
|
response = specialDealWithDDSCluster(siteId,deviceId,deviceCategory,dataPointName,dataPoint,ipAddress,ipPort,isAlarm);
|
||||||
} else if (DeviceCategory.BATTERY.getCode().equals(deviceCategory)) {
|
} else if (DeviceCategory.BATTERY.getCode().equals(deviceCategory)) {
|
||||||
|
log.info("单体电池处理,parentdeviceId:"+ parentDeviceId);
|
||||||
response = specialDealWithBattery(siteId,deviceId,deviceCategory,
|
response = specialDealWithBattery(siteId,deviceId,deviceCategory,
|
||||||
dataPointName,dataPoint,parentDeviceId,ipAddress,ipPort,isAlarm);
|
dataPointName,dataPoint,parentDeviceId,ipAddress,ipPort,isAlarm);
|
||||||
} else {
|
} else {
|
||||||
|
log.info("处理点位清单,ELSE");
|
||||||
|
|
||||||
response = emsPointMatchMapper.getSingleSiteDevicePoints(
|
response = emsPointMatchMapper.getSingleSiteDevicePoints(
|
||||||
siteId,deviceId,deviceCategory,dataPointName,dataPoint,ipAddress,ipPort,isAlarm);
|
siteId,deviceId,deviceCategory,dataPointName,dataPoint,ipAddress,ipPort,isAlarm);
|
||||||
String redisDataKey = RedisKeyConstants.ORIGINAL_MQTT_DATA;
|
String redisDataKey = RedisKeyConstants.ORIGINAL_MQTT_DATA;
|
||||||
@ -301,18 +308,20 @@ public class EmsDeviceSettingServiceImpl implements IEmsDeviceSettingService
|
|||||||
if (PointType.YES.getCode().equals(isAlarm)) {
|
if (PointType.YES.getCode().equals(isAlarm)) {
|
||||||
redisDataKey = RedisKeyConstants.ORIGINAL_MQTT_DATA_ALARM;
|
redisDataKey = RedisKeyConstants.ORIGINAL_MQTT_DATA_ALARM;
|
||||||
}
|
}
|
||||||
if (SiteEnum.DDS.getCode().equals(siteId)) {
|
//TODO 单体电池数据统一有 BMSC 提供
|
||||||
// dds单体电池数据来源于BMSD
|
// if (SiteEnum.DDS.getCode().equals(siteId)) {
|
||||||
EmsDevicesSetting clusterDevice = emsDevicesMapper.getDeviceBySiteAndDeviceId(parentDeviceId,siteId);
|
// // dds单体电池数据来源于BMSD
|
||||||
String bmsdDeviceId = clusterDevice == null ? "" :clusterDevice.getParentId();
|
// EmsDevicesSetting clusterDevice = emsDevicesMapper.getDeviceBySiteAndDeviceId(parentDeviceId,siteId);
|
||||||
if (StringUtils.isEmpty(bmsdDeviceId)) {
|
// String bmsdDeviceId = clusterDevice == null ? "" :clusterDevice.getParentId();
|
||||||
return response;
|
// if (StringUtils.isEmpty(bmsdDeviceId)) {
|
||||||
}
|
// return response;
|
||||||
jsonObject = redisCache.getCacheObject(redisDataKey + siteId + "_" + bmsdDeviceId);
|
// }
|
||||||
} else if (SiteEnum.FX.getCode().equals(siteId)) {
|
// jsonObject = redisCache.getCacheObject(redisDataKey + siteId + "_" + bmsdDeviceId);
|
||||||
|
// } else if (SiteEnum.FX.getCode().equals(siteId)) {
|
||||||
// fx单体电池数据来源于父类簇BMSC
|
// fx单体电池数据来源于父类簇BMSC
|
||||||
jsonObject = redisCache.getCacheObject(redisDataKey + siteId + "_" + parentDeviceId);
|
jsonObject = redisCache.getCacheObject(redisDataKey + siteId + "_" + parentDeviceId);
|
||||||
}
|
// }
|
||||||
|
log.info("点位 key:"+redisDataKey+ ",点位数据:"+jsonObject);
|
||||||
if (jsonObject != null) {
|
if (jsonObject != null) {
|
||||||
// 填充数据
|
// 填充数据
|
||||||
fillBatteryData(jsonObject,siteId, deviceId, response);
|
fillBatteryData(jsonObject,siteId, deviceId, response);
|
||||||
@ -325,19 +334,28 @@ public class EmsDeviceSettingServiceImpl implements IEmsDeviceSettingService
|
|||||||
if (StringUtils.isEmpty(jsonData)) {
|
if (StringUtils.isEmpty(jsonData)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
//TODO deviceId 获取前三位
|
||||||
|
String xdeviceId = "";
|
||||||
|
if (deviceId != null && deviceId.length()>3) {
|
||||||
|
xdeviceId = deviceId.substring(0, 3);
|
||||||
|
}
|
||||||
Map<String, Object> obj = JSON.parseObject(jsonData, new TypeReference<Map<String, Object>>() {
|
Map<String, Object> obj = JSON.parseObject(jsonData, new TypeReference<Map<String, Object>>() {
|
||||||
});
|
});
|
||||||
|
log.info("单体电池的点位数据组合 obj:"+JSON.toJSONString(obj));
|
||||||
Long updateTime = Long.valueOf(jsonObject.get("timestamp").toString());
|
Long updateTime = Long.valueOf(jsonObject.get("timestamp").toString());
|
||||||
Date dataUpdateTime = DateUtils.convertUpdateTime(updateTime);
|
Date dataUpdateTime = DateUtils.convertUpdateTime(updateTime);
|
||||||
// 遍历点位数据,设最新值
|
// 遍历点位数据,设最新值
|
||||||
for (PointQueryResponse pointInfo : response) {
|
for (PointQueryResponse pointInfo : response) {
|
||||||
String dataKey = "";
|
String dataKey = "";
|
||||||
if (SiteEnum.DDS.getCode().equals(siteId)) {
|
//TODO 统一处理单体电池逻辑
|
||||||
dataKey = "DTDC" + deviceId + pointInfo.getDataPoint();
|
// if (SiteEnum.DDS.getCode().equals(siteId)) {
|
||||||
} else if (SiteEnum.FX.getCode().equals(siteId)) {
|
// dataKey = "DTDC" + xdeviceId + pointInfo.getDataPoint();
|
||||||
dataKey = pointInfo.getDataPoint() + deviceId;
|
// log.info("单体电池的点位数据组合 dataKey:"+dataKey);
|
||||||
}
|
// } else if (SiteEnum.FX.getCode().equals(siteId)) {
|
||||||
pointInfo.setPointValue(obj.get(dataKey));
|
// dataKey = pointInfo.getDataPoint();
|
||||||
|
log.info("单体电池的点位数据组合 dataKey:"+dataKey);
|
||||||
|
// }
|
||||||
|
pointInfo.setPointValue(obj.get(pointInfo.getDataPoint()));
|
||||||
pointInfo.setUpdateTime(dataUpdateTime);
|
pointInfo.setUpdateTime(dataUpdateTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -711,11 +711,12 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//TODO 临时删除排序
|
||||||
// 排序
|
// 排序
|
||||||
List<BatteryDataStatsListVo> sortedList = batteryDataStatsListVo.stream()
|
// List<BatteryDataStatsListVo> sortedList = batteryDataStatsListVo.stream()
|
||||||
.sorted((u1, u2) -> Integer.parseInt(u1.getDeviceId()) - Integer.parseInt(u2.getDeviceId()))
|
// .sorted((u1, u2) -> Integer.parseInt(u1.getClusterDeviceId()) - Integer.parseInt(u2.getClusterDeviceId()))
|
||||||
.collect(Collectors.toList());
|
// .collect(Collectors.toList());
|
||||||
return sortedList;
|
return batteryDataStatsListVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取单站的最大最小温度和电压单体数据id
|
// 获取单站的最大最小温度和电压单体数据id
|
||||||
|
|||||||
Reference in New Issue
Block a user