From 02ccfc21d5d4f767bbd92ecda89cdfcc3283728c Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期三, 11 六月 2025 08:38:26 +0800
Subject: [PATCH] Merge branch 'master' of http://118.89.139.230:10101/r/powerIntelligenceSystem into master

---
 src/main/java/com/whyc/webSocket/RealTimeSocket.java |  470 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 453 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/whyc/webSocket/RealTimeSocket.java b/src/main/java/com/whyc/webSocket/RealTimeSocket.java
index 9aaa829..e7307e4 100644
--- a/src/main/java/com/whyc/webSocket/RealTimeSocket.java
+++ b/src/main/java/com/whyc/webSocket/RealTimeSocket.java
@@ -1,17 +1,37 @@
 package com.whyc.webSocket;
 
 import com.whyc.config.WebSocketConfig;
+import com.whyc.constant.BattStateEnum;
+import com.whyc.constant.DevStateEnum;
+import com.whyc.constant.FailReasonEnum;
+import com.whyc.constant.StopReasonEnum;
+import com.whyc.dto.Real.SticRealRtdataDto;
+import com.whyc.dto.Real.TopDto;
 import com.whyc.dto.RealTimeDto;
 import com.whyc.dto.Response;
+import com.whyc.factory.BattCapFactory;
+import com.whyc.pojo.db_batt_testdata.BattresdataInf;
+import com.whyc.pojo.db_batt_testdata.BatttestdataInf;
+import com.whyc.pojo.db_ram_db.BattRtdata;
+import com.whyc.pojo.db_ram_db.BattRtstate;
+import com.whyc.pojo.db_ram_db.DeviceState;
+import com.whyc.pojo.db_ram_db.PwrdevAcdcdata;
+import com.whyc.pojo.db_station.BattInf;
+import com.whyc.pojo.db_station.PowerInf;
+import com.whyc.pojo.db_station.StationInf;
 import com.whyc.pojo.db_user.User;
+import com.whyc.service.*;
 import com.whyc.util.ActionUtil;
+import com.whyc.util.ThreadLocalUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 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;
 
 @Component
@@ -20,8 +40,37 @@
     private Session session;
 
     private Thread thread;
+    //瀹炴椂鏁版嵁
+    private static BattRtstateService battRtstateService;
 
-    //private static LockAlarmService almService;
+    private static DeviceStateService  deviceStateService;
+
+    private static PwrdevAcdcdataService  pwrdevAcdcdataService;
+
+    //瀹炴椂鍛婅
+    private static BattalarmDataService  battalarmDataService;
+
+    private static DevalarmDataService devalarmDataService;
+
+    private static PwrdevAlarmService  pwrdevAlarmService;
+
+    //鏀剧數璁板綍
+    private static BatttestdataInfService batttestdataInfService;
+
+    //鐢垫睜缁勪俊鎭�
+    private static BattInfService battInfService;
+
+    //鏈烘埧淇℃伅
+    private static StationInfService stationInfService;
+
+    //鐢垫簮淇℃伅
+    private static PowerInfService powerInfService;
+
+    //鍗曚綋淇℃伅
+    private static BattRtdataService rtdataService;
+
+    //鍐呴樆娴嬭瘯淇℃伅
+    private static BattresdataInfService battresdataInfService;
 
 
     private volatile boolean runFlag = true;
@@ -32,10 +81,66 @@
 
     private volatile Map<Long,Boolean> threadFlagMap = new HashMap<>();
 
