From 9efb87ed24a68509b861b5122c430dea2a67adb2 Mon Sep 17 00:00:00 2001 From: dashixiong Date: Tue, 1 Jul 2025 21:50:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=83=A8=E5=88=86=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/FXXDataProcessServiceImpl.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java index 3968249..417f965 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java @@ -41,6 +41,8 @@ public class FXXDataProcessServiceImpl implements IFXXDataProcessService { @Autowired private RedisCache redisCache; + @Autowired + private EmsDevicesSettingMapper emsDevicesSettingMapper;; @Override public void handleFxData(String message) { @@ -138,7 +140,13 @@ public class FXXDataProcessServiceImpl implements IFXXDataProcessService { Map obj = JSON.parseObject(dataJson, new TypeReference>() { }); - + EmsDevicesSetting joken = new EmsDevicesSetting(); + joken.setDeviceId(deviceId); + List up = emsDevicesSettingMapper.selectEmsDevicesSettingList(joken); + String stackDeviceId = ""; + if (up != null && up.size() >0) { + stackDeviceId = up.get(0).getParentId(); + } //BMS 电池簇 EmsBatteryCluster data = new EmsBatteryCluster(); // 设置所有 BigDecimal 类型字段为 ZERO @@ -195,14 +203,20 @@ public class FXXDataProcessServiceImpl implements IFXXDataProcessService { data.setMinCellSocId(StringUtils.getLong(obj.get("ZDDTSOCDYD"))); data.setMaxCellSohId(StringUtils.getLong(obj.get("ZGDTSOHDYD"))); data.setMinCellSohId(StringUtils.getLong(obj.get("ZDDTSOHDYD"))); - data.setStackDeviceId("1"); + data.setStackDeviceId(stackDeviceId); emsBatteryClusterMapper.insertEmsBatteryCluster(data); } private void batteryDataProcess(String deviceId, String dataJson) { - + EmsDevicesSetting joken = new EmsDevicesSetting(); + joken.setDeviceId(deviceId); + List up = emsDevicesSettingMapper.selectEmsDevicesSettingList(joken); + String stackDeviceId = ""; + if (up != null && up.size() >0) { + stackDeviceId = up.get(0).getParentId(); + } //单体电池 Map> records = processData(JSON.parseObject(dataJson, new TypeReference>() {})); List list = new ArrayList<>(); @@ -220,14 +234,14 @@ public class FXXDataProcessServiceImpl implements IFXXDataProcessService { batteryData.setVoltage(StringUtils.getBigDecimal(fields.get("DTDY"))); batteryData.setBatteryCluster(deviceId); - batteryData.setBatteryPack(deviceId); + batteryData.setBatteryPack(stackDeviceId); // 时间戳 batteryData.setDataTimestamp(new Date()); // ID字段 batteryData.setSiteId(("021_FXX_01")); - batteryData.setClusterDeviceId(("021")); + batteryData.setClusterDeviceId(deviceId); list.add(batteryData); }