From 64f046ed41c2ae607dc065c82b6d454f64e90584 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期四, 19 六月 2025 21:52:33 +0800
Subject: [PATCH] 预警分析管理-电源告警

---
 src/main/java/com/whyc/service/BattRealdataIdService.java |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/whyc/service/BattRealdataIdService.java b/src/main/java/com/whyc/service/BattRealdataIdService.java
index 3b55cb9..8a1faed 100644
--- a/src/main/java/com/whyc/service/BattRealdataIdService.java
+++ b/src/main/java/com/whyc/service/BattRealdataIdService.java
@@ -9,6 +9,8 @@
 import com.whyc.mapper.CommonMapper;
 
 import com.whyc.pojo.db_data_history.BattRealdataId;
+import com.whyc.pojo.db_param.AlmAnalysisParam;
+import com.whyc.pojo.db_param.AppParam;
 import com.whyc.util.ActionUtil;
 import com.whyc.util.DateUtil;
 import com.whyc.util.ThreadLocalUtil;
@@ -40,6 +42,12 @@
 
     @Autowired
     private BattInfService binfService;
+
+    @Autowired
+    private AlmAnalysisParamService almAnalysisParamService;
+
+    @Autowired
+    private AppParamService appParamService;
 
 
     //鑾峰彇鐢垫睜缁勬渶杩戜竴瀛e害鐨勫崟浣撴暟鎹�
@@ -219,9 +227,16 @@
         return new Response().set(1, dataListSorted);
     }
     //鐢垫睜鍛婅鐐瑰嚮鍏蜂綋鍛婅淇℃伅鏌ョ湅浠庡憡璀﹀紑濮嬫椂闂村埌鐜板湪鐨勫巻鍙插疄鏃舵暟鎹�
-    public Response getBattHisRealInAlm(Integer battgroupId, String startTime, Integer monNum) throws ParseException, InterruptedException {
+    public Response getBattHisRealInAlm(Integer battgroupId, String startTime, Integer almId) throws ParseException, InterruptedException {
+        //鑾峰彇鍛婅almId瀵瑰簲鐨勫垎鏋愰厤缃睘鎬у��
+        AlmAnalysisParam almAnalysisParam= almAnalysisParamService.getAnalysisParam(almId);
         List<RealDateDTO> dataList = new LinkedList<>();
-        List<List<Date>> monthTimeList = DateUtil.getMonthTime(ThreadLocalUtil.parse(startTime,1),new Date());
+        //鑾峰彇棰勮鍒嗘瀽鍛ㄦ湡闃堝��
+        AppParam appParam = appParamService.getAlarmAnalysisCycle();
+        Integer cycleTime=appParam.getParamValue().intValue();
+        Date cyscleDate=ActionUtil.getDateAdd(ThreadLocalUtil.parse(startTime,1),cycleTime*(-1));
+        //鑾峰彇cyscleDate鍒扮幇鍦ㄦ墍鏈夌殑鍘嗗彶瀹炴椂鏁版嵁
+        List<List<Date>> monthTimeList = DateUtil.getMonthTime(cyscleDate,new Date());
         ThreadPoolExecutor pool = ThreadPoolExecutorFactory.getPoolExecutor();
         CountDownLatch latch = new CountDownLatch(monthTimeList.size());
         for (int i = 0; i < monthTimeList.size(); i++) {
@@ -237,15 +252,7 @@
                 int tableNum = subTablePageInfoService.judgeTable_realdata(table);
                 List<RealDateDTO> list = new ArrayList();
                 if (tableNum > 0) {
-                    //鑾峰彇鎸囧畾鏃堕棿娈靛唴鏈�澶ф渶灏弐ecordNum纭繚鏁版嵁鐨勫畬鏁�
-                    List recordNums= subTablePageInfoService.getMaxAndMinRecordNum(realdata);
-                    Integer maxRecordNum= 0;
-                    Integer minRecordNum= 0;
-                    if(recordNums.size()>0){
-                        maxRecordNum=(Integer)recordNums.get(0);
-                        minRecordNum=(Integer)recordNums.get(1);
-                    }
-                    list = subTablePageInfoService.getBattRealDataHis(realdata,1,maxRecordNum,minRecordNum);
+                    list = subTablePageInfoService.getBattHisRealInAlm(realdata);
                 }
                 dataList.addAll(list);
                 latch.countDown();
@@ -254,7 +261,7 @@
         }
         latch.await(10, TimeUnit.MINUTES);
         List dataListSorted = dataList.stream().sorted(Comparator.comparing(RealDateDTO::getRecordTime)).collect(Collectors.toList());
-        return new Response().set(1, dataListSorted);
+        return new Response().setIII(1,true, dataListSorted,almAnalysisParam,"鐢垫睜鍛婅鐐瑰嚮鍏蜂綋鍛婅淇℃伅鏌ョ湅浠庡憡璀﹀紑濮嬫椂闂村埌鐜板湪鐨勫巻鍙插疄鏃舵暟鎹�");
 
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1