-    /*@Autowired
-    public void setLockAlarmService(LockAlarmService almService) {
-        LockAlmRtSocket.almService = almService;
-    }*/
+    @Autowired
+    public void setBattRtstateService(BattRtstateService battRtstateService) {
+        RealTimeSocket.battRtstateService = battRtstateService;
+    }
+
+    @Autowired
+    public void setDeviceStateService(DeviceStateService deviceStateService) {
+        RealTimeSocket.deviceStateService = deviceStateService;
+    }
+
+    @Autowired
+    public void setPwrdevAcdcdataService(PwrdevAcdcdataService pwrdevAcdcdataService) {
+        RealTimeSocket.pwrdevAcdcdataService = pwrdevAcdcdataService;
+    }
+
+    @Autowired
+    public void setBattalarmDataService(BattalarmDataService battalarmDataService) {
+        RealTimeSocket.battalarmDataService = battalarmDataService;
+    }
+
+    @Autowired
+    public void setDevalarmDataService(DevalarmDataService devalarmDataService) {
+        RealTimeSocket.devalarmDataService = devalarmDataService;
+    }
+
+    @Autowired
+    public void setPwrdevAlarmService(PwrdevAlarmService pwrdevAlarmService) {
+        RealTimeSocket.pwrdevAlarmService = pwrdevAlarmService;
+    }
+
+    @Autowired
+    public void setBatttestdataInfService(BatttestdataInfService batttestdataInfService) {
+        RealTimeSocket.batttestdataInfService = batttestdataInfService;
+    }
+
+    @Autowired
+    public void setBattInfService(BattInfService battInfService) {
+        RealTimeSocket.battInfService = battInfService;
+    }
+
+    @Autowired
+    public void setStationInfService(StationInfService stationInfService) {
+        RealTimeSocket.stationInfService = stationInfService;
+    }
+
+    @Autowired
+    public void setPowerInfService(PowerInfService powerInfService) {
+        RealTimeSocket.powerInfService = powerInfService;
+    }
+
+    @Autowired
+    public void setBattRtdataService(BattRtdataService rtdataService) {
+        RealTimeSocket.rtdataService = rtdataService;
+    }
+
+    @Autowired
+    public void setBattresdataInfService(BattresdataInfService battresdataInfService) {
+        RealTimeSocket.battresdataInfService = battresdataInfService;
+    }
+
 
 
     @OnOpen
@@ -69,7 +174,7 @@
                         if (session.isOpen()) {
                             //鎺ㄩ�佷俊鎭�
                             synchronized (session) {
-                                session.getBasicRemote().sendObject(new Response<>().set(1,map));
+                                session.getBasicRemote().sendObject(new Response<>().setII(1,true,map,"瀹炴椂椤甸潰鏁版嵁鎺ㄩ��"));
                             }
                             threadFlagMap.put(thread.getId(), false);
                         }
