平台修改意见20251120-BMS电池簇新增字段-数据更新时间

This commit is contained in:
zq
2025-12-05 18:07:12 +08:00
parent 62340387bb
commit 3605702209
4 changed files with 41 additions and 4 deletions

View File

@ -1,7 +1,9 @@
package com.xzzn.ems.domain; package com.xzzn.ems.domain;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xzzn.common.core.domain.BaseEntity; import com.xzzn.common.core.domain.BaseEntity;
import com.xzzn.common.utils.StringUtils; import com.xzzn.common.utils.StringUtils;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
@ -21,6 +23,11 @@ public class EmsBatteryCluster extends BaseEntity
/** */ /** */
private Long id; private Long id;
/** 数据更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "数据更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date dataUpdateTime;
/** 工作状态0-正常 1-异常 2-停止 */ /** 工作状态0-正常 1-异常 2-停止 */
@Excel(name = "工作状态0-正常 1-异常 2-停止") @Excel(name = "工作状态0-正常 1-异常 2-停止")
private String workStatus; private String workStatus;
@ -223,6 +230,14 @@ public class EmsBatteryCluster extends BaseEntity
return id; return id;
} }
public Date getDataUpdateTime() {
return dataUpdateTime;
}
public void setDataUpdateTime(Date dataUpdateTime) {
this.dataUpdateTime = dataUpdateTime;
}
public void setWorkStatus(String workStatus) public void setWorkStatus(String workStatus)
{ {
this.workStatus = workStatus; this.workStatus = workStatus;

View File

@ -1,6 +1,9 @@
package com.xzzn.ems.domain.vo; package com.xzzn.ems.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -12,6 +15,10 @@ public class BMSBatteryClusterVo {
/** 设备名称 */ /** 设备名称 */
private String deviceName; private String deviceName;
/** 数据更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dataUpdateTime;
/** 工作状态 */ /** 工作状态 */
private String workStatus; private String workStatus;
@ -70,6 +77,14 @@ public class BMSBatteryClusterVo {
this.deviceName = deviceName; this.deviceName = deviceName;
} }
public Date getDataUpdateTime() {
return dataUpdateTime;
}
public void setDataUpdateTime(Date dataUpdateTime) {
this.dataUpdateTime = dataUpdateTime;
}
public String getWorkStatus() { public String getWorkStatus() {
return workStatus; return workStatus;
} }

View File

@ -182,12 +182,12 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
batteryGroupDataProcess(siteId, deviceId, jsonData); batteryGroupDataProcess(siteId, deviceId, jsonData);
batteryDataProcessFromBmsd(siteId, deviceId, jsonData, dataUpdateTime); batteryDataProcessFromBmsd(siteId, deviceId, jsonData, dataUpdateTime);
} else if (deviceId.contains(SiteDevice.BMSC.name())) { } else if (deviceId.contains(SiteDevice.BMSC.name())) {
batteryClusterDataProcess(siteId, deviceId, jsonData); batteryClusterDataProcess(siteId, deviceId, jsonData, dataUpdateTime);
batteryDataProcessFromBmsc(siteId, deviceId, jsonData, dataUpdateTime); batteryDataProcessFromBmsc(siteId, deviceId, jsonData, dataUpdateTime);
} else if (deviceId.contains(SiteDevice.PCS.name())) { } else if (deviceId.contains(SiteDevice.PCS.name())) {
pcsDataProcess(siteId, deviceId, jsonData, dataUpdateTime); pcsDataProcess(siteId, deviceId, jsonData, dataUpdateTime);
pcsBranchDataProcess(siteId, deviceId, jsonData); pcsBranchDataProcess(siteId, deviceId, jsonData);
batteryClusterDataProcess(siteId, jsonData); batteryClusterDataProcess(siteId, jsonData, dataUpdateTime);
} else if (deviceId.contains(SiteDevice.LOAD.name())) { } else if (deviceId.contains(SiteDevice.LOAD.name())) {
loadDataProcess(siteId, deviceId, jsonData, dataUpdateTime); loadDataProcess(siteId, deviceId, jsonData, dataUpdateTime);
} else if (deviceId.contains(SiteDevice.METEGF.name()) } else if (deviceId.contains(SiteDevice.METEGF.name())
@ -560,7 +560,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
} }
} }
private void batteryClusterDataProcess(String siteId, String deviceId, String dataJson) { private void batteryClusterDataProcess(String siteId, String deviceId, String dataJson, Date dataUpdateTime) {
Map<String, Object> obj = JSON.parseObject(dataJson, new TypeReference<Map<String, Object>>() { Map<String, Object> obj = JSON.parseObject(dataJson, new TypeReference<Map<String, Object>>() {
}); });
@ -576,6 +576,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
saveDeviceData(pointMatchList, obj, data); saveDeviceData(pointMatchList, obj, data);
data.setDataUpdateTime(dataUpdateTime);
data.setWorkStatus(WorkStatus.NORMAL.getCode()); // 或其他默认值 data.setWorkStatus(WorkStatus.NORMAL.getCode()); // 或其他默认值
data.setPcsCommunicationStatus(CommunicationStatus.OK.getCode()); data.setPcsCommunicationStatus(CommunicationStatus.OK.getCode());
data.setEmsCommunicationStatus(CommunicationStatus.OK.getCode()); data.setEmsCommunicationStatus(CommunicationStatus.OK.getCode());
@ -812,7 +813,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
} }
private void batteryClusterDataProcess(String siteId, String dataJson) { private void batteryClusterDataProcess(String siteId, String dataJson, Date dataUpdateTime) {
if (!SiteEnum.DDS.getCode().equals(siteId)) { if (!SiteEnum.DDS.getCode().equals(siteId)) {
return; return;
} }
@ -831,6 +832,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
//BMSC 电池簇 //BMSC 电池簇
EmsBatteryCluster data = new EmsBatteryCluster(); EmsBatteryCluster data = new EmsBatteryCluster();
// 其他非 BigDecimal 字段 // 其他非 BigDecimal 字段
data.setDataUpdateTime(dataUpdateTime);
data.setWorkStatus(WorkStatus.NORMAL.getCode()); // 或其他默认值 data.setWorkStatus(WorkStatus.NORMAL.getCode()); // 或其他默认值
data.setPcsCommunicationStatus(CommunicationStatus.OK.getCode()); data.setPcsCommunicationStatus(CommunicationStatus.OK.getCode());
data.setEmsCommunicationStatus(CommunicationStatus.OK.getCode()); data.setEmsCommunicationStatus(CommunicationStatus.OK.getCode());

View File

@ -6,6 +6,7 @@
<resultMap type="EmsBatteryCluster" id="EmsBatteryClusterResult"> <resultMap type="EmsBatteryCluster" id="EmsBatteryClusterResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="dataUpdateTime" column="data_update_time" />
<result property="workStatus" column="work_status" /> <result property="workStatus" column="work_status" />
<result property="pcsCommunicationStatus" column="pcs_communication_status" /> <result property="pcsCommunicationStatus" column="pcs_communication_status" />
<result property="emsCommunicationStatus" column="ems_communication_status" /> <result property="emsCommunicationStatus" column="ems_communication_status" />
@ -68,6 +69,7 @@
<select id="selectEmsBatteryClusterList" parameterType="EmsBatteryCluster" resultMap="EmsBatteryClusterResult"> <select id="selectEmsBatteryClusterList" parameterType="EmsBatteryCluster" resultMap="EmsBatteryClusterResult">
<include refid="selectEmsBatteryClusterVo"/> <include refid="selectEmsBatteryClusterVo"/>
<where> <where>
<if test="dataUpdateTime != null "> and data_update_time = #{dataUpdateTime}</if>
<if test="workStatus != null and workStatus != ''"> and work_status = #{workStatus}</if> <if test="workStatus != null and workStatus != ''"> and work_status = #{workStatus}</if>
<if test="pcsCommunicationStatus != null and pcsCommunicationStatus != ''"> and pcs_communication_status = #{pcsCommunicationStatus}</if> <if test="pcsCommunicationStatus != null and pcsCommunicationStatus != ''"> and pcs_communication_status = #{pcsCommunicationStatus}</if>
<if test="emsCommunicationStatus != null and emsCommunicationStatus != ''"> and ems_communication_status = #{emsCommunicationStatus}</if> <if test="emsCommunicationStatus != null and emsCommunicationStatus != ''"> and ems_communication_status = #{emsCommunicationStatus}</if>
@ -127,6 +129,7 @@
<insert id="insertEmsBatteryCluster" parameterType="EmsBatteryCluster" useGeneratedKeys="true" keyProperty="id"> <insert id="insertEmsBatteryCluster" parameterType="EmsBatteryCluster" useGeneratedKeys="true" keyProperty="id">
insert into ems_battery_cluster insert into ems_battery_cluster
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="dataUpdateTime != null">data_update_time,</if>
<if test="workStatus != null">work_status,</if> <if test="workStatus != null">work_status,</if>
<if test="pcsCommunicationStatus != null">pcs_communication_status,</if> <if test="pcsCommunicationStatus != null">pcs_communication_status,</if>
<if test="emsCommunicationStatus != null">ems_communication_status,</if> <if test="emsCommunicationStatus != null">ems_communication_status,</if>
@ -182,6 +185,7 @@
<if test="totalDischargeEnergy != null">total_discharge_energy,</if> <if test="totalDischargeEnergy != null">total_discharge_energy,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="dataUpdateTime != null">#{dataUpdateTime},</if>
<if test="workStatus != null">#{workStatus},</if> <if test="workStatus != null">#{workStatus},</if>
<if test="pcsCommunicationStatus != null">#{pcsCommunicationStatus},</if> <if test="pcsCommunicationStatus != null">#{pcsCommunicationStatus},</if>
<if test="emsCommunicationStatus != null">#{emsCommunicationStatus},</if> <if test="emsCommunicationStatus != null">#{emsCommunicationStatus},</if>
@ -241,6 +245,7 @@
<update id="updateEmsBatteryCluster" parameterType="EmsBatteryCluster"> <update id="updateEmsBatteryCluster" parameterType="EmsBatteryCluster">
update ems_battery_cluster update ems_battery_cluster
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="dataUpdateTime != null">data_update_time = #{dataUpdateTime},</if>
<if test="workStatus != null">work_status = #{workStatus},</if> <if test="workStatus != null">work_status = #{workStatus},</if>
<if test="pcsCommunicationStatus != null">pcs_communication_status = #{pcsCommunicationStatus},</if> <if test="pcsCommunicationStatus != null">pcs_communication_status = #{pcsCommunicationStatus},</if>
<if test="emsCommunicationStatus != null">ems_communication_status = #{emsCommunicationStatus},</if> <if test="emsCommunicationStatus != null">ems_communication_status = #{emsCommunicationStatus},</if>