From c7d5088dbd18cbbcb98d12aeac35e7d38cdf93be Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Sun, 26 Sep 2021 17:31:23 +0800 Subject: [PATCH] 臭氧8小时滑动值算法,分钟,小时数据时间变更为开始时间 --- screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java | 41 +++++++++++++++++++++++++++-------------- 1 files changed, 27 insertions(+), 14 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java index 4dfe2bb..64eee36 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java @@ -12,7 +12,7 @@ import com.moral.api.service.DeviceService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.moral.api.service.GovMonitorPointService; +import com.moral.api.service.OrganizationService; import com.moral.api.service.SysDictDataService; import com.moral.api.util.CacheUtils; import com.moral.api.util.AdjustDataUtils; @@ -40,6 +40,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; @@ -93,6 +94,9 @@ @Autowired private AdjustDataUtils adjustDataUtils; + + @Autowired + private OrganizationService organizationService; /* * ���redis������������������ @@ -243,8 +247,14 @@ @Override public List<Map<String, Object>> selectMonitorsByOrgId(Integer orgId) { + //��������������������� + List<Organization> organizations = organizationService.getAllChildrenOrganization(orgId); + List<Integer> orgIds = organizations.stream().map(Organization::getId).collect(Collectors.toList()); + orgIds.add(orgId); QueryWrapper<MonitorPoint> queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id", "name").eq("organization_id", orgId).eq("is_delete", Constants.NOT_DELETE); + queryWrapper.select("id", "name") + .eq("is_delete", Constants.NOT_DELETE) + .in("organization_id", orgIds); return monitorPointMapper.selectMaps(queryWrapper); } @@ -270,9 +280,13 @@ Object orgId = parameters.get("organizationId"); Object mpId = parameters.get("monitorPointId"); - //������������������������������ + //������������������������������,��������������� if (orgId != null) { - queryWrapper.eq("organization_id", orgId); + //��������������������� + List<Organization> organizations = organizationService.getAllChildrenOrganization(Integer.parseInt(orgId.toString())); + List<Integer> orgIds = organizations.stream().map(Organization::getId).collect(Collectors.toList()); + orgIds.add(Integer.parseInt(orgId.toString())); + queryWrapper.in("organization_id", orgIds); } //������������������������������ @@ -394,13 +408,14 @@ //������������ Map<String, Object> govMpInfo = new LinkedHashMap<>(); - GovMonitorPoint govMonitorPoint = device.getGovMonitorPoint(); - if (govMonitorPoint != null) { + + govMpInfo.put("guid", null); + govMpInfo.put("name", null); + if (device.getGovMonitorPoint() != null) { govMpInfo.put("guid", device.getGovMonitorPoint().getGuid()); govMpInfo.put("name", device.getGovMonitorPoint().getName()); } deviceInfo.put("govMonitorPoint", govMpInfo); - setDeviceInfoToRedis(mac, deviceInfo); return deviceInfo; } @@ -441,14 +456,12 @@ Map<String, Object> adjustFormula = redisTemplate.opsForHash().entries(RedisConstants.ADJUST + "_" + mac); if (!ObjectUtils.isEmpty(adjustFormula)) { Map<String, Object> deviceInfo = getDeviceByMac(mac); - //��������������������������������� - Map<String, Object> govMpInfo = (Map) deviceInfo.get("govMonitorPoint"); - if (ObjectUtils.isEmpty(govMpInfo.get("guid"))) { - return deviceData; + //������������������������������������ + Map<String, Object> govMpInfo = (Map<String, Object>) deviceInfo.get("govMonitorPoint"); + Map<String, Object> aqiMap = null; + if (govMpInfo.get("guid") != null) { + aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, govMpInfo.get("guid").toString()); } - String guid = (String) govMpInfo.get("guid"); - //���������������aqi������ - Map<String, Object> aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, guid); return adjustDataUtils.adjust(deviceData, adjustFormula, ObjectUtils.isEmpty(aqiMap) ? null : aqiMap); } deviceData.remove("DataTime"); -- Gitblit v1.8.0