From b22e8e7a2d6f6a2998913c381af5ceba9542d79e Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期三, 07 五月 2025 16:41:46 +0800
Subject: [PATCH] 苏州地铁推送修改

---
 src/main/java/com/whyc/service/BattRtstateService.java   |   58 ++++++
 src/main/java/com/whyc/service/BattalarmDataService.java |   97 ++++++++++++
 src/main/resources/mapper/BattalarmDataMapper.xml        |   15 +
 src/main/java/com/whyc/dto/BattTestData.java             |   14 +
 src/main/java/com/whyc/webSocket/ScreenForSZ2Socket.java |  132 ++++++++++++++++
 src/main/java/com/whyc/constant/AlarmConstant.java       |   16 ++
 src/main/resources/mapper/BattInfMapper.xml              |   14 +
 src/main/java/com/whyc/pojo/BattalarmData.java           |    2 
 src/main/java/com/whyc/service/BattInfService.java       |   53 ++++++
 src/main/java/com/whyc/mapper/BattalarmDataMapper.java   |    4 
 src/main/java/com/whyc/pojo/BattRtstate.java             |    2 
 src/main/java/com/whyc/mapper/BattRtstateMapper.java     |    2 
 src/main/java/com/whyc/mapper/BattInfMapper.java         |    2 
 src/main/resources/mapper/BattRtstateMapper.xml          |   11 +
 14 files changed, 417 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/whyc/constant/AlarmConstant.java b/src/main/java/com/whyc/constant/AlarmConstant.java
index 6c048ba..7dfe790 100644
--- a/src/main/java/com/whyc/constant/AlarmConstant.java
+++ b/src/main/java/com/whyc/constant/AlarmConstant.java
@@ -178,7 +178,23 @@
     public static final int smoke_CommErr1		= 110134;
     public static final int smoke_CommErr2		= 110135;
     public static final int smoke_CommErr3		= 110136;
+    //鑻忓窞鍦伴搧浣跨敤
+    public static String getSzBattAlmName(int almId)
+    {
+        String Alarm_name = "鏈煡";
+        switch(almId)                       //鍛婅鍚嶇О
+        {
+            case 119001 :  Alarm_name = "鍦ㄧ嚎鐢靛帇鍛婅";break;
+            case 119002 :  Alarm_name = "缁勭鐢靛帇鍛婅"; break;
+            case 119003 :  Alarm_name = "鍏呯數鐢垫祦鍛婅";break;
+            case 119004 :  Alarm_name = "鏀剧數鐢垫祦鍛婅"; break;
+            case 119005 :  Alarm_name = "鍗曚綋鐢靛帇鍛婅";break;
+            case 119006 :  Alarm_name = "鍗曚綋娓╁害鍛婅"; break;
+            case 119007 :  Alarm_name = "鍗曚綋鍐呴樆鍛婅";break;
+        }
 
+        return Alarm_name;
+    }
     public static String getAlarmName(int type)
     {
         String Alarm_name = "鏈煡";
diff --git a/src/main/java/com/whyc/dto/BattTestData.java b/src/main/java/com/whyc/dto/BattTestData.java
index 7d93d37..0846212 100644
--- a/src/main/java/com/whyc/dto/BattTestData.java
+++ b/src/main/java/com/whyc/dto/BattTestData.java
@@ -1956,4 +1956,18 @@
 		}
 		return controlFailTypeName;
 	}
+
+	//鑻忓窞鍦伴搧浣跨敤鐢垫睜鐘舵�佸搴�
+	public static String getBattState(int battState) {
+		String stateName = "鏈煡";
+		switch(battState) {
+			case 0:stateName = "鏈煡"; break;
+			case 1:stateName = "娴厖"; break;
+			case 2:stateName = "鍏呯數"; break;
+			case 3:stateName = "鏀剧數"; break;
+			case 4:stateName = "鍧囧厖"; break;
+			case 5:stateName = "鍐呴樆娴嬭瘯"; break;
+		}
+		return stateName;
+	}
 }
diff --git a/src/main/java/com/whyc/mapper/BattInfMapper.java b/src/main/java/com/whyc/mapper/BattInfMapper.java
index 585ad5f..9cdf6d1 100644
--- a/src/main/java/com/whyc/mapper/BattInfMapper.java
+++ b/src/main/java/com/whyc/mapper/BattInfMapper.java
@@ -135,4 +135,6 @@
 
     //鑾峰彇鎵�鏈夌殑鐢垫睜缁�
     List<Battinf> getInfInStation(String stationId);
