瀏覽代碼

质检-公式开发
1、监理表获取质检数据 补充只单获取实测值数据

LHB 2 天之前
父節點
當前提交
5b6b9907e7
共有 1 個文件被更改,包括 13 次插入3 次删除
  1. 13 3
      blade-service/blade-manager/src/main/java/com/mixsmart/utils/CustomFunction.java

+ 13 - 3
blade-service/blade-manager/src/main/java/com/mixsmart/utils/CustomFunction.java

@@ -3078,14 +3078,14 @@ public class CustomFunction {
         //返回结果
         List<Object> result = new ArrayList<>();
 
-        if (designData != null) {
+        if (designData instanceof List) {
             obj1 = obj2List(designData);
 
         }
-        if (actualData != null) {
+        if (actualData instanceof List) {
             obj2 = obj2List(actualData);
         }
-        if (biasData != null) {
+        if (biasData instanceof List) {
             obj3 = obj2List(biasData);
         }
         //三种数据长度必须一致
@@ -3108,6 +3108,16 @@ public class CustomFunction {
                     result.add(finalObj.get(i));
                 });
             });
+        }else if (obj2.size() > 0 && obj1.size() == 0 && obj3.size() == 0){
+            int sampleSize = obj2.size();
+            //如果样本数量小于5,则获取全部数据
+            if(obj2.size() > 1){
+                // 计算需要抽取的元素数量
+                sampleSize = (int) Math.ceil(obj2.size() * 0.3);
+            }
+            Collections.shuffle(obj2);
+            List<Object> objects = obj2.subList(0, sampleSize);
+            objects.stream().limit(sampleSize).forEach(result::add);
         }
         return result;
     }