From e013bf101ad9ab326a85c3811f27e352737c6e81 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期六, 18 一月 2025 10:31:25 +0800
Subject: [PATCH] Merge branch 'master' of http://dlindusit.com:53929/r/iailab-plat

---
 iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mdk/dto/StScheduleRecordVO.java                    |   43 ++++++++++
 iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictItemDao.xml                                           |   37 +++++----
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleRecordService.java          |    6 +
 iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java                                    |    7 +
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java             |   15 +++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java                                    |   51 +++++++++++-
 iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/StScheduleRecordDao.xml                                        |    6 
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleRecordServiceImpl.java |    5 
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemOutputRespVO.java                     |    4 +
 iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/PreDataItemNoReqVO.java                    |   29 +++++++
 iailab-module-model/iailab-module-model-biz/db/mysql.sql                                                                                 |    2 
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictItemDao.java                      |    2 
 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/mcs/pre/service/impl/MmPredictItemServiceImpl.java     |   21 ++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StScheduleRecordDao.java                  |    6 +
 15 files changed, 199 insertions(+), 37 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java
index 1deb278..22cb6eb 100644
--- a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java
+++ b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java
@@ -2,6 +2,7 @@
 
 import com.iailab.framework.common.pojo.PageResult;
 import com.iailab.module.model.api.mcs.dto.*;
+import com.iailab.module.model.api.mdk.dto.StScheduleRecordVO;
 import com.iailab.module.model.enums.ApiConstants;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -112,9 +113,13 @@
 
     @GetMapping("/schedule-data/last")
     @Operation(summary = "调度模型最新结果查询")
-    String getLastScheduleData(String scheduleCode);
+    List<StScheduleRecordVO> getLastScheduleData(String scheduleCode, Integer limit);
 
     @GetMapping("/machineRealTimeStatus")
     @Operation(summary = "发电机组实时状态查询")
     List<Map<String, Object>> getRealTimeStatus(@RequestBody List<Map<String, Object>> machines);
+
+    @PostMapping("/predict-data/itemNo")
+    @Operation(summary = "查询时间范围内预测结果")
+    Map<String,List<Object[]>> getPredictDataItemNo(PreDataItemNoReqVO reqVO);
 }