+    //1缁熻鏈烘埧涓暟锛岃澶囦釜鏁帮紝鐢垫睜缁勪釜鏁�(鑻忓窞鍦伴搧)
+    List<Battinf> getAllInfInSz2(Integer userId);
 }
diff --git a/src/main/java/com/whyc/mapper/BattRtstateMapper.java b/src/main/java/com/whyc/mapper/BattRtstateMapper.java
index 34889c9..32931bc 100644
--- a/src/main/java/com/whyc/mapper/BattRtstateMapper.java
+++ b/src/main/java/com/whyc/mapper/BattRtstateMapper.java
@@ -54,4 +54,6 @@
     List<BattRtstate> getDischargingList(int userId);
    //鏌ヨ鐢垫睜缁勭淇℃伅
     List<BattRtstate> serchPowerHr6159(int devId);
+    //鏌ヨ鐢垫睜鐘舵��
+    List<BattRtstate> getAllBattStateInSz2(Integer userId);
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/mapper/BattalarmDataMapper.java b/src/main/java/com/whyc/mapper/BattalarmDataMapper.java
index 2ec2022..861976c 100644
--- a/src/main/java/com/whyc/mapper/BattalarmDataMapper.java
+++ b/src/main/java/com/whyc/mapper/BattalarmDataMapper.java
@@ -6,6 +6,7 @@
 import com.whyc.dto.result.AlarmStaticRes;
 import com.whyc.pojo.BattMapInformation;
 import com.whyc.pojo.BattalarmData;
+import com.whyc.pojo.Battinf;
 import com.whyc.pojo.WorkflowAlarm;
 import org.apache.ibatis.annotations.Param;
 
@@ -98,5 +99,6 @@
     List<BattalarmData> getAlm2(Integer battGroupId);
 
     List<BattalarmData> getLevelListByUserId(int userId);
-
+    //鏌ヨb鎵�鏈夊疄鏃剁數姹犲憡璀︿俊鎭�
+    List<BattalarmData> getAllBattAlarmInSz2(Integer userId);
 }
diff --git a/src/main/java/com/whyc/pojo/BattRtstate.java b/src/main/java/com/whyc/pojo/BattRtstate.java
index 9f72936..3a3053f 100644
--- a/src/main/java/com/whyc/pojo/BattRtstate.java
+++ b/src/main/java/com/whyc/pojo/BattRtstate.java
@@ -124,6 +124,8 @@
     private String stationName5;
     @TableField(exist = false)
     private Float loadCurr;
+    @TableField(exist = false)
+    private String stationName9;
 
 
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/pojo/BattalarmData.java b/src/main/java/com/whyc/pojo/BattalarmData.java
index b60fffc..5681faa 100644
--- a/src/main/java/com/whyc/pojo/BattalarmData.java
+++ b/src/main/java/com/whyc/pojo/BattalarmData.java
@@ -119,6 +119,8 @@
     @TableField(exist = false)
     private String stationName5;
     @TableField(exist = false)
+    private String stationName9;
+    @TableField(exist = false)
     @ApiModelProperty("鐢ㄦ埛璁板綍鏃堕棿")
     private Date recordTime;
 
diff --git a/src/main/java/com/whyc/service/BattInfService.java b/src/main/java/com/whyc/service/BattInfService.java
index b6ce121..2c68e5f 100644
--- a/src/main/java/com/whyc/service/BattInfService.java
+++ b/src/main/java/com/whyc/service/BattInfService.java
@@ -204,6 +204,8 @@
             station.setStationName4(battinf.getStationName4());
             station.setStationName5(battinf.getStationName5());
             station.setTogetherFlag(sinfMapper.getMaxTogetherFlag());
+            if(battinf.getStationName9()!=null){//鑻忓窞鍦伴搧鏍囨敞涓哄嚑鍙风嚎鍦伴搧绾胯矾锛�3.5.6.7.8锛�
+            }
             stationInfService.insertStation(station);
             battinf.setStationId(stationId);
             battinf.setFBSDeviceId((long) dev_id);
