From 7df4fcb8c640fefac7bdd406cbd10ebb5e8388b9 Mon Sep 17 00:00:00 2001
From: liriming <1343021927@qq.com>
Date: 星期四, 26 六月 2025 17:06:04 +0800
Subject: [PATCH] 功率因数超限报警原因溯源修改

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/DataController.java |   85 ++++++++++++++++++++++++++++--------------
 1 files changed, 57 insertions(+), 28 deletions(-)

diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/DataController.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/DataController.java
index c593163..c276401 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/DataController.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/DataController.java
@@ -1,16 +1,21 @@
 package com.iailab.module.ansteel.api.controller.admin;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.iailab.framework.common.pojo.CommonResult;
 import com.iailab.module.ansteel.api.dto.*;
-import com.iailab.module.ansteel.api.service.DataApi;
+import com.iailab.module.ansteel.api.service.DataService;
+import com.iailab.module.data.api.point.DataPointApi;
+import com.iailab.module.data.api.point.dto.ApiPointValueWriteDTO;
+import com.iailab.module.model.api.mcs.dto.PreDataBarLineReqVO;
 import com.iailab.module.model.api.mcs.dto.PreDataSingleChartReqVO;
 import com.iailab.module.model.api.mcs.dto.StAlarmAndSuggestReqVO;
-import com.iailab.module.model.api.mcs.dto.StAlarmAndSuggestRespVO;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-
 import java.util.*;
 
 import static com.iailab.framework.common.pojo.CommonResult.success;
@@ -25,60 +30,84 @@
 public class DataController {
 
     @Autowired
-    private DataApi dataApi;
+    private DataService dataService;
+
+    @Autowired
+    private DataPointApi dataPointApi;
 
     @GetMapping("/power-run-state/list")
     @Operation(summary = "发电厂机组运行情况")
     public CommonResult<List<PowerRunStateDTO>> getPowerRunState(@RequestParam Map<String, Object> params) {
-        List<PowerRunStateDTO> list = dataApi.getPowerRunState();
+        List<PowerRunStateDTO> list = dataService.getPowerRunState();
         return success(list);
     }
 
     @PostMapping("/predict-data/charts")
     @Operation(summary = "预测数据图表")
     public CommonResult<PreDataChartRespVO> getPreDataChart(@RequestBody PreDataSingleChartReqVO reqVO) {
-        PreDataChartRespVO respVO = dataApi.getPreDataChart(reqVO);
+        PreDataChartRespVO respVO = dataService.getPreDataChart(reqVO);
+        return CommonResult.success(respVO);
+    }
+
+    @PostMapping("/predict-data/chartsByOutIds")
+    @Operation(summary = "根据outId查询预测数据")
+    public CommonResult<List<PreDataViewSimpleDTO>> getPreDataByOutIds(@RequestBody PreDataBarLineReqVO reqVO) {
+        List<PreDataViewSimpleDTO> respVO = dataService.getPreDataByOutIds(reqVO);
         return CommonResult.success(respVO);
     }
 
     @PostMapping("/plan-data/charts")
     @Operation(summary = "计划数据图表")
     public CommonResult<Map<String, Object>> getPlanDataChart(@RequestBody PlanDataChartReqVO reqVO) {
-        Map<String, Object> tMap = dataApi.getPlanDataChart(reqVO);
+        Map<String, Object> tMap = dataService.getPlanDataChart(reqVO);
         return CommonResult.success(tMap);
     }
 
     @PostMapping("/schedule-suggest/use-suggest")
     @Operation(summary = "采纳建议")
     public CommonResult<Boolean> useSuggest(@RequestBody StAlarmAndSuggestReqVO ReqVO) {
-        return success(dataApi.useSuggest(ReqVO));
+        return success(dataService.useSuggest(ReqVO));
     }
 
-    @GetMapping("/power-net-factor/list")
-    @Operation(summary = "电力功率因数-电网拓扑")
-    public CommonResult<List<PowerNetFactorDTO>> getPowerNetFactorList(@RequestParam Map<String, Object> params) {
-        List<PowerNetFactorDTO> list = dataApi.getPowerNetFactorList();
-        return success(list);
+    @PostMapping("/schedule-suggest/ignore-suggest")
+    @Operation(summary = "忽略建议")
+    public CommonResult<Boolean> ignoreSuggest(@RequestBody StAlarmAndSuggestReqVO ReqVO) {
+        return success(dataService.ignoreSuggest(ReqVO));
     }
 
-    @GetMapping("/power-capacitor-status/list")
-    @Operation(summary = "电力功率因数-电容器投运状态")
-    public CommonResult<List<PowerCapacitorStatusDTO>> getPowerCapacitorStatusList(@RequestParam Map<String, Object> params) {
-        List<PowerCapacitorStatusDTO> list = dataApi.getPowerCapacitorStatusList();
-        return success(list);
+    @GetMapping("/data/history-value")
+    @Operation(summary = "指标/测点历史数据")
+    public CommonResult<List<Object[]>> getHistoryValue(@RequestParam Map<String, Object> params) {
+        return success(dataService.getHistoryValue(params));
     }
 
-    @GetMapping("/power-control-main/list")
-    @Operation(summary = "电力功率因数-管控功率因数主表")
-    public CommonResult<List<PowerControlMainDTO>> getPowerControlMainList(@RequestParam Map<String, Object> params) {
-        List<PowerControlMainDTO> list = dataApi.getPowerControlMainList();
-        return success(list);
+    @PostMapping("/datas/history-value")
+    @Operation(summary = "多个指标/测点历史数据")
+    public CommonResult<Map<String,List<Object[]>>> getDatasHistoryValue(@RequestBody Map<String, Object> params) {
+        Map<String,List<Object[]>> result = new HashMap<>();
+        if (!params.containsKey("datas") || StringUtils.isBlank(params.get("datas").toString())) {
+            return success(result);
+        }
+        JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(params.get("datas")));
+        for (Object data : jsonArray) {
+            Map<String, Object> param = new HashMap<>();
+            JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(data));
+            param.put("dataType",jsonObject.get("dataType"));
+            param.put("dataNo",jsonObject.get("dataNo"));
+            param.put("startTime",params.get("startTime"));
+            param.put("endTime",params.get("endTime"));
+            List<Object[]> historyValue = dataService.getHistoryValue(param);
+            result.put(jsonObject.get("dataNo").toString(),historyValue);
+        }
+        return success(result);
     }
 
-    @GetMapping("/power-control-det/list")
-    @Operation(summary = "电力功率因数-管控功率因数子表")
-    public CommonResult<List<PowerControlDetDTO>> getPowerControlDetList(@RequestParam Map<String, Object> params) {
-        List<PowerControlDetDTO> list = dataApi.getPowerControlDetList(params);
-        return success(list);
+    @PostMapping("/write-point-value")
+    @Operation(summary = "写入测点值")
+    public CommonResult writePointRealValue(@RequestBody ApiPointValueWriteDTO writeDTO) {
+        dataPointApi.writePointRealValue(writeDTO);
+        return success();
     }
+
+
 }
\ No newline at end of file

--
Gitblit v1.9.3