From 694e342884ac0119ceca6030fd7be6b6afd93c28 Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期二, 20 五月 2025 14:16:33 +0800
Subject: [PATCH] whereSql 逻辑 考虑指标精度和转换系数

---
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/IndItemCollector.java |   42 ++++++++++++++++++++++++------------------
 1 files changed, 24 insertions(+), 18 deletions(-)

diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/IndItemCollector.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/IndItemCollector.java
index 0584e90..ff27c17 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/IndItemCollector.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/IndItemCollector.java
@@ -61,24 +61,7 @@
                 break;
         }
         // 考虑指标精度和转换系数
-        if (!CollectionUtils.isEmpty(result)) {
-            result.forEach(e -> {
-                if (e != null) {
-                    Object dataValue = e.getDataValue();
-                    if (dataValue != null && dataValue instanceof Number) {
-                        BigDecimal value = new BigDecimal(dataValue.toString());
-                        if (indItem.getPrecision() != null) {
-                            value = new BigDecimal(dataValue.toString()).setScale(indItem.getPrecision(), BigDecimal.ROUND_HALF_UP);
-                        }
-                        if (StringUtils.isNotBlank(indItem.getCoefficient())) {
-                            value = value.multiply(new BigDecimal(indItem.getCoefficient()));
-                        }
-                        e.setDataValue(value.doubleValue());
-                    }
-                }
-
-            });
-        }
+        handleResult(result,indItem);
         return result;
     }
 
@@ -102,6 +85,29 @@
             default:
                 break;
         }
+        // 考虑指标精度和转换系数
+        handleResult(result,indItem);
         return result;
     }
+
+    private void handleResult(List<IndItemValueVO> result, IndItemEntity indItem) {
+        if (!CollectionUtils.isEmpty(result)) {
+            result.forEach(e -> {
+                if (e != null) {
+                    Object dataValue = e.getDataValue();
+                    if (dataValue != null && dataValue instanceof Number) {
+                        BigDecimal value = new BigDecimal(dataValue.toString());
+                        if (indItem.getPrecision() != null) {
+                            value = new BigDecimal(dataValue.toString()).setScale(indItem.getPrecision(), BigDecimal.ROUND_HALF_UP);
+                        }
+                        if (StringUtils.isNotBlank(indItem.getCoefficient())) {
+                            value = value.multiply(new BigDecimal(indItem.getCoefficient()));
+                        }
+                        e.setDataValue(value.doubleValue());
+                    }
+                }
+
+            });
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3