@@ -966,4 +968,55 @@
             return new Response().set(1,false,"鏀箄key宸茬粦瀹�");
         }
     }
+    //鎻掑叆鍒濆鏁版嵁
+    public void setDefalut( Map<String,Object> map){
+        Map<String,Object> mapNum=new HashMap<>();
+        mapNum.put("stionNum",0);
+        mapNum.put("devNum",0);
+        mapNum.put("battNum",0);
+        map.put("3",mapNum);
+        map.put("5",mapNum);
+        map.put("6",mapNum);
+        map.put("7",mapNum);
+        map.put("8",mapNum);
+    }
+    //1缁熻鏈烘埧涓暟锛岃澶囦釜鏁帮紝鐢垫睜缁勪釜鏁�(鑻忓窞鍦伴搧)
+    public Response getAllInfInSz2(Integer userId) {
+        Map<String,Object> map=new HashMap<>();
+        //setDefalut(map);
+        Map<String,Object> allmap=new HashMap<>();
+        int stionNum=0;
+        int devNum=0;
+        int battNum=0;
+        try {
+            //鏌ヨbattinf琛ㄤ腑鎵�鏈夋満鎴夸俊鎭�
+            List<Battinf> list=battInfMapper.getAllInfInSz2(userId);
+            Map<String, List<Battinf>> ListMap = list.stream().collect(Collectors.groupingBy(Battinf::getStationName9));
+            for (String stationName9 : ListMap.keySet()) {
+                Map<String, Object> battInfoMap = new HashMap<>();
+                battInfoMap.put("stionNum",0);
+                battInfoMap.put("devNum",0);
+                battInfoMap.put("battNum",0);
+                List<Battinf> name9List=ListMap.get(stationName9);
+                Map<String, List<Battinf>> stationMap = name9List.stream().collect(Collectors.groupingBy(Battinf::getStationId));
+                battInfoMap.put("stionNum",stationMap.size());
+                stionNum+=stationMap.size();
+                Map<Long, List<Battinf>> devMap = name9List.stream().collect(Collectors.groupingBy(Battinf::getFBSDeviceId));
+                battInfoMap.put("devNum",devMap.size());
+                devNum+=devMap.size();
+                Map<Integer, List<Battinf>> battMap = name9List.stream().collect(Collectors.groupingBy(Battinf::getBattGroupId));
+                battInfoMap.put("battNum",battMap.size());
+                map.put(stationName9,battInfoMap);
+                battNum+=battMap.size();
+            }
+            allmap.put("stionNum",stionNum);
+            allmap.put("devNum",devNum);
+            allmap.put("battNum",battNum);
+            map.put("allmap",allmap);
+            return new Response<>().setII(1,true,map,"");
+        } catch (Exception e) {
+            return new Response<>().set(1,false,"");
+        }
+
+    }
 }
diff --git a/src/main/java/com/whyc/service/BattRtstateService.java b/src/main/java/com/whyc/service/BattRtstateService.java
index d9531b1..2156830 100644
--- a/src/main/java/com/whyc/service/BattRtstateService.java
+++ b/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,"");
+        }
+    }
 }
diff --git a/src/main/java/com/whyc/service/BattalarmDataService.java b/src/main/java/com/whyc/service/BattalarmDataService.java
index c66cdfd..c808fbf 100644
--- a/src/main/java/com/whyc/service/BattalarmDataService.java
+++ b/src/main/java/com/whyc/service/BattalarmDataService.java
@@ -1143,4 +1143,101 @@
         map.put("devAlm",devAlm.size());
         return new Response().set(1,map,"61853妫�娴嬫槸鍚﹀瓨鍦ㄥ憡璀�");
     }
