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