Jelajahi Sumber

分数段统计计算单元增加按分数段获取累加数量的方法

luoshi 6 tahun lalu
induk
melakukan
5a15385556

+ 27 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/utils/unit/RangeCounter.java

@@ -2,6 +2,7 @@ package cn.com.qmth.stmms.biz.report.utils.unit;
 
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Map.Entry;
 
 public class RangeCounter {
 
@@ -31,4 +32,30 @@ public class RangeCounter {
         count++;
         map.put(min, count);
     }
+
+    /**
+     * 获取在[s1, s2)分数范围内的数量<br>
+     * s1和s2可以有一个为null,不能全部为null
+     * 
+     * @param s1
+     * @param s2
+     * @return
+     */
+    public int countGeAndLt(Double s1, Double s2) {
+        int count = 0;
+        if (s1 != null || s2 != null) {
+            for (Entry<Double, Integer> entry : map.entrySet()) {
+                Double key = entry.getKey();
+                if (s1 != null && key < s1) {
+                    continue;
+                }
+                if (s2 != null && key >= s2) {
+                    continue;
+                }
+                count += entry.getValue();
+            }
+        }
+        return count;
+    }
+
 }