From 30d1267479ad9cb076cb2692befc6fe3a53fa7d9 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Thu, 25 Jul 2019 16:04:19 +0800 Subject: [PATCH] 删选监控站点和设备的因子 --- src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java | 72 ++++++++++++++++++++++++----------- 1 files changed, 49 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java b/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java index 1e2b781..4ae4086 100644 --- a/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java +++ b/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java @@ -1,17 +1,23 @@ package com.moral.service.impl; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; + import com.moral.common.exception.BusinessException; -import com.moral.common.util.ReportTimeFormat; import com.moral.entity.Organization; import com.moral.entity.charts.TimePeriod; -import com.moral.entity.charts.TimeUnits; import com.moral.mapper.HangzhouAqiMapper; import com.moral.mapper.OrganizationMapper; import com.moral.service.HangzhouAqiService; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.*; /** * @Auther: fengxiang @@ -24,28 +30,30 @@ private OrganizationMapper organizationMapper; @Resource private HangzhouAqiMapper hangzhouAqiMapper; + + public List<Map> queryAqiOfTimePeriod(String code,TimePeriod timePeriod) { + return hangzhouAqiMapper.selectAqisByCodeAndTimePeriod(code,timePeriod); + } /** * ������������id������������24������������aqi������ * @param orgId * @return ���������������24���������������������������������������0 */ - @Override - public List<Map> queryAqi24Hours(Integer orgId){ - return queryAqi24Hours(orgId,false); - } - private List<Map> queryAqi24Hours(Integer orgId,boolean isGetCity) { - List<Map> aqi24HoursValues = new ArrayList<>(24); - Date start = ReportTimeFormat.dateCalc(new Date(), TimeUnits.HOUR,-24); - Date end = new Date(); + @SuppressWarnings("serial") + @Override + public List<Map<String, Object>> queryAqi24Hours(Integer orgId) { + List<Map<String, Object>> aqi24HoursValues = new ArrayList<>(24); +/* + Date now = ReportTimeFormat.getFormatDate(ReportTimeFormat.HOUR_FORMAT); + Date start = ReportTimeFormat.dateCalc(now, TimeUnits.HOUR,-24); + Date end = ReportTimeFormat.dateCalc(now, TimeUnits.MILLISECOND,-1);; TimePeriod timePeriod = new TimePeriod(start,end,TimeUnits.HOUR); - Integer code = getCode(orgId,isGetCity); - if(code == null) { - throw new BusinessException("citeCode or areaCode is null;"); - } - List<Map> aqis = hangzhouAqiMapper.selectAqisByCodeAndTimePeriod(code.toString(),timePeriod); + Integer code = getCode(orgId,false); + List<Map> aqis = queryAqiOfTimePeriod(code.toString(),timePeriod); List<String> timeList = ReportTimeFormat.makeTimeList(timePeriod); - if(aqis!=null && aqis.size()==0 && !isGetCity) { - return queryAqi24Hours(orgId,true); + if(CollectionUtils.isEmpty(aqis)) { + code = getCode(orgId,true); + aqis = queryAqiOfTimePeriod(code.toString(),timePeriod); } int mTemp = 0; for(int n =0;n<timeList.size();n++) { @@ -65,15 +73,33 @@ aqiItem.put("aqi",aqiValue); aqi24HoursValues.add(aqiItem); } +*/ + Organization organization = organizationMapper.selectByPrimaryKey(orgId); + + Map<String, Object> parameters = new HashMap<String, Object>(){{ + put("end", LocalDateTime.now()); + put("cityCode", organization.getAreaCode()); + }}; + aqi24HoursValues = hangzhouAqiMapper.getAqisByOrganizationId(parameters); + if (ObjectUtils.isEmpty(aqi24HoursValues)) { + parameters.put("cityCode", organization.getCityCode()); + aqi24HoursValues = hangzhouAqiMapper.getAqisByOrganizationId(parameters); + } + Collections.reverse(aqi24HoursValues); return aqi24HoursValues; } private Integer getCode(Integer orgId,boolean isGetCityCode) { Organization org = organizationMapper.selectByPrimaryKey(orgId); + Integer code = null; if(isGetCityCode) { - return org.getCityCode(); + code = org.getCityCode(); }else{ - return org.getAreaCode()!=null? org.getAreaCode() : org.getCityCode(); + code = org.getAreaCode(); } + if(code == null) { + throw new BusinessException("citeCode or areaCode is null;"); + } + return code; } } -- Gitblit v1.8.0