Browse Source

1、添加当水位监测压变离线时,监测界面显示离线,不显示最近液位

dev
25604 2 weeks ago
parent
commit
7c294a1196
  1. 4
      user-service/src/main/java/com/mh/user/mapper/DeviceInstallMapper.java
  2. 45
      user-service/src/main/java/com/mh/user/service/impl/NowDataServiceImpl.java

4
user-service/src/main/java/com/mh/user/mapper/DeviceInstallMapper.java

@ -350,4 +350,8 @@ public interface DeviceInstallMapper extends BaseMapper<DeviceInstallEntity> {
" and device_addr = #{pumpId} ") " and device_addr = #{pumpId} ")
String selectSinglePumpId(@Param("buildingId") String buildingId, String selectSinglePumpId(@Param("buildingId") String buildingId,
@Param("pumpId") String pumpId); @Param("pumpId") String pumpId);
@ResultMap("rs")
@Select("select * from device_install where building_id = #{buildingId} and device_type = #{deviceType} ")
List<DeviceInstallEntity> selectOfflineDevice(String buildingId, String deviceType);
} }

45
user-service/src/main/java/com/mh/user/service/impl/NowDataServiceImpl.java

@ -1,17 +1,17 @@
package com.mh.user.service.impl; package com.mh.user.service.impl;
import com.mh.common.utils.StringUtils; import com.mh.common.utils.StringUtils;
import com.mh.user.constants.Constant;
import com.mh.user.entity.*; import com.mh.user.entity.*;
import com.mh.user.mapper.DeviceFloorMapper; import com.mh.user.mapper.*;
import com.mh.user.mapper.DeviceInstallMapper;
import com.mh.user.mapper.NowDataMapper;
import com.mh.user.mapper.NowPublicDataMapper;
import com.mh.user.model.DeviceModel; import com.mh.user.model.DeviceModel;
import com.mh.user.model.PumpModel; import com.mh.user.model.PumpModel;
import com.mh.user.model.WaterLevelModel; import com.mh.user.model.WaterLevelModel;
import com.mh.user.service.BuildingService; import com.mh.user.service.BuildingService;
import com.mh.user.service.DealDataService;
import com.mh.user.service.DeviceInstallService; import com.mh.user.service.DeviceInstallService;
import com.mh.user.service.NowDataService; import com.mh.user.service.NowDataService;
import com.mh.user.utils.DateUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -46,9 +46,14 @@ public class NowDataServiceImpl implements NowDataService {
@Autowired @Autowired
BuildingService buildingService; BuildingService buildingService;
@Autowired
DealDataService dealDataService;
ReentrantLock lockA = new ReentrantLock(); ReentrantLock lockA = new ReentrantLock();
ReentrantLock lockB = new ReentrantLock(); ReentrantLock lockB = new ReentrantLock();
@Autowired
private AreaMapper areaMapper;
@Override @Override
public void saveNowData(NowDataEntity nowDataEntity) { public void saveNowData(NowDataEntity nowDataEntity) {
@ -169,7 +174,11 @@ public class NowDataServiceImpl implements NowDataService {
DeviceInstallEntity deviceInstallEntity=deviceInstallMapper.selectDevice(deviceAddr,deviceType,buildingId); DeviceInstallEntity deviceInstallEntity=deviceInstallMapper.selectDevice(deviceAddr,deviceType,buildingId);
String buildingName=buildingService.queryBuildingName(buildingId); String buildingName=buildingService.queryBuildingName(buildingId);
data.setBuildingName(buildingName); data.setBuildingName(buildingName);
if (deviceType.equals("温控")) { // 获取项目名称
String name = dealDataService.customName();
if (deviceType.equals("温控")
&& !name.contains(Constant.CUSTOM_NAME_HUAXIA)
&& !name.contains(Constant.CUSTOM_NAME_HUARUAN) ) {
//为了兼容旧系统,旧系统热泵信息保存在楼面表,从楼面表获取热泵资料 //为了兼容旧系统,旧系统热泵信息保存在楼面表,从楼面表获取热泵资料
PumpModel pump=deviceFloorMapper.selectDeviceId2("热泵",buildingId); PumpModel pump=deviceFloorMapper.selectDeviceId2("热泵",buildingId);
String pumpId="1"; String pumpId="1";
@ -343,12 +352,34 @@ public class NowDataServiceImpl implements NowDataService {
public List<NowDataEntity> queryNowData(String buildingId) { public List<NowDataEntity> queryNowData(String buildingId) {
nowDataMapper.updateTempSet(buildingId); nowDataMapper.updateTempSet(buildingId);
nowDataMapper.updateLevelSet(buildingId); nowDataMapper.updateLevelSet(buildingId);
return nowDataMapper.queryNowData(buildingId); List<NowDataEntity> nowDataEntities = nowDataMapper.queryNowData(buildingId);
List<DeviceInstallEntity> list = deviceInstallMapper.selectOfflineDevice(buildingId, "压变");
if (list != null && list.size() > 0) {
for (DeviceInstallEntity deviceInstallEntity : list) {
if (!DateUtil.isToday(deviceInstallEntity.getLastDate())) {
// 使用stream流nowDataEntities,批量更新waterLevel="离线"
nowDataEntities.stream()
.filter(nowDataEntity -> buildingId.equals(nowDataEntity.getBuildingId()))
.forEach(nowDataEntity -> nowDataEntity.setWaterLevel("离线"));
}
}
}
return nowDataEntities;
} }
@Override @Override
public NowDataEntity queryNowDataByPump(String buildingId,String pumpId) { public NowDataEntity queryNowDataByPump(String buildingId,String pumpId) {
return nowDataMapper.queryNowDataByPump(buildingId,pumpId); // 查询当前楼栋离线的设备
List<DeviceInstallEntity> list = deviceInstallMapper.selectOfflineDevice(buildingId, "压变");
NowDataEntity nowDataEntity = nowDataMapper.queryNowDataByPump(buildingId, pumpId);
if (list != null && list.size() > 0) {
for (DeviceInstallEntity deviceInstallEntity : list) {
if (!DateUtil.isToday(deviceInstallEntity.getLastDate())) {
nowDataEntity.setWaterLevel("离线");
}
}
}
return nowDataEntity;
} }
@Override @Override

Loading…
Cancel
Save