lxw
2023-04-24 bb6f09aeedfd58b871ad0afa08392056da39e77f
国际化告警滚动
8个文件已修改
177 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/InterFaceController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/listener/ApplicationListener.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/AlarmDataService.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattalarmDataService.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/InterfaceService.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/webSocket/InterfaceAlarmSocket.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/webSocket/InterfaceBattAlarmSocket.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/webSocket/SendAlarmDataSocket.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/InterFaceController.java
@@ -31,7 +31,7 @@
    @PostMapping("/getBattAlarm")
    @ApiOperation("获取电池告警数据")
    public Response getBattAlarm(@RequestBody InterfaceParam interfaceParam, @RequestParam String interfaceNumber) {
        return service.getBattAlarm(interfaceParam.getBattgroupIds(), interfaceNumber);
        return service.getBattAlarm(interfaceParam.getBattgroupIds(), interfaceNumber, null);
    }
    @PostMapping("/getDevAlarm")
src/main/java/com/whyc/listener/ApplicationListener.java
@@ -3,28 +3,19 @@
import com.whyc.dto.ServiceModel;
import com.whyc.factory.FaceEngineFactory;
import com.whyc.mapper.CommonMapper;
import com.whyc.mapper.LicenseMapper;
import com.whyc.mapper.PageParamUserMapper;
import com.whyc.service.InterfaceService;
import com.whyc.service.LicenseService;
import com.whyc.service.PageParamService;
import com.whyc.service.ProcessSurveyService;
import com.whyc.util.ActionUtil;
import com.whyc.util.HttpUtil;
import com.whyc.util.PropertiesUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.Map;
import java.util.Properties;
/**
 * 应用启动时初始化
@@ -70,7 +61,7 @@
        //版本迭代需要打补丁,PageParamUser追加字段type,扩展表的使用范围,原来表记录的type字段统一追加为1
        pageParamUserMapper.setOldRecord();
        //告警实时数据
        Map<String, Object> alarmMap = interfaceService.getAlarmMap();
        Map<String, Object> alarmMap = interfaceService.getAlarmMap(null);
        application.setAttribute("alarmMap",alarmMap);
        //更新平台版本号和启动时间
        processSurveyService.updateWebStartTimeAndVersion();
src/main/java/com/whyc/service/AlarmDataService.java
@@ -5,6 +5,7 @@
import com.whyc.pojo.*;
import com.whyc.util.ActionUtil;
import com.whyc.util.CommonUtil;
import com.whyc.util.MessageUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@@ -15,8 +16,6 @@
import java.util.*;
import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.Collectors;
import static org.assertj.core.util.Maps.format;
/**
 * 告警:电池/设备/电源告警的统一接口
@@ -46,19 +45,20 @@
    public Map<String, Object> getAlarmLevel1ListMap() {
        Long userId = ActionUtil.getUser().getUId();
        List<BattalarmData> battAlarmList = battAlarmDataService.getList(userId,1);
        battAlarmList = battAlarmList.stream().filter(alarm->alarm.getAlmLevel().equals(1)).collect(Collectors.toList());
        String lang = ActionUtil.getLang();
        List<BattalarmData> battAlarmList = battAlarmDataService.getList(userId, 1);
        battAlarmList = battAlarmList.stream().filter(alarm -> alarm.getAlmLevel().equals(1)).collect(Collectors.toList());
        //相同设备id+告警类型的语音,只保留一条
        Map<String, List<BattalarmData>> battAlarmListMap = battAlarmList.stream().collect(Collectors.groupingBy(a -> a.getBattGroupId() + "_" + a.getAlmSignalId()));
        Set<String> keySet = battAlarmListMap.keySet();
        battAlarmList.clear();
        for (String key:keySet){
        for (String key : keySet) {
            battAlarmList.add(battAlarmListMap.get(key).get(0));
        }
        for (BattalarmData adata : battAlarmList) {
            adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()));
            adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()));
            adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang));
            adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang));
        }
        List<DevalarmData> devAlarmList = devAlarmDataService.getList(userId,1);
src/main/java/com/whyc/service/BattalarmDataService.java
@@ -76,6 +76,7 @@
    }
    //电池告警实时查询
    public Response serchByCondition(AlarmPar par) {
        String lang = ActionUtil.getLang();
        //分页信息
        PageHelper.startPage(par.getPage().getPageCurr(), par.getPage().getPageSize());
        UserInf uinf = ActionUtil.getUser();
@@ -84,8 +85,8 @@
        for (AlarmRes a : list) {
            List<BattalarmData> l = a.getAdatas();
            for (BattalarmData adata : l) {
                adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()));
                adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()));
                adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang));
                adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang));
            }
        }
        PageInfo<AlarmRes> pinfo = new PageInfo<AlarmRes>(list);
@@ -112,23 +113,23 @@
    //电池告警实时查询-websocket使用
    @Transactional
    public Response getSendBattAlarmOfWebSocket(Integer uId) {
        List<BattalarmData> list=mapper.getSendBattAlarm(uId);
    public Response getSendBattAlarmOfWebSocket(Integer uId, String lang) {
        List<BattalarmData> list = mapper.getSendBattAlarm(uId);
        Date now = new Date();
        ListIterator<BattalarmData> it = list.listIterator();
        while (it.hasNext()){
        while (it.hasNext()) {
            BattalarmData adata = it.next();
            if(adata.getAlmLevel()==1 && adata.getRecordTime()!=null && now.getTime()-adata.getRecordTime().getTime()<24*3600000){
            if (adata.getAlmLevel() == 1 && adata.getRecordTime() != null && now.getTime() - adata.getRecordTime().getTime() < 24 * 3600000) {
                it.remove();
            }
            if(adata.getAlmLevel()==2 && adata.getRecordTime()!=null && now.getTime()-adata.getRecordTime().getTime()<7*24*3600000){
            if (adata.getAlmLevel() == 2 && adata.getRecordTime() != null && now.getTime() - adata.getRecordTime().getTime() < 7 * 24 * 3600000) {
                it.remove();
            }
            if(adata.getAlmLevel()==3 && adata.getRecordTime()!=null && now.getTime()-adata.getRecordTime().getTime()<30*7*24*3600000){
            if (adata.getAlmLevel() == 3 && adata.getRecordTime() != null && now.getTime() - adata.getRecordTime().getTime() < 30 * 7 * 24 * 3600000) {
                it.remove();
            }
            adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()));
            adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()));
            adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang));
            adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang));
        }
        return new Response().set(1,list);
    }
@@ -344,7 +345,7 @@
        int[] alarmParams = {AlarmDaoFactory.Alarm_CapAlarm, AlarmDaoFactory.Alarm_CapChange, AlarmDaoFactory.Alarm_res_Conn, AlarmDaoFactory.ALM_TYPE_DisChargeMonVol_ID};
        List<BattalarmData> lista = mapper.getRealAlarm(yesterday, uId, alarmParams);
        for (BattalarmData battAlarm : lista) {
            battAlarm.setAlarmName(AlarmDaoFactory.getAlarmName(battAlarm.getAlmSignalId()));
            battAlarm.setAlarmName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(battAlarm.getAlmSignalId()), lang));
        }
        List<DevalarmData> listd = devalarmDataMapper.getRealAlarm(yesterday, uId);
        if (listd != null && listd.size() > 0) {
src/main/java/com/whyc/service/InterfaceService.java
@@ -12,6 +12,7 @@
import com.whyc.mapper.*;
import com.whyc.pojo.*;
import com.whyc.util.ActionUtil;
import com.whyc.util.MessageUtils;
import com.whyc.util.RSAUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -53,13 +54,13 @@
    @Autowired(required = false)
    private InterfaceMapper interfaceMapper;
    @Autowired
    @Autowired(required = false)
    private BattMapInformationMapper mapMapper;
    @Autowired
    private Fbs9100SetparamService fbs9100SetparamService;
    @Autowired
    @Autowired(required = false)
    private Fbs9100SetparamMapper fbs9100SetparamMapper;
    public Response getBattinf(int pageNum, int pageSize, String interfaceNumber) {
@@ -92,7 +93,7 @@
    //电池告警实时查询-websocket使用
    @Transactional
    public Response getBattAlarm(List battgroupIds, String interfaceNumber) {
    public Response getBattAlarm(List battgroupIds, String interfaceNumber, String lang) {
        //先验证
        int flag = decryptInterface(interfaceNumber);
        if (flag == 1) {
@@ -102,8 +103,8 @@
            for (AlarmRes a : list) {
                List<BattalarmData> l = a.getAdatas();
                for (BattalarmData adata : l) {
                    adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()));
                    adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()));
                    adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang));
                    adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang));
                }
            }
//        PageInfo<AlarmRes> pinfo=new PageInfo<AlarmRes>(list);
@@ -154,6 +155,7 @@
    //电池告警历史查询
    @Transactional
    public Response getBattAlarmHistory(List battgroupIds, String interfaceNumber, int pageNum, int pageSize) {
        String lang = ActionUtil.getLang();
        //先验证
        int flag = decryptInterface(interfaceNumber);
        if (flag == 1) {
@@ -162,8 +164,8 @@
            for (AlarmRes a : list) {
                List<BattalarmData> l = a.getAdatas();
                for (BattalarmData adata : l) {
                    adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()));
                    adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()));
                    adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang));
                    adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang));
                }
            }
            PageInfo<AlarmRes> pageInfo = new PageInfo<AlarmRes>(list);
@@ -297,7 +299,7 @@
    }
    public Response getAlarmDiffMap(String interfaceNumber) {
    public Response getAlarmDiffMap(String interfaceNumber, String lang) {
        //先验证
        int flag = decryptInterface(interfaceNumber);
        if (flag == 1) {
@@ -306,7 +308,7 @@
            ServletContext application = ActionUtil.getApplication();
            Map<String, Object> alarmMap = (Map<String, Object>) application.getAttribute("alarmMap");
            //获取当前的告警列表
            Map<String, Object> alarmMapNow = getAlarmMap();
            Map<String, Object> alarmMapNow = getAlarmMap(lang);
            List<BattalarmData> battAlarmList = (List<BattalarmData>) alarmMap.get("battAlarmList");
            List<DevalarmData> devAlarmList = (List<DevalarmData>) alarmMap.get("devAlarmList");
@@ -437,11 +439,11 @@
        }
    }
    public Map<String, Object> getAlarmMap() {
    public Map<String, Object> getAlarmMap(String lang) {
        List<BattalarmData> battAlarmList = battalarmDataMapper.getBattAlarm2();
        for (BattalarmData adata : battAlarmList) {
            adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()));
            adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()));
            adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang));
            adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang));
        }
        List devAlarmList = devalarmDataMapper.getDevAlarm2();
@@ -462,6 +464,7 @@
    }
    public Response getRealTimeAlarm(InterfaceParam param) {
        String lang = ActionUtil.getLang();
        int flag = decryptInterface(param.getInterfaceNumber());
        if (flag == 1) {
            Map<String,List> map = new HashMap<>();
@@ -477,8 +480,8 @@
                for (AlarmRes a : battAlarmList) {
                    List<BattalarmData> l = a.getAdatas();
                    for (BattalarmData adata : l) {
                        adata.setAlmSignalIdName(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()));
                        adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()));
                        adata.setAlmSignalIdName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmName(adata.getAlmSignalId()), lang));
                        adata.setAlmLevelName(MessageUtils.getMessageSocket(AlarmDaoFactory.getAlarmType(adata.getAlmLevel()), lang));
                    }
                }
                map.put("battAlarmList",battAlarmList);
src/main/java/com/whyc/webSocket/InterfaceAlarmSocket.java
@@ -1,12 +1,12 @@
package com.whyc.webSocket;
import com.whyc.dto.InterfaceParam;
import com.whyc.config.WebSocketConfig;
import com.whyc.dto.Response;
import com.whyc.service.InterfaceService;
import com.whyc.util.ActionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpSession;
import javax.websocket.*;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
@@ -15,35 +15,40 @@
import java.util.Map;
@Component
@ServerEndpoint(value = "/interfaceAlarm/{interfaceNumber}",encoders = WebSocketEncoder.class)
@ServerEndpoint(value = "/interfaceAlarm/{interfaceNumber}", encoders = WebSocketEncoder.class, configurator = WebSocketConfig.class)
public class InterfaceAlarmSocket {
    private volatile Thread thread;
    private static final int executeTime = 10000;
    private volatile boolean runFlag=true;
    private volatile boolean runFlag = true;
    private volatile Map<String,Thread> threadMap = new HashMap<>();
    private volatile Map<String, Thread> threadMap = new HashMap<>();
    private volatile Map<Long,Boolean> threadFlagMap = new HashMap<>();
    private volatile Map<Long, Boolean> threadFlagMap = new HashMap<>();
    private static InterfaceService service;
    private Session session;
    private HttpSession httpSession;
    @Autowired
    public void setService(InterfaceService service){
    public void setService(InterfaceService service) {
        InterfaceAlarmSocket.service = service;
    }
    @OnOpen
    public void onOpen(Session session, @PathParam("interfaceNumber") String interfaceNumber){
        this.session=session;
    public void onOpen(Session session, @PathParam("interfaceNumber") String interfaceNumber, EndpointConfig config) {
        this.session = session;
        this.httpSession = (HttpSession) config.getUserProperties().get("httpSession");
        String lang = (String) this.httpSession.getAttribute("lang");
        Thread thread = new Thread() {
            @Override
            public void run() {
                try {
                    while (!currentThread().isInterrupted()) {
                        Response res = service.getAlarmDiffMap(interfaceNumber);
                        Response res = service.getAlarmDiffMap(interfaceNumber, lang);
                        session.getBasicRemote().sendObject(res);
                        sleep(4000);
                    }
src/main/java/com/whyc/webSocket/InterfaceBattAlarmSocket.java
@@ -1,44 +1,52 @@
package com.whyc.webSocket;
import com.whyc.config.WebSocketConfig;
import com.whyc.dto.InterfaceParam;
import com.whyc.service.InterfaceService;
import com.whyc.util.ActionUtil;
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.HashMap;
import java.util.Map;
@Component
@ServerEndpoint(value = "/interfaceBattAlarm",encoders = WebSocketEncoder.class)
@ServerEndpoint(value = "/interfaceBattAlarm", encoders = WebSocketEncoder.class, configurator = WebSocketConfig.class)
public class InterfaceBattAlarmSocket {
    private volatile Thread thread;
    private static final int executeTime = 10000;
    private volatile boolean runFlag=true;
    private volatile boolean runFlag = true;
    private volatile Map<String,Thread> threadMap = new HashMap<>();
    private volatile Map<String, Thread> threadMap = new HashMap<>();
    private volatile Map<Long,Boolean> threadFlagMap = new HashMap<>();
    private volatile Map<Long, Boolean> threadFlagMap = new HashMap<>();
    private static InterfaceService service;
    private Session session;
    private HttpSession httpSession;
    @Autowired
    public void setService(InterfaceService service){
    public void setService(InterfaceService service, EndpointConfig config) {
        InterfaceBattAlarmSocket.service = service;
        this.httpSession = (HttpSession) config.getUserProperties().get("httpSession");
    }
    @OnOpen
    public void onOpen(Session session){
        this.session=session;
    public void onOpen(Session session) {
        this.session = session;
    }
    @OnMessage
    public synchronized void onMessage(Session session, String message){
        InterfaceParam param = ActionUtil.getGson().fromJson(message, InterfaceParam.class);
        String lang = (String) this.httpSession.getAttribute("lang");
        thread = new Thread("Thread_interfaceBattAlarm") {
            @Override
            public void run() {
@@ -49,7 +57,7 @@
                        if (session.isOpen()) {
                            //推送信息
                            synchronized (session) {
                                session.getBasicRemote().sendObject(service.getBattAlarm(param.getBattgroupIds(), param.getInterfaceNumber()));
                                session.getBasicRemote().sendObject(service.getBattAlarm(param.getBattgroupIds(), param.getInterfaceNumber(), lang));
                            }
                            threadFlagMap.put(thread.getId(),false);
                        }
src/main/java/com/whyc/webSocket/SendAlarmDataSocket.java
@@ -1,5 +1,6 @@
package com.whyc.webSocket;
import com.whyc.config.WebSocketConfig;
import com.whyc.dto.Response;
import com.whyc.service.BattalarmDataService;
import com.whyc.service.DevalarmDataService;
@@ -7,13 +8,14 @@
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.HashMap;
import java.util.Map;
@Component
@ServerEndpoint(value = "/sendAlarmData",encoders = WebSocketEncoder.class)
@ServerEndpoint(value = "/sendAlarmData", encoders = WebSocketEncoder.class, configurator = WebSocketConfig.class)
public class SendAlarmDataSocket {
    private volatile Thread thread;
@@ -23,7 +25,7 @@
    private volatile Map<String,Thread> threadMap = new HashMap<>();
    private volatile Map<Long,Boolean> threadFlagMap = new HashMap<>();
    private volatile Map<Long, Boolean> threadFlagMap = new HashMap<>();
    private static BattalarmDataService battalarmDataService;
@@ -32,51 +34,60 @@
    private static PwrdevAlarmService pwrdevAlarmService;
    private Session session;
    private HttpSession httpSession;
    @Autowired
    public void setService(BattalarmDataService service){
    public void setService(BattalarmDataService service) {
        SendAlarmDataSocket.battalarmDataService = service;
    }
    @Autowired
    public void setService(DevalarmDataService service){
    public void setService(DevalarmDataService service) {
        SendAlarmDataSocket.devalarmDataService = service;
    }
    @Autowired
    public void setService(PwrdevAlarmService service){
    public void setService(PwrdevAlarmService service) {
        SendAlarmDataSocket.pwrdevAlarmService = service;
    }
    @OnOpen
    public void onOpen(Session session){
        this.session=session;
    public void onOpen(Session session, EndpointConfig config) {
        this.session = session;
        this.httpSession = (HttpSession) config.getUserProperties().get("httpSession");
    }
    @OnMessage
    public synchronized void onMessage(Session session, String uId){
    public synchronized void onMessage(Session session, String uId) {
        int userId = Integer.parseInt(uId);
        String lang = (String) this.httpSession.getAttribute("lang");
        thread = new Thread("Thread_sendAlarmData") {
            @Override
            public void run() {
                while (runFlag&&!isInterrupted()) {
                while (runFlag && !isInterrupted()) {
                    Thread thread = currentThread();
                    threadFlagMap.put(thread.getId(),true);
                    threadFlagMap.put(thread.getId(), true);
                    try {
                        Map<String, Response> res=new HashMap<>();
                        Map<String, Response> res = new HashMap<>();
                        //电池告警
                        Response battAlarm=battalarmDataService.getSendBattAlarmOfWebSocket(userId);
                        res.put("battAlarm",battAlarm);
                        Response battAlarm = battalarmDataService.getSendBattAlarmOfWebSocket(userId, lang);
                        res.put("battAlarm", battAlarm);
                        //设备告警
                        Response devAlarm=devalarmDataService.getSendDevAlarmOfWebSocket(userId);
                        res.put("devAlarm",devAlarm);
                        Response devAlarm = devalarmDataService.getSendDevAlarmOfWebSocket(userId);
                        res.put("devAlarm", devAlarm);
                        //电源告警
                        Response pwrAlarm = pwrdevAlarmService.getSendPwrAlarmOfWebSocket(userId);
                        res.put("pwrAlarm",pwrAlarm);
                        res.put("pwrAlarm", pwrAlarm);
                        if (session.isOpen()) {
                            //推送信息
                            synchronized (session) {
                                session.getBasicRemote().sendObject(new Response().set(1, res));
                            }
                            threadFlagMap.put(thread.getId(),false);
                            threadFlagMap.put(thread.getId(), false);
                        }
                        sleep(executeTime);
                    //} catch (IOException | InterruptedException | EncodeException e) {
                        //} catch (IOException | InterruptedException | EncodeException e) {
                    } catch (Exception e) {
                        interrupt();
                    }