From 664918f1849102cd6bbb500a55acad19b9f68e6d Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期四, 16 一月 2025 13:22:51 +0800
Subject: [PATCH] 计算指标查询异常修复

---
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java       |   12 ++++++++++--
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/value/dto/QuerySourceValueDTO.java      |    2 ++
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/handler/AtomItemHandler.java |    7 +++++--
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/IndItemCollector.java        |    2 +-
 4 files changed, 18 insertions(+), 5 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 0b9271a..51b27f8 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
@@ -51,7 +51,7 @@
                 result = derItemHandler.queryValue(indItem.getId());
                 break;
             case CAL:
-                result = calItemHandler.queryValue(itemNo);
+                result = calItemHandler.queryValue(indItem.getId());
                 break;
             default:
                 break;
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/handler/AtomItemHandler.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/handler/AtomItemHandler.java
index 76b80d4..fcc4dd5 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/handler/AtomItemHandler.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/handler/AtomItemHandler.java
@@ -27,10 +27,13 @@
     private IndItemValueService indItemValueService;
 
     public List<IndItemValueVO> queryValue(String itemId) {
-        List<IndItemValueVO> result = new ArrayList<IndItemValueVO>();
+        List<IndItemValueVO> result = new ArrayList<>();
         try {
             QuerySourceValueDTO queryDto = indSqlUtils.getAtomSql(itemId);
-            return indItemValueService.getSourceValue(queryDto);
+            result = indItemValueService.getSourceValue(queryDto);
+            result.forEach(item -> {
+                item.setItemNo(queryDto.getItemNo());
+            });
         } catch (Exception ex) {
             ex.printStackTrace();
         }
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java
index 4636904..592ed51 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java
@@ -4,10 +4,11 @@
 import com.iailab.module.data.common.enums.IndStatFuncEnum;
 import com.iailab.module.data.common.enums.IndTimeLimitEnum;
 import com.iailab.module.data.ind.data.dto.IndDataSetDTO;
-import com.iailab.module.data.ind.data.service.IndDataSetFieldService;
 import com.iailab.module.data.ind.data.service.IndDataSetService;
+import com.iailab.module.data.ind.item.entity.IndItemEntity;
 import com.iailab.module.data.ind.item.service.IndItemAtomService;
 import com.iailab.module.data.ind.item.service.IndItemDerService;
+import com.iailab.module.data.ind.item.service.IndItemService;
 import com.iailab.module.data.ind.item.vo.IndItemAtomVO;
 import com.iailab.module.data.ind.item.vo.IndItemDerVO;
 import com.iailab.module.data.ind.value.dto.QuerySourceValueDTO;
@@ -33,7 +34,7 @@
     private IndDataSetService indDataSetService;
 
     @Autowired
-    private IndDataSetFieldService indDataSetFieldService;
+    private IndItemService indItemService;
 
     @Autowired
     private IndItemDerService indItemDerService;
@@ -50,6 +51,8 @@
         if (indItem == null) {
             return result;
         }
+        IndItemEntity itemEntity = indItemService.get(itemId);
+        result.setItemNo(itemEntity.getItemNo());
         result.setIndItemAtom(indItem);
         IndDataSetDTO dataSet = indDataSetService.getDet(indItem.getDataSet());
         if (dataSet == null) {
@@ -91,6 +94,8 @@
         if (indItem == null) {
             return result;
         }
+        IndItemEntity itemEntity = indItemService.get(itemId);
+        result.setItemNo(itemEntity.getItemNo());
         result = getAtomSql(indItem.getAtomItemId());
 
         // 拼接SELECT
@@ -228,6 +233,9 @@
         }
         result = getAtomSql(indItem.getAtomItemId());
 
+        IndItemEntity itemEntity = indItemService.get(itemId);
+        result.setItemNo(itemEntity.getItemNo());
+
         // 拼接SELECT
         StringBuilder selectSql = new StringBuilder();
         selectSql.append(indItem.getDimension());
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/value/dto/QuerySourceValueDTO.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/value/dto/QuerySourceValueDTO.java
index 1b3ec27..93ec419 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/value/dto/QuerySourceValueDTO.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/value/dto/QuerySourceValueDTO.java
@@ -11,6 +11,8 @@
 @Data
 public class QuerySourceValueDTO {
 
+    private String itemNo;
+
     private String dataSource;
 
     private String selectSql;

--
Gitblit v1.9.3