\ No newline at end of file
diff --git a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/PreDataItemNoReqVO.java b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/PreDataItemNoReqVO.java
new file mode 100644
index 0000000..977d574
--- /dev/null
+++ b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/PreDataItemNoReqVO.java
@@ -0,0 +1,29 @@
+package com.iailab.module.model.api.mcs.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @description:
+ * @author: dzd
+ * @date: 2025/1/17 14:44
+ **/
+@Data
+public class PreDataItemNoReqVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "预测项编号")
+    private String itemNo;
+
+    @Schema(description = "开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    @Schema(description = "结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+}
\ No newline at end of file
diff --git a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mdk/dto/StScheduleRecordVO.java b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mdk/dto/StScheduleRecordVO.java
new file mode 100644
index 0000000..f5509c7
--- /dev/null
+++ b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mdk/dto/StScheduleRecordVO.java
@@ -0,0 +1,43 @@
+package com.iailab.module.model.api.mdk.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author PanZhibao
+ * @Description
+ * @createTime 2024年09月06日
+ */
+@Schema(description = "模型服务 - 调度记录 Response VO")
+@Data
+public class StScheduleRecordVO {
+
+    @Schema(description = "ID")
+    private String id;
+
+    @Schema(description = "方案ID")
+    private String schemeId;
+
+    @Schema(description = "模型ID")
+    private String modelId;
+
+    @Schema(description = "模型名称")
+    private String modelName;
+
+    @Schema(description = "调度时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date scheduleTime;
+
+    @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    @Schema(description = "结果状态")
+    private String resultCode;
+
+    @Schema(description = "结果数据")
+    private String resultData;
+}
\ No newline at end of file
diff --git a/iailab-module-model/iailab-module-model-biz/db/mysql.sql b/iailab-module-model/iailab-module-model-biz/db/mysql.sql
index 6f9c092..a96f009 100644
--- a/iailab-module-model/iailab-module-model-biz/db/mysql.sql
+++ b/iailab-module-model/iailab-module-model-biz/db/mysql.sql
@@ -857,7 +857,7 @@
 alter table t_st_schedule_scheme add column `mpkprojectid` varchar(36) DEFAULT NULL;
 
 alter table t_st_schedule_record add column `result_code` varchar(10) DEFAULT NULL;
-alter table t_st_schedule_record add column `result_data` varchar(1000) DEFAULT NULL;
+alter table t_st_schedule_record add column `result_data` text DEFAULT NULL;
 
 CREATE TABLE `t_st_schedule_model_out` (
                                   `id` varchar(36) NOT NULL COMMENT 'id',
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java
index cdc43e1..31e61c8 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java
@@ -12,9 +12,10 @@
 import com.iailab.module.data.common.ApiDataQueryDTO;
 import com.iailab.module.model.api.mcs.McsApi;
 import com.iailab.module.model.api.mcs.dto.*;
+import com.iailab.module.model.api.mdk.dto.StScheduleRecordVO;
 import com.iailab.module.model.common.enums.DataTypeEnum;
-import com.iailab.module.model.enums.CommonConstant;
 import com.iailab.module.model.common.enums.PreLineTypeEnum;
+import com.iailab.module.model.enums.CommonConstant;
 import com.iailab.module.model.influxdb.pojo.InfluxModelResultByOutPutIdsPOJO;
 import com.iailab.module.model.influxdb.service.InfluxDBService;
 import com.iailab.module.model.influxdb.vo.InfluxModelResultVO;
@@ -41,11 +42,8 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import java.math.BigDecimal;
-import java.text.DecimalFormat;
 import java.util.*;
-import java.util.function.Function;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * @author PanZhibao
@@ -707,11 +705,11 @@
     }
 
     @Override
-    public String getLastScheduleData(String scheduleCode) {
+    public List<StScheduleRecordVO> getLastScheduleData(String scheduleCode, Integer limit) {
         if (StringUtils.isBlank(scheduleCode)) {
             return null;
         }
-        return stScheduleRecordService.getLastScheduleResult(scheduleCode);
+        return stScheduleRecordService.getLastScheduleResult(scheduleCode,limit);
     }
 
     @Override
@@ -746,6 +744,47 @@
         return results;
     }
 
+    @Override
+    public Map<String, List<Object[]>> getPredictDataItemNo(PreDataItemNoReqVO reqVO) {
+        if (StringUtils.isBlank(reqVO.getItemNo()) || null == reqVO.getStartTime() || null == reqVO.getEndTime()) {
+            return new HashMap<>();
+        }
+        ItemVO predictItem = mmPredictItemService.getItemByItemNo(reqVO.getItemNo());
+        if (null == predictItem) {
+            return new HashMap<>();
+        }
+        List<String> itemNos = new ArrayList<String>(){{
+           add(reqVO.getItemNo());
+        }};
+        List<MmPredictItemRespVO> ItemRespVOs = mmPredictItemService.getArrayOutPutsByItemNos(itemNos);
+        if (CollectionUtils.isEmpty(ItemRespVOs)) {
+            return new HashMap<>();
+        }
+        List<MmItemOutputRespVO> outPuts = ItemRespVOs.get(0).getOutPuts();
+        if (CollectionUtils.isEmpty(outPuts)) {
+            return new HashMap<>();
+        }
+
+        InfluxModelResultByOutPutIdsPOJO pojo = new InfluxModelResultByOutPutIdsPOJO();
+        pojo.setOutPutIds(outPuts.stream().map(MmItemOutputRespVO::getId).collect(Collectors.toList()));
+        pojo.setType(DataTypeEnum.FLOAT.getCode());
+        Map<String, List<InfluxModelResultVO>> outPutDatas = influxDBService.queryModelResultsByOutPutIds(pojo, reqVO.getStartTime(), reqVO.getEndTime());
+        Map<String,List<Object[]>> result = new HashMap<>(outPuts.size());
+        for (MmItemOutputRespVO outPut : outPuts) {
+            String outPutId = outPut.getId();
+            if (outPutDatas.containsKey(outPutId)) {
+                List<InfluxModelResultVO> influxModelResultVOS = outPutDatas.get(outPutId);
+                result.put(null == outPut.getResultIndex() ? outPut.getResultstr() : outPut.getResultstr()+"_"+outPut.getResultIndex(),influxModelResultVOS.stream().map(e -> {
+                    Object[] values = new Object[2];
+                    values[0] = DateUtils.format(Date.from(e.getTimestamp()), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
+                    values[1] = Double.valueOf(e.getValue().toString());
+                    return values;
+                }).collect(Collectors.toList()));
+            }
+        }
+        return result;
+    }
+
     /**
      * 计算功率因数 p²/(根号:p²+Q²)
      **/
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java
index f5fb719..96116e5 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java
@@ -5,9 +5,9 @@
 import com.iailab.framework.common.util.object.BeanUtils;
 import com.iailab.module.model.api.mcs.McsApi;
 import com.iailab.module.model.api.mcs.dto.*;
+import com.iailab.module.model.api.mdk.dto.StScheduleRecordVO;
 import com.iailab.module.model.common.utils.ApiSecurityUtils;
 import com.iailab.module.model.common.utils.ExcelUtil;
-import com.iailab.module.model.influxdb.vo.InfluxModelResultVO;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.extern.slf4j.Slf4j;
@@ -188,8 +188,11 @@
     }
     @GetMapping("/schedule-data/last")
     @Operation(summary = "调度模型最新结果查询")
-    public CommonResult<String> getLastScheduleData(@RequestParam String scheduleCode) {
-        return CommonResult.success(mcsApi.getLastScheduleData(scheduleCode));
+    public CommonResult<List<StScheduleRecordVO>> getLastScheduleData(@RequestParam String scheduleCode, @RequestParam Integer limit) {
+        if (null == limit) {
+            limit = 1;
+        }
+        return CommonResult.success(mcsApi.getLastScheduleData(scheduleCode,limit));
     }
 
     @PostMapping("/machineRealTimeStatus")
@@ -197,4 +200,10 @@
     CommonResult<List<Map<String, Object>>> getRealTimeStatus(@RequestBody List<Map<String, Object>> machines) {
         return CommonResult.success(mcsApi.getRealTimeStatus(machines));
     }
+
+    @PostMapping("/predict-data/itemNo")
+    @Operation(summary = "查询时间范围内预测结果")
+    CommonResult<Map<String,List<Object[]>>> getPredictDataItemNo(@RequestBody PreDataItemNoReqVO reqVO) {
+        return CommonResult.success(mcsApi.getPredictDataItemNo(reqVO));
+    }
 }
\ No newline at end of file
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictItemDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictItemDao.java
index b07c54c..999ad83 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictItemDao.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictItemDao.java
@@ -36,5 +36,5 @@
         return getPageList(getPage(reqVO), reqVO);
     }
 
