From 52336ae7b390983116a0c5a24ec875cc022ad1ff Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期二, 05 十月 2021 23:34:33 +0800
Subject: [PATCH] 更新续航统计和电池健康统计接口

---
 src/main/java/com/whyc/service/BatteryDataService.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 54 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/whyc/service/BatteryDataService.java b/src/main/java/com/whyc/service/BatteryDataService.java
index 56055b6..88f52fe 100644
--- a/src/main/java/com/whyc/service/BatteryDataService.java
+++ b/src/main/java/com/whyc/service/BatteryDataService.java
@@ -1,10 +1,8 @@
 package com.whyc.service;
 
-import com.whyc.dto.AnalysisMonCapDTO;
-import com.whyc.dto.BatteryInfo;
-import com.whyc.dto.Response;
+import com.whyc.constant.AlarmConstant;
+import com.whyc.dto.*;
 import com.whyc.mapper.*;
-import com.whyc.dto.AnalysisMonFieldDTO;
 import com.whyc.pojo.BatteryEndurance;
 import com.whyc.pojo.BatteryRTState;
 import com.whyc.pojo.Tables;
@@ -44,7 +42,20 @@
 
     /**鎸夋椂闂撮樁娈电粺璁$画鑸�*/
     private static Map enduranceAnalysis(List<BatteryEndurance> enduranceList, List<Integer> times) {
-        Map<String,Integer> map = new HashMap<>();
+        Map<String,Integer> map = new LinkedHashMap<>();
+
+        //鍒濆鍖栫画鑸垎绫�
+        for (int i = 0; i < times.size(); i++) {
+            if(i ==0 ){
+                map.put("缁埅"+times.get(0)+"灏忔椂鍐�",0);
+            }
+            else if(i == times.size()-1){
+                map.put("缁埅"+times.get(i-1)+"灏忔椂鍒�"+times.get(i)+"灏忔椂",0);
+                map.put("缁埅"+times.get(times.size()-1)+"灏忔椂浠ヤ笂",0);
+            }else {
+                map.put("缁埅" + times.get(i-1) + "灏忔椂鍒�" + times.get(i) + "灏忔椂", 0);
+            }
+        }
 
         for (int i = 0; i < enduranceList.size(); i++) {
             //姣忎竴涓叿浣撶殑缁埅杩涜鍒嗙粍
@@ -116,6 +127,44 @@
         return maps;
     }
 
+    /**
+     * 钀藉悗鍗曚綋缁熻,缁熻鍚勭绫诲瀷鎵�鍗犳瘮渚�:
+     * 瀹归噺鍛婅:鍗曚綋瀹归噺鍛婅
+     * 瀹归噺鏇存崲:鍗曚綋瀹归噺鏇存崲
+     * 鎬荤數姹犲崟浣�-涓婇潰涓ょ:鍗曚綋瀹归噺鍋ュ悍
+     */
+    public Response getMonCapStatus(Integer userId) {
+        //鍒濆鍖� 鍗曚綋瀹归噺鍋ュ悍 鍗曚綋瀹归噺鍛婅 鍗曚綋瀹归噺鏇存崲 鍜� map
+        Map<String,Integer> monCapMap = new HashMap();
+        Integer monCapGood = 0;
+        Integer monCapAlarm = 0;
+        Integer monCapChange = 0;
+
+        //鏌ヨ鐢ㄦ埛绠$悊鐨勬�诲崟浣撴暟
+        Integer totalMonNum = mapper.getTotalMonNum(userId);
+        //鏌ヨ鐢ㄦ埛绠$悊鐨勮惤鍚庡崟浣撴暟
+        List<BadBattMonDTO> list = mapper.getBadMonOfCapAlarm(userId);
+
+        if(!list.isEmpty()) {
+            for (int i = 0; i < list.size(); i++) {
+                //瀹归噺鍛婅
+                if (list.get(i).getNote() == AlarmConstant.Alarm_CapAlarm) {
+                    monCapAlarm = list.get(i).getNum();
+                }
+                //瀹归噺鏇存崲
+                else {
+                    monCapChange = list.get(i).getNum();
+                }
+            }
+        }
+
+        monCapGood = totalMonNum - monCapAlarm -monCapChange ;
+        monCapMap.put("鍗曚綋瀹归噺鍋ュ悍",monCapGood);
+        monCapMap.put("鍗曚綋瀹归噺鍛婅",monCapAlarm);
+        monCapMap.put("鍗曚綋瀹归噺鏇存崲",monCapChange);
+        return new Response().set(1,monCapMap);
+    }
+
     /**鍗曚綋淇℃伅缁熻*/
     public List<AnalysisMonFieldDTO> monFieldStatistics(String filedName, String fieldName2) {
             //鏌ヨ鎵�鏈夌殑鐢垫睜缁�

--
Gitblit v1.9.1