电表逻辑修改

This commit is contained in:
2025-06-30 18:14:24 +08:00
parent 337599d1c6
commit fbab6ea631
7 changed files with 45 additions and 25 deletions

View File

@ -4,7 +4,7 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* 表详细数据
* 表详细数据
*/
public class AmmeterDataDetailInfo
{

View File

@ -10,6 +10,9 @@ import java.util.List;
*/
public class AmmeterDataVo {
/** 电表名称 */
private String deviceName;
/** 通信状态 */
private String emsCommunicationStatus;
@ -19,6 +22,14 @@ public class AmmeterDataVo {
private List<AmmeterDataDetailInfo> ammeterDataDetailInfos;
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public String getEmsCommunicationStatus() {
return emsCommunicationStatus;
}

View File

@ -3,6 +3,7 @@ package com.xzzn.ems.mapper;
import java.util.List;
import com.xzzn.ems.domain.EmsAmmeterData;
import com.xzzn.ems.domain.vo.AmmeterDataDetailInfo;
import org.apache.ibatis.annotations.Param;
/**
* 总数据Mapper接口
@ -65,5 +66,5 @@ public interface EmsAmmeterDataMapper
* @param siteId
* @return
*/
public List<AmmeterDataDetailInfo> getAmmeterDetailInfo(String siteId);
public List<AmmeterDataDetailInfo> getAmmeterDetailInfo(@Param("siteId")String siteId,@Param("deviceId") String deviceId);
}

View File

@ -74,11 +74,10 @@ public interface EmsDevicesSettingMapper
* @return
*/
public List<Map<String, Object>> getAllClusterInfoByStackId(String stackDeviceId);
/**
* 获取设备通信状态
* @param deviceId
* 获取设备下的所有电表
* @param siteId
* @return
*/
public Map<String, Object> getDeviceStatus(String deviceId);
public List<EmsDevicesSetting> getAllBatteryDeviceBySiteId(String siteId);
}

View File

@ -3,6 +3,7 @@ package com.xzzn.ems.service.impl;
import com.xzzn.common.utils.StringUtils;
import com.xzzn.ems.domain.EmsBatteryData;
import com.xzzn.ems.domain.EmsCoolingData;
import com.xzzn.ems.domain.EmsDevicesSetting;
import com.xzzn.ems.domain.vo.*;
import com.xzzn.ems.mapper.*;
import com.xzzn.ems.service.ISingleSiteService;
@ -255,20 +256,26 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
@Override
public List<AmmeterDataVo> getAmmeterDataList(String siteId) {
List<AmmeterDataVo> ammeterDataVos = new ArrayList<>();
AmmeterDataVo ammeterDataVo = new AmmeterDataVo();
if (!StringUtils.isEmpty(siteId)) {
List<AmmeterDataDetailInfo> ammeterDataDetailInfos = emsAmmeterDataMapper.getAmmeterDetailInfo(siteId);
ammeterDataVo.setAmmeterDataDetailInfos(ammeterDataDetailInfos);
if (!CollectionUtils.isEmpty(ammeterDataDetailInfos)) {
// 获取通信状态
String deviceId = ammeterDataDetailInfos.get(0).getDeviceId();
Map<String,Object> map = emsDevicesSettingMapper.getDeviceStatus(deviceId);
ammeterDataVo.setEmsCommunicationStatus(map.get("communication_status").toString());
// 数据更新时间
ammeterDataVo.setDataUpdateTime(ammeterDataDetailInfos.get(0).getUpdateTime());
// 先获取所有电表设备
List<EmsDevicesSetting> devicesList = emsDevicesSettingMapper.getAllBatteryDeviceBySiteId(siteId);
if (!CollectionUtils.isEmpty(devicesList)) {
for (EmsDevicesSetting devicesSetting : devicesList) {
AmmeterDataVo ammeterDataVo = new AmmeterDataVo();
ammeterDataVo.setDeviceName(devicesSetting.getDeviceName());
ammeterDataVo.setEmsCommunicationStatus(devicesSetting.getCommunicationStatus());
String deviceId = devicesSetting.getDeviceId();
// 获取类别数据
List<AmmeterDataDetailInfo> ammeterDataDetailInfos = emsAmmeterDataMapper.getAmmeterDetailInfo(siteId,deviceId);
ammeterDataVo.setAmmeterDataDetailInfos(ammeterDataDetailInfos);
// 数据更新时间
ammeterDataVo.setDataUpdateTime(ammeterDataDetailInfos.get(0).getUpdateTime());
ammeterDataVos.add(ammeterDataVo);
}
}
}
ammeterDataVos.add(ammeterDataVo);
return ammeterDataVos;
}