-    List<MmPredictItemRespVO> getDoubleOutPutsByItemNos(Map<String, Object> params);
+    List<MmPredictItemRespVO> getOutPutsByItemNosAndResultType(Map<String, Object> params);
 }
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 8cb78be..9d4fa38 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
@@ -47,4 +47,6 @@
     MmPredictItemEntity getById(String id);
 
     List<MmPredictItemRespVO> getDoubleOutPutsByItemNos(List<String> itemNos);
+
+    List<MmPredictItemRespVO> getArrayOutPutsByItemNos(List<String> itemNos);
 }
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 268b8a0..abe0ee6 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
@@ -80,12 +80,29 @@
 
     @Override
     public List<MmPredictItemRespVO> getDoubleOutPutsByItemNos(List<String> itemNos) {
-        if (CollectionUtils.isEmpty(itemNos)) {
+        List<Integer> resultType = new ArrayList<Integer>(){{
+           add(3);
+        }};
+        return getOutPutsByItemNosAndResultType(itemNos,resultType);
+    }
+
+    @Override
+    public List<MmPredictItemRespVO> getArrayOutPutsByItemNos(List<String> itemNos) {
+        List<Integer> resultType = new ArrayList<Integer>(){{
+            add(1);
+            add(2);
+        }};
+        return getOutPutsByItemNosAndResultType(itemNos,resultType);
+    }
+
+    public List<MmPredictItemRespVO> getOutPutsByItemNosAndResultType(List<String> itemNos,List<Integer> resultType) {
+        if (CollectionUtils.isEmpty(itemNos) || CollectionUtils.isEmpty(resultType)) {
             return new ArrayList<>();
         }
         Map<String, Object> params = new HashMap(1);
         params.put("itemNos", itemNos);
-        List<MmPredictItemRespVO> list = mmPredictItemDao.getDoubleOutPutsByItemNos(params);
+        params.put("resultType", resultType);
+        List<MmPredictItemRespVO> list = mmPredictItemDao.getOutPutsByItemNosAndResultType(params);
         return list;
     }
 
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemOutputRespVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemOutputRespVO.java
index 3848509..7ca4d9d 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemOutputRespVO.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmItemOutputRespVO.java
@@ -39,6 +39,10 @@
     @ExcelProperty("输出结果")
     private String resultstr;
 
+    @Schema(description = "结果索引")
+    @ExcelProperty("结果索引")
+    private Integer resultIndex;
+
     @Schema(description = "数据点名称")
     @ExcelProperty("数据点名称")
     private String tagname;
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StScheduleRecordDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StScheduleRecordDao.java
index 949727b..7655577 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StScheduleRecordDao.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StScheduleRecordDao.java
@@ -4,9 +4,13 @@
 import com.iailab.framework.mybatis.core.mapper.BaseMapperX;
 import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
+import com.iailab.module.model.api.mdk.dto.StScheduleRecordVO;
 import com.iailab.module.model.mcs.sche.entity.StScheduleRecordEntity;
 import com.iailab.module.model.mcs.sche.vo.StScheduleRecordPageReqVO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author PanZhibao
@@ -26,5 +30,5 @@
                 .orderByDesc(StScheduleRecordEntity::getCreateTime));
     }
 
