From 5912cb4e4705b60875a2b1aa4beb1f7c94fc72e1 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Thu, 23 Sep 2021 17:41:51 +0800 Subject: [PATCH] 通过组织id获取政府站点列表 --- screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java | 69 +++++++++++++++++++++++----------- 1 files changed, 46 insertions(+), 23 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 b957e2d..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,6 +12,7 @@ import com.moral.api.service.DeviceService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.service.OrganizationService; import com.moral.api.service.SysDictDataService; import com.moral.api.util.CacheUtils; import com.moral.api.util.AdjustDataUtils; @@ -39,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; @@ -92,6 +94,9 @@ @Autowired private AdjustDataUtils adjustDataUtils; + + @Autowired + private OrganizationService organizationService; /* * ���redis������������������ @@ -242,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); } @@ -269,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); } //������������������������������ @@ -391,6 +406,16 @@ mpInfo.put("provinceCode", monitorPoint.getProvinceCode()); deviceInfo.put("monitorPoint", mpInfo); + //������������ + Map<String, Object> govMpInfo = new LinkedHashMap<>(); + + 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; } @@ -431,13 +456,11 @@ Map<String, Object> adjustFormula = redisTemplate.opsForHash().entries(RedisConstants.ADJUST + "_" + mac); if (!ObjectUtils.isEmpty(adjustFormula)) { Map<String, Object> deviceInfo = getDeviceByMac(mac); - Map<String, Object> monitorPoint = (Map<String, Object>) deviceInfo.get("monitorPoint"); - String areaCode = monitorPoint.get("areaCode").toString(); - String cityCode = monitorPoint.get("cityCode").toString(); - - Map<String, Object> aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, areaCode); - if (ObjectUtils.isEmpty(aqiMap)) { - aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, cityCode); + //������������������������������������ + 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()); } return adjustDataUtils.adjust(deviceData, adjustFormula, ObjectUtils.isEmpty(aqiMap) ? null : aqiMap); } @@ -518,12 +541,12 @@ } /** - * @Description: ��������������������������������������������������������������������������������������������� - * @Param: [orgId, versionId] - * @return: void - * @Author: ��������� - * @Date: 2021/9/6 - */ + * @Description: ��������������������������������������������������������������������������������������������� + * @Param: [orgId, versionId] + * @return: void + * @Author: ��������� + * @Date: 2021/9/6 + */ private void insertOrganizationUnitAlarm(Integer orgId, Integer versionId) { //��������������������������� QueryWrapper<OrganizationUnitAlarm> queryOrganizationVersionWrapper = new QueryWrapper<>(); @@ -546,7 +569,7 @@ String sensorCode = versionSensorUnit.getSensorCode(); //��������������������� SysDictData alarm = sensorAlarms.get(sensorCode); - if(alarm!=null) + if (alarm != null) organizationUnitAlarm.setAlarmLevel(alarm.getDataValue()); organizationUnitAlarm.setOrganizationId(orgId); organizationUnitAlarm.setVersionId(versionId); @@ -560,12 +583,12 @@ } /** - * @Description: ������������������������������������������������������������������������������������������������������������������������������������ - * @Param: [orgId, versionId] - * @return: void - * @Author: ��������� - * @Date: 2021/9/6 - */ + * @Description: ������������������������������������������������������������������������������������������������������������������������������������ + * @Param: [orgId, versionId] + * @return: void + * @Author: ��������� + * @Date: 2021/9/6 + */ private void deleteOrganizationUnitAlarm(Integer orgId, Integer versionId) { QueryWrapper<Device> queryOrganizationVersionWrapper = new QueryWrapper<>(); queryOrganizationVersionWrapper.eq("organization_id", orgId); -- Gitblit v1.8.0