Compare commits

...

2 Commits

Author SHA1 Message Date
aed3f830f5 Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	ems-system/src/main/java/com/xzzn/ems/mapper/EmsBatteryDataMapper.java
#	ems-system/src/main/resources/mapper/ems/EmsBatteryDataMapper.xml
2025-06-29 14:04:55 +08:00
747ce8a08d 数据分次提交改成一次性提交 2025-06-29 14:03:24 +08:00
5 changed files with 45 additions and 5 deletions

View File

@ -89,7 +89,7 @@ public class MqttMessageController implements MqttPublisher, MqttSubscriber {
System.out.println("[DEVICE] data: " + payload);
try {
// 业务处理逻辑
// handleFxData(payload);
handleFxData(payload);
EmsMqttMessage mqttMessage = new EmsMqttMessage();
mqttMessage.setMqttTopic(topic);
@ -148,7 +148,7 @@ public class MqttMessageController implements MqttPublisher, MqttSubscriber {
log.info("BMS data:"+ jsonData);
Map<String, Map<String, Object>> records = processData(JSON.parseObject(jsonData, new TypeReference<Map<String, Object>>() {}));
List<EmsBatteryData> list = new ArrayList<>();
//单体电池
for (Map.Entry<String, Map<String, Object>> record : records.entrySet()) {
String recordId = record.getKey();
@ -172,8 +172,10 @@ public class MqttMessageController implements MqttPublisher, MqttSubscriber {
data.setSiteId(("021"));
data.setClusterDeviceId(("021"));
emsBatteryDataService.insertEmsBatteryData(data);
list.add(data);
}
if (list.size() > 0 ) {
emsBatteryDataService.insertEmsBatteryDataList(list);
}
} else if (deviceId.contains("PCS")) {
log.info("====================");

View File

@ -4,8 +4,9 @@ import java.util.List;
import java.util.Map;
import com.xzzn.ems.domain.EmsBatteryData;
import com.xzzn.ems.domain.vo.BMSBatteryClusterDataList;
import com.xzzn.ems.domain.vo.BatteryClusterDataDetailVo;
import com.xzzn.ems.domain.vo.BatteryDataStatsListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
@ -92,4 +93,7 @@ public interface EmsBatteryDataMapper
* @return
*/
public List<BatteryDataStatsListVo> getAllBatteryDataByClusterId(String clusterDeviceId);
int insertEmsBatteryDataList(List<EmsBatteryData> emsBatteryDataList);
}

View File

@ -59,4 +59,13 @@ public interface IEmsBatteryDataService
* @return 结果
*/
public int deleteEmsBatteryDataById(Long id);
/**
* 新增单体电池实时数据
*
* @param emsBatteryDataList 单体电池实时数据
* @return 结果
*/
public int insertEmsBatteryDataList(List<EmsBatteryData> emsBatteryDataList);
}

View File

@ -93,4 +93,12 @@ public class EmsBatteryDataServiceImpl implements IEmsBatteryDataService
{
return emsBatteryDataMapper.deleteEmsBatteryDataById(id);
}
@Override
public int insertEmsBatteryDataList(List<EmsBatteryData> emsBatteryDataList) {
for (EmsBatteryData data : emsBatteryDataList) {
data.setCreateTime(DateUtils.getNowDate());
}
return emsBatteryDataMapper.insertEmsBatteryDataList(emsBatteryDataList);
}
}

View File

@ -194,4 +194,21 @@
WHERE rn = 1
</select>
<insert id="insertEmsBatteryDataList" parameterType="java.util.List">
INSERT INTO ems_battery_data (
battery_pack, battery_cluster, battery_cell_id,
voltage, temperature, soc, soh, data_timestamp,
create_by, create_time, update_by, update_time,
remark, site_id, device_id, cluster_device_id
) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.batteryPack}, #{item.batteryCluster}, #{item.batteryCellId},
#{item.voltage}, #{item.temperature}, #{item.soc}, #{item.soh}, #{item.dataTimestamp},
#{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime},
#{item.remark}, #{item.siteId}, #{item.deviceId}, #{item.clusterDeviceId}
)
</foreach>
</insert>
</mapper>