From 0cbbe2c1cbfbf73e02e1796d921c2911c96d370b Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期一, 23 十二月 2024 11:46:31 +0800 Subject: [PATCH] Merge branch 'master' of http://dlindusit.com:53929/r/iailab-plat --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleInfoConstructor.java | 63 +++++++++++++++++-------------- 1 files changed, 35 insertions(+), 28 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleInfoConstructor.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleInfoConstructor.java index cd5f3f0..515637b 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleInfoConstructor.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleInfoConstructor.java @@ -19,6 +19,7 @@ import java.util.Calendar; import java.util.Date; import java.util.List; +import java.util.Map; /** * @author PanZhibao @@ -46,14 +47,14 @@ * @param predictTime * @return */ - public SampleInfo prepareSampleInfo(String modelId, Date predictTime) { + protected SampleInfo prepareSampleInfo(String modelId, Date predictTime) { SampleInfo sampleInfo = new SampleInfo(); //调用样本列数的方法 - sampleInfo.setSampleColumn(getSampleColumn(modelId)); +// sampleInfo.setSampleColumn(getSampleColumn(modelId)); //样本的列信息 sampleInfo.setColumnInfo(getColumnInfo(modelId, predictTime)); //样本的采样周期 - sampleInfo.setSampleCycle(getSampleCycle(modelId)); +// sampleInfo.setSampleCycle(getSampleCycle(modelId)); return sampleInfo; } @@ -65,6 +66,24 @@ */ protected abstract Integer getSampleColumn(String modelId); + + /** + * 样本的列信息 + * + * @param modelId + * @param predictTime + * @return + */ + protected abstract List<ColumnItemPort> getColumnInfo(String modelId, Date predictTime); + + /** + * 样本的采样周期 + * + * @param modelId + * @return + */ + protected abstract Integer getSampleCycle(String modelId); + /** * 获取开始时间 * @@ -73,19 +92,20 @@ * @return * @throws Exception */ - protected Date getStartTime(ColumnItem columnItem, Date originalTime) { + protected Date getStartTime(ColumnItem columnItem, Date originalTime, Map<String, ApiPointDTO> pointMap) { Date dateTime = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(originalTime); switch (ModelParamType.getEumByCode(columnItem.getParamType())) { case DATAPOINT: - ApiPointDTO dataPoint = dataPointApi.getInfoById(columnItem.getParamId()); + ApiPointDTO dataPoint = pointMap.get(columnItem.getParamId()); if (dataPoint == null) { return null; } dateTime = calculateTime(originalTime, true, columnItem.getDataLength(), DataPointFreqEnum.getEumByCode(dataPoint.getMinfreqid()).getValue()); break; - case PREDICTITEM: + case NORMALITEM: + case MERGEITEM: dateTime = calendar.getTime(); break; case IND: @@ -108,19 +128,20 @@ * @return * @throws Exception */ - protected Date getEndTime(ColumnItem columnItem, Date originalTime) { + protected Date getEndTime(ColumnItem columnItem, Date originalTime,Map<String, ApiPointDTO> pointMap) { Date dateTime = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(originalTime); switch (ModelParamType.getEumByCode(columnItem.getParamType())) { case DATAPOINT: - ApiPointDTO dataPoint = dataPointApi.getInfoById(columnItem.getParamId()); + ApiPointDTO dataPoint = pointMap.get(columnItem.getParamId()); if (dataPoint == null) { return null; } dateTime = calendar.getTime(); break; - case PREDICTITEM: + case NORMALITEM: + case MERGEITEM: dateTime = calendar.getTime(); break; case IND: @@ -155,8 +176,11 @@ ApiPointDTO dataPoint = dataPointApi.getInfoById(columnItem.getParamId()); granularity = DataPointFreqEnum.getEumByCode(dataPoint.getMinfreqid()).getValue(); break; - case PREDICTITEM: - granularity = mmPredictItemService.getItemById(columnItem.getParamId()).getGranularity(); + case NORMALITEM: + granularity = mmPredictItemService.getItemByOutPutId(columnItem.getParamId()).getGranularity(); + break; + case MERGEITEM: + granularity = mmPredictItemService.getItemByIdFromCache(columnItem.getParamId()).getGranularity(); break; case IND: ApiIndItemDTO indItemDTO = indItemApi.getInfoById(columnItem.getParamId()); @@ -171,23 +195,6 @@ } return granularity; } - - /** - * 样本的列信息 - * - * @param modelId - * @param predictTime - * @return - */ - protected abstract List<ColumnItemPort> getColumnInfo(String modelId, Date predictTime); - - /** - * 样本的采样周期 - * - * @param modelId - * @return - */ - protected abstract Integer getSampleCycle(String modelId); /** * 计算取值的时间 -- Gitblit v1.9.3