From 564cd1b75fd4e43e682ab8eec0c398b764e12a21 Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期一, 11 十月 2021 14:17:14 +0800
Subject: [PATCH] 更新告警接口

---
 src/main/java/com/whyc/service/BatteryAlarmService.java |   86 +++++++++++++++++++++++++++++-------------
 1 files changed, 59 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/whyc/service/BatteryAlarmService.java b/src/main/java/com/whyc/service/BatteryAlarmService.java
index 3dc8d3e..fb97fe2 100644
--- a/src/main/java/com/whyc/service/BatteryAlarmService.java
+++ b/src/main/java/com/whyc/service/BatteryAlarmService.java
@@ -1,5 +1,7 @@
 package com.whyc.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.whyc.constant.AlarmConstant;
 import com.whyc.constant.BatteryConstant;
 import com.whyc.constant.DeviceConstant;
@@ -15,10 +17,7 @@
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @Service
 public class BatteryAlarmService {
@@ -60,8 +59,8 @@
             //瀹归噺浣庡憡璀︽満鎴垮崰姣�
             //String capLowStationRateStr = (String) MathUtil.divide(stationNum,totalStationNum,3);
 
-            resultMap.put("浣庡憡璀︽暟",alarmLow);
-            resultMap.put("楂樺憡璀︽暟",alarmHigh);
+            resultMap.put("鍗曚綋瀹归噺浣庡憡璀�",alarmLow);
+            resultMap.put("鍗曚綋瀹归噺楂樺憡璀�",alarmHigh);
             //resultMap.put("鍛婅鎬绘暟",totalAlarmNum);
             //resultMap.put("鍛婅鍗犳瘮",capLowRateStr);
 
@@ -91,8 +90,8 @@
         List<Integer> alarmSignalIds = Arrays.asList(
                 AlarmConstant.ALM_SIGNAL_ID_OnlineVolHigh,AlarmConstant.ALM_SIGNAL_ID_OnlineVolLow,
                 AlarmConstant.ALM_SIGNAL_ID_GroupVolHigh,AlarmConstant.ALM_SIGNAL_ID_GroupVolLow);
-        String mapName1 = "楂樺憡璀︽暟閲�";
-        String mapName2 = "浣庡憡璀︽暟閲�";
+        String mapName1 = "楂樺憡璀�";
+        String mapName2 = "浣庡憡璀�";
 
         Map<String, Map> doubleAnalysis = getDoubleAnalysis(userId, alarmIds, alarmSignalIds, alarmNames, mapName1, mapName2);
 
@@ -102,8 +101,13 @@
     public Response<Map> getBTSEquipStatus(int userId) {
 
         Response<Map> response = new Response();
-        Map<String, Object> resultMap = new HashMap<>();
-        try {
+        Map<String, Integer> resultMap = new HashMap<>();
+        resultMap.put("鍦ㄧ嚎娴厖鏁伴噺",0);
+        resultMap.put("棰勫厖鐢垫暟閲�",0);
+        resultMap.put("鏍稿娴嬭瘯鏁伴噺",0);
+        resultMap.put("鍐呴樆娴嬭瘯鏁伴噺",0);
+        resultMap.put("閫氳鏁呴殰鏁伴噺",0);
+        /*try {
             List<FBS9100State> statusList = fbs9100StateMapper.getStatus(userId);
             for (int i = 0; i < statusList.size(); i++) {
                 switch (statusList.get(i).getWorkState()){
@@ -127,8 +131,36 @@
             e.printStackTrace();
             response.setCode(0);
             return response;
+        }*/
+        QueryWrapper<FBS9100State> wrapper = Wrappers.query();
+        wrapper.select("record_datetime","dev_workstate");
+        List<FBS9100State> fbs9100StateList = fbs9100StateMapper.selectList(wrapper);
+        //棣栧厛鏌ョ湅鏄惁閫氳鏁呴殰,鏃堕棿澶т簬1鍒嗛挓涓洪�氳鏁呴殰
+        for (int i = 0; i < fbs9100StateList.size(); i++) {
+            Calendar instance = Calendar.getInstance();
+            instance.add(Calendar.MINUTE,-1);
+            Date time = instance.getTime();
+            if(time.compareTo(fbs9100StateList.get(i).getRecordDatetime())>0){
+                resultMap.put("閫氳鏁呴殰鏁伴噺",resultMap.get("閫氳鏁呴殰鏁伴噺")+1);
+            }else{
+                switch (fbs9100StateList.get(i).getDevWorkState()){
+                    case DeviceConstant.DEV_ONLINE_CHARGE:
+                        resultMap.put("鍦ㄧ嚎娴厖鏁伴噺",resultMap.get("鍦ㄧ嚎娴厖鏁伴噺")+1);
+                        break;
+                    case DeviceConstant.DEV_PRE_CHARGE:
+                        resultMap.put("棰勫厖鐢垫暟閲�",resultMap.get("棰勫厖鐢垫暟閲�")+1);
+                        break;
+                    case DeviceConstant.DEV_NUCLEAR_CAP:
+                        resultMap.put("鏍稿鏁伴噺",resultMap.get("鏍稿娴嬭瘯鏁伴噺")+1);
+                        break;
+                    case DeviceConstant.DEV_RES_TEST:
+                        resultMap.put("鍐呴樆娴嬭瘯鏁伴噺",resultMap.get("鍐呴樆娴嬭瘯鏁伴噺")+1);
+                        break;
+                }
+            }
         }
-        return response;
+
+        return new Response<Map>().set(1,resultMap);
     }
 
 
@@ -160,8 +192,8 @@
             //鏀剧數鐢垫祦浣庡憡璀︽満鎴垮崰姣�
             //String disChargeLowStationRateStr = (String) MathUtil.divide(disChargeStationNum,totalStationNum,3);
 
-            resultMap.put("浣庡憡璀︽暟閲�", dischargeLowAlarmNum);     //浣庡憡璀︽暟閲� alm_signal_id:DisChargeCurr 7 high; 8 low
-            resultMap.put("楂樺憡璀︽暟閲�", dischargeHighAlarmNum);     //浣庡憡璀︽暟閲� alm_signal_id:DisChargeCurr 7 high; 8 low
+            resultMap.put("鏀剧數鐢垫祦浣庡憡璀�", dischargeLowAlarmNum);     //浣庡憡璀︽暟閲� alm_signal_id:DisChargeCurr 7 high; 8 low
+            resultMap.put("鏀剧數鐢垫祦楂樺憡璀�", dischargeHighAlarmNum);     //浣庡憡璀︽暟閲� alm_signal_id:DisChargeCurr 7 high; 8 low
             //resultMap.put("鍛婅鏈烘埧鎬绘暟", disChargeStationNum);      //鍛婅鏈烘埧鎬绘暟
             //resultMap.put("鍛婅鏈烘埧鏁版瘮渚�", disChargeLowRateStr);    //鍛婅鏈烘埧鏁版瘮渚�
             //resultMap.put("鍛婅鎬绘暟", totalAlarmNum);        //鍛婅鎬绘暟
@@ -205,8 +237,8 @@
         //鏀剧數鐢垫祦楂樺憡璀︽満鎴垮崰姣�
         //String dischargeStationRateStr = (String) MathUtil.divide(dischargeTotalAlarmStations,totalStationNum,3);
 
-        disCharge.put("楂樺憡璀︽暟閲�",dischargeHighAlarmsNum);     //楂樺憡璀︽暟閲�    alm_signal_id:ChargeCurrHigh 5 high; 6 low
-        disCharge.put("浣庡憡璀︽暟閲�",dischargeLowAlarmsNum);
+        disCharge.put("鏀剧數鐢垫祦楂樺憡璀�",dischargeHighAlarmsNum);     //楂樺憡璀︽暟閲�    alm_signal_id:ChargeCurrHigh 5 high; 6 low
+        disCharge.put("鏀剧數鐢垫祦浣庡憡璀�",dischargeLowAlarmsNum);
         //disCharge.put("鍛婅鎬绘暟",totalStationAlarmNum);        //鍛婅鎬绘暟
         //disCharge.put("鍛婅鎬绘暟姣斾緥", dischargeRateStr);      //鍛婅鎬绘暟姣斾緥
         //disCharge.put("鍛婅鏈烘埧鎬绘暟", dischargeTotalAlarmStations);      //鍛婅鏈烘埧鎬绘暟
@@ -227,8 +259,8 @@
         //鏀剧數鐢垫祦楂樺憡璀︽満鎴垮崰姣�
         //String chargeStationRateStr = (String) MathUtil.divide(chargeTotalAlarmStations,totalStationNum,3);
 
-        reCharge.put("楂樺憡璀︽暟閲�", chargeHighAlarmsNum);     //楂樺憡璀︽暟閲�
-        reCharge.put("浣庡憡璀︽暟閲�", chargeLowAlarmsNum);     //楂樺憡璀︽暟閲�
+        reCharge.put("鍏呯數鐢垫祦楂樺憡璀�", chargeHighAlarmsNum);     //楂樺憡璀︽暟閲�
+        reCharge.put("鍏呯數鐢垫祦浣庡憡璀�", chargeLowAlarmsNum);     //楂樺憡璀︽暟閲�
         //reCharge.put("鍛婅鎬绘暟", totalStationAlarmNum);        //鍛婅鎬绘暟
         //reCharge.put("鍛婅鎬绘暟姣斾緥", chargeRateStr);      //鍛婅鎬绘暟姣斾緥
         //reCharge.put("鍛婅鏈烘埧鎬绘暟", chargeTotalAlarmStations);      //鍛婅鏈烘埧鎬绘暟
@@ -279,8 +311,8 @@
         //String volStationRateStr = (String) MathUtil.divide(volTotalAlarmStations,totalStationNum,3);
 
 
-        monVolMap.put("楂樺憡璀︽暟閲�", volHighAlarmsNum);     //楂樺憡璀︽暟閲�    alm_signal_id 9
-        monVolMap.put("浣庡憡璀︽暟閲�", volLowAlarmsNum);     //浣庡憡璀︽暟閲�     alm_signal_id   10
+        monVolMap.put("鍗曚綋鐢靛帇楂樺憡璀�", volHighAlarmsNum);     //楂樺憡璀︽暟閲�    alm_signal_id 9
+        monVolMap.put("鍗曚綋鐢靛帇浣庡憡璀�", volLowAlarmsNum);     //浣庡憡璀︽暟閲�     alm_signal_id   10
         //monVolMap.put("鍛婅鎬绘暟", volTotalAlarmNum);        //鍛婅鎬绘暟
         //monVolMap.put("鍛婅鎬绘暟姣斾緥", volRateStr);      //鍛婅鎬绘暟姣斾緥
         //monVolMap.put("鍛婅鏈烘埧鎬绘暟", volTotalAlarmStations);      //鍛婅鏈烘埧鎬绘暟
@@ -307,8 +339,8 @@
         //鍐呴樆鍛婅鏈烘埧鍗犳瘮
         //String resStationRateStr = (String) MathUtil.divide(resTotalAlarmStations,totalStationNum,3);
 
-        monResMap.put("楂樺憡璀︽暟閲�", resHighAlarmsNum);     //楂樺憡璀︽暟閲�    alm_signal_id 13
-        monResMap.put("浣庡憡璀︽暟閲�", resLowAlarmsNum);     //浣庡憡璀︽暟閲�     alm_signal_id 14
+        monResMap.put("鍗曚綋鍐呴樆楂樺憡璀�", resHighAlarmsNum);     //楂樺憡璀︽暟閲�    alm_signal_id 13
+        monResMap.put("鍗曚綋鍐呴樆浣庡憡璀�", resLowAlarmsNum);     //浣庡憡璀︽暟閲�     alm_signal_id 14
         //monResMap.put("鍛婅鎬绘暟", resTotalAlarmNum);        //鍛婅鎬绘暟
         //monResMap.put("鍛婅鎬绘暟姣斾緥", resRateStr);      //鍛婅鎬绘暟姣斾緥
         //monResMap.put("鍛婅鏈烘埧鎬绘暟", resTotalAlarmStations);      //鍛婅鏈烘埧鎬绘暟
@@ -333,8 +365,8 @@
         //娓╁害鍛婅鏈烘埧鍗犳瘮
         //String tempStationRateStr = (String) MathUtil.divide(tempTotalAlarmStations,totalStationNum,3);
 
-        monTemMap.put("楂樺憡璀︽暟閲�", tempHighAlarmsNum);     //楂樺憡璀︽暟閲�    alm_signal_id 13
-        monTemMap.put("浣庡憡璀︽暟閲�", tempLowAlarmsNum);     //浣庡憡璀︽暟閲�     alm_signal_id 14
+        monTemMap.put("鍗曚綋娓╁害楂樺憡璀�", tempHighAlarmsNum);     //楂樺憡璀︽暟閲�    alm_signal_id 13
+        monTemMap.put("鍗曚綋娓╁害浣庡憡璀�", tempLowAlarmsNum);     //浣庡憡璀︽暟閲�     alm_signal_id 14
         //monTemMap.put("鍛婅鎬绘暟", tempTotalAlarmNum);        //鍛婅鎬绘暟
         //monTemMap.put("鍛婅鎬绘暟姣斾緥", tempRateStr);      //鍛婅鎬绘暟姣斾緥
         //monTemMap.put("鍛婅鏈烘埧鎬绘暟", tempTotalAlarmStations);      //鍛婅鏈烘埧鎬绘暟
@@ -397,9 +429,9 @@
         for (int i = 0; i < alarmIds.size(); i++) {
             Map<String, Object> resMap = new HashMap<>();
             //鍛婅1鏁伴噺
-            Integer alarmNum = mapper.getAlarmHighLow(userId,alarmSignalIds.get(i));
+            Integer alarmNum = mapper.getAlarmHighLow(userId,alarmSignalIds.get(i*2));
             //鍛婅2鏁伴噺
-            Integer alarmNum2 = mapper.getAlarmHighLow(userId,alarmSignalIds.get(i)+1);
+            Integer alarmNum2 = mapper.getAlarmHighLow(userId,alarmSignalIds.get(i*2)+1);
 
             //鍛婅鎬绘暟
             //Integer totalAlarmNum =alarmNum+alarmNum2;
@@ -418,8 +450,8 @@
             //鍛婅鏈烘埧鍗犳瘮
             //String stationRate = (String) MathUtil.divide(alarmStationNum,totalStationNum,3);
 
-            resMap.put(mapName1,alarmNum);     //鍛婅1鏁伴噺
-            resMap.put(mapName2,alarmNum2);     //鍛婅2鏁伴噺
+            resMap.put(alarmNames.get(i)+mapName1,alarmNum);     //鍛婅1鏁伴噺
+            resMap.put(alarmNames.get(i)+mapName2,alarmNum2);     //鍛婅2鏁伴噺
             //resMap.put("鍛婅鎬绘暟", totalAlarmNum);        //鍛婅鎬绘暟
             //resMap.put("鍛婅鎬绘暟姣斾緥", rate);      //鍛婅鎬绘暟姣斾緥
             //resMap.put("鍛婅鏈烘埧鎬绘暟", alarmStationNum);      //鍛婅鏈烘埧鎬绘暟

--
Gitblit v1.9.1