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