From d2ef5afff8240c78616b2b4732d1bcd0eb8a248a Mon Sep 17 00:00:00 2001
From: lxw <810412026@qq.com>
Date: 星期六, 17 六月 2023 10:41:17 +0800
Subject: [PATCH] Merge branch 'master' of http://118.89.139.230:10101/r/fg_v2.0

---
 src/main/java/com/whyc/util/DateUtil.java |  318 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 288 insertions(+), 30 deletions(-)

diff --git a/src/main/java/com/whyc/util/DateUtil.java b/src/main/java/com/whyc/util/DateUtil.java
index 438caa3..e530933 100644
--- a/src/main/java/com/whyc/util/DateUtil.java
+++ b/src/main/java/com/whyc/util/DateUtil.java
@@ -68,23 +68,76 @@
      * <p>
      * 鏍规嵁浼犲叆鐨勮捣姝㈡椂闂�,鎸夌収骞村垏鍓叉垚涓嶅悓鏃堕棿娈�
      *
-     * @param startTimeStr 2021-01-01 10:00:00
-     * @param endTimeStr   2023-05-01 10:10:10
+     * @param startTime 2021-01-01 10:00:00
+     * @param endTime   2023-05-01 10:10:10
      * @return 绀轰緥[2021, 2022, 2023]
      * 浣跨敤鏂规硶:
      * 鏍规嵁杩斿洖鐨勭涓�涓暟鎹�,濡傛灉瀛樺湪琛�,鍒欐煡璇㈢瓫閫夋潯浠朵负>=杈撳叆鐨勮捣濮嬫椂闂�;涓嶅瓨鍦ㄥ垯寮冪敤杈撳叆鐨勮捣濮嬫椂闂�
      * 鏍规嵁杩斿洖鐨勬渶鍚庝釜鏁版嵁,濡傛灉琛ㄥ瓨鍦�,鍒欐煡璇㈢瓫閫夋潯浠朵负<=杈撳叆鐨勭粓姝㈡椂闂�;涓嶅瓨鍦ㄥ垯寮冪敤杈撳叆鐨勭粓姝㈡椂闂�
      * 杩斿洖鐨勯潪绗竴鏈�鍚庢暟鎹�,鏌ヨ鍏ㄨ〃
      */
