From f50a78dd25bfca670219b93c19251a121755fb64 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期二, 22 四月 2025 09:00:05 +0800
Subject: [PATCH] Merge branch 'master' of http://dlindusit.com:53929/r/ansteel

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java |   65 +++++++++++++++++++++++++++-----
 1 files changed, 54 insertions(+), 11 deletions(-)

diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java
index 14b453d..509298f 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java
@@ -60,6 +60,9 @@
     @Autowired
     private PowerDemandService powerDemandService;
 
+    @Autowired
+    private PowerAdjustedFactorService powerAdjustedFactorService;
+
     @Resource
     private DataPointApi dataPointApi;
 
@@ -338,11 +341,9 @@
                 calendar.set(Calendar.SECOND, 0);
                 calendar.set(Calendar.MILLISECOND, 0);
                 Date start = calendar.getTime();
-                calendar.add(Calendar.MONTH, 1);
-                Date end = calendar.getTime();
                 ApiPointValueQueryDTO apiPointValueQueryDTO = new ApiPointValueQueryDTO();
                 apiPointValueQueryDTO.setStart(start);
-                apiPointValueQueryDTO.setEnd(end);
+                apiPointValueQueryDTO.setEnd(new Date());
                 apiPointValueQueryDTO.setPointNo(dto.getMaxDemand());
 
                 List<ApiPointValueDTO> monthValues = dataPointApi.queryPointHistoryValue(apiPointValueQueryDTO);
@@ -361,7 +362,7 @@
         return success(result);
     }
 
-    @GetMapping("/power/historyData")
+    @GetMapping("/net-factor/historyData")
     @Operation(summary = "功率因数-根据nodeName获取最近1440min历史数据,月最大,最小值")
     public CommonResult<PowerHistoryDTO> getPowerHistoryData(@RequestParam Map<String, Object> params) {
 
@@ -386,7 +387,7 @@
             case "cos":
                 pointNo = powerNetFactor.getCurCos();
         }
-
+        //查询图表
         apiPointValueQueryDTO.setPointNo(pointNo);
         SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         if (params.get("startTime") != null) {
@@ -419,16 +420,37 @@
             data.add(value);
             dataList.add(data);
         }
-        List<String> categories = DateUtils.getTimeScale(start, end, 5);
+        List<String> categories = DateUtils.getTimeScale(start, end, 60);
         result.setCategories(categories);
         result.setDataList(dataList);
-        result.setMax(getMax(dataList));
-        result.setMin(getMin(dataList));
+
+        //查询月最大最小值
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.DAY_OF_MONTH, 1);
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+        start = calendar.getTime();
+        apiPointValueQueryDTO.setStart(start);
+        apiPointValueQueryDTO.setEnd(new Date());
+        List<ApiPointValueDTO> monthChartData = dataPointApi.queryPointHistoryValue(apiPointValueQueryDTO);
+        List<List<Object>> monthDataList = new ArrayList<>();
+        for (ApiPointValueDTO dto : monthChartData) {
+            List<Object> data = new ArrayList<>();
+            String time = ft.format(dto.getT());
+            double value = dto.getV();
+            data.add(time);
+            data.add(value);
+            monthDataList.add(data);
+        }
+        result.setMax(getMax(monthDataList));
+        result.setMin(getMin(monthDataList));
         return success(result);
     }
 
-    private double getMax(List<List<Object>> dataList) {
-        double result = 0;
+    private double getMin(List<List<Object>> dataList) {
+        double result = Double.parseDouble(dataList.get(0).get(1).toString());
         for (int i = 0; i < dataList.size() - 1; i++) {
             if (result > Double.parseDouble(dataList.get(i).get(1).toString())) {
                 result = Double.parseDouble(dataList.get(i).get(1).toString());
@@ -437,7 +459,7 @@
         return result;
     }
 
-    private double getMin(List<List<Object>> dataList) {
+    private double getMax(List<List<Object>> dataList) {
         double result = 0;
         for (int i = 0; i < dataList.size() - 1; i++) {
             if (result < Double.parseDouble(dataList.get(i).get(1).toString())) {
@@ -446,4 +468,25 @@
         }
         return result;
     }
+
+    @GetMapping("/adjust-factor")
+    @Operation(summary = "负荷移植-调整后的功率因数与无功倒送量")
+    public CommonResult<Map<String, Double>> getPowerAdjustFactor(@RequestParam Map<String, Object> params) {
+        List<PowerAdjustedFactorEntity> list = powerAdjustedFactorService.list(params);
+        List<PowerAdjustedFactorDTO> dtoList = ConvertUtils.sourceToTarget(list, PowerAdjustedFactorDTO.class);
+        Map<String, Double> result = new HashMap<>();
+        if (CollectionUtils.isEmpty(list)) {
+            return success(result);
+        }
+        List<String> points = new ArrayList<>();
+        Map<String, Object> dataMap = new HashMap<>();
+        for (PowerAdjustedFactorDTO dto : dtoList) {
+            points.add(dto.getPointNo());
+        }
+        dataMap = dataPointApi.queryPointsRealValue(points);
+        for (PowerAdjustedFactorDTO powerAdjustedFactorDTO : dtoList) {
+            result.put(powerAdjustedFactorDTO.getName(), Double.parseDouble(dataMap.get(powerAdjustedFactorDTO.getPointNo()).toString()));
+        }
+        return success(result);
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3