From 2c7c17d4d9f62faf9ed69866bc2df3249c29e31f Mon Sep 17 00:00:00 2001
From: lxw <810412026@qq.com>
Date: 星期一, 31 七月 2023 10:42:12 +0800
Subject: [PATCH] 修改蓄电池组后评估加因为告警导致的损坏和劣化

---
 src/main/java/com/whyc/service/BatttestdataInfService.java |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/whyc/service/BatttestdataInfService.java b/src/main/java/com/whyc/service/BatttestdataInfService.java
index 13c958f..7cb83cb 100644
--- a/src/main/java/com/whyc/service/BatttestdataInfService.java
+++ b/src/main/java/com/whyc/service/BatttestdataInfService.java
@@ -36,6 +36,9 @@
     @Resource
     BattInfMapper binfMapper;
 
+    @Resource
+    BattalarmDataMapper alarmDataMapper;
+
     //鍦ㄧ嚎鐩戞祴-鍘嗗彶鐩戞帶-鑾峰彇鍏呮斁鐢佃褰�
     public Response searchBattTestInfDataById(int battGroupId, int fbsDeviceId) {
         String lang = ActionUtil.getLang();
@@ -200,6 +203,7 @@
         list1.add(minCap);
         list1.add(lastCap);
         list1.add(testList);
+        list1.add(0);
         return list1;
     }
 
@@ -430,32 +434,42 @@
             //灏忎簬capChange
             int changeNum = 0;
             String battGroupId = "0";
+            //鎹熷潖
+            List listAlmSH = new ArrayList();
+            //鍔e寲
+            List listAlmLH = new ArrayList();
             if (list != null && list.size() > 0) {
                 for (BatttestdataInf inf : list) {
                     if (!battGroupId.equals(inf.getBattGroupId().toString())) {
                         int hourRate = BattCapFactory.GetHourRate(inf.getMonCapStd(), inf.getTestCurr());
                         float cap = (float) BattCapFactory.GetMonomerCap(inf.getMonCapStd(), hourRate, inf.getTestCap(), inf.getMaxMonvol(), inf.getMinMonvol(), inf.getMonVolStd(), BattCapFactory.CapType_Real);
-                        if (cap < capAlarm * inf.getMonCapStd()) {
+                        if (cap >= capChange * inf.getMonCapStd() && cap <= capAlarm * inf.getMonCapStd()) {
                             alarmNum = alarmNum + 1;
+                            listAlmLH.add(inf.getBattGroupId().toString());
                         }
                         if (cap < capChange * inf.getMonCapStd()) {
                             changeNum = changeNum + 1;
+                            listAlmSH.add(inf.getBattGroupId().toString());
                         }
                         battGroupId = inf.getBattGroupId().toString();
-                        //map.put(battGroupId, inf.getMonCapStd() + " " + inf.getMonVolStd() + " " + cap + " " + capAlarm + " " + capChange);
                     }
                 }
             }
+            //鐢垫睜鍛婅锛堝姡鍖栵細鍐呴樆杩囬珮閲嶈锛岀數鍘嬭繃浣庨噸瑕侊紱鎹熷潖锛氬唴闃昏繃楂樼揣鎬ワ紝鐢靛帇杩囦綆绱ф��<鍐呴樆鐨刟lm_signal_id鏄�13锛岀數鍘嬬殑alm_signal_id鏄�10>锛�
+            //鎹熷潖鍒楄〃
+            List<String> listSH = alarmDataMapper.searchAlarmLHorSH(userId, 1, listAlmSH);
+            //鍒楀潖鍒楄〃
+            List<String> listLH = alarmDataMapper.searchAlarmLHorSH(userId, 0, listAlmLH);
             Map<String, Integer> numMap = new HashMap<>();
-            numMap.put("alarmNum", (alarmNum - changeNum));
-            numMap.put("changeNum", changeNum);
+            numMap.put("alarmNum", alarmNum + listSH.size());
+            numMap.put("changeNum", changeNum + listLH.size());
             //鎬荤數姹犵粍(鍒嗙被)
             int groupNum = binfMapper.geGroupCount(userId);
             numMap.put("groupNum", groupNum);
             //宸叉斁鐢电數姹犵粍鏁�
             int inDischargeNum = binfMapper.searchInDischarge(userId);
             //钃勭數姹犱紭鑹紙宸茬粡鏀剧數鏁�-鍛婅鏁帮級
-            numMap.put("goodSum", (inDischargeNum - alarmNum));
+            numMap.put("goodSum", (inDischargeNum - alarmNum - changeNum));
              /*鏈勾搴﹀凡鏍稿鏀剧數鐢垫睜缁�(testdate_inf涓璽est_type=3,test_startType=3)
              int hrDisNum = testInfService.getHrQuarter(userId);
             * 淇敼涓猴細棰嗗灞傛湰骞村害宸叉斁鏁� 浠呴渶瑕佺粺璁℃斁鐢垫甯稿仠姝㈢殑 姝e父鍋滄鐨勬潯浠跺涓嬶細

--
Gitblit v1.9.1