-    String getLastScheduleResult(String scheduleCode);
+    List<StScheduleRecordVO> getLastScheduleResult(@Param("scheduleCode") String scheduleCode, @Param("limit") Integer limit);
 }
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleRecordService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleRecordService.java
index 9af3014..c6ab60a 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleRecordService.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleRecordService.java
@@ -2,10 +2,14 @@
 
 import com.iailab.framework.common.pojo.PageResult;
 import com.iailab.framework.common.service.BaseService;
+import com.iailab.module.model.api.mdk.dto.StScheduleRecordVO;
 import com.iailab.module.model.mcs.sche.entity.StScheduleRecordEntity;
 import com.iailab.module.model.mcs.sche.vo.StScheduleRecordPageReqVO;
 import com.iailab.module.model.mcs.sche.vo.StScheduleRecordRespVO;
 import com.iailab.module.model.mdk.vo.ScheduleResultVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author PanZhibao
@@ -20,5 +24,5 @@
 
     void create(ScheduleResultVO resultVO);
 
-    String getLastScheduleResult(String scheduleCode);
+    List<StScheduleRecordVO> getLastScheduleResult(String scheduleCode, Integer limit);
 }
\ No newline at end of file
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleRecordServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleRecordServiceImpl.java
index 8002344..caa952d 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleRecordServiceImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleRecordServiceImpl.java
@@ -5,6 +5,7 @@
 import com.iailab.framework.common.pojo.PageResult;
 import com.iailab.framework.common.service.impl.BaseServiceImpl;
 import com.iailab.framework.common.util.object.ConvertUtils;
