whyclxw
2025-05-07 b22e8e7a2d6f6a2998913c381af5ceba9542d79e
src/main/java/com/whyc/service/BattRtstateService.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.constant.AlarmConstant;
import com.whyc.dto.BattState;
import com.whyc.dto.BattTestData;
import com.whyc.dto.Response;
@@ -20,10 +21,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@Service
@@ -128,4 +126,56 @@
        List<BattRtstate> list= battRtstateMapper.serchPowerHr6159(devId);
        return new Response().setII(1,list!=null,list,"查询电池组端信息");
    }
    //插入初始数据
    public void setDefalut( Map<String,Object> map){
        Map<String,Object> mapNum=new HashMap<>();
        mapNum.put("未知",0);
        mapNum.put("浮充",0);
        mapNum.put("充电",0);
        mapNum.put("放电",0);
        mapNum.put("均充",0);
        mapNum.put("内阻测试",0);
        map.put("3",mapNum);
        map.put("5",mapNum);
        map.put("6",mapNum);
        map.put("7",mapNum);
        map.put("8",mapNum);
    }
    //3.统计:电池状态
    public Response getAllBattStateInSz2(Integer userId) {
        Map<String,Object> map=new HashMap<>();
        Map<String,Integer> allTypemap=new HashMap<>();
        //setDefalut(map);
        try {
            //查询电池状态
            List<BattRtstate> list=battRtstateMapper.getAllBattStateInSz2(userId);
            Map<String, List<BattRtstate>> ListMap = list.stream().collect(Collectors.groupingBy(BattRtstate::getStationName9));
            for (String stationName9 : ListMap.keySet()) {
                Map<String, Object> battInfoMap = new HashMap<>();
                battInfoMap.put("未知",0);
                battInfoMap.put("浮充",0);
                battInfoMap.put("充电",0);
                battInfoMap.put("放电",0);
                battInfoMap.put("均充",0);
                battInfoMap.put("内阻测试",0);
                List<BattRtstate> name9List=ListMap.get(stationName9);
                Map<Integer, List<BattRtstate>> battStateMap = name9List.stream().collect(Collectors.groupingBy(BattRtstate::getBattState));
                for (Integer battState:battStateMap.keySet()) {
                    battInfoMap.put(BattTestData.getBattState(battState),battStateMap.get(battState).size());
                    int typenum=0;
                    if(allTypemap.get(BattTestData.getBattState(battState))==null){
                        typenum=battStateMap.get(battState).size();
                    }else{
                        typenum=allTypemap.get(BattTestData.getBattState(battState))+battStateMap.get(battState).size();
                    }
                    allTypemap.put(BattTestData.getBattState(battState),typenum);
                }
                map.put(stationName9,battInfoMap);
            }
            map.put("allmap",allTypemap);
            return new Response<>().setII(1,true,map,"");
        } catch (Exception e) {
            return new Response<>().set(1,false,"");
        }
    }
}