From a6018ae593fc2d2fb3ccfa4e7c34f28387326f6b Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期四, 19 六月 2025 15:06:25 +0800
Subject: [PATCH] 3.1电池/电源告警参数,1.2.7优良电源统计

---
 src/main/java/com/whyc/service/PwrdevHistorydataIdService.java |   53 ++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 40 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java b/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
index a83a90c..c0a04ff 100644
--- a/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
+++ b/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
@@ -1,5 +1,6 @@
 package com.whyc.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.whyc.dto.Real.CompareDto;
 import com.whyc.dto.Real.PwrHisRealAcInDto;
 import com.whyc.dto.Real.PwrHisRealDcoutInDto;
@@ -9,6 +10,8 @@
 import com.whyc.mapper.CommonMapper;
 import com.whyc.pojo.db_data_history.BattRealdataId;
 import com.whyc.pojo.db_data_history.PwrdevHistorydataId;
+import com.whyc.pojo.db_param.ApptimeParam;
+import com.whyc.pojo.db_param.PowerPropertyParam;
 import com.whyc.pojo.db_station.PowerInf;
 import com.whyc.util.ActionUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,6 +34,12 @@
 
     @Autowired
     private PowerInfService  powerInfService;
+
+    @Autowired
+    private ApptimeParamService  apptimeParamService;
+
+    @Autowired
+    private PowerPropertyParamService  propertyParamService;
 
     //绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁�
     public Response getHalfHourPwrHisAcinData(Integer powerId,Integer granularity) {
@@ -76,13 +85,23 @@
         return new Response().setIII(1,datalist.size()>0,datalist,modelCfg,"鑾峰彇鍗婂皬鏃跺唴鐩存祦杈撳嚭缁熻");
     }
     //1.2.7浼樿壇鐢垫簮缁熻涓婁竴瀛e害鐨勭數婧愭煇涓�灞炴�у拰鍙傛暟闃堝�艰秴杩囩殑娆℃暟
-    public Map<String,Integer> getPwrQuarter7(Integer powerId, Map<String,Float> paramValue) {
+    public Integer getPwrQuarter7(Integer powerId,Integer powerType) {
         Map<String,Integer> map=new HashMap<>();
-        map.put("acin1Vola",0);
-        map.put("acoutVola",0);
+        map.put("acin1_vola",0);
+        map.put("acout_curra",0);
         map.put("dcoutVol",0);
         map.put("dcoutCurr",0);
-        List<String> datelist = ActionUtil.getLastQuarterYearMonths();
+        //鑾峰彇浼樿壇鐢垫簮鎬ц兘缁熻鍦ㄥ钩鍙颁笂鐨勬椂闂村弬鏁拌缃〃
+        ApptimeParam apptimeParam=apptimeParamService.getPwrPerformanceStrartTime(powerId);
+        //鑾峰彇鎸囧畾鏃堕棿鍒板綋鍓嶆椂闂翠竴鍏卞灏戞湀鐨勯泦鍚�
+        List<String> datelist=ActionUtil.getDateListBetweenDates(apptimeParam.getParamValue(), new Date());
+        //鑾峰彇鐢垫簮浼樿壇鍒ゆ柇鐨勬爣鍑嗗弬鏁板��
+        List<PowerPropertyParam> paramList=propertyParamService.getPwrStandardParam(powerType);
+        Map<String,Float> paramValues=new HashMap<>();
+        for (PowerPropertyParam param : paramList) {
+            paramValues.put(param.getPropertyName()+"_upper", param.getBasisVal()*param.getAlarmLimithUpper());
+            paramValues.put(param.getPropertyName()+"_lower", param.getBasisVal()*param.getAlarmLimithLowper());
+        }
         for (int i=0;i<datelist.size();i++) {
             String date=datelist.get(i);
             String tableName ="db_data_history.tb_pwrdev_historydata_"+powerId+"_"+date;
@@ -94,20 +113,28 @@
             List<QuarterPwr7Res> datalist=subTablePageInfoService.getPwrQuarter7(tableName);
             // 閬嶅巻 dataList 骞舵瘮杈冨睘鎬у��
             for (QuarterPwr7Res data : datalist) {
-                if (data.getAcin1Vola() > paramValue.get("acin1Vola")) {
-                    map.put("acin1Vola", map.get("acin1Vola") + 1);
+                if(paramValues.get("acin1_vola_upper")!=null){
+                    if ((data.getAcin1Vola() > paramValues.get("acin1_vola_upper"))||(data.getAcin1Vola() < paramValues.get("acin1_vola_lower"))) {
+                        map.put("acin1_vola", map.get("acin1_vola") + 1);
+                    }
                 }
-                if (data.getAcoutVola() > paramValue.get("acoutVola")) {
-                    map.put("acoutVola", map.get("acoutVola") + 1);
+                if(paramValues.get("acout_curra_upper")!=null) {
+                    if ((data.getAcoutCurra() > paramValues.get("acout_curra_upper")) || (data.getAcoutCurra() < paramValues.get("acout_curra_lower"))) {
+                        map.put("acout_curra", map.get("acout_curra") + 1);
+                    }
                 }
-                if (data.getDcoutVol() > paramValue.get("dcoutVol")) {
-                    map.put("dcoutVol", map.get("dcoutVol") + 1);
+                if(paramValues.get("dcout_vol_upper")!=null) {
+                    if ((data.getDcoutVol() > paramValues.get("dcout_vol_upper")) || (data.getDcoutVol() < paramValues.get("dcout_vo_lower"))) {
+                        map.put("dcout_vol", map.get("dcout_vol") + 1);
+                    }
                 }
-                if (data.getDcoutCurr() > paramValue.get("dcoutCurr")) {
-                    map.put("dcoutCurr", map.get("dcoutCurr") + 1);
+                if(paramValues.get("dcout_curr_upper")!=null) {
+                    if ((data.getDcoutCurr() > paramValues.get("dcout_curr_upper")) || (data.getDcoutCurr() < paramValues.get("dcout_curr_lower"))) {
+                        map.put("dcout_curr", map.get("dcout_curr") + 1);
+                    }
                 }
             }
         }
-        return map;
+        return 1;
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1