From 492ca86b07ce2448e50a80693e72e89aaf3920bc Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Wed, 23 Feb 2022 16:59:17 +0800 Subject: [PATCH] 督办单update --- screen-api/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 48 insertions(+), 12 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java index 2fa600e..2ef07d2 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java @@ -10,15 +10,16 @@ import com.moral.api.pojo.dto.cityAQI.CityPollutionLevel; import com.moral.api.pojo.dto.cityAQI.MonthlyPollutionLevel; import com.moral.api.pojo.dto.cityAQI.PollutionDaysAndProportion; -import com.moral.api.pojo.form.aqi.AreaPollutionLevelForm; -import com.moral.api.pojo.form.aqi.SpecialCitiesPollutionLevelForm; +import com.moral.api.pojo.form.aqi.*; import com.moral.api.pojo.vo.cityAQI.PieChartOfPollutionLevelVO; -import com.moral.api.pojo.form.aqi.ChartOfPollutionLevelForm; import com.moral.api.service.CityAqiDailyService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.service.CityAqiMonthlyService; +import com.moral.api.service.CityAqiYearlyService; import com.moral.api.service.SysAreaService; import com.moral.constant.Constants; import com.moral.util.AQIUtils; +import com.moral.util.ComprehensiveIndexUtils; import com.moral.util.DateUtils; import com.moral.util.MathUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -45,6 +46,14 @@ SysAreaService sysAreaService; @Autowired SpecialCitiesProperties specialCitiesProperties; + + @Override + public List<CityAqiDaily> getCityAqiDailyByRegionCodeAndTime(Integer regionCode, Date startDate, Date endDate) { + QueryWrapper<CityAqiDaily> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("city_code",regionCode); + queryWrapper.between("time",startDate,endDate); + return cityAqiDailyMapper.selectList(queryWrapper); + } @Override public PieChartOfPollutionLevelVO queryPieChartOfPollutionLevels(ChartOfPollutionLevelForm form) { @@ -300,7 +309,7 @@ List<CityPollutionLevel> datas = new ArrayList<>(); //��������������������� ������������ for (SysArea area : allAreas) { - CityPollutionLevel cityPollutionLevel = calculateDaysByTimeAndCityCode(area,startDate,endDate); + CityPollutionLevel cityPollutionLevel = calculateDaysByTimeAndSysArea(area, startDate, endDate); datas.add(cityPollutionLevel); } return datas; @@ -316,26 +325,48 @@ List<CityPollutionLevel> datas = new ArrayList<>(); //��������������������� ������������ for (SysArea area : areas) { - CityPollutionLevel cityPollutionLevel = calculateDaysByTimeAndCityCode(area,startDate,endDate); + CityPollutionLevel cityPollutionLevel = calculateDaysByTimeAndSysArea(area, startDate, endDate); datas.add(cityPollutionLevel); } return datas; } + @Override + public List<CityPollutionLevel> queryProvinceCitiesPollutionLevel(ProvinceCitiesPollutionLevelForm form) { + //������ + Date startDate = form.getStartDate(); + Date endDate = form.getEndDate(); + Integer regionCode = form.getRegionCode(); + //������������������������ + List<SysArea> allCities = sysAreaService.getChildren(regionCode); + //������������������������ + List<CityPollutionLevel> datas = new ArrayList<>(); + //��������������������� ������������ + for (SysArea city : allCities) { + CityPollutionLevel cityPollutionLevel = calculateDaysByTimeAndSysArea(city, startDate, endDate); + datas.add(cityPollutionLevel); + } + return datas; + } + + /** - * @Description: ��������������������������������������������������������� - * @Param: [area, startDate, endDate] - * @return: com.moral.api.pojo.dto.cityAQI.CityPollutionLevel - * @Author: ��������� - * @Date: 2021/12/31 - */ - private CityPollutionLevel calculateDaysByTimeAndCityCode(SysArea area, Date startDate, Date endDate) { + * @Description: ��������������������������������������������������������� + * @Param: [area, startDate, endDate] + * @return: com.moral.api.pojo.dto.cityAQI.CityPollutionLevel + * @Author: ��������� + * @Date: 2021/12/31 + */ + @Override + public CityPollutionLevel calculateDaysByTimeAndSysArea(SysArea area, Date startDate, Date endDate) { //������������ QueryWrapper<CityAqiDaily> wrapper = new QueryWrapper<>(); wrapper.eq("city_code", area.getAreaCode()); wrapper.between("time", startDate, endDate); wrapper.orderByAsc("time"); List<CityAqiDaily> cityAqiDailies = cityAqiDailyMapper.selectList(wrapper); + if(ObjectUtils.isEmpty(cityAqiDailies)) + return null; //��������������������������������������� Map<String, CityAqiDaily> tmpMap = new LinkedHashMap<>(); for (CityAqiDaily cityAqiDaily : cityAqiDailies) { @@ -373,4 +404,9 @@ return cityPollutionLevel; } + + + + } + -- Gitblit v1.8.0