From 19a4fbef86a3fc085f8e683d8db0b2f9605f52ac Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期四, 28 十一月 2024 18:09:25 +0800 Subject: [PATCH] 模型参数 预测项改为output --- iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictItemDao.xml | 30 +++++++++++++- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/common/enums/ModelParamType.java | 3 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictItemService.java | 2 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/PredictSampleDataConstructor.java | 5 +- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictItemRespVO.java | 2 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleInfoConstructor.java | 11 ++++- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java | 30 ++++++++++++-- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleDataConstructor.java | 3 + 8 files changed, 71 insertions(+), 15 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictItemService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictItemService.java index 89940ad..e837bf0 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictItemService.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictItemService.java @@ -30,6 +30,8 @@ ItemVO getItemById(String itemId); + ItemVO getItemByOutPutId(String outPutId); + void clearCatch(); MergeItemVO getMergeItemByItemId(String itemId); diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java index 3a38f00..7f4dfec 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java @@ -17,6 +17,7 @@ import com.iailab.module.model.mcs.pre.vo.MmPredictItemRespVO; import com.iailab.module.model.mdk.vo.ItemVO; import com.iailab.module.model.mdk.vo.MergeItemVO; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -166,11 +167,17 @@ } mmItemOutputService.deleteByItemId(predictItem.getId()); List<MmItemOutputEntity> mmItemOutput = mmPredictItemDto.getMmItemOutputList(); - mmItemOutput.forEach(e -> { - e.setId(UUID.randomUUID().toString()); - e.setItemid(predictItem.getId()); - }); - mmItemOutputService.saveMmItemOutput(mmItemOutput); + if (!CollectionUtils.isEmpty(mmItemOutput)) { + mmItemOutput.forEach(e -> { + // 尽量保存原有id + if (StringUtils.isBlank(e.getId())) { + e.setId(UUID.randomUUID().toString()); + } + e.setItemid(predictItem.getId()); + }); + mmItemOutputService.saveMmItemOutput(mmItemOutput); + } + // 清空缓存 clearCatch(); @@ -268,6 +275,19 @@ } @Override + public ItemVO getItemByOutPutId(String outPutId) { + if (StringUtils.isBlank(outPutId)) { + return null; + } + MmItemOutputEntity outPutById = mmItemOutputService.getOutPutById(outPutId); + if (ObjectUtils.isEmpty(outPutById)) { + return null; + } + String itemId = outPutById.getItemid(); + return getItemById(itemId); + } + + @Override public MergeItemVO getMergeItemByItemId(String itemId) { if (StringUtils.isBlank(itemId)) { return null; diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictItemRespVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictItemRespVO.java index 109e477..345af59 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictItemRespVO.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictItemRespVO.java @@ -103,5 +103,7 @@ @ExcelProperty("运行耗时") private Long duration; + private List<MmItemOutputRespVO> outPuts; + } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/common/enums/ModelParamType.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/common/enums/ModelParamType.java index fec116a..30b7b94 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/common/enums/ModelParamType.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/common/enums/ModelParamType.java @@ -15,7 +15,8 @@ public enum ModelParamType { DATAPOINT("DATAPOINT", "测点值"), - PREDICTITEM("PREDICTITEM", "预测值"), + NORMALITEM("NormalItem", "预测值(NormalItem)"), + MERGEITEM("MergeItem", "MergeItem"), IND("IND", "指标值"), PLAN("PLAN", "计划值"); diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/PredictSampleDataConstructor.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/PredictSampleDataConstructor.java index e9443ca..dc0ff35 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/PredictSampleDataConstructor.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/PredictSampleDataConstructor.java @@ -123,8 +123,9 @@ return vo; }).collect(Collectors.toList()); break; - case PREDICTITEM: - MmItemOutputEntity outPut = mmItemOutputService.getOutPutById(columnItem.getId()); + case NORMALITEM: + case MERGEITEM: + MmItemOutputEntity outPut = mmItemOutputService.getOutPutById(columnItem.getParamId()); dataList = mmItemResultService.getPredictValue(outPut.getId(), columnItem.getStartTime(), columnItem.getEndTime()); if (dataList == null) { diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleDataConstructor.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleDataConstructor.java index f822f90..6b3b291 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleDataConstructor.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleDataConstructor.java @@ -55,7 +55,8 @@ long mins = 0L; switch (ModelParamType.getEumByCode(paramType)) { - case PREDICTITEM: + case NORMALITEM: + case MERGEITEM: // 预测值 Calendar calendar = Calendar.getInstance(); calendar.setTime(startTime); 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..f59556b 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 @@ -85,7 +85,8 @@ } dateTime = calculateTime(originalTime, true, columnItem.getDataLength(), DataPointFreqEnum.getEumByCode(dataPoint.getMinfreqid()).getValue()); break; - case PREDICTITEM: + case NORMALITEM: + case MERGEITEM: dateTime = calendar.getTime(); break; case IND: @@ -120,7 +121,8 @@ } dateTime = calendar.getTime(); break; - case PREDICTITEM: + case NORMALITEM: + case MERGEITEM: dateTime = calendar.getTime(); break; case IND: @@ -155,7 +157,10 @@ ApiPointDTO dataPoint = dataPointApi.getInfoById(columnItem.getParamId()); granularity = DataPointFreqEnum.getEumByCode(dataPoint.getMinfreqid()).getValue(); break; - case PREDICTITEM: + case NORMALITEM: + granularity = mmPredictItemService.getItemByOutPutId(columnItem.getParamId()).getGranularity(); + break; + case MERGEITEM: granularity = mmPredictItemService.getItemById(columnItem.getParamId()).getGranularity(); break; case IND: diff --git a/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictItemDao.xml b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictItemDao.xml index 5bda3f9..3edcdce 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictItemDao.xml +++ b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictItemDao.xml @@ -66,7 +66,27 @@ ORDER BY TMPI.CREATE_TIME DESC </select> - <select id="queryList" resultType="com.iailab.module.model.mcs.pre.vo.MmPredictItemRespVO" parameterType="map"> + <resultMap id="MmPredictItemRespVO" type="com.iailab.module.model.mcs.pre.vo.MmPredictItemRespVO"> + <result property="id" column="ID"/> + <result property="itemno" column="ITEMNO"/> + <result property="itemname" column="ITEMNAME"/> + <result property="itemtypeid" column="ITEMTYPEID"/> + <result property="itemtypename" column="ITEMTYPENAME"/> + <result property="granularity" column="GRANULARITY"/> + <result property="isfuse" column="ISFUSE"/> + <result property="workchecked" column="WORKCHECKED"/> + <result property="moduleid" column="MODULEID"/> + <result property="itemorder" column="ITEMORDER"/> + <result property="status" column="STATUS"/> + <result property="categoryid" column="CATEGORYID"/> + <collection property="outPuts" ofType="com.iailab.module.model.mcs.pre.vo.MmItemOutputRespVO"> + <result property="id" column="out_put_id"/> + <result property="outputorder" column="out_put_order"/> + <result property="resultName" column="result_name"/> + </collection> + </resultMap> + + <select id="queryList" resultMap="MmPredictItemRespVO" parameterType="map"> SELECT TMPI.ID, TMPI.ITEMNO, @@ -79,10 +99,14 @@ TDMI.MODULEID, TDMI.ITEMORDER, TMPI.STATUS, - TDMI.CATEGORYID + TDMI.CATEGORYID, + TMIO.id out_put_id, + TMIO.outputorder out_put_order, + TMIO.result_name FROM T_MM_PREDICT_ITEM TMPI LEFT JOIN T_MM_ITEM_TYPE TMIT ON TMIT.ID = TMPI.ITEMTYPEID LEFT JOIN T_DM_MODULE_ITEM TDMI ON TDMI.ITEMID = TMPI.ID + LEFT JOIN t_mm_item_output TMIO ON TMIO.itemid = TMPI.ID WHERE 1 = 1 <if test="itemno != null and itemno != ''"> AND TMPI.ITEMNO LIKE CONCAT('%', #{itemno},'%') @@ -99,7 +123,7 @@ <if test="status != null and status != ''"> AND TMPI.STATUS = #{status} </if> - ORDER BY TMPI.CREATE_TIME DESC + ORDER BY TMPI.CREATE_TIME DESC,TMIO.outputorder </select> <select id="getByModuleId" parameterType="map" resultMap="ItemVO"> -- Gitblit v1.9.3