From 1ab11991a6bc2b0496c83cb969b0f5bc6f22a309 Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期四, 20 二月 2025 11:22:42 +0800
Subject: [PATCH] 模型输入添加IND_ASCII类型,用于输入字符串类型数据

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/ScheduleSampleInfoConstructor.java |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/ScheduleSampleInfoConstructor.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/ScheduleSampleInfoConstructor.java
index acec837..e8aa4a0 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/ScheduleSampleInfoConstructor.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/ScheduleSampleInfoConstructor.java
@@ -1,9 +1,12 @@
 package com.iailab.module.model.mdk.sample;
 
+import com.iailab.module.data.api.ind.IndItemApi;
+import com.iailab.module.data.api.ind.dto.ApiIndItemDTO;
 import com.iailab.module.data.api.plan.PlanItemApi;
 import com.iailab.module.data.api.plan.dto.ApiPlanItemDTO;
 import com.iailab.module.data.api.point.DataPointApi;
 import com.iailab.module.data.api.point.dto.ApiPointDTO;
+import com.iailab.module.model.mcs.pre.entity.MmModelParamEntity;
 import com.iailab.module.model.mcs.sche.entity.StScheduleModelParamEntity;
 import com.iailab.module.model.mcs.sche.service.StScheduleModelParamService;
 import com.iailab.module.model.mdk.common.enums.ModelParamType;
@@ -29,6 +32,9 @@
 
     @Autowired
     private PlanItemApi planItemApi;
+
+    @Autowired
+    private IndItemApi indItemApi;
 
     @Override
     protected Integer getSampleColumn(String modelId) {
@@ -58,6 +64,10 @@
         Set<String> planIds = modelInputParamEntityList.stream().filter(e -> ModelParamType.getEumByCode(e.getModelparamtype()).equals(ModelParamType.PLAN)).map(StScheduleModelParamEntity::getModelparamid).collect(Collectors.toSet());
         List<ApiPlanItemDTO> plans = planItemApi.getInfoByIds(planIds);
         Map<String, ApiPlanItemDTO> planMap = plans.stream().collect(Collectors.toMap(ApiPlanItemDTO::getId, Function.identity(), (e1, e2) -> e1));
+        // 统一获取指标数据的信息
+        Set<String> indIds = modelInputParamEntityList.stream().filter(e -> ModelParamType.getEumByCode(e.getModelparamtype()).equals(ModelParamType.IND) || ModelParamType.getEumByCode(e.getModelparamtype()).equals(ModelParamType.IND_ASCII)).map(StScheduleModelParamEntity::getModelparamid).collect(Collectors.toSet());
+        List<ApiIndItemDTO> inds = indItemApi.getInfoByIds(indIds);
+        Map<String, ApiIndItemDTO> indMap = inds.stream().collect(Collectors.toMap(ApiIndItemDTO::getId, Function.identity(), (e1, e2) -> e1));
 
         for (StScheduleModelParamEntity entry : modelInputParamEntityList) {
             columnInfo.setParamType(entry.getModelparamtype());
@@ -65,7 +75,7 @@
             columnInfo.setDataLength(super.getDataLength(dynamicDataLength, entry.getModelparamportorder(), entry.getDatalength()));
             columnInfo.setModelParamOrder(entry.getModelparamorder());
             columnInfo.setModelParamPortOrder(entry.getModelparamportorder());
-            columnInfo.setGranularity(super.getGranularity(columnInfo, pointMap, planMap));
+            columnInfo.setGranularity(super.getGranularity(columnInfo, pointMap, planMap,indMap));
             columnInfo.setStartTime(getStartTime(columnInfo, predictTime));
             columnInfo.setEndTime(getEndTime(columnInfo, predictTime));
 
@@ -93,6 +103,7 @@
         sampleInfo.setColumnInfo(resultList);
         sampleInfo.setPointMap(pointMap);
         sampleInfo.setPlanMap(planMap);
+        sampleInfo.setIndMap(indMap);
         return sampleInfo;
     }
 

--
Gitblit v1.9.3