|  |  |  | 
|---|
|  |  |  | import com.moral.api.entity.Device; | 
|---|
|  |  |  | import com.moral.api.entity.GovMonitorPoint; | 
|---|
|  |  |  | import com.moral.api.entity.HistoryHourly; | 
|---|
|  |  |  | import com.moral.api.entity.MonitorPoint; | 
|---|
|  |  |  | import com.moral.api.entity.Organization; | 
|---|
|  |  |  | import com.moral.api.mapper.DeviceMapper; | 
|---|
|  |  |  | import com.moral.api.mapper.GovMonitorPointMapper; | 
|---|
|  |  |  | import com.moral.api.service.GovMonitorPointService; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
|---|
|  |  |  | import com.moral.api.service.MonitorPointService; | 
|---|
|  |  |  | import com.moral.api.service.OrganizationService; | 
|---|
|  |  |  | import com.moral.constant.Constants; | 
|---|
|  |  |  | import com.moral.constant.RedisConstants; | 
|---|
|  |  |  | import com.moral.pojo.AQI; | 
|---|
|  |  |  | import com.moral.util.AQIUtils; | 
|---|
|  |  |  | import com.moral.util.RegionCodeUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.data.redis.core.RedisTemplate; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.annotation.Resource; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.text.SimpleDateFormat; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private HistoryHourlyServiceImpl historyHourlyService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private MonitorPointService monitorPointService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<GovMonitorPoint> queryGovMonitorPointAndDataByRegionCode(Integer regionCode,String sensorCode) { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | oneGovMonitorPointOneHourData.put("O3_8h_"+govMonitorPointId,O3_8h); | 
|---|
|  |  |  | switch (i){ | 
|---|
|  |  |  | case 0:hour_1.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 0: | 
|---|
|  |  |  | hour_1.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 1:hour_2.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 1: | 
|---|
|  |  |  | hour_2.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 2:hour_3.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 2: | 
|---|
|  |  |  | hour_3.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 3:hour_4.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 3: | 
|---|
|  |  |  | hour_4.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 4:hour_5.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 4: | 
|---|
|  |  |  | hour_5.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 5:hour_6.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 5: | 
|---|
|  |  |  | hour_6.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 6:hour_7.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 6: | 
|---|
|  |  |  | hour_7.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 7:hour_8.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 7: | 
|---|
|  |  |  | hour_8.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 8:hour_9.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 8: | 
|---|
|  |  |  | hour_9.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 9:hour_10.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 9: | 
|---|
|  |  |  | hour_10.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 10:hour_11.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 10: | 
|---|
|  |  |  | hour_11.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 11:hour_12.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 11: | 
|---|
|  |  |  | hour_12.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 12:hour_13.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 12: | 
|---|
|  |  |  | hour_13.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 13:hour_14.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 13: | 
|---|
|  |  |  | hour_14.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 14:hour_15.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 14: | 
|---|
|  |  |  | hour_15.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 15:hour_16.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 15: | 
|---|
|  |  |  | hour_16.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 16:hour_17.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 16: | 
|---|
|  |  |  | hour_17.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 17:hour_18.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 17: | 
|---|
|  |  |  | hour_18.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 18:hour_19.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 18: | 
|---|
|  |  |  | hour_19.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 19:hour_20.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 19: | 
|---|
|  |  |  | hour_20.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 20:hour_21.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 20: | 
|---|
|  |  |  | hour_21.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 21:hour_22.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 21: | 
|---|
|  |  |  | hour_22.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 22:hour_23.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 22: | 
|---|
|  |  |  | hour_23.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 23:hour_24.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | case 23: | 
|---|
|  |  |  | hour_24.putAll(oneGovMonitorPointOneHourData); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | 
|---|
|  |  |  | avgMap.put("aqi",""); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | switch (i){ | 
|---|
|  |  |  | case 0:hour_1.putAll(avgMap); | 
|---|
|  |  |  | case 0: | 
|---|
|  |  |  | hour_1.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 1:hour_2.putAll(avgMap); | 
|---|
|  |  |  | case 1: | 
|---|
|  |  |  | hour_2.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 2:hour_3.putAll(avgMap); | 
|---|
|  |  |  | case 2: | 
|---|
|  |  |  | hour_3.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 3:hour_4.putAll(avgMap); | 
|---|
|  |  |  | case 3: | 
|---|
|  |  |  | hour_4.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 4:hour_5.putAll(avgMap); | 
|---|
|  |  |  | case 4: | 
|---|
|  |  |  | hour_5.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 5:hour_6.putAll(avgMap); | 
|---|
|  |  |  | case 5: | 
|---|
|  |  |  | hour_6.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 6:hour_7.putAll(avgMap); | 
|---|
|  |  |  | case 6: | 
|---|
|  |  |  | hour_7.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 7:hour_8.putAll(avgMap); | 
|---|
|  |  |  | case 7: | 
|---|
|  |  |  | hour_8.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 8:hour_9.putAll(avgMap); | 
|---|
|  |  |  | case 8: | 
|---|
|  |  |  | hour_9.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 9:hour_10.putAll(avgMap); | 
|---|
|  |  |  | case 9: | 
|---|
|  |  |  | hour_10.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 10:hour_11.putAll(avgMap); | 
|---|
|  |  |  | case 10: | 
|---|
|  |  |  | hour_11.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 11:hour_12.putAll(avgMap); | 
|---|
|  |  |  | case 11: | 
|---|
|  |  |  | hour_12.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 12:hour_13.putAll(avgMap); | 
|---|
|  |  |  | case 12: | 
|---|
|  |  |  | hour_13.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 13:hour_14.putAll(avgMap); | 
|---|
|  |  |  | case 13: | 
|---|
|  |  |  | hour_14.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 14:hour_15.putAll(avgMap); | 
|---|
|  |  |  | case 14: | 
|---|
|  |  |  | hour_15.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 15:hour_16.putAll(avgMap); | 
|---|
|  |  |  | case 15: | 
|---|
|  |  |  | hour_16.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 16:hour_17.putAll(avgMap); | 
|---|
|  |  |  | case 16: | 
|---|
|  |  |  | hour_17.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 17:hour_18.putAll(avgMap); | 
|---|
|  |  |  | case 17: | 
|---|
|  |  |  | hour_18.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 18:hour_19.putAll(avgMap); | 
|---|
|  |  |  | case 18: | 
|---|
|  |  |  | hour_19.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 19:hour_20.putAll(avgMap); | 
|---|
|  |  |  | case 19: | 
|---|
|  |  |  | hour_20.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 20:hour_21.putAll(avgMap); | 
|---|
|  |  |  | case 20: | 
|---|
|  |  |  | hour_21.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 21:hour_22.putAll(avgMap); | 
|---|
|  |  |  | case 21: | 
|---|
|  |  |  | hour_22.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 22:hour_23.putAll(avgMap); | 
|---|
|  |  |  | case 22: | 
|---|
|  |  |  | hour_23.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 23:hour_24.putAll(avgMap); | 
|---|
|  |  |  | case 23: | 
|---|
|  |  |  | hour_24.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 24:hour_AVG.putAll(avgMap); | 
|---|
|  |  |  | case 24: | 
|---|
|  |  |  | hour_AVG.putAll(avgMap); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<Map<String, Object>> getGovMonitorPointsByOrganizationId(Integer organizationId) { | 
|---|
|  |  |  | //根据组织id获取所有监控站点 | 
|---|
|  |  |  | QueryWrapper<MonitorPoint> monitorPointQueryWrapper = new QueryWrapper<>(); | 
|---|
|  |  |  | monitorPointQueryWrapper.select("DISTINCT city_code") | 
|---|
|  |  |  | .eq("organization_id", organizationId) | 
|---|
|  |  |  | .eq("is_delete", Constants.NOT_DELETE); | 
|---|
|  |  |  | List<Object> cityCodes = monitorPointService.listObjs(monitorPointQueryWrapper); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //根据cityCodes获取国控重点信息 | 
|---|
|  |  |  | QueryWrapper<GovMonitorPoint> govMonitorPointQueryWrapper = new QueryWrapper<>(); | 
|---|
|  |  |  | govMonitorPointQueryWrapper.select("name", "longitude", "latitude") | 
|---|
|  |  |  | .eq("is_delete", Constants.NOT_DELETE) | 
|---|
|  |  |  | .in("city_code", cityCodes); | 
|---|
|  |  |  | return govMonitorPointMapper.selectMaps(govMonitorPointQueryWrapper); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|