From 3ddfa12fbc43e80e99e4959fbac8881eaa8e3ca3 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Mon, 17 Jan 2022 16:22:44 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev_ --- screen-api/src/main/java/com/moral/api/pojo/form/aqi/AirQualityComparisonForm.java | 74 ++++++++++++++++++++++++------------- 1 files changed, 48 insertions(+), 26 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/pojo/form/aqi/AirQualityComparisonForm.java b/screen-api/src/main/java/com/moral/api/pojo/form/aqi/AirQualityComparisonForm.java index 950633c..df4aca9 100644 --- a/screen-api/src/main/java/com/moral/api/pojo/form/aqi/AirQualityComparisonForm.java +++ b/screen-api/src/main/java/com/moral/api/pojo/form/aqi/AirQualityComparisonForm.java @@ -23,28 +23,24 @@ Integer regionCode; /* - * ������������ 0������������������1������������������2���28������ + * ������������ city������������������province������������������28���28������ * */ String regionType; /* - * ���������������0��������� 1��������� + * ���������������yoy��������� mom��������� * */ String comparisonType; /* * ��������������������������������������������������� * */ - @DateTimeFormat(pattern = "yyyy") - @JsonFormat(pattern = "yyyy", timezone = "GMT+8") - Date year; + String dateType; /* * ��������������������������������������������������� * */ - @DateTimeFormat(pattern = "yyyy-MM") - @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8") - Date month; + String time; /* * ��������������������������������� @@ -60,6 +56,16 @@ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") Date endDate; + /* + * ������������������ + * */ + Date comparisonStartDate; + + /* + * ������������������ + * */ + Date comparisonEndDate; + public boolean valid() { //������������������������������������ if(regionType==null||comparisonType==null) @@ -73,27 +79,43 @@ } if (regionType.equals(Constants.PROVINCE_TYPE)) { String regionCodeStr = regionCode.toString(); - if (!regionCodeStr.substring(regionCodeStr.length() - 4, regionCodeStr.length()).equals("0000")) - return false; + regionCode = Integer.parseInt(regionCodeStr.substring(0,regionCodeStr.length()-4)+"0000"); } //������������ - if (year != null) { - if(month!=null) - return false; - startDate = DateUtils.getFirstDayOfYear(year); - endDate = DateUtils.getLastDayOfYear(year); - return true; + if(dateType.equals(Constants.MONTH)){ + Date date = DateUtils.getDate(time, "yyyy-MM"); + startDate = DateUtils.getFirstDayOfMonth(date); + endDate = DateUtils.getLastDayOfMonth(date); } - if (month != null) { - if(year!=null) - return false; - startDate = DateUtils.getFirstDayOfMonth(month); - endDate = DateUtils.getLastDayOfMonth(month); - return true; - } - if(startDate!=null&&endDate!=null) - return true; - return false; + if(dateType.equals(Constants.YEAR)){ + Date date = DateUtils.getDate(time, "yyyy"); + startDate = DateUtils.getFirstDayOfYear(date); + endDate = DateUtils.getLastDayOfYear(date); + } + + if(startDate==null||endDate==null) + return false; + + calculateComparisonDate(); + + return true; + } + + /** + * @Description: ������������������ + * @Param: [startDate, endDate] + * @return: void + * @Author: ��������� + * @Date: 2022/1/14 + */ + private void calculateComparisonDate(){ + if(comparisonType.equals(Constants.MOM)){ + comparisonStartDate = DateUtils.addMonths(startDate,-1); + comparisonEndDate = DateUtils.addMonths(endDate,-1); + }else{ + comparisonStartDate = DateUtils.addMonths(startDate,-12); + comparisonEndDate = DateUtils.addMonths(endDate,-12); + } } } -- Gitblit v1.8.0