diff --git a/ems-common/src/main/java/com/xzzn/common/constant/RedisKeyConstants.java b/ems-common/src/main/java/com/xzzn/common/constant/RedisKeyConstants.java index 5edda60..30231c4 100644 --- a/ems-common/src/main/java/com/xzzn/common/constant/RedisKeyConstants.java +++ b/ems-common/src/main/java/com/xzzn/common/constant/RedisKeyConstants.java @@ -52,6 +52,11 @@ public class RedisKeyConstants */ public static final String ORIGINAL_BMSD = "BMSD_"; + /** + * 冷却数据 redis key + */ + public static final String COOLING = "COOLING_"; + /** * 存放单个设备同步过来的原始数据 */ diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsCoolingData.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsCoolingData.java index a469528..2e85dc8 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsCoolingData.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsCoolingData.java @@ -11,7 +11,7 @@ import com.xzzn.common.annotation.Excel; * 冷却系统参数对象 ems_cooling_data * * @author xzzn - * @date 2025-06-29 + * @date 2025-09-26 */ public class EmsCoolingData extends BaseEntity { @@ -24,8 +24,8 @@ public class EmsCoolingData extends BaseEntity @Excel(name = "系统名称,如1#液冷") private String systemName; - /** 工作模式 */ - @Excel(name = "工作模式") + /** 工作模式:0-正常 1-停止 */ + @Excel(name = "工作模式:0-正常 1-停止") private String workMode; /** 当前温度 (℃) */ @@ -56,6 +56,34 @@ public class EmsCoolingData extends BaseEntity @Excel(name = "低温告警点 (℃)") private BigDecimal lowTempAlarmPoint; + /** 供水温度 */ + @Excel(name = "供水温度") + private BigDecimal gsTemp; + + /** 回水温度 */ + @Excel(name = "回水温度") + private BigDecimal hsTemp; + + /** 供水压力 */ + @Excel(name = "供水压力") + private BigDecimal gsPressure; + + /** 回水压力 */ + @Excel(name = "回水压力") + private BigDecimal hsPressure; + + /** 冷源水温度 */ + @Excel(name = "冷源水温度") + private BigDecimal lysTemp; + + /** VB01开度 */ + @Excel(name = "VB01开度") + private BigDecimal vb01Kd; + + /** VB02开度 */ + @Excel(name = "VB02开度") + private BigDecimal vb02Kd; + /** 站点id */ @Excel(name = "站点id") private String siteId; @@ -164,6 +192,76 @@ public class EmsCoolingData extends BaseEntity return lowTempAlarmPoint; } + public void setGsTemp(BigDecimal gsTemp) + { + this.gsTemp = gsTemp; + } + + public BigDecimal getGsTemp() + { + return gsTemp; + } + + public void setHsTemp(BigDecimal hsTemp) + { + this.hsTemp = hsTemp; + } + + public BigDecimal getHsTemp() + { + return hsTemp; + } + + public void setGsPressure(BigDecimal gsPressure) + { + this.gsPressure = gsPressure; + } + + public BigDecimal getGsPressure() + { + return gsPressure; + } + + public void setHsPressure(BigDecimal hsPressure) + { + this.hsPressure = hsPressure; + } + + public BigDecimal getHsPressure() + { + return hsPressure; + } + + public void setLysTemp(BigDecimal lysTemp) + { + this.lysTemp = lysTemp; + } + + public BigDecimal getLysTemp() + { + return lysTemp; + } + + public void setVb01Kd(BigDecimal vb01Kd) + { + this.vb01Kd = vb01Kd; + } + + public BigDecimal getVb01Kd() + { + return vb01Kd; + } + + public void setVb02Kd(BigDecimal vb02Kd) + { + this.vb02Kd = vb02Kd; + } + + public BigDecimal getVb02Kd() + { + return vb02Kd; + } + public void setSiteId(String siteId) { this.siteId = siteId; @@ -197,6 +295,13 @@ public class EmsCoolingData extends BaseEntity .append("heatingStopPoint", getHeatingStopPoint()) .append("coolingStopPoint", getCoolingStopPoint()) .append("lowTempAlarmPoint", getLowTempAlarmPoint()) + .append("gsTemp", getGsTemp()) + .append("hsTemp", getHsTemp()) + .append("gsPressure", getGsPressure()) + .append("hsPressure", getHsPressure()) + .append("lysTemp", getLysTemp()) + .append("vb01Kd", getVb01Kd()) + .append("vb02Kd", getVb02Kd()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/CoolingDataViewVo.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/CoolingDataViewVo.java new file mode 100644 index 0000000..9f19015 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/CoolingDataViewVo.java @@ -0,0 +1,118 @@ +package com.xzzn.ems.domain.vo; + +import com.xzzn.common.annotation.Excel; + +import java.math.BigDecimal; + +/** + * 单站监控-液冷 + * + */ +public class CoolingDataViewVo { + + /** 设备名称 */ + private String deviceName; + + /** 供水温度 */ + @Excel(name = "供水温度") + private BigDecimal gsTemp; + + /** 回水温度 */ + @Excel(name = "回水温度") + private BigDecimal hsTemp; + + /** 供水压力 */ + @Excel(name = "供水压力") + private BigDecimal gsPressure; + + /** 回水压力 */ + @Excel(name = "回水压力") + private BigDecimal hsPressure; + + /** 冷源水温度 */ + @Excel(name = "冷源水温度") + private BigDecimal lysTemp; + + /** VB01开度 */ + @Excel(name = "VB01开度") + private BigDecimal vb01Kd; + + /** VB02开度 */ + @Excel(name = "VB02开度") + private BigDecimal vb02Kd; + + /** 设备唯一标识符 */ + private String deviceId; + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public BigDecimal getGsTemp() { + return gsTemp; + } + + public void setGsTemp(BigDecimal gsTemp) { + this.gsTemp = gsTemp; + } + + public BigDecimal getHsTemp() { + return hsTemp; + } + + public void setHsTemp(BigDecimal hsTemp) { + this.hsTemp = hsTemp; + } + + public BigDecimal getGsPressure() { + return gsPressure; + } + + public void setGsPressure(BigDecimal gsPressure) { + this.gsPressure = gsPressure; + } + + public BigDecimal getHsPressure() { + return hsPressure; + } + + public void setHsPressure(BigDecimal hsPressure) { + this.hsPressure = hsPressure; + } + + public BigDecimal getLysTemp() { + return lysTemp; + } + + public void setLysTemp(BigDecimal lysTemp) { + this.lysTemp = lysTemp; + } + + public BigDecimal getVb01Kd() { + return vb01Kd; + } + + public void setVb01Kd(BigDecimal vb01Kd) { + this.vb01Kd = vb01Kd; + } + + public BigDecimal getVb02Kd() { + return vb02Kd; + } + + public void setVb02Kd(BigDecimal vb02Kd) { + this.vb02Kd = vb02Kd; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/service/IEmsAlarmRecordsService.java b/ems-system/src/main/java/com/xzzn/ems/service/IEmsAlarmRecordsService.java index ece699c..9fc29d1 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/IEmsAlarmRecordsService.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/IEmsAlarmRecordsService.java @@ -69,7 +69,7 @@ public interface IEmsAlarmRecordsService public List getAlarmRecordDetailList(AlarmRecordListRequestVo requestVo); /** - * 生产工单号 + * 生产工单号并设置告警处理中 * * @param id * @param userId diff --git a/ems-system/src/main/java/com/xzzn/ems/service/ISingleSiteService.java b/ems-system/src/main/java/com/xzzn/ems/service/ISingleSiteService.java index e24eba0..fa88d06 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/ISingleSiteService.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/ISingleSiteService.java @@ -25,7 +25,7 @@ public interface ISingleSiteService public List getBMSBatteryCluster(String siteId); - public List getCoolingDataList(String siteId); + public List getCoolingDataList(String siteId); public List getClusterDataInfoList(String clusterDeviceId,String siteId, String stackDeviceId, String batteryId); diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsAlarmRecordsServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsAlarmRecordsServiceImpl.java index e6aa6dc..146c54e 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsAlarmRecordsServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsAlarmRecordsServiceImpl.java @@ -145,6 +145,7 @@ public class EmsAlarmRecordsServiceImpl implements IEmsAlarmRecordsService ticketNo = createRandomTicketNo(); // 更新告警表 emsAlarmRecords.setTicketNo(ticketNo); + emsAlarmRecords.setStatus(AlarmStatus.PROCESSING.getCode()); emsAlarmRecordsMapper.updateEmsAlarmRecords(emsAlarmRecords); // 不存在-默认userId if (userId == null) { 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 d7a7f56..05f54f0 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 @@ -67,6 +67,8 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl private EmsDhDataMapper emsDhDataMapper; @Autowired private IEmsAlarmRecordsService iEmsAlarmRecordsService; + @Autowired + private EmsCoolingDataMapper emsCoolingDataMapper; // 构造方法(调用父类构造) public FXXDataProcessServiceImpl(ObjectMapper objectMapper) { @@ -112,10 +114,38 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl meteDataProcess(deviceId, jsonData); } else if (deviceId.contains("donghuan")) { dhDataProcess(deviceId, jsonData); + } else if (deviceId.contains("ZSLQ")) { + coolingDataProcess(deviceId, jsonData); } } } + private void coolingDataProcess(String deviceId, String jsonData) { + //中水冷却 + Map obj = JSON.parseObject(jsonData, new TypeReference>() { + }); + + EmsCoolingData coolingData = new EmsCoolingData(); + coolingData.setGsTemp(StringUtils.getBigDecimal(obj.get("GSWD"))); + coolingData.setHsTemp(StringUtils.getBigDecimal(obj.get("HSWD"))); + coolingData.setGsPressure(StringUtils.getBigDecimal(obj.get("GSYL"))); + coolingData.setHsPressure(StringUtils.getBigDecimal(obj.get("HSYL"))); + coolingData.setLysTemp(StringUtils.getBigDecimal(obj.get("LYSWD"))); + coolingData.setVb01Kd(StringUtils.getBigDecimal(obj.get("VB1KD"))); + coolingData.setVb02Kd(StringUtils.getBigDecimal(obj.get("VB2KD"))); + + coolingData.setCreateBy("system"); + coolingData.setCreateTime(DateUtils.getNowDate()); + coolingData.setUpdateBy("system"); + coolingData.setUpdateTime(DateUtils.getNowDate()); + coolingData.setSiteId(SITE_ID); + coolingData.setDeviceId(deviceId); + + emsCoolingDataMapper.insertEmsCoolingData(coolingData); + + redisCache.setCacheObject(RedisKeyConstants.COOLING + SITE_ID + "_" +deviceId, coolingData); + } + private void dhDataProcess(String deviceId, String dataJson) { //动环 Map obj = JSON.parseObject(dataJson, new TypeReference>() { diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java index 7b23cee..e5bf9b4 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java @@ -542,10 +542,21 @@ public class SingleSiteServiceImpl implements ISingleSiteService { // 获取液冷设备参数 @Override - public List getCoolingDataList(String siteId) { - List emsCoolingDataList = new ArrayList<>(); - if (!StringUtils.isEmpty(siteId)) { - emsCoolingDataList = emsCoolingDataMapper.getCoolingDataList(siteId); + public List getCoolingDataList(String siteId) { + List emsCoolingDataList = new ArrayList<>(); + + List> deviceIds = emsDevicesSettingMapper.getDeviceInfosBySiteIdAndCategory(siteId, DeviceCategory.COOLING.getCode()); + for (Map deviceId : deviceIds) { + CoolingDataViewVo dataViewVo = new CoolingDataViewVo(); + dataViewVo.setDeviceName(deviceId.get("deviceName").toString()); + // 从redis取堆单个详细数据 + String coolingId = deviceId.get("id").toString(); + EmsCoolingData coolingData = redisCache.getCacheObject(RedisKeyConstants.COOLING + siteId + "_" + coolingId); + if (coolingData != null) { + BeanUtils.copyProperties(coolingData, dataViewVo); + } + + emsCoolingDataList.add(dataViewVo); } return emsCoolingDataList; } diff --git a/ems-system/src/main/resources/mapper/ems/EmsCoolingDataMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsCoolingDataMapper.xml index 99e6067..ed058c2 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsCoolingDataMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsCoolingDataMapper.xml @@ -15,6 +15,13 @@ + + + + + + + @@ -25,7 +32,7 @@ - select id, system_name, work_mode, current_temperature, heating_start_point, cooling_start_point, high_temp_alarm_point, heating_stop_point, cooling_stop_point, low_temp_alarm_point, create_by, create_time, update_by, update_time, remark, site_id, device_id from ems_cooling_data + select id, system_name, work_mode, current_temperature, heating_start_point, cooling_start_point, high_temp_alarm_point, heating_stop_point, cooling_stop_point, low_temp_alarm_point, gs_temp, hs_temp, gs_pressure, hs_pressure, lys_temp, vb01_kd, vb02_kd, create_by, create_time, update_by, update_time, remark, site_id, device_id from ems_cooling_data