From a1d2d4dbf00ffc778003abefac9e643c6bb82059 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期二, 10 六月 2025 14:01:18 +0800 Subject: [PATCH] 系统概述推送添加蓄电池组单体信息统计 --- src/main/java/com/whyc/webSocket/RealTimeSocket.java | 91 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 89 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/whyc/webSocket/RealTimeSocket.java b/src/main/java/com/whyc/webSocket/RealTimeSocket.java index a4194ed..9e46536 100644 --- a/src/main/java/com/whyc/webSocket/RealTimeSocket.java +++ b/src/main/java/com/whyc/webSocket/RealTimeSocket.java @@ -2,6 +2,7 @@ import com.whyc.config.WebSocketConfig; import com.whyc.constant.DevStateEnum; +import com.whyc.dto.Real.SticRealRtdataDto; import com.whyc.dto.Real.TopDto; import com.whyc.dto.RealTimeDto; import com.whyc.dto.Response; @@ -25,6 +26,7 @@ import javax.servlet.http.HttpSession; import javax.websocket.*; import javax.websocket.server.ServerEndpoint; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -238,7 +240,7 @@ topDto.setRestCap(restCap); //瀹炴椂缁勭鐢垫祦锛屽墿浣欏閲忥紝鏍囩О瀹归噺 if(battRtstate!=null){ - Float restTime= BattCapFactory.getTheoryTime(battRtstate.getGroupCurr(), restCap, binf.getMoncapstd()); + Float restTime= BattCapFactory.getTheoryTime(battRtstate.getLoadCurr(), restCap, binf.getMoncapstd()); topDto.setRestTime(restTime); } } @@ -462,13 +464,98 @@ //鐢垫簮瀵硅薄(鏁存祦鍣ㄤ娇鐢ㄦ儏鍐�) PowerInf powerInf = powerInfService.getPowerInfById(realDto.getPowerId()); map.put("powerInf",powerInf!=null?powerInf:""); + //鑾峰彇鐢垫睜缁勭殑钃勭數姹犱俊鎭� + List<BattRtdata> battRtdataList = rtdataService.getRtdataRealInfo(realDto.getBattgroupId()); + SticRealRtdataDto dto=setMaxMinData(battRtdataList); + map.put("sticRtdata",dto); return new Response().setII(1,true,map,"绯荤粺姒傝堪鎺ㄩ��"); }catch (Exception e) { e.printStackTrace(); } return new Response().set(1,false,"绯荤粺姒傝堪鎺ㄩ��"); } - + //璁$畻闆嗗悎涓崟浣撶數鍘嬶紝鍐呴樆锛屾俯搴︼紝瀹归噺鐨勬渶澶ф渶灏忓�� + public SticRealRtdataDto setMaxMinData(List<BattRtdata> battRtdataList){ + SticRealRtdataDto dto=new SticRealRtdataDto(); + Float maxCap = 0.0f; + Float minCap = 0.0f; + Float maxVol = 0.0f; + Float minVol = 0.0f; + Float maxTmp = 0.0f; + Float minTmp = 0.0f; + Float maxRes = 0.0f; + Float minRes = 0.0f; + List<Integer> maxCapNumList = new ArrayList<>(); + List<Integer> minCapNumList = new ArrayList<>(); + List<Integer> maxVolNumList = new ArrayList<>(); + List<Integer> minVolNumList = new ArrayList<>(); + List<Integer> maxTmpNumList = new ArrayList<>(); + List<Integer> minTmpNumList = new ArrayList<>(); + List<Integer> maxResNumList = new ArrayList<>(); + List<Integer> minResNumList = new ArrayList<>(); + //璁$畻闆嗗悎涓崟浣撶數鍘嬶紝鍐呴樆锛屾俯搴︼紝瀹归噺鐨勬渶澶ф渶灏忓�� + for (BattRtdata rtdata:battRtdataList) { + if(rtdata.getMonVol()>=maxVol){ + maxVol = rtdata.getMonVol(); + } + if(rtdata.getMonVol()<=minVol){ + minVol = rtdata.getMonVol(); + } + if(rtdata.getMonTmp()>=maxTmp){ + maxTmp = rtdata.getMonTmp(); + } + if(rtdata.getMonTmp()<=minTmp){ + minTmp = rtdata.getMonTmp(); + } + if(rtdata.getMonRes()>=maxRes){ + maxRes = rtdata.getMonRes(); + } + if(rtdata.getMonRes()<=minRes){ + minRes = rtdata.getMonRes(); + } + if(rtdata.getMonCap()>=maxCap){ + maxCap = rtdata.getMonCap(); + } + if(rtdata.getMonCap()<=minCap){ + minCap = rtdata.getMonCap(); + } + } + dto.setMaxCap(maxCap); + dto.setMinCap(minCap); + dto.setMaxVol(maxVol); + dto.setMinVol(minVol); + dto.setMaxTmp(maxTmp); + dto.setMinTmp(minTmp); + dto.setMaxRes(maxRes); + dto.setMinRes(minRes); + for (BattRtdata rtdata:battRtdataList) { + if(rtdata.getMonVol()==maxVol){ + maxVolNumList.add(rtdata.getMonNum()); + } + if(rtdata.getMonVol()==minVol){ + minVolNumList.add(rtdata.getMonNum()); + } + if(rtdata.getMonTmp()==maxTmp){ + maxTmpNumList.add(rtdata.getMonNum()); + } + if(rtdata.getMonTmp()==minTmp){ + minTmpNumList.add(rtdata.getMonNum()); + } + if(rtdata.getMonRes()==maxRes){ + maxResNumList.add(rtdata.getMonNum()); + } + if(rtdata.getMonRes()==minRes){ + minResNumList.add(rtdata.getMonNum()); + } + if(rtdata.getMonCap()==maxCap){ + maxCapNumList.add(rtdata.getMonNum()); + } + if(rtdata.getMonCap()==minCap){ + minCapNumList.add(rtdata.getMonNum()); + } + } + return dto; + } @OnClose public void onClose(CloseReason closeReason){ System.err.println("closeReason = " + closeReason); -- Gitblit v1.9.1