@@ -94,7 +199,81 @@
     }
     //鑾峰彇澶撮儴淇℃伅
     private Response getTop(RealTimeDto realDto) {
-        return new Response().set(1);
+        TopDto topDto = new TopDto();
+        try {
+            //瀹炴椂鑾峰彇鐢垫睜缁勪俊鎭�
+            BattRtstate battRtstate = battRtstateService.getBattRealInfo(realDto.getBattgroupId());
+            if (battRtstate != null) {
+                topDto.setBattState(battRtstate.getBattState());
+                topDto.setBattStateName(BattStateEnum.getValue(battRtstate.getBattState()));
+                topDto.setVbusVol(battRtstate.getVbusVol());
+                topDto.setOnlineVol(battRtstate.getOnlineVol());
+                topDto.setRecordtime(ThreadLocalUtil.format(battRtstate.getRecDatetime(),1));
+            }
+            //瀹炴椂鑾峰彇鐢垫睜缁勪俊鎭�
+            BattInf binf=battInfService.getBinfByBattgroupId(realDto.getBattgroupId());
+            if(binf!=null){
+                topDto.setBattGroupName(binf.getBattgroupName());
+                topDto.setDevName(binf.getDevName());
+            }
+            //鑾峰彇鏈烘埧淇℃伅
+            StationInf stationInf = stationInfService.getStationInfById(binf.getStationId());
+            if(stationInf!=null){
+                topDto.setStationName(stationInf.getStationName());
+                topDto.setProvice(stationInf.getProvice());
+                topDto.setCity(stationInf.getCity());
+                topDto.setCounty(stationInf.getCountry());
+                topDto.setFullName(stationInf.getFullName());
+            }
+            //鑾峰彇鐢垫簮淇℃伅
+            PowerInf powerInf = powerInfService.getPowerInfById(binf.getPowerId());
+            if(powerInf!=null){
+                topDto.setPowerName(powerInf.getPowerName());
+            }
+            //瀹炴椂鑾峰彇璁惧淇℃伅
+            DeviceState deviceState = deviceStateService.getDevRealInfo(realDto.getDevId());
+            if (deviceState != null) {
+                topDto.setDevState(deviceState.getDevWorkstate());
+                topDto.setDevStateName(DevStateEnum.getValue(deviceState.getDevWorkstate()));
+                if (deviceState.getDevWorkstate() == DevStateEnum.DEVSTATE_2.getStateId()) {//鏍稿鏀剧數
+                    topDto.setCaptestGroupvol(deviceState.getDevCaptestGroupvol());
+                    topDto.setCaptestCurr(deviceState.getDevCaptestCurr());
+                    topDto.setCaptestTimelong(deviceState.getDevCaptestTimelong());
+                    topDto.setCaptestCap(deviceState.getDevCaptestCap());
+                    //鍓╀綑瀹归噺鍜屽墿浣欐椂闂磋绠�
+                    Float restCap = batttestdataInfService.getLastTestDataRestCap(realDto.getBattgroupId());
+                    topDto.setRestCap(restCap);
+                    //瀹炴椂缁勭鐢垫祦锛屽墿浣欏閲忥紝鏍囩О瀹归噺
+                    if(battRtstate!=null){
+                        Float restTime= BattCapFactory.getTheoryTime(battRtstate.getLoadCurr(), restCap, binf.getMoncapstd());
+                        topDto.setRestTime(restTime);
+                    }
+                }
+
+                //鑾峰彇涓�绾ф湭澶勭悊瀹炴椂鍛婅鏁�
+                Integer battALmNum = battalarmDataService.getBattAlmNum(realDto.getBattgroupId());
+                topDto.setBattALmNum(battALmNum);
+
+                Integer devALmNum = devalarmDataService.getDevAlmNum(realDto.getDevId());
+                topDto.setDevALmNum(devALmNum);
+
+                Integer pwrALmNum = pwrdevAlarmService.getPwrAlmNum(realDto.getPowerId());
+                topDto.setPwrALmNum(pwrALmNum);
+
+                //瀹炴椂鑾峰彇鐢垫簮淇℃伅(鏄惁瀛樺湪鐢垫簮鍛婅淇℃伅)
+                //PwrdevAcdcdata pwrdevAcdcdata = pwrdevAcdcdataService.getPwrRealInfo(realDto.getPowerId());
+                topDto.setPwrState((pwrALmNum > 0 ? 1 : 0));
+                topDto.setPwrStateName((pwrALmNum > 0 ? "鐢垫簮寮傚父" : "鐢垫簮姝e父"));
+
+                Integer allALmNum = battALmNum + devALmNum + pwrALmNum;
+                topDto.setAllALmNum(allALmNum);
+                topDto.setSystemState((allALmNum > 0 ? 1 : 0));
+                topDto.setSystemStateName((allALmNum > 0 ? "绯荤粺寮傚父" : "绯荤粺姝e父"));
+            }
+            return new Response().setII(1, true, topDto, "瀹炴椂椤甸潰澶撮儴鏁版嵁鎺ㄩ��");
+        } catch (Exception e) {
+            return new Response().set(1, false, "瀹炴椂椤甸潰澶撮儴鏁版嵁鎺ㄩ��");
+        }
     }
 
     //鏍规嵁pageType鑾峰彇杩斿洖鐣岄潰