-    public static List<Integer> getYearList(String startTimeStr,String endTimeStr) throws ParseException {
-        Integer startYear = Integer.valueOf(startTimeStr.split("-")[0]);
-        Integer endYear = Integer.valueOf(endTimeStr.split("-")[0]);
-        List<Integer> yearList = new LinkedList<>();
-        while (startYear<=endYear){
-            yearList.add(startYear);
-            startYear++;
+    public static Map<String,List<Date>> getYearList(Date startTime,Date endTime) throws ParseException {
+        Map<String,List<Date>> result = new LinkedHashMap<>();
+        Calendar startTimeC = Calendar.getInstance();
+        startTimeC.setTime(startTime);
+        int startYear = startTimeC.get(Calendar.YEAR);
+
+        Calendar endTimeC = Calendar.getInstance();
+        endTimeC.setTime(endTime);
+        int endYear = endTimeC.get(Calendar.YEAR);
+        int yearSize = endYear - startYear + 1;
+        for (int i = startYear; i <= endYear; i++) {
+            List<Date> dateList = new LinkedList<>();
+            if(yearSize == 1){ //璧锋鏃堕棿娌℃湁璺ㄥ勾
+                dateList.add(startTime);
+                dateList.add(endTime);
+            }
+            else if(i==startYear){ //绗竴骞�
+                dateList.add(startTime);
+
+                Calendar instance = Calendar.getInstance();
+                instance.set(Calendar.YEAR,i);
+                instance.set(Calendar.MONTH,instance.getActualMaximum(Calendar.MONTH));
+                instance.set(Calendar.DAY_OF_MONTH,instance.getActualMaximum(Calendar.DAY_OF_MONTH));
+                instance.set(Calendar.HOUR_OF_DAY,instance.getActualMaximum(Calendar.HOUR_OF_DAY));
+                instance.set(Calendar.MINUTE,instance.getActualMaximum(Calendar.MINUTE));
+                instance.set(Calendar.SECOND,instance.getActualMaximum(Calendar.SECOND));
+                dateList.add(instance.getTime());
+            }
+            else if(i== endYear){ //灏惧勾
+                Calendar instance = Calendar.getInstance();
+                instance.set(Calendar.YEAR,i);
+                instance.set(Calendar.MONTH,instance.getActualMinimum(Calendar.MONTH));
+                instance.set(Calendar.DAY_OF_MONTH,instance.getActualMinimum(Calendar.DAY_OF_MONTH));
+                instance.set(Calendar.HOUR_OF_DAY,instance.getActualMinimum(Calendar.HOUR_OF_DAY));
+                instance.set(Calendar.MINUTE,instance.getActualMinimum(Calendar.MINUTE));
+                instance.set(Calendar.SECOND,instance.getActualMinimum(Calendar.SECOND));
+                dateList.add(instance.getTime());
+
+                dateList.add(endTime);
+            }else{
+                Calendar instance = Calendar.getInstance();
+                instance.set(Calendar.YEAR,i);
+                instance.set(Calendar.MONTH,instance.getActualMinimum(Calendar.MONTH));
+                instance.set(Calendar.DAY_OF_MONTH,instance.getActualMinimum(Calendar.DAY_OF_MONTH));
+                instance.set(Calendar.HOUR_OF_DAY,instance.getActualMinimum(Calendar.HOUR_OF_DAY));
+                instance.set(Calendar.MINUTE,instance.getActualMinimum(Calendar.MINUTE));
+                instance.set(Calendar.SECOND,instance.getActualMinimum(Calendar.SECOND));
+                dateList.add(instance.getTime());
+
+                Calendar instance2 = Calendar.getInstance();
+                instance2.set(Calendar.YEAR,i);
+                instance2.set(Calendar.MONTH,instance2.getActualMaximum(Calendar.MONTH));
+                instance2.set(Calendar.DAY_OF_MONTH,instance2.getActualMaximum(Calendar.DAY_OF_MONTH));
+                instance2.set(Calendar.HOUR_OF_DAY,instance2.getActualMaximum(Calendar.HOUR_OF_DAY));
+                instance2.set(Calendar.MINUTE,instance2.getActualMaximum(Calendar.MINUTE));
+                instance2.set(Calendar.SECOND,instance2.getActualMaximum(Calendar.SECOND));
+                dateList.add(instance2.getTime());
+
+            }
+            result.put(String.valueOf(i),dateList);
         }
-        return yearList;
+        return result;
     }
 
     /**
@@ -125,7 +178,27 @@
         }
         return yearMonthList;
     }
-    public static List<List<Date>> getQueryTimeForSubTables(Date startTimeDate,Date endTimeDate) throws ParseException {
+
+    /**
+     *  鏌ヨ浣跨敤鏃�,闇�瑕佸鐞� 榛樿琛ㄦ煡璇㈢殑闂
+     *  绀轰緥:
+     *  <p>
+     * {2020=[Fri Dec 25 14:12:22 CST 2020, Thu Dec 31 23:59:59 CST 2020]}
+     * {2021=[Fri Jan 01 00:00:00 CST 2021, Fri Dec 31 23:59:59 CST 2021]}
+     * {2022=[Sat Jan 01 00:00:00 CST 2022, Tue Nov 29 09:12:22 CST 2022]}
+     * 鎴�
+     * {2020=[Fri Dec 25 14:12:22 CST 2020, Thu Dec 31 23:59:59 CST 2020]}
+     * {2021=[Fri Jan 01 00:00:00 CST 2021, Fri Dec 31 23:59:59 CST 2021]}
+     * {2022=[Sat Jan 01 00:00:00 CST 2022, Thu Dec 29 09:12:22 CST 2022]}
+     * {default=[Wed Dec 14 15:27:13 CST 2022, Thu Dec 29 09:12:22 CST 2022]}
+     * </p>
+     * key涓烘暟瀛�,琛ㄧず骞村害鍒嗚〃;default涓洪粯璁よ〃
+     * @param startTimeDate 璧峰鏃堕棿
+     * @param endTimeDate 缁堟鏃堕棿
+     * @return 闇�瑕佹煡璇㈢殑琛ㄥ強鏌ヨ鏃堕棿
+     * @throws ParseException
+     */
+    public static Map<String,List<Date>> getQueryTimeForSubTables(Date startTimeDate,Date endTimeDate) throws ParseException {
         //鏍规嵁绛涢�夌殑鏃堕棿娈�,鏌ヨ鍑虹鍚堣姹傜殑鍚勫垎琛ㄨ褰曟暟
         //棣栧厛,濡傛灉褰撳墠鏃堕棿瓒呰繃7鏈�,榛樿琛ㄤ腑鍙湁鏈勾搴︾殑;濡傛灉娌¤秴杩�7鏈�,榛樿琛ㄨ繕瀛樺湪涓婁竴骞村害鐨勮褰�
         Calendar instance = Calendar.getInstance();
@@ -138,38 +211,223 @@
         Date beforeYearTime = instance.getTime();
         instance.setTime(endTimeDate);
         int endTimeYear = instance.get(Calendar.YEAR);
-        List<List<Date>> monthTime;
-        if(nowYear == beforeYear){ //榛樿琛ㄥ彧鏈夋湰骞村害鐨�
-            monthTime = DateUtil.getMonthTime(startTimeDate, endTimeDate);
+
+        Calendar startTime = Calendar.getInstance();
+        startTime.setTime(startTimeDate);
+
+        Map<String,List<Date>> yearTimeMap = DateUtil.getYearList(startTimeDate, endTimeDate);;
+        if(nowYear == beforeYear){ //榛樿琛ㄥ彧鏈夋湰骞村害鐨�(瓒呰繃浜嗗崐骞�,榛樿琛ㄨ褰曞叏閮ㄥ彧鏈夋湰骞村害鐨�,鍚屾椂浼氱敓鎴愪簡褰撳墠骞村害鐨勫垎琛�)
             //濡傛灉鏌ヨ鏃堕棿鑼冨洿鍖呭惈褰撳墠骞村害,鍒欓渶瑕佹煡璇㈤粯璁よ〃
-            if(startTimeDate.getYear() >= nowYear && endTimeDate.getYear()<= nowYear){
-                //琛�
-                //monthTime.add();
+            if(startTime.get(Calendar.YEAR) >= nowYear && endTimeYear <= nowYear){
+                //寮�濮嬫椂闂磋缃勾搴﹀垵濮嬫椂闂�
+                Calendar defaultTableStartTime = Calendar.getInstance();
+                defaultTableStartTime.set(Calendar.YEAR,nowYear);
+                defaultTableStartTime.set(Calendar.MONTH,defaultTableStartTime.getActualMinimum(Calendar.MONTH));
+                defaultTableStartTime.set(Calendar.DAY_OF_MONTH,defaultTableStartTime.getActualMinimum(Calendar.DAY_OF_MONTH));
+                defaultTableStartTime.set(Calendar.HOUR_OF_DAY,defaultTableStartTime.getActualMinimum(Calendar.HOUR_OF_DAY));
+                defaultTableStartTime.set(Calendar.MINUTE,defaultTableStartTime.getActualMinimum(Calendar.MINUTE));
+                defaultTableStartTime.set(Calendar.SECOND,defaultTableStartTime.getActualMinimum(Calendar.SECOND));
+                //缁堟鏃堕棿璁剧疆涓哄綋鍓嶆椂闂�
+                List<Date> defaultDateList = new LinkedList<>();
+                defaultDateList.add(defaultTableStartTime.getTime());
+                defaultDateList.add(endTimeDate);
+
+                yearTimeMap.put("default",defaultDateList);
+
             }
 
-        }else{ //榛樿琛ㄤ腑瀛樺湪涓婁竴骞村害鐨勮褰�.涓婁竴骞寸殑鏈�鏃╂椂闂翠负beforeYearTime
+        }else{ //鏌ヨ鏃堕棿鑼冨洿涓嶅湪褰撳墠骞村害
+            //榛樿琛ㄤ腑瀛樺湪涓婁竴骞村害鐨勮褰�.涓婁竴骞寸殑鏈�鏃╂椂闂翠负beforeYearTime-涓婁竴骞寸殑骞存湯
             //鍒ゆ柇鏌ヨ鏃堕棿鑼冨洿鏄惁鍖呭惈榛樿琛ㄤ腑涓婁竴骞村害鐨勬椂闂�
             if(instance.getTime().compareTo(beforeYearTime)>0){ //鏌ヨ鏃堕棿澶т簬榛樿琛ㄤ腑涓婁竴骞村害鏃堕棿,璇存槑鏌ヨ璁板綍涔熷寘鍚湪榛樿琛ㄤ腑
+                //璧峰鏃堕棿
+                //缁堟鏃堕棿
+                List<Date> defaultDateList = new LinkedList<>();
+                defaultDateList.add(beforeYearTime);
+                defaultDateList.add(endTimeDate);
+
+                yearTimeMap.put("default",defaultDateList);
+            }
+        }
+        return yearTimeMap;
+    }
+
+    /**
+     * 鍦ㄥ垎琛ㄧ殑鎯呭喌涓嬩娇鐢�,鎸夊勾鍒嗚〃,鏌ヨ闇�瑕佸垏鍓叉煡璇娇鐢� 鏃堕棿鍊掑簭
+     * <p>
+     * 鏍规嵁浼犲叆鐨勮捣姝㈡椂闂�,鎸夌収骞村垏鍓叉垚涓嶅悓鏃堕棿娈�
+     *
+     * @param startTime 2021-01-01 10:00:00
+     * @param endTime   2023-05-01 10:10:10
+     * @return 绀轰緥
+     * 浣跨敤鏂规硶:
+     * 鏍规嵁杩斿洖鐨勭涓�涓暟鎹�,濡傛灉瀛樺湪琛�,鍒欐煡璇㈢瓫閫夋潯浠朵负>=杈撳叆鐨勮捣濮嬫椂闂�;涓嶅瓨鍦ㄥ垯寮冪敤杈撳叆鐨勮捣濮嬫椂闂�
+     * 鏍规嵁杩斿洖鐨勬渶鍚庝釜鏁版嵁,濡傛灉琛ㄥ瓨鍦�,鍒欐煡璇㈢瓫閫夋潯浠朵负<=杈撳叆鐨勭粓姝㈡椂闂�;涓嶅瓨鍦ㄥ垯寮冪敤杈撳叆鐨勭粓姝㈡椂闂�
+     * 杩斿洖鐨勯潪绗竴鏈�鍚庢暟鎹�,鏌ヨ鍏ㄨ〃
+     */
+    public static Map<String,List<Date>> getYearListDesc(Date startTime,Date endTime) throws ParseException {
+        Map<String,List<Date>> result = new LinkedHashMap<>();
+        Calendar startTimeC = Calendar.getInstance();
+        startTimeC.setTime(startTime);
+        int startYear = startTimeC.get(Calendar.YEAR);
+
+        Calendar endTimeC = Calendar.getInstance();
+        endTimeC.setTime(endTime);
+        int endYear = endTimeC.get(Calendar.YEAR);
+        int yearSize = endYear - startYear + 1;
+        for (int i = endYear; i >= startYear; i--) {
+            List<Date> dateList = new LinkedList<>();
+            if(yearSize == 1){ //璧锋鏃堕棿娌℃湁璺ㄥ勾
+                dateList.add(startTime);
+                dateList.add(endTime);
+            }
+            else if(i==startYear){ //绗竴骞�
+                dateList.add(startTime);
+
+                Calendar instance = Calendar.getInstance();
+                instance.set(Calendar.YEAR,i);
+                instance.set(Calendar.MONTH,instance.getActualMaximum(Calendar.MONTH));
+                instance.set(Calendar.DAY_OF_MONTH,instance.getActualMaximum(Calendar.DAY_OF_MONTH));
+                instance.set(Calendar.HOUR_OF_DAY,instance.getActualMaximum(Calendar.HOUR_OF_DAY));
+                instance.set(Calendar.MINUTE,instance.getActualMaximum(Calendar.MINUTE));
+                instance.set(Calendar.SECOND,instance.getActualMaximum(Calendar.SECOND));
+                dateList.add(instance.getTime());
+            }
+            else if(i== endYear){ //灏惧勾
+                Calendar instance = Calendar.getInstance();
+                instance.set(Calendar.YEAR,i);
+                instance.set(Calendar.MONTH,instance.getActualMinimum(Calendar.MONTH));
+                instance.set(Calendar.DAY_OF_MONTH,instance.getActualMinimum(Calendar.DAY_OF_MONTH));
+                instance.set(Calendar.HOUR_OF_DAY,instance.getActualMinimum(Calendar.HOUR_OF_DAY));
+                instance.set(Calendar.MINUTE,instance.getActualMinimum(Calendar.MINUTE));
+                instance.set(Calendar.SECOND,instance.getActualMinimum(Calendar.SECOND));
+                dateList.add(instance.getTime());
+
+                dateList.add(endTime);
+            }else{
+                Calendar instance = Calendar.getInstance();
+                instance.set(Calendar.YEAR,i);
+                instance.set(Calendar.MONTH,instance.getActualMinimum(Calendar.MONTH));
+                instance.set(Calendar.DAY_OF_MONTH,instance.getActualMinimum(Calendar.DAY_OF_MONTH));
+                instance.set(Calendar.HOUR_OF_DAY,instance.getActualMinimum(Calendar.HOUR_OF_DAY));
+                instance.set(Calendar.MINUTE,instance.getActualMinimum(Calendar.MINUTE));
+                instance.set(Calendar.SECOND,instance.getActualMinimum(Calendar.SECOND));
+                dateList.add(instance.getTime());
+
+                Calendar instance2 = Calendar.getInstance();
+                instance2.set(Calendar.YEAR,i);
+                instance2.set(Calendar.MONTH,instance2.getActualMaximum(Calendar.MONTH));
+                instance2.set(Calendar.DAY_OF_MONTH,instance2.getActualMaximum(Calendar.DAY_OF_MONTH));
+                instance2.set(Calendar.HOUR_OF_DAY,instance2.getActualMaximum(Calendar.HOUR_OF_DAY));
+                instance2.set(Calendar.MINUTE,instance2.getActualMaximum(Calendar.MINUTE));
+                instance2.set(Calendar.SECOND,instance2.getActualMaximum(Calendar.SECOND));
+                dateList.add(instance2.getTime());
 
             }
-            //濡傛灉鏌ヨ鐨勮寖鍥�,
-            monthTime = DateUtil.getMonthTime(startTimeDate, endTimeDate);
+            result.put(String.valueOf(i),dateList);
+        }
+        return result;
+    }
+
+
+    /**
+     *  鏌ヨ浣跨敤鏃�,闇�瑕佸鐞� 榛樿琛ㄦ煡璇㈢殑闂 鍊掑簭
+     *  绀轰緥:
+     *  <p>
+     * {2020=[Fri Dec 25 14:12:22 CST 2020, Thu Dec 31 23:59:59 CST 2020]}
+     * {2021=[Fri Jan 01 00:00:00 CST 2021, Fri Dec 31 23:59:59 CST 2021]}
+     * {2022=[Sat Jan 01 00:00:00 CST 2022, Tue Nov 29 09:12:22 CST 2022]}
+     * 鎴�
+     * {2020=[Fri Dec 25 14:12:22 CST 2020, Thu Dec 31 23:59:59 CST 2020]}
+     * {2021=[Fri Jan 01 00:00:00 CST 2021, Fri Dec 31 23:59:59 CST 2021]}
+     * {2022=[Sat Jan 01 00:00:00 CST 2022, Thu Dec 29 09:12:22 CST 2022]}
+     * {default=[Wed Dec 14 15:27:13 CST 2022, Thu Dec 29 09:12:22 CST 2022]}
+     * </p>
+     * key涓烘暟瀛�,琛ㄧず骞村害鍒嗚〃;default涓洪粯璁よ〃
+     * @param startTimeDate 璧峰鏃堕棿
+     * @param endTimeDate 缁堟鏃堕棿
+     * @return 闇�瑕佹煡璇㈢殑琛ㄥ強鏌ヨ鏃堕棿
+     * @throws ParseException
+     */
+    public static Map<String,List<Date>> getQueryTimeForSubTablesDesc(Date startTimeDate,Date endTimeDate) throws ParseException {
+        //鏍规嵁绛涢�夌殑鏃堕棿娈�,鏌ヨ鍑虹鍚堣姹傜殑鍚勫垎琛ㄨ褰曟暟
+        //棣栧厛,濡傛灉褰撳墠鏃堕棿瓒呰繃7鏈�,榛樿琛ㄤ腑鍙湁鏈勾搴︾殑;濡傛灉娌¤秴杩�7鏈�,榛樿琛ㄨ繕瀛樺湪涓婁竴骞村害鐨勮褰�
+        Calendar instance = Calendar.getInstance();
+        if(endTimeDate.compareTo(instance.getTime())>0){ //鏍¢獙浼樺寲鏈�澶ф煡璇㈡椂闂�
+            endTimeDate = instance.getTime();
+        }
+        int nowYear = instance.get(Calendar.YEAR);
+        instance.add(Calendar.MONTH,-6);
+        int beforeYear = instance.get(Calendar.YEAR);
+        Date beforeYearTime = instance.getTime();
+        instance.setTime(endTimeDate);
+        int endTimeYear = instance.get(Calendar.YEAR);
+
+        Calendar startTime = Calendar.getInstance();
+        startTime.setTime(startTimeDate);
+
+        LinkedHashMap<String,List<Date>> yearTimeMap = (LinkedHashMap<String, List<Date>>) DateUtil.getYearListDesc(startTimeDate, endTimeDate);;
+        Map<String,List<Date>> yearTimeDescMap = new LinkedHashMap<>();
+        boolean existDefaultYear = false;
+        if(nowYear == beforeYear){ //榛樿琛ㄥ彧鏈夋湰骞村害鐨�(瓒呰繃浜嗗崐骞�,榛樿琛ㄨ褰曞叏閮ㄥ彧鏈夋湰骞村害鐨�,鍚屾椂浼氱敓鎴愪簡褰撳墠骞村害鐨勫垎琛�)
+            //濡傛灉鏌ヨ鏃堕棿鑼冨洿鍖呭惈褰撳墠骞村害,鍒欓渶瑕佹煡璇㈤粯璁よ〃
+            if(startTime.get(Calendar.YEAR) >= nowYear && endTimeYear <= nowYear){
+                //寮�濮嬫椂闂磋缃勾搴﹀垵濮嬫椂闂�
+                Calendar defaultTableStartTime = Calendar.getInstance();
+                defaultTableStartTime.set(Calendar.YEAR,nowYear);
+                defaultTableStartTime.set(Calendar.MONTH,defaultTableStartTime.getActualMinimum(Calendar.MONTH));
+                defaultTableStartTime.set(Calendar.DAY_OF_MONTH,defaultTableStartTime.getActualMinimum(Calendar.DAY_OF_MONTH));
+                defaultTableStartTime.set(Calendar.HOUR_OF_DAY,defaultTableStartTime.getActualMinimum(Calendar.HOUR_OF_DAY));
+                defaultTableStartTime.set(Calendar.MINUTE,defaultTableStartTime.getActualMinimum(Calendar.MINUTE));
+                defaultTableStartTime.set(Calendar.SECOND,defaultTableStartTime.getActualMinimum(Calendar.SECOND));
+                //缁堟鏃堕棿璁剧疆涓哄綋鍓嶆椂闂�
+                List<Date> defaultDateList = new LinkedList<>();
+                defaultDateList.add(defaultTableStartTime.getTime());
+                defaultDateList.add(endTimeDate);
+
+                yearTimeMap.put("default",defaultDateList);
+                existDefaultYear = true;
+
+            }
+
+        }else{ //鏌ヨ鏃堕棿鑼冨洿涓嶅湪褰撳墠骞村害
+            //榛樿琛ㄤ腑瀛樺湪涓婁竴骞村害鐨勮褰�.涓婁竴骞寸殑鏈�鏃╂椂闂翠负beforeYearTime-涓婁竴骞寸殑骞存湯
+            //鍒ゆ柇鏌ヨ鏃堕棿鑼冨洿鏄惁鍖呭惈榛樿琛ㄤ腑涓婁竴骞村害鐨勬椂闂�
+            if(instance.getTime().compareTo(beforeYearTime)>0){ //鏌ヨ鏃堕棿澶т簬榛樿琛ㄤ腑涓婁竴骞村害鏃堕棿,璇存槑鏌ヨ璁板綍涔熷寘鍚湪榛樿琛ㄤ腑
+                //璧峰鏃堕棿
+                //缁堟鏃堕棿
+                List<Date> defaultDateList = new LinkedList<>();
+                defaultDateList.add(startTimeDate);
+                defaultDateList.add(endTimeDate);
+
+                yearTimeMap.put("default",defaultDateList);
+                existDefaultYear = true;
+            }
+        }
+        //璋冩暣涓嬮『搴�,灏哾efault璋冩暣鍒伴浣�
+        if(existDefaultYear){
+            List<Date> defaultTimeList = yearTimeMap.get("default");
+            yearTimeDescMap.put("default",defaultTimeList);
+        }
+        Set<String> yearSet = yearTimeMap.keySet();
+        for (String year : yearSet) {
+            if(!year.equals("default")){
+                yearTimeDescMap.put(year,yearTimeMap.get(year));
+            }
         }
 
-        return null;
+        return yearTimeDescMap;
     }
 
     public static void main(String[] args) throws ParseException {
         Date d1 = YYYY_MM_DD_HH_MM_SS.parse("2020-12-25 14:12:22");
-        Date d2 = YYYY_MM_DD_HH_MM_SS.parse("2022-01-10 09:12:22");
-        List<List<Date>> monthTime = getMonthTime(d1, d2);
-        System.out.println(monthTime);
-        /*String dateStr = "2023-07-01 00:00:01";
-        Date date = YYYY_MM_DD_HH_MM_SS.parse(dateStr);
-        Calendar instance = Calendar.getInstance();
-        instance.setTime(date);
-        instance.add(Calendar.MONTH,-6);
-        System.out.println(YYYY_MM_DD_HH_MM_SS.format(instance.getTime()));*/
+        Date d2 = YYYY_MM_DD_HH_MM_SS.parse("2022-12-29 09:12:22");
+        Map<String, List<Date>> yearListForSubTables = getQueryTimeForSubTablesDesc(d1, d2);
+        Set<String> strings = yearListForSubTables.keySet();
+        Set<Map.Entry<String, List<Date>>> entries = yearListForSubTables.entrySet();
+        for (Map.Entry<String, List<Date>> entry : entries) {
+            System.out.println(entry);
+        }
     }
 
 }

--
Gitblit v1.9.1