瀏覽代碼

Merge remote-tracking branch 'origin/dev/20200426_2nd' into dev/20200426_2nd

gaodm 5 年之前
父節點
當前提交
d6cb14bf1c
共有 1 個文件被更改,包括 46 次插入0 次删除
  1. 46 0
      src/main/java/com/diagbot/aggregate/AverageStatisticsAggregate.java

+ 46 - 0
src/main/java/com/diagbot/aggregate/AverageStatisticsAggregate.java

@@ -18,6 +18,8 @@ import org.springframework.stereotype.Component;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.Date;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -123,6 +125,28 @@ public class AverageStatisticsAggregate {
             retAverageDayNumList.add(item);
         }
 
+        //排序
+        Collections.sort(retAverageDayNumList, new Comparator<AverageStatisticsDTO>() {
+            @Override
+            public int compare(AverageStatisticsDTO o1, AverageStatisticsDTO o2) {
+                Double value1 = o1.getAverageValue();
+                Double lastValue1 = o1.getLastAverageValue();
+                Double lastYearValue1 = o1.getLastYearAverageValue();
+                Double value2 = o2.getAverageValue();
+                Double lastValue2 = o2.getLastAverageValue();
+                Double lastYearValue2 = o2.getLastYearAverageValue();
+                Integer count1 = 0;
+                count1 += value1 == null ? 0 : 1;
+                count1 += lastValue1 == null ? 0 : 1;
+                count1 += lastYearValue1 == null ? 0 : 1;
+                Integer count2 = 0;
+                count2 += value2 == null ? 0 : 1;
+                count2 += lastValue2 == null ? 0 : 1;
+                count2 += lastYearValue2 == null ? 0 : 1;
+                return (count1 > count2) ? -1 : ((count1 < count2) ? 1 : 0);
+            }
+        });
+
         if (retAverageDayNumList.size() > limitCount) {
             retAverageDayNumList = retAverageDayNumList.subList(0, limitCount);
         }
@@ -192,6 +216,28 @@ public class AverageStatisticsAggregate {
             retAverageFeeList.add(item);
         }
 
+        //排序
+        Collections.sort(retAverageFeeList, new Comparator<AverageStatisticsDTO>() {
+            @Override
+            public int compare(AverageStatisticsDTO o1, AverageStatisticsDTO o2) {
+                Double value1 = o1.getAverageValue();
+                Double lastValue1 = o1.getLastAverageValue();
+                Double lastYearValue1 = o1.getLastYearAverageValue();
+                Double value2 = o2.getAverageValue();
+                Double lastValue2 = o2.getLastAverageValue();
+                Double lastYearValue2 = o2.getLastYearAverageValue();
+                Integer count1 = 0;
+                count1 += value1 == null ? 0 : 1;
+                count1 += lastValue1 == null ? 0 : 1;
+                count1 += lastYearValue1 == null ? 0 : 1;
+                Integer count2 = 0;
+                count2 += value2 == null ? 0 : 1;
+                count2 += lastValue2 == null ? 0 : 1;
+                count2 += lastYearValue2 == null ? 0 : 1;
+                return (count1 > count2) ? -1 : ((count1 < count2) ? 1 : 0);
+            }
+        });
+
         if (retAverageFeeList.size() > limitCount) {
             retAverageFeeList = retAverageFeeList.subList(0, limitCount);
         }