+import com.iailab.module.model.api.mdk.dto.StScheduleRecordVO;
 import com.iailab.module.model.mcs.sche.dao.StScheduleRecordDao;
 import com.iailab.module.model.mcs.sche.entity.StScheduleRecordDetailEntity;
 import com.iailab.module.model.mcs.sche.entity.StScheduleRecordEntity;
@@ -63,7 +64,7 @@
     }
 
     @Override
-    public String getLastScheduleResult(String scheduleCode) {
-        return baseDao.getLastScheduleResult(scheduleCode);
+    public List<StScheduleRecordVO> getLastScheduleResult(String scheduleCode, Integer limit) {
+        return baseDao.getLastScheduleResult(scheduleCode,limit);
     }
 }
\ No newline at end of file
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 940250c..61fc269 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
@@ -94,6 +94,7 @@
             <result property="outputorder" column="out_put_order"/>
             <result property="resultName" column="result_name"/>
             <result property="resultstr" column="result_str"/>
+            <result property="resultIndex" column="result_index"/>
         </collection>
     </resultMap>
 
@@ -193,24 +194,28 @@
         FROM t_mm_predict_merge_item t1
         WHERE t1.itemid = #{ITEMID}
     </select>
-    <select id="getDoubleOutPutsByItemNos" resultMap="MmPredictItemRespVO" parameterType="map">
+    <select id="getOutPutsByItemNosAndResultType" resultMap="MmPredictItemRespVO" parameterType="map">
         SELECT
-            TMPI.ID,
-            TMPI.ITEMNO,
-            TMPI.ITEMNAME,
-            TMPI.ITEMTYPEID,
-            TMPI.predictlength,
-            TMPI.GRANULARITY,
-            TMPI.ISFUSE,
-            TMPI.WORKCHECKED,
-            TMPI.STATUS,
-            TMIO.id out_put_id,
-            TMIO.outputorder out_put_order,
-            TMIO.resultstr result_str,
-            TMIO.result_name,
-            TMIS.last_time
+        TMPI.ID,
+        TMPI.ITEMNO,
+        TMPI.ITEMNAME,
+        TMPI.ITEMTYPEID,
+        TMPI.predictlength,
+        TMPI.GRANULARITY,
+        TMPI.ISFUSE,
+        TMPI.WORKCHECKED,
+        TMPI.STATUS,
+        TMIO.id out_put_id,
+        TMIO.outputorder out_put_order,
+        TMIO.resultstr result_str,
+        TMIO.result_index,
+        TMIO.result_name,
+        TMIS.last_time
         FROM T_MM_PREDICT_ITEM TMPI
-        LEFT JOIN t_mm_item_output TMIO ON TMIO.itemid = TMPI.ID AND TMIO.result_type = 3
+        LEFT JOIN t_mm_item_output TMIO ON TMIO.itemid = TMPI.ID AND TMIO.result_type in
+        <foreach collection="resultType" item="item" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
         LEFT JOIN t_mm_item_status TMIS ON TMIS.item_id = TMPI.ID
         WHERE TMPI.itemno in
         <foreach collection="itemNos" item="item" open="(" close=")" separator=",">
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/StScheduleRecordDao.xml b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/StScheduleRecordDao.xml
index ebfceed..406a330 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/StScheduleRecordDao.xml
+++ b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/StScheduleRecordDao.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="com.iailab.module.model.mcs.sche.dao.StScheduleRecordDao">
-    <select id="getLastScheduleResult" resultType="java.lang.String">
-        SELECT t2.result_data FROM t_st_schedule_scheme t1 LEFT JOIN t_st_schedule_record t2 on t1.id = t2.scheme_id
+    <select id="getLastScheduleResult" resultType="com.iailab.module.model.api.mdk.dto.StScheduleRecordVO">
+        SELECT t2.* FROM t_st_schedule_scheme t1 LEFT JOIN t_st_schedule_record t2 on t1.id = t2.scheme_id
         WHERE t1.`code` = #{scheduleCode} AND result_code = "100"
         ORDER BY t2.schedule_time desc
-        LIMIT 1
+        LIMIT #{limit}
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3