@@ -116,41 +295,298 @@
     }
     //鑾峰彇绠$悊鐣岄潰淇℃伅
     private Response getManagePage(RealTimeDto realDto) {
-        return new Response().set(1);
+        Map<String, Object> map=new HashMap<>();
+        try {
+            StationInf sinf=stationInfService.getStationInfById(realDto.getStaitonId());
+            map.put("sinf",sinf);
+            PowerInf pinf=powerInfService.getPowerInfById(realDto.getPowerId());
+            map.put("pinf",pinf);
+            BattInf binf=battInfService.getBinfByBattgroupId(realDto.getBattgroupId());
+            map.put("binf",binf);
+            map.put("pageType",realDto.getPageType());
+            return new Response().setII(1,true,map,"绠$悊鐣岄潰淇℃伅鎺ㄩ��");
+        }catch (Exception e){
+            return new Response().set(1,false,"绠$悊鐣岄潰淇℃伅鎺ㄩ��");
+        }
     }
     //鑾峰彇鑷剤鑳藉姏鐣岄潰淇℃伅
     private Response getSelfPage(RealTimeDto realDto) {
-        return new Response().set(1);
+        Map<String, Object> map=new HashMap<>();
+        map.put("pageType",realDto.getPageType());
+        return new Response().setII(1,true,map,"鑷剤鑳藉姏鐣岄潰淇℃伅鎺ㄩ��");
     }
     //鑾峰彇3D鐣岄潰淇℃伅
     private Response get3DPage(RealTimeDto realDto) {
-        return new Response().set(1);
+        Map<String, Object> map=new HashMap<>();
+        map.put("pageType",realDto.getPageType());
+        return new Response().setII(1,true,map,"3D鐣岄潰淇℃伅淇℃伅鎺ㄩ��");
     }
     //鑾峰彇鍥剧墖鐣岄潰淇℃伅
     private Response getImgPage(RealTimeDto realDto) {
-        return new Response().set(1);
+        Map<String, Object> map=new HashMap<>();
+        map.put("pageType",realDto.getPageType());
+        return new Response().setII(1,true,map,"鍥剧墖鐣岄潰淇℃伅淇℃伅鎺ㄩ��");
     }
     //鑾峰彇娓╁害鐣岄潰淇℃伅
     private Response getTmpPage(RealTimeDto realDto) {
-        return new Response().set(1);
+        Map<String, Object> map=new HashMap<>();
+        Float maxData=0f;
+        Float minData=0f;
+        Float avgData=0f;
+        try {
+            //瀹炴椂鑾峰彇鍗曚綋淇℃伅
+            List<BattRtdata> rtdataList = rtdataService.getRtdataRealInfo(realDto.getBattgroupId());
+            if(rtdataList!=null&&rtdataList.size()>0){
+                for(int i=0;i<rtdataList.size();i++) {
+                    BattRtdata battRtdata=rtdataList.get(i);
+                    if(i==0){
+                        maxData=battRtdata.getMonTmp();
+                        minData=battRtdata.getMonTmp();
+                    }
+                    if (battRtdata.getMonTmp() >= maxData) {
+                        maxData = battRtdata.getMonTmp();
+                    }
+                    if (battRtdata.getMonTmp() <= minData) {
+                        minData = battRtdata.getMonTmp();
+                    }
+                    avgData += battRtdata.getMonTmp();
+                }
+                avgData=avgData/rtdataList.size();
+            }
+            map.put("rtdataList",rtdataList!=null?rtdataList:"");
+            map.put("maxData",maxData);
+            map.put("minData",minData);
+            map.put("avgData",avgData);
+            map.put("pageType",realDto.getPageType());
+            return new Response().setII(1,true,map,"娓╁害鐣岄潰淇℃伅鎺ㄩ��");
+        }catch (Exception e){
+            return new Response().set(1,false,"娓╁害鐣岄潰淇℃伅鎺ㄩ��");
+        }
     }
     //鑾峰彇鍐呴樆鐣岄潰淇℃伅
     private Response getResPage(RealTimeDto realDto) {
-        return new Response().set(1);
+        Map<String, Object> map=new HashMap<>();
+        Float maxData=0f;
+        Float minData=0f;
+        Float avgData=0f;
+        try {
+            //瀹炴椂鑾峰彇鍗曚綋淇℃伅
+            List<BattRtdata> rtdataList = rtdataService.getRtdataRealInfo(realDto.getBattgroupId());
+            if(rtdataList!=null&&rtdataList.size()>0){
+                for(int i=0;i<rtdataList.size();i++) {
+                    BattRtdata battRtdata=rtdataList.get(i);
+                    if(i==0){
+                        maxData=battRtdata.getMonRes();
+                        minData=battRtdata.getMonRes();
+                    }
+                    if (battRtdata.getMonRes() >= maxData) {
+                        maxData = battRtdata.getMonRes();
+                    }
+                    if (battRtdata.getMonRes() <= minData) {
+                        minData = battRtdata.getMonRes();
+                    }
+                    avgData += battRtdata.getMonRes();
+                }
+                avgData=avgData/rtdataList.size();
+            }
+            map.put("rtdataList",rtdataList!=null?rtdataList:"");
+            map.put("maxData",maxData);
+            map.put("minData",minData);
+            map.put("avgData",avgData);
+            //涓婁竴娆″唴闃绘祴璇曟暟鎹�
+            BattresdataInf rinfData= battresdataInfService.getLastTestData(realDto.getBattgroupId());
+            map.put("rinfData",rinfData!=null?rinfData:"");
+            map.put("pageType",realDto.getPageType());
+            return new Response().setII(1,true,map,"鍐呴樆鐣岄潰淇℃伅鎺ㄩ��");
+        }catch (Exception e){
+            return new Response().set(1,false,"鍐呴樆鐣岄潰淇℃伅鎺ㄩ��");
+        }
     }
     //鑾峰彇鐢靛帇鐣岄潰淇℃伅
     private Response getVolPage(RealTimeDto realDto) {
-        return new Response().set(1);
+        Map<String, Object> map=new HashMap<>();
+        Float maxData=0f;
+        Float minData=0f;
+        Float avgData=0f;
+        try {
+            //瀹炴椂鑾峰彇鍗曚綋淇℃伅
+            List<BattRtdata> rtdataList = rtdataService.getRtdataRealInfo(realDto.getBattgroupId());
+            if(rtdataList!=null&&rtdataList.size()>0){
+                for(int i=0;i<rtdataList.size();i++) {
+                    BattRtdata battRtdata=rtdataList.get(i);
+                    if(i==0){
+                        maxData=battRtdata.getMonVol();
+                        minData=battRtdata.getMonVol();
+                    }
+                    if (battRtdata.getMonVol() >= maxData) {
+                        maxData = battRtdata.getMonVol();
+                    }
+                    if (battRtdata.getMonVol() <= minData) {
+                        minData = battRtdata.getMonVol();
+                    }
+                    avgData += battRtdata.getMonVol();
+                }
+                avgData=avgData/rtdataList.size();
+            }
+            map.put("rtdataList",rtdataList!=null?rtdataList:"");
+            map.put("maxData",maxData);
+            map.put("minData",minData);
+            map.put("avgData",avgData);
+            map.put("pageType",realDto.getPageType());
+            return new Response().setII(1,true,map,"鐢靛帇鐣岄潰淇℃伅鎺ㄩ��");
+        }catch (Exception e){
+            return new Response().set(1,false,"鐢靛帇鐣岄潰淇℃伅鎺ㄩ��");
+        }
     }
     //鑾峰彇鐢垫簮鐣岄潰淇℃伅
     private Response getPowerPage(RealTimeDto realDto) {
-        return new Response().set(1);
+        Map<String, Object> map=new HashMap<>();
+        try {
+            //瀹炴椂鑾峰彇鐢垫簮淇℃伅
+            PwrdevAcdcdata pwrdevAcdcdata = pwrdevAcdcdataService.getPwrRealInfo(realDto.getPowerId());
+            map.put("pwrdevAcdcdata",pwrdevAcdcdata!=null?pwrdevAcdcdata:"");
+            map.put("pageType",realDto.getPageType());
+            return new Response().setII(1,true,map,"鐢垫簮鐣岄潰淇℃伅鎺ㄩ��");
+        }catch (Exception e){
+            return new Response().set(1,false,"鐢垫簮鐣岄潰淇℃伅鎺ㄩ��");
+        }
     }
     //鑾峰彇绯荤粺姒傝堪鐣岄潰淇℃伅
     private Response getSystemPage(RealTimeDto realDto) {
-        return new Response().set(1);
+        Map<String, Object> map=new HashMap<>();
+        map.put("pageType",realDto.getPageType());
+        try {
+            //瀹炴椂鑾峰彇鐢垫睜缁勪俊鎭�
+            BattRtstate battRtstate = battRtstateService.getBattRealInfo(realDto.getBattgroupId());
+            if(battRtstate!=null){
+                battRtstate.setLastCaptestStopTypeReason(StopReasonEnum.getValue(battRtstate.getLastCaptestStopType()));
+                battRtstate.setControlFailTypeReason(FailReasonEnum.getValue(battRtstate.getControlFailType()));
+            }
+            map.put("battRtstate",battRtstate!=null?battRtstate:"");
+            //瀹炴椂鑾峰彇璁惧淇℃伅
+            DeviceState deviceState = deviceStateService.getDevRealInfo(realDto.getDevId());
+            map.put("deviceState",deviceState!=null?deviceState:"");
+            //鑾峰彇涓婁竴娆℃爣鍑嗘牳瀹逛俊鎭�
+            BatttestdataInf tinfData= batttestdataInfService.getLastStandardTestData(realDto.getBattgroupId());
+            map.put("tinfData",tinfData!=null?tinfData:"");
+            //鑾峰彇杩戝崐灏忔椂鐢垫簮鏁版嵁锛屾暣娴佸櫒鏁版嵁锛屾牳瀹硅澶囨暟鎹紙鎺ㄩ�佸疄鏃讹紝鎺ュ彛鏌ヨ鏈�杩戝崐灏忔椂鏁版嵁锛�
+            PwrdevAcdcdata pwrdevAcdcdata = pwrdevAcdcdataService.getPwrRealInfo(realDto.getPowerId());
+            map.put("pwrdevAcdcdata",pwrdevAcdcdata!=null?pwrdevAcdcdata:"");
+            //鐢垫簮瀵硅薄(鏁存祦鍣ㄤ娇鐢ㄦ儏鍐�)
+            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 (int i=0;i<battRtdataList.size();i++) {
+            BattRtdata rtdata=battRtdataList.get(i);
+            if(i==0){
+                //璧嬪�煎垵濮嬪��
+                maxVol = rtdata.getMonVol();
+                minVol = rtdata.getMonVol();
+                maxTmp = rtdata.getMonTmp();
+                minTmp = rtdata.getMonTmp();
+                maxRes = rtdata.getMonRes();
+                minRes = rtdata.getMonRes();
+                maxCap = rtdata.getMonCap();
+                minCap = rtdata.getMonCap();
+            }
+            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());
+            }
+        }
+        dto.setMaxCapNumList(maxCapNumList);
+        dto.setMinCapNumList(minCapNumList);
+        dto.setMaxVolNumList(maxVolNumList);
+        dto.setMinVolNumList(minVolNumList);
+        dto.setMaxTmpNumList(maxTmpNumList);
+        dto.setMinTmpNumList(minTmpNumList);
+        dto.setMaxResNumList(maxResNumList);
+        dto.setMinResNumList(minResNumList);
+        return dto;
+    }
     @OnClose
     public void onClose(CloseReason closeReason){
         System.err.println("closeReason = " + closeReason);

--
Gitblit v1.9.1