+    //鎻掑叆鍒濆鏁版嵁
+    public void setDefalut( Map<String,Object> map){
+        Map<String,Object> levelMap=new HashMap<>();
+        Map<Integer,Object> map1=new HashMap<>();
+        map1.put(1,0);
+        map1.put(2,0);
+        map1.put(3,0);
+        map1.put(4,0);
+        levelMap.put("3",map1);
+        levelMap.put("5",map1);
+        levelMap.put("6",map1);
+        levelMap.put("7",map1);
+        levelMap.put("8",map1);
+        map.put("level",levelMap);
+        Map<String,Object> typelMap=new HashMap<>();
+        Map<String,Object> map2=new HashMap<>();
+        map2.put("鍦ㄧ嚎鐢靛帇鍛婅",0);
+        map2.put("缁勭鐢靛帇鍛婅",0);
+        map2.put("鍏呯數鐢垫祦鍛婅",0);
+        map2.put("鏀剧數鐢垫祦鍛婅",0);
+        map2.put("鍗曚綋鐢靛帇鍛婅",0);
+        map2.put("鍗曚綋娓╁害鍛婅",0);
+        map2.put("鍗曚綋鍐呴樆鍛婅",0);
+        typelMap.put("3",map2);
+        typelMap.put("5",map2);
+        typelMap.put("6",map2);
+        typelMap.put("7",map2);
+        typelMap.put("8",map2);
+        map.put("type",typelMap);
+    }
+    //2.缁熻鐢垫睜鍛婅
+    public Response getAllBattAlarmInSz2(Integer userId) {
+        Map<String,Object> map=new HashMap<>();
+        Map<Integer,Integer> allLevelmap=new HashMap<>();
+        Map<String,Integer> allTypemap=new HashMap<>();
+        Map<String,List<BattalarmData>> listmap=new HashMap<>();
+        Map<String,List<BattalarmData>> allListmap=new HashMap<>();
+        //setDefalut(map);
+        try {
+            //鏌ヨb鎵�鏈夊疄鏃剁數姹犲憡璀︿俊鎭�
+            List<BattalarmData> list=mapper.getAllBattAlarmInSz2(userId);
+            allListmap.put("allList",list.stream().limit(10).collect(Collectors.toList()));
+            Map<String, List<BattalarmData>> ListMap = list.stream().collect(Collectors.groupingBy(BattalarmData::getStationName9));
+            Map<String,Object> levelMap=new HashMap<>();
+            Map<String,Object> typelMap=new HashMap<>();
+            for (String stationName9 : ListMap.keySet()) {
+                List<BattalarmData> name9List=ListMap.get(stationName9);
+                listmap.put(stationName9,name9List.stream().limit(10).collect(Collectors.toList()));
+                Map<Integer, List<BattalarmData>> levelName9Map = name9List.stream().collect(Collectors.groupingBy(BattalarmData::getAlmLevel));
+                Map<Integer, Integer> levelNumMap = new HashMap<>();
+                levelNumMap.put(1,0);
+                levelNumMap.put(2,0);
+                levelNumMap.put(3,0);
+                levelNumMap.put(4,0);
+                for (Integer level : levelName9Map.keySet()) {
+                    levelNumMap.put(level,levelName9Map.get(level).size());
+                    int levelnum=0;
+                    if(allLevelmap.get(level)==null){
+                        levelnum=levelName9Map.get(level).size();
+                    }else{
+                        levelnum=allLevelmap.get(level)+levelName9Map.get(level).size();
+                    }
+                    allLevelmap.put(level,levelnum);
+                }
+                levelMap.put(stationName9,levelNumMap);
+
+                Map<Integer, List<BattalarmData>> typeName9Map = name9List.stream().collect(Collectors.groupingBy(BattalarmData::getAlmId));
+                Map<String, Object> typeNumMap = new HashMap<>();
+                typeNumMap.put("鍦ㄧ嚎鐢靛帇鍛婅",0);
+                typeNumMap.put("缁勭鐢靛帇鍛婅",0);
+                typeNumMap.put("鍏呯數鐢垫祦鍛婅",0);
+                typeNumMap.put("鏀剧數鐢垫祦鍛婅",0);
+                typeNumMap.put("鍗曚綋鐢靛帇鍛婅",0);
+                typeNumMap.put("鍗曚綋娓╁害鍛婅",0);
+                typeNumMap.put("鍗曚綋鍐呴樆鍛婅",0);
+                for (Integer type : typeName9Map.keySet()) {
+                    typeNumMap.put(AlarmConstant.getSzBattAlmName(type),typeName9Map.get(type).size());
+                    int typenum=0;
+                    if(allTypemap.get(AlarmConstant.getSzBattAlmName(type))==null){
+                        typenum=typeName9Map.get(type).size();
+                    }else{
+                        typenum=allTypemap.get(AlarmConstant.getSzBattAlmName(type))+typeName9Map.get(type).size();
+                    }
+                    allTypemap.put(AlarmConstant.getSzBattAlmName(type),typenum);
+                }
+                typelMap.put(stationName9,typeNumMap);
+            }
+            map.put("level",levelMap);
+            map.put("type",typelMap);
+            map.put("allLevel",allLevelmap);
+            map.put("allType",allTypemap);
+            map.put("list",listmap);
+            return new Response<>().setII(1,true,map,"");
+        } catch (Exception e) {
+            return new Response<>().set(1,false,"");
+        }
+    }
 }
