| | |
| | | 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; |
| | |
| | | |
| | | /**按时间阶段统计续航*/ |
| | | 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++) { |
| | | //每一个具体的续航进行分组 |
| | |
| | | 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) { |
| | | //查询所有的电池组 |