From 91343d9a8d97b823f1b662f980790bb901bca46b Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期一, 18 十一月 2024 17:53:15 +0800
Subject: [PATCH] 图表数据查询

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java |   49 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 47 insertions(+), 2 deletions(-)

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 7198837..73ae82f 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
@@ -1,20 +1,31 @@
 package com.iailab.module.model.api.controller.admin;
 
+import com.iailab.framework.apilog.core.annotation.ApiAccessLog;
 import com.iailab.framework.common.pojo.CommonResult;
+import com.iailab.framework.excel.core.util.ExcelUtils;
+import com.iailab.module.data.api.point.dto.ApiPointValueQueryDTO;
 import com.iailab.module.model.api.mcs.McsApi;
 import com.iailab.module.model.api.mcs.dto.*;
 import com.iailab.module.model.common.utils.ApiSecurityUtils;
+import com.iailab.module.model.common.utils.ExcelUtil;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.annotation.security.PermitAll;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.LinkedHashMap;
 import java.util.List;
+import static com.iailab.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
 
 /**
  * @author PanZhibao
@@ -71,10 +82,44 @@
     @PermitAll
     @GetMapping("/predict-data/single-chart")
     @Operation(summary = "预测数据图表")
-    public CommonResult<PreDataItemChartRespVO> getPreDataSingleChart(HttpServletResponse response, HttpServletRequest
+    public CommonResult<PreDataSingleChartRespVO> getPreDataSingleChart(HttpServletResponse response, HttpServletRequest
             request, @RequestBody PreDataSingleChartReqVO reqVO) throws Exception {
         apiSecurityUtils.validate(request);
-        PreDataItemChartRespVO respVO = mcsApi.getPreDataSingleChart(reqVO);
+        PreDataSingleChartRespVO respVO = mcsApi.getPreDataSingleChart(reqVO);
         return CommonResult.success(respVO);
     }
+
+    @GetMapping("/predict-data/exportValue")
+    @Operation(summary = "导出预测数据")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportPointValue(@RequestParam("itemId") String itemId,
+                                 @RequestParam("startTime") String startTime,
+                                 @RequestParam("endTime") String endTime,
+                                 HttpServletResponse response) throws IOException {
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        PreDataItemChartReqVO reqVO = new PreDataItemChartReqVO();
+        reqVO.setItemId(itemId);
+        try {
+            if (startTime == "") {
+                reqVO.setStartTime(new Date((new Date()).getTime() - 60*60*1000));
+            } else {
+                reqVO.setStartTime(formatter.parse(startTime));
+
+            }
+            if (endTime == "") {
+                reqVO.setEndTime(new Date((new Date()).getTime() + 60*60*1000));
+            } else {
+                reqVO.setEndTime(formatter.parse(endTime));
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        PreDataItemChartRespVO respVO = mcsApi.getPreDataItemChart(reqVO);
+        try {
+            String sheetTitle =  "sheet1";
+            ExcelUtil.exportchart(sheetTitle, respVO, response);
+        } catch (Exception ex) {
+            ex.printStackTrace();
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3