diff --git a/src/main/java/com/whyc/webSocket/ScreenForSZ2Socket.java b/src/main/java/com/whyc/webSocket/ScreenForSZ2Socket.java
new file mode 100644
index 0000000..59dc4c3
--- /dev/null
+++ b/src/main/java/com/whyc/webSocket/ScreenForSZ2Socket.java
@@ -0,0 +1,132 @@
+package com.whyc.webSocket;
+
+import com.whyc.config.WebSocketConfig;
+import com.whyc.dto.Response;
+import com.whyc.factory.ThreadPoolExecutorFactory;
+import com.whyc.pojo.Battinf;
+import com.whyc.pojo.UserInf;
+import com.whyc.service.*;
+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.io.IOException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+
+/**
+ * 鑻忓窞鍦伴搧鏇存柊鐗�
+ * 棣栭〉澶у睆灞曠ず Socket
+ */
+@Component
+@ServerEndpoint(value = "/screen_sz2",encoders = WebSocketEncoder.class,configurator = WebSocketConfig.class)
+public class ScreenForSZ2Socket {
+
+    private Session session;
+
+    private Thread thread;
+
+    private static BattalarmDataService battAlarmDataService;
+
+
+
+    private static BattInfService battInfService;
+
+
+    private static BattRtstateService battRtStateService;
+
+
+    @Autowired
+    public void setBattAlarmDataService(BattalarmDataService battAlarmDataService) {
+        ScreenForSZ2Socket.battAlarmDataService = battAlarmDataService;
+    }
+
+
+    @Autowired
+    public void setBattInfService(BattInfService battInfService) {
+        ScreenForSZ2Socket.battInfService = battInfService;
+    }
+
+
+
+    @Autowired
+    public void setBattRtStateService(BattRtstateService battRtStateService) {
+        ScreenForSZ2Socket.battRtStateService = battRtStateService;
+    }
+
+    @OnOpen
+    public void onOpen(Session session, EndpointConfig config){
+        this.session = session;
+        //HttpSession httpSession = (HttpSession) config.getUserProperties().get("httpSession");
+        //UserInf user = (UserInf) httpSession.getAttribute("user");
+        //final int userId = user.getUId().intValue();
+        final int userId = 1001;
+        Thread thread = new Thread() {
+            @Override
+            public void run() {
+                try {
+                    while (!currentThread().isInterrupted()) {
+                        Map<String, Object> res =getStatic(userId);
+                        session.getBasicRemote().sendObject(new Response().set(1, res));
+                        sleep(4000);
+                    }
+                } catch (Exception e) {
+                    this.interrupt();
+                }
+            }
+        };
+        thread.start();
+        this.thread = thread;
+    }
+
+    public Map<String, Object> getStatic(Integer userId) throws InterruptedException {
+        Map<String, Object> res = new HashMap<>();
+        ThreadPoolExecutor poolExecutor = ThreadPoolExecutorFactory.getPoolExecutor();
+        CountDownLatch latch = new CountDownLatch(3);
+        poolExecutor.execute(()->{
+            //1缁熻鏈烘埧涓暟锛岃澶囦釜鏁帮紝鐢垫睜缁勪釜鏁�
+            Response<Map> res_inf = battInfService.getAllInfInSz2(userId);
+            res.put("res_inf", res_inf);
+            latch.countDown();
+        });
+        poolExecutor.execute(()->{
+            //2.缁熻鐢垫睜鍛婅(119001,119002,119003,119004,119005,119006,119007)
+            Response res_battAlarm = battAlarmDataService.getAllBattAlarmInSz2(userId);
+            res.put("res_battAlarm", res_battAlarm);
+            latch.countDown();
+        });
+        poolExecutor.execute(()->{
+            //3.缁熻:鐢垫睜鐘舵��
+            Response<Map> res_battState = battRtStateService.getAllBattStateInSz2(userId);
+            res.put("res_battState", res_battState);
+            latch.countDown();
+        });
+
+        latch.await(10, TimeUnit.MINUTES);
+        return res;
+    }
+    @OnClose
+    public void onClose(CloseReason closeReason) throws IOException {
+        //System.err.println("closeReason = " + closeReason);
+        if(session.isOpen()){
+            session.close();
+        }
+    }
+
+    @OnError
+    public void onError(Throwable error) throws IOException {
+        //error.printStackTrace();
+        thread.isInterrupted();
+        if(session.isOpen()){
+            session.close();
+        }
+    }
+
+}
diff --git a/src/main/resources/mapper/BattInfMapper.xml b/src/main/resources/mapper/BattInfMapper.xml
index 71e4c46..5d36881 100644
--- a/src/main/resources/mapper/BattInfMapper.xml
+++ b/src/main/resources/mapper/BattInfMapper.xml
@@ -760,4 +760,18 @@
         select DISTINCT *  FROM db_battinf.tb_battinf
         where StationId=#{stationId}
     </select>
+    <select id="getAllInfInSz2" resultType="com.whyc.pojo.Battinf">
+        select distinct * from db_battinf.tb_battinf
+        where StationId in  (select distinct db_battinf.tb_battinf.StationId
+                           from db_battinf.tb_battinf,
+                                db_user.tb_user_battgroup_baojigroup_battgroup,
+                                db_user.tb_user_battgroup_baojigroup_usr,
+                                db_user.tb_user_inf
+                           where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId =
+                                 db_battinf.tb_battinf.BattGroupId
+                             and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id =
+                                 db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id
+                             and db_user.tb_user_inf.uid = db_user.tb_user_battgroup_baojigroup_usr.uid
+                             and db_user.tb_user_inf.uid = #{userId})
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/BattRtstateMapper.xml b/src/main/resources/mapper/BattRtstateMapper.xml
index 9a2c94f..cc87a4d 100644
--- a/src/main/resources/mapper/BattRtstateMapper.xml
+++ b/src/main/resources/mapper/BattRtstateMapper.xml
@@ -467,6 +467,17 @@
       db_ram_db.tb_batt_rtstate.BattGroupId
       where db_battinf.tb_battinf.FBSDeviceId = #{devId}
     </select>
+    <select id="getAllBattStateInSz2" resultType="com.whyc.pojo.BattRtstate">
+      select tb_batt_rtstate.*,StationName9 as stationName9
+      from db_ram_db.tb_batt_rtstate,db_battinf.tb_battinf
+      where tb_batt_rtstate.BattGroupId
+            in (select distinct db_battinf.tb_battinf.battgroupid
+                from db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf
+                where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId
+                  and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id
+                  and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid
+                  and db_user.tb_user_inf.uid=#{userId}  )
+    </select>
 
 
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/BattalarmDataMapper.xml b/src/main/resources/mapper/BattalarmDataMapper.xml
index bd7c486..7f4a236 100644
--- a/src/main/resources/mapper/BattalarmDataMapper.xml
+++ b/src/main/resources/mapper/BattalarmDataMapper.xml
@@ -604,4 +604,19 @@
         and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid
         and db_user.tb_user_inf.uid=#{userId}  )
     </select>
+    <select id="getAllBattAlarmInSz2" resultType="com.whyc.pojo.BattalarmData">
+        SELECT tb_battalarm_data.*,StationName9 as stationName9,StationName5 as stationName5
+        from db_alarm.tb_battalarm_data,db_battinf.tb_battinf
+        where
+          db_alarm.tb_battalarm_data.battgroupid=db_battinf.tb_battinf.battgroupid
+          and alm_id in(119001,119002,119003,119004,119005,119006,119007)
+          and db_alarm.tb_battalarm_data.BattGroupId
+            in (select distinct db_battinf.tb_battinf.battgroupid
+                from db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf
+                where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId
+                  and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id
+                  and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid
+                  and db_user.tb_user_inf.uid=#{userId}  )
+        order by alm_start_time desc
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1