dev #2

Merged
dashixiong merged 349 commits from dev into main 2026-02-11 01:55:46 +00:00
190 changed files with 17231 additions and 934 deletions
Showing only changes of commit b25f5310e1 - Show all commits

View File

@ -14,6 +14,7 @@ import com.xzzn.ems.mapper.*;
import com.xzzn.ems.service.IDDSDataProcessService; import com.xzzn.ems.service.IDDSDataProcessService;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -46,34 +47,32 @@ public class DDSDataProcessServiceImpl implements IDDSDataProcessService {
@Autowired @Autowired
private EmsAmmeterDataMapper emsAmmeterDataMapper; private EmsAmmeterDataMapper emsAmmeterDataMapper;
@Autowired
private EmsBatteryDailyLatestServiceImpl emsBatteryDailyLatestServiceImpl;
@Override @Override
public void handleDdsData(String message) { public void handleDdsData(String message) {
JSONArray arraylist = JSONArray.parseArray(message); JSONObject obj = JSONObject.parseObject(message);
for (int i = 0; i < arraylist.size(); i++) { String deviceId = obj.get("Device").toString();
JSONObject obj = JSONObject.parseObject(arraylist.get(i).toString()); String jsonData = obj.get("Data").toString();
String deviceId = obj.get("Device").toString(); log.info("deviceId:" + deviceId);
String jsonData = obj.get("Data").toString(); if (deviceId.contains("BMSD")) {
batteryStackDataProcess(deviceId, jsonData);
log.info("deviceId:" + deviceId); } else if (deviceId.contains("BMSC")) {
if (deviceId.contains("BMSD")) { log.info("BMSC data:" + jsonData);
batteryStackDataProcess(deviceId, jsonData); batteryClusterDataProcess(deviceId, jsonData);
batteryDataProcess(deviceId, jsonData);
} else if (deviceId.contains("BMSC")) { } else if (deviceId.contains("PCS")) {
log.info("BMSC data:"+ jsonData); pcsDataProcess(deviceId, jsonData);
batteryClusterDataProcess(deviceId, jsonData); pcsBranchDataProcess(deviceId, jsonData);
batteryDataProcess(deviceId, jsonData); } else if (deviceId.contains("LOAD")) {
loadDataProcess(deviceId, jsonData);
} else if (deviceId.contains("PCS")) { } else if (deviceId.contains("METE")) {
pcsDataProcess(deviceId, jsonData); meteDataProcess(deviceId, jsonData);
pcsBranchDataProcess(deviceId, jsonData);
} else if (deviceId.contains("LOAD")) {
loadDataProcess(deviceId, jsonData);
} else if (deviceId.contains("METE")) {
meteDataProcess(deviceId, jsonData);
}
} }
} }
@ -253,6 +252,7 @@ public class DDSDataProcessServiceImpl implements IDDSDataProcessService {
//单体电池 //单体电池
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>>() {}));
List<EmsBatteryData> list = new ArrayList<>(); List<EmsBatteryData> list = new ArrayList<>();
List<EmsBatteryDataDailyLatest> dailyList = new ArrayList<>();
//单体电池 //单体电池
for (Map.Entry<String, Map<String, Object>> record : records.entrySet()) { for (Map.Entry<String, Map<String, Object>> record : records.entrySet()) {
String recordId = record.getKey(); String recordId = record.getKey();
@ -277,6 +277,12 @@ public class DDSDataProcessServiceImpl implements IDDSDataProcessService {
batteryData.setClusterDeviceId(deviceId); batteryData.setClusterDeviceId(deviceId);
list.add(batteryData); list.add(batteryData);
// 每日最新数据
EmsBatteryDataDailyLatest daily = new EmsBatteryDataDailyLatest();
BeanUtils.copyProperties(batteryData, daily);
daily.setDateDay(DateUtils.getNowDate());
dailyList.add(daily);
} }
if (list.size() > 0 ) { if (list.size() > 0 ) {
emsBatteryDataMapper.insertEmsBatteryDataList(list); emsBatteryDataMapper.insertEmsBatteryDataList(list);
@ -284,6 +290,10 @@ public class DDSDataProcessServiceImpl implements IDDSDataProcessService {
redisCache.deleteList(RedisKeyConstants.BATTERY + SITE_ID + "_" +deviceId); redisCache.deleteList(RedisKeyConstants.BATTERY + SITE_ID + "_" +deviceId);
redisCache.setCacheList(RedisKeyConstants.BATTERY + SITE_ID + "_" +deviceId, list); redisCache.setCacheList(RedisKeyConstants.BATTERY + SITE_ID + "_" +deviceId, list);
} }
// 批量处理每日最新数据
if (dailyList != null && dailyList.size() > 0) {
emsBatteryDailyLatestServiceImpl.batchProcessBatteryData(dailyList);
}
} }

View File

@ -46,7 +46,7 @@ public class FXXDataProcessServiceImpl implements IFXXDataProcessService {
private EmsDevicesSettingMapper emsDevicesSettingMapper; private EmsDevicesSettingMapper emsDevicesSettingMapper;
@Autowired @Autowired
private EmsAmmeterDataMapper emsAmmeterDataMapper;; private EmsAmmeterDataMapper emsAmmeterDataMapper;
@Autowired @Autowired
private EmsBatteryDailyLatestServiceImpl emsBatteryDailyLatestServiceImpl; private EmsBatteryDailyLatestServiceImpl emsBatteryDailyLatestServiceImpl;
@ -296,16 +296,11 @@ public class FXXDataProcessServiceImpl implements IFXXDataProcessService {
} }
// 批量处理每日最新数据 // 批量处理每日最新数据
batchProcessDailyData(dailyList);
}
private void batchProcessDailyData(List<EmsBatteryDataDailyLatest> dailyList) {
if (dailyList != null && dailyList.size() > 0) { if (dailyList != null && dailyList.size() > 0) {
emsBatteryDailyLatestServiceImpl.batchProcessBatteryData(dailyList); emsBatteryDailyLatestServiceImpl.batchProcessBatteryData(dailyList);
} }
} }
private void pcsDataProcess(String deviceId, String dataJson) { private void pcsDataProcess(String deviceId, String dataJson) {
Map<String, Object> obj = JSON.parseObject(dataJson, new TypeReference<Map<String, Object>>() { Map<String, Object> obj = JSON.parseObject(dataJson, new TypeReference<Map<String, Object>>() {
}); });