From dbd5cf4f85c99c7c2189905d4972e42d0b2cbbe1 Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期六, 13 三月 2021 15:40:12 +0800
Subject: [PATCH] 更新 接口

---
 src/main/java/com/whyc/service/BatteryAlarmService.java |  279 +++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 186 insertions(+), 93 deletions(-)

diff --git a/src/main/java/com/whyc/service/BatteryAlarmService.java b/src/main/java/com/whyc/service/BatteryAlarmService.java
index 60026e8..c951f1c 100644
--- a/src/main/java/com/whyc/service/BatteryAlarmService.java
+++ b/src/main/java/com/whyc/service/BatteryAlarmService.java
@@ -1,17 +1,21 @@
 package com.whyc.service;
 
 import com.whyc.constant.AlarmConstant;
+import com.whyc.constant.DeviceConstant;
 import com.whyc.dto.BatteryAlarmDto;
 import com.whyc.dto.Response;
 import com.whyc.mapper.BatteryAlarmMapper;
 import com.whyc.mapper.BatteryInfoMapper;
 import com.whyc.mapper.Fbs9100StateMapper;
+import com.whyc.pojo.FBS9100State;
+import com.whyc.util.MathUtil;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @Service
@@ -48,11 +52,9 @@
             int totalStationNum = infoMapper.getStationCount(userId);
 
             //瀹归噺浣庡憡璀﹀崰姣�
-            double capLowRate = BigDecimal.valueOf(alarmNum).divide(BigDecimal.valueOf(totalAlarmNum), 2, RoundingMode.HALF_UP).doubleValue();
-            String capLowRateStr = (int)(capLowRate*100)+"%";
+            String capLowRateStr = MathUtil.divide(alarmNum,totalAlarmNum);
             //瀹归噺浣庡憡璀︽満鎴垮崰姣�
-            double capLowStationRate = BigDecimal.valueOf(stationNum).divide(BigDecimal.valueOf(totalStationNum), 2, RoundingMode.HALF_UP).doubleValue();
-            String capLowStationRateStr = (int)(capLowStationRate*100)+"%";
+            String capLowStationRateStr = MathUtil.divide(stationNum,totalStationNum);
 
             resultMap.put("鍛婅鏁�",alarmNum);
             resultMap.put("鍛婅鎬绘暟",totalAlarmNum);
@@ -80,79 +82,79 @@
      */
     //TODO
     public Response<Map> getOnlineAndGroupVolAnalysis(int userId) {
-//        select alm_signal_id,count(alm_signal_id) as num from db_alarm.tb_battalarm_data alarm where alm_id in (119001,119002,119003,119004)
-        Response<Map> response = new Response();
         HashMap<String, Object> resultMap = new HashMap<>();
-        Map<String, Integer> resMap = new HashMap<>();//鍐呴樆娴嬭瘯鏁伴噺
-        Map<String, Integer> errMap = new HashMap<>();//鏁呴殰鏁伴噺
+        Map<String, Object> disCharge = new HashMap<>();//鏀剧數鐢垫祦  Alarm_curr_Discharge =119004
+        Map<String, Object> reCharge = new HashMap<>();//鍏呯數鐢垫祦   Alarm_curr_Charge =119003
 
-        try {
-            BatteryAlarmDto onlinebatteryAlarmDto = mapper.getOnlineAndGroupAlarms(AlarmConstant.Alarm_res_Monomer,AlarmConstant.ALM_SIGNAL_ID_OnlineVolHigh, userId);
-            BatteryAlarmDto groupbatteryAlarmDto = mapper.getOnlineAndGroupAlarms(AlarmConstant.Alarm_vol_Group,AlarmConstant.ALM_SIGNAL_ID_OnlineVolHigh, userId);
+        //鏀剧數鐢垫祦楂樺憡璀︽暟閲�
+        Integer dischargeHighAlarmsNum = mapper.getAlarmHighLow(userId,AlarmConstant.ALM_SIGNAL_ID_DisChargeCurrHigh);
 
-            Integer highAlarmNum = onlinebatteryAlarmDto.getNum();
-            Integer stationNum = onlinebatteryAlarmDto.getStationNum();
-            resMap.put("楂樺憡璀︽暟閲�", 1);     //楂樺憡璀︽暟閲�    alm_signal_id:online 1 high; 2 low
+        //鍛婅鎬绘暟
+        Integer totalStationAlarmNum =mapper.getTotalAlarms(userId);
 
-            resMap.put("浣庡憡璀︽暟閲�", 1);     //浣庡憡璀︽暟閲�
-            resMap.put("鍛婅鎬绘暟姣斾緥", 1);      //鍛婅鎬绘暟姣斾緥
+        //鏀剧數鐢垫祦楂樺憡璀︽満鎴挎暟
+        int dischargeTotalAlarmStations = mapper.getTotalAlarmStations(userId,AlarmConstant.ALM_SIGNAL_ID_DisChargeCurrHigh);
 
-            Integer totalAlarmNum = mapper.getTotalAlarms(userId);
-            resMap.put("鍛婅鎬绘暟", totalAlarmNum);        //鍛婅鎬绘暟
+        //鎬绘満鎴挎暟
+        int totalStationNum = infoMapper.getStationCount(userId);
 
-            Integer totalAlarmRooms = mapper.getTotalAlarmRooms(userId);
-            resMap.put("鍛婅鏈烘埧鎬绘暟", 1);      //鍛婅鏈烘埧鎬绘暟
+        //鏀剧數鐢垫祦楂樺憡璀﹀崰姣�
+        String dischargeRateStr = MathUtil.divide(dischargeHighAlarmsNum,totalStationAlarmNum);
+        //鏀剧數鐢垫祦楂樺憡璀︽満鎴垮崰姣�
+        String dischargeStationRateStr = MathUtil.divide(dischargeTotalAlarmStations,totalStationNum);
 
-            resMap.put("浣庡憡璀︽満鎴挎暟姣斾緥", 1);    //浣庡憡璀︽満鎴挎暟姣斾緥
-            resultMap.put("鍐呴樆娴嬭瘯鏁伴噺", resMap);
+        disCharge.put("楂樺憡璀︽暟閲�",dischargeHighAlarmsNum);     //楂樺憡璀︽暟閲�    alm_signal_id:ChargeCurrHigh 5 high; 6 low
+        disCharge.put("鍛婅鎬绘暟",totalStationAlarmNum);        //鍛婅鎬绘暟
+        disCharge.put("鍛婅鎬绘暟姣斾緥", dischargeRateStr);      //鍛婅鎬绘暟姣斾緥
+        disCharge.put("鍛婅鏈烘埧鎬绘暟", dischargeTotalAlarmStations);      //鍛婅鏈烘埧鎬绘暟
+        disCharge.put("鍛婅鏈烘埧鏁版瘮渚�",dischargeStationRateStr);    //鍛婅鏈烘埧鏁版瘮渚�
+        resultMap.put("disCharge", disCharge);
 
+        /*=====鍏呯數鐢垫祦楂�======*/
 
-            errMap.put("楂樺憡璀︽暟閲�", 1);     //楂樺憡璀︽暟閲�
-            errMap.put("浣庡憡璀︽暟閲�", 1);     //浣庡憡璀︽暟閲�
-            errMap.put("鍛婅鎬绘暟姣斾緥", 1);      //鍛婅鎬绘暟姣斾緥
-            errMap.put("鍛婅鎬绘暟", 1);        //鍛婅鎬绘暟
-            errMap.put("鍛婅鏈烘埧鎬绘暟", 1);      //鍛婅鏈烘埧鎬绘暟
-            errMap.put("浣庡憡璀︽満鎴挎暟姣斾緥", 1);    //浣庡憡璀︽満鎴挎暟姣斾緥
-            resultMap.put("鏁呴殰鏁伴噺", errMap);
+        //鏀剧數鐢垫祦楂樺憡璀︽暟閲�
+        Integer chargeHighAlarmsNum = mapper.getAlarmHighLow(userId,AlarmConstant.ALM_SIGNAL_ID_ChargeCurrHigh);
 
-            response.setCode(1);
-            response.setData(resultMap);
-        } catch (Exception e) {
-            e.printStackTrace();
-            response.setCode(0);
-            return response;
-        }
+        //鏀剧數鐢垫祦楂樺憡璀︽満鎴挎暟
+        int chargeTotalAlarmStations = mapper.getTotalAlarmStations(userId,AlarmConstant.ALM_SIGNAL_ID_ChargeCurrHigh);
 
-        return response;
+        //鏀剧數鐢垫祦楂樺憡璀﹀崰姣�
+        String chargeRateStr = MathUtil.divide(chargeHighAlarmsNum,totalStationAlarmNum);
+        //鏀剧數鐢垫祦楂樺憡璀︽満鎴垮崰姣�
+        String chargeStationRateStr = MathUtil.divide(chargeTotalAlarmStations,totalStationNum);
+
+        reCharge.put("楂樺憡璀︽暟閲�", chargeHighAlarmsNum);     //楂樺憡璀︽暟閲�
+        reCharge.put("鍛婅鎬绘暟", totalStationAlarmNum);        //鍛婅鎬绘暟
+        reCharge.put("鍛婅鎬绘暟姣斾緥", chargeRateStr);      //鍛婅鎬绘暟姣斾緥
+        reCharge.put("鍛婅鏈烘埧鎬绘暟", chargeTotalAlarmStations);      //鍛婅鏈烘埧鎬绘暟
+        reCharge.put("鍛婅鏈烘埧鏁版瘮渚�", chargeStationRateStr);    //鍛婅鏈烘埧鏁版瘮渚�
+        resultMap.put("reCharge", reCharge);
+
+        return new Response<Map>().set(1,resultMap);
     }
 
-
-    /**
-     * BTS 璁惧鐘舵��
-     *
-     * @param userId
-     * @return
-     */
-    //TODO
     public Response<Map> getBTSEquipStatus(int userId) {
 
         Response<Map> response = new Response();
         Map<String, Object> resultMap = new HashMap<>();
         try {
-
-
-            int devId = 910000001;
-            Integer herongNO = fbs9100StateMapper.getHeRongNO(devId, userId);    //dev_workstate 0 鍦ㄧ嚎娴厖; 2 鏍稿娴嬭瘯; 4 鍐呴樆娴嬭瘯;
-//            com.fgkj.dao.impl.ram.Fbs9100_stateImpl#seach6185Nuclear_cap 鏍稿娴嬭瘯
-//        Integer onlineFloatNO = fbs9100StateMapper.getOnlineFloatNO(devId,userId);
-//        Integer chargeNO = fbs9100StateMapper.getChargeNO(devId,userId);
-//        Integer resTestNO = fbs9100StateMapper.getResTestNO(devId,userId);
-//        Integer errNO = fbs9100StateMapper.getErrNO(devId,userId);
-            resultMap.put("鏍稿鏁伴噺", herongNO);    //鏍稿鏁伴噺
-            resultMap.put("鍦ㄧ嚎娴厖鏁伴噺", 1);    //鍦ㄧ嚎娴厖鏁伴噺
-            resultMap.put("鍏呯數鏁伴噺", 1);    //鍏呯數鏁伴噺
-            resultMap.put("鍐呴樆娴嬭瘯鏁伴噺", 1);    //鍐呴樆娴嬭瘯鏁伴噺
-            resultMap.put("鏁呴殰鏁伴噺", 1);    //鏁呴殰鏁伴噺
+            List<FBS9100State> statusList = fbs9100StateMapper.getStatus(userId);
+            for (int i = 0; i < statusList.size(); i++) {
+                switch (statusList.get(i).getWorkState()){
+                    case DeviceConstant.DEV_ONLINE_CHARGE:
+                        resultMap.put("鍦ㄧ嚎娴厖",statusList.get(i).getNum());
+                        break;
+                    case DeviceConstant.DEV_PRE_CHARGE:
+                        resultMap.put("棰勫厖鐢�",statusList.get(i).getNum());
+                        break;
+                    case DeviceConstant.DEV_NUCLEAR_CAP:
+                        resultMap.put("鏍稿娴嬭瘯",statusList.get(i).getNum());
+                        break;
+                    case DeviceConstant.DEV_RES_TEST:
+                        resultMap.put("鍐呴樆娴嬭瘯",statusList.get(i).getNum());
+                        break;
+                }
+            }
             response.setCode(1);
             response.setData(resultMap);
         } catch (Exception e) {
@@ -186,11 +188,9 @@
             //鎬绘満鎴挎暟
             int totalStationNum = infoMapper.getStationCount(userId);
             //鏀剧數鐢垫祦浣庡憡璀﹀崰姣�
-            double disChargeLowRate = BigDecimal.valueOf(disChargeAlarmNum).divide(BigDecimal.valueOf(totalAlarmNum), 2, RoundingMode.HALF_UP).doubleValue();
-            String disChargeLowRateStr = (int)(disChargeLowRate*100)+"%";
+            String disChargeLowRateStr = MathUtil.divide(disChargeAlarmNum,totalAlarmNum);
             //鏀剧數鐢垫祦浣庡憡璀︽満鎴垮崰姣�
-            double disChargeLowStationRate = BigDecimal.valueOf(disChargeStationNum).divide(BigDecimal.valueOf(totalStationNum), 2, RoundingMode.HALF_UP).doubleValue();
-            String disChargeLowStationRateStr = (int)(disChargeLowStationRate*100)+"%";
+            String disChargeLowStationRateStr = MathUtil.divide(disChargeStationNum,totalStationNum);
 
             resultMap.put("浣庡憡璀︽暟閲�", disChargeAlarmNum);     //浣庡憡璀︽暟閲� alm_signal_id:DisChargeCurr 7 high; 8 low
             resultMap.put("鍛婅鏈烘埧鎬绘暟", disChargeStationNum);      //鍛婅鏈烘埧鎬绘暟
@@ -212,31 +212,56 @@
      * @param userId
      * @return
      */
-    //TODO
     public Response<Map> getChargeAnalysis(int userId) {
-
-        Response<Map> response = new Response();
         HashMap<String, Object> resultMap = new HashMap<>();
-        Map<String, Integer> disCharge = new HashMap<>();//鏀剧數鐢垫祦  Alarm_curr_Discharge =119004
-        Map<String, Integer> reCharge = new HashMap<>();//鍏呯數鐢垫祦   Alarm_curr_Charge =119003
+        Map<String, Object> disCharge = new HashMap<>();//鏀剧數鐢垫祦  Alarm_curr_Discharge =119004
+        Map<String, Object> reCharge = new HashMap<>();//鍏呯數鐢垫祦   Alarm_curr_Charge =119003
 
-        disCharge.put("楂樺憡璀︽暟閲�", 1);     //楂樺憡璀︽暟閲�    alm_signal_id:ChargeCurrHigh 5 high; 6 low
-        disCharge.put("鍛婅鎬绘暟", 1);        //鍛婅鎬绘暟
-        disCharge.put("鍛婅鎬绘暟姣斾緥", 1);      //鍛婅鎬绘暟姣斾緥
-        disCharge.put("鍛婅鏈烘埧鎬绘暟", 1);      //鍛婅鏈烘埧鎬绘暟
-        disCharge.put("鍛婅鏈烘埧鏁版瘮渚�", 1);    //鍛婅鏈烘埧鏁版瘮渚�
+        //鏀剧數鐢垫祦楂樺憡璀︽暟閲�
+        Integer dischargeHighAlarmsNum = mapper.getAlarmHighLow(userId,AlarmConstant.ALM_SIGNAL_ID_DisChargeCurrHigh);
+
+        //鍛婅鎬绘暟
+        Integer totalStationAlarmNum =mapper.getTotalAlarms(userId);
+
+        //鏀剧數鐢垫祦楂樺憡璀︽満鎴挎暟
+        int dischargeTotalAlarmStations = mapper.getTotalAlarmStations(userId,AlarmConstant.ALM_SIGNAL_ID_DisChargeCurrHigh);
+
+        //鎬绘満鎴挎暟
+        int totalStationNum = infoMapper.getStationCount(userId);
+
+        //鏀剧數鐢垫祦楂樺憡璀﹀崰姣�
+        String dischargeRateStr = MathUtil.divide(dischargeHighAlarmsNum,totalStationAlarmNum);
+        //鏀剧數鐢垫祦楂樺憡璀︽満鎴垮崰姣�
+        String dischargeStationRateStr = MathUtil.divide(dischargeTotalAlarmStations,totalStationNum);
+
+        disCharge.put("楂樺憡璀︽暟閲�",dischargeHighAlarmsNum);     //楂樺憡璀︽暟閲�    alm_signal_id:ChargeCurrHigh 5 high; 6 low
+        disCharge.put("鍛婅鎬绘暟",totalStationAlarmNum);        //鍛婅鎬绘暟
+        disCharge.put("鍛婅鎬绘暟姣斾緥", dischargeRateStr);      //鍛婅鎬绘暟姣斾緥
+        disCharge.put("鍛婅鏈烘埧鎬绘暟", dischargeTotalAlarmStations);      //鍛婅鏈烘埧鎬绘暟
+        disCharge.put("鍛婅鏈烘埧鏁版瘮渚�",dischargeStationRateStr);    //鍛婅鏈烘埧鏁版瘮渚�
         resultMap.put("disCharge", disCharge);
 
-        reCharge.put("楂樺憡璀︽暟閲�", 1);     //楂樺憡璀︽暟閲�
-        reCharge.put("鍛婅鎬绘暟", 1);        //鍛婅鎬绘暟
-        reCharge.put("鍛婅鎬绘暟姣斾緥", 1);      //鍛婅鎬绘暟姣斾緥
-        reCharge.put("鍛婅鏈烘埧鎬绘暟", 1);      //鍛婅鏈烘埧鎬绘暟
-        reCharge.put("鍛婅鏈烘埧鏁版瘮渚�", 1);    //鍛婅鏈烘埧鏁版瘮渚�
+        /*=====鍏呯數鐢垫祦楂�======*/
+
+        //鏀剧數鐢垫祦楂樺憡璀︽暟閲�
+        Integer chargeHighAlarmsNum = mapper.getAlarmHighLow(userId,AlarmConstant.ALM_SIGNAL_ID_ChargeCurrHigh);
+
+        //鏀剧數鐢垫祦楂樺憡璀︽満鎴挎暟
+        int chargeTotalAlarmStations = mapper.getTotalAlarmStations(userId,AlarmConstant.ALM_SIGNAL_ID_ChargeCurrHigh);
+
+        //鏀剧數鐢垫祦楂樺憡璀﹀崰姣�
+        String chargeRateStr = MathUtil.divide(chargeHighAlarmsNum,totalStationAlarmNum);
+        //鏀剧數鐢垫祦楂樺憡璀︽満鎴垮崰姣�
+        String chargeStationRateStr = MathUtil.divide(chargeTotalAlarmStations,totalStationNum);
+
+        reCharge.put("楂樺憡璀︽暟閲�", chargeHighAlarmsNum);     //楂樺憡璀︽暟閲�
+        reCharge.put("鍛婅鎬绘暟", totalStationAlarmNum);        //鍛婅鎬绘暟
+        reCharge.put("鍛婅鎬绘暟姣斾緥", chargeRateStr);      //鍛婅鎬绘暟姣斾緥
+        reCharge.put("鍛婅鏈烘埧鎬绘暟", chargeTotalAlarmStations);      //鍛婅鏈烘埧鎬绘暟
+        reCharge.put("鍛婅鏈烘埧鏁版瘮渚�", chargeStationRateStr);    //鍛婅鏈烘埧鏁版瘮渚�
         resultMap.put("reCharge", reCharge);
 
-        response.setCode(1);
-        response.setData(resultMap);
-        return response;
+        return new Response<Map>().set(1,resultMap);
     }
 
 
@@ -275,11 +300,9 @@
         int totalStationNum = infoMapper.getStationCount(userId);
 
         //鐢靛帇鍛婅鍗犳瘮
-        double volRate = BigDecimal.valueOf(volTotalAlarmNum).divide(BigDecimal.valueOf(totalStationAlarmNum), 2, RoundingMode.HALF_UP).doubleValue();
-        String volRateStr = (int)(volRate*100)+"%";
+        String volRateStr = MathUtil.divide(volTotalAlarmNum,totalStationAlarmNum);
         //鐢靛帇鍛婅鏈烘埧鍗犳瘮
-        double volStationRate = BigDecimal.valueOf(volTotalAlarmStations).divide(BigDecimal.valueOf(totalStationNum), 2, RoundingMode.HALF_UP).doubleValue();
-        String volStationRateStr = (int)(volStationRate*100)+"%";
+        String volStationRateStr = MathUtil.divide(volTotalAlarmStations,totalStationNum);
 
 
         monVolMap.put("楂樺憡璀︽暟閲�", volHighAlarmsNum);     //楂樺憡璀︽暟閲�    alm_signal_id 9
@@ -306,11 +329,9 @@
         int resTotalAlarmStations = mapper.getTotalAlarmStations(userId,AlarmConstant.Alarm_res_Monomer);
 
         //鍐呴樆鍛婅鍗犳瘮
-        double resRate = BigDecimal.valueOf(resTotalAlarmNum).divide(BigDecimal.valueOf(totalStationAlarmNum), 2, RoundingMode.HALF_UP).doubleValue();
-        String resRateStr = (int)(resRate*100)+"%";
+        String resRateStr = MathUtil.divide(resTotalAlarmNum,totalStationAlarmNum);
         //鍐呴樆鍛婅鏈烘埧鍗犳瘮
-        double resStationRate = BigDecimal.valueOf(resTotalAlarmStations).divide(BigDecimal.valueOf(totalStationNum), 2, RoundingMode.HALF_UP).doubleValue();
-        String resStationRateStr = (int)(resStationRate*100)+"%";
+        String resStationRateStr = MathUtil.divide(resTotalAlarmStations,totalStationNum);
 
         monResMap.put("楂樺憡璀︽暟閲�", resHighAlarmsNum);     //楂樺憡璀︽暟閲�    alm_signal_id 13
         monResMap.put("浣庡憡璀︽暟閲�", resLowAlarmsNum);     //浣庡憡璀︽暟閲�     alm_signal_id 14
@@ -334,11 +355,9 @@
         int tempTotalAlarmStations = mapper.getTotalAlarmStations(userId,AlarmConstant.Alarm_tmp_Monomer);
 
         //娓╁害鍛婅鍗犳瘮
-        double tempRate = BigDecimal.valueOf(tempTotalAlarmNum).divide(BigDecimal.valueOf(totalStationAlarmNum), 2, RoundingMode.HALF_UP).doubleValue();
-        String tempRateStr = (int)(tempRate*100)+"%";
+        String tempRateStr = MathUtil.divide(tempTotalAlarmNum,totalStationAlarmNum);
         //娓╁害鍛婅鏈烘埧鍗犳瘮
-        double tempStationRate = BigDecimal.valueOf(tempTotalAlarmStations).divide(BigDecimal.valueOf(totalStationNum), 2, RoundingMode.HALF_UP).doubleValue();
-        String tempStationRateStr = (int)(tempStationRate*100)+"%";
+        String tempStationRateStr = MathUtil.divide(tempTotalAlarmStations,totalStationNum);
 
         monTemMap.put("楂樺憡璀︽暟閲�", tempHighAlarmsNum);     //楂樺憡璀︽暟閲�    alm_signal_id 13
         monTemMap.put("浣庡憡璀︽暟閲�", tempLowAlarmsNum);     //浣庡憡璀︽暟閲�     alm_signal_id 14
@@ -353,4 +372,78 @@
         return response;
     }
 
+    /**
+     * 鍗曚釜鍛婅-閫氳繃鍛婅鏍囪瘑id
+     * @param userId
+     * @param alarmSignalId
+     * @param key1
+     * @return
+     */
+    public Map<String,Object> getSingleAnalysisOfSignal(int userId,int alarmSignalId,String alarmName){
+        Map<String, Object> resMap = new HashMap<>();
+
+        //鍛婅鏁伴噺
+        Integer alarmNum = mapper.getAlarmHighLow(userId,alarmSignalId);
+
+        //鍛婅鎬绘暟
+        Integer totalAlarmNum =mapper.getTotalAlarms(userId);
+
+        //鍛婅鏈烘埧鏁�
+        int alarmStationNum = mapper.getTotalAlarmStations(userId,alarmSignalId);
+
+        //鎬绘満鎴挎暟
+        int totalStationNum = infoMapper.getStationCount(userId);
+
+        //鍛婅鍗犳瘮
+        String rate = MathUtil.divide(alarmNum,totalAlarmNum);
+        //鍛婅鏈烘埧鍗犳瘮
+        String stationRate = MathUtil.divide(alarmStationNum,totalStationNum);
+
+        resMap.put(alarmName,alarmNum);     //鍛婅鏁伴噺
+        resMap.put("鍛婅鎬绘暟", totalAlarmNum);        //鍛婅鎬绘暟
+        resMap.put("鍛婅鎬绘暟姣斾緥", rate);      //鍛婅鎬绘暟姣斾緥
+        resMap.put("鍛婅鏈烘埧鎬绘暟", totalStationNum);      //鍛婅鏈烘埧鎬绘暟
+        resMap.put("鍛婅鏈烘埧鏁版瘮渚�", stationRate);    //鍛婅鏈烘埧鏁版瘮渚�
+        return resMap;
+    }
+
+    /**
+     * 2涓憡璀�-閫氳繃鍛婅id,鍛婅鏍囪瘑id
+     * @param userId
+     * @param alarmSignalId
+     * @param key1
+     * @return
+     */
+    public Map<String,Object> getDoubleAnalysis(int userId,int alarmId,int alarmSignalId,
+                                                String alarmName1,String alarmName2,String mapName1,String mapName2){
+        Map<String,Map> res = new HashMap<>();
+        Map<String, Object> resMap1 = new HashMap<>();
+        Map<String, Object> resMap2 = new HashMap<>();
+
+        //鍛婅鏁伴噺
+        Integer alarmNum = mapper.getAlarmHighLow(userId,alarmSignalId);
+
+        //鍛婅鎬绘暟
+        Integer totalAlarmNum =mapper.getTotalAlarms(userId);
+
+        //鍛婅鏈烘埧鏁�
+        int alarmStationNum = mapper.getTotalAlarmStations(userId,alarmSignalId);
+
+        //鎬绘満鎴挎暟
+        int totalStationNum = infoMapper.getStationCount(userId);
+
+        //鍛婅鍗犳瘮
+        String rate = MathUtil.divide(alarmNum,totalAlarmNum);
+        //鍛婅鏈烘埧鍗犳瘮
+        String stationRate = MathUtil.divide(alarmStationNum,totalStationNum);
+
+        resMap1.put(alarmName1,alarmNum);     //鍛婅鏁伴噺
+        resMap1.put("鍛婅鎬绘暟", totalAlarmNum);        //鍛婅鎬绘暟
+        resMap1.put("鍛婅鎬绘暟姣斾緥", rate);      //鍛婅鎬绘暟姣斾緥
+        resMap1.put("鍛婅鏈烘埧鎬绘暟", totalStationNum);      //鍛婅鏈烘埧鎬绘暟
+        resMap1.put("鍛婅鏈烘埧鏁版瘮渚�", stationRate);    //鍛婅鏈烘埧鏁版瘮渚�
+
+        return null;
+    }
+
 }

--
Gitblit v1.9.1