| | |
| | | package com.whyc.webSocket; |
| | | |
| | | import com.whyc.config.WebSocketConfig; |
| | | import com.whyc.dto.DeviceTypeDTO; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.dto.paramter.RealTimePar; |
| | | import com.whyc.pojo.Battinf; |
| | | import com.whyc.pojo.PeakStatistics; |
| | | import com.whyc.service.*; |
| | | 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.io.IOException; |
| | | import java.sql.SQLException; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Component |
| | | @ServerEndpoint(value = "/RealTime",encoders = WebSocketEncoder.class) |
| | | @ServerEndpoint(value = "/RealTime", encoders = WebSocketEncoder.class, configurator = WebSocketConfig.class) |
| | | public class RealTimeWebsocket { |
| | | private volatile Thread thread; |
| | | |
| | | private static final int executeTime = 5000; |
| | | |
| | | private static boolean exit=false; |
| | | private volatile boolean runFlag=true; |
| | | |
| | | private static Map<String,Thread> threadMap = new HashMap<>(); |
| | | private volatile Map<String,Thread> threadMap = new HashMap<>(); |
| | | |
| | | private volatile Map<Long,Boolean> threadFlagMap = new HashMap<>(); |
| | | |
| | | private static BattRtstateService rtstateservice; //组端 |
| | | |
| | |
| | | |
| | | private static Ld9StateService ld9Service; //ld9 |
| | | |
| | | private static Li9130BmsStateService li9130Service; //li9130 |
| | | private static Li9130BmsStateService li9130Service; //li9130、 |
| | | |
| | | private static Fbs9100SetparamService f9100setservice;//setparam |
| | | |
| | | private static Ess3100SysstateService ess3100Sysservice;//3100sys |
| | | |
| | | private static Ess3100PcsStateService ess3100Pcsservice;//3100pcs |
| | | |
| | | private static BattGtstateService gtsservice;//gts |
| | | |
| | | private static LithiumDataService lithiumservice;//Lithium |
| | | |
| | | private static PwrdevAcdcdataService pwrdevAcdcservice;//PwrdevAcdc |
| | | |
| | | private static Fbs9100InsulatstateService f9100Insulatstateservice;//Fbs9100Insulatstate |
| | | |
| | | private static Fbs9100ChargerstateService f9100Chargerstateservice;//Fbs9100Chargerstate |
| | | |
| | | private static Fbs9100sBuscoupleStateService fbs9100sBuscoupleStateService; |
| | | |
| | | private static BattInfService battInfService; |
| | | |
| | | private static BatttestdataInfService batttestDataInfService; |
| | | |
| | | private static PeakStatisticsService peakStatisticsService; |
| | | |
| | | private static KgdyStateService kgdyStateService; |
| | | |
| | | private static Fbs9140TopologyStateService fbs9140TopologyStateService; |
| | | |
| | | private static Fbs5100InverterInfoService fbs5100InverterInfoService; |
| | | |
| | | private Session session; |
| | | |
| | | private HttpSession httpSession; |
| | | |
| | | @Autowired |
| | | public void setService(BattRtstateService rtstateservice) { |
| | |
| | | RealTimeWebsocket.li9130Service = li9130Service; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setService(Fbs9100SetparamService f9100setservice) { |
| | | RealTimeWebsocket.f9100setservice = f9100setservice; |
| | | } |
| | | @Autowired |
| | | public void setService(Ess3100SysstateService ess3100Sysservice) { |
| | | RealTimeWebsocket.ess3100Sysservice = ess3100Sysservice; |
| | | } |
| | | @Autowired |
| | | public void setService(Ess3100PcsStateService ess3100Pcsservice) { |
| | | RealTimeWebsocket.ess3100Pcsservice = ess3100Pcsservice; |
| | | } |
| | | @Autowired |
| | | public void setService(BattGtstateService gtsservice) { |
| | | RealTimeWebsocket.gtsservice = gtsservice; |
| | | } |
| | | @Autowired |
| | | public void setService(LithiumDataService lithiumservice) { |
| | | RealTimeWebsocket.lithiumservice = lithiumservice; |
| | | } |
| | | @Autowired |
| | | public void setService(PwrdevAcdcdataService pwrdevAcdcservice) { |
| | | RealTimeWebsocket.pwrdevAcdcservice = pwrdevAcdcservice; |
| | | } |
| | | @Autowired |
| | | public void setService(Fbs9100InsulatstateService f9100Insulatstateservice) { |
| | | RealTimeWebsocket.f9100Insulatstateservice = f9100Insulatstateservice; |
| | | } |
| | | @Autowired |
| | | public void setService(Fbs9100ChargerstateService f9100Chargerstateservice) { |
| | | RealTimeWebsocket.f9100Chargerstateservice = f9100Chargerstateservice; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setService(Fbs9100sBuscoupleStateService fbs9100sBuscoupleStateService) { |
| | | RealTimeWebsocket.fbs9100sBuscoupleStateService = fbs9100sBuscoupleStateService; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setService(BattInfService battInfService) { |
| | | RealTimeWebsocket.battInfService = battInfService; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setService(BatttestdataInfService batttestDataInfService) { |
| | | RealTimeWebsocket.batttestDataInfService = batttestDataInfService; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setPeakStatisticsService(PeakStatisticsService peakStatisticsService) { |
| | | RealTimeWebsocket.peakStatisticsService = peakStatisticsService; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setKgdyStateService(KgdyStateService kgdyStateService) { |
| | | RealTimeWebsocket.kgdyStateService = kgdyStateService; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setFbs9140TopologyStateService(Fbs9140TopologyStateService fbs9140TopologyStateService) { |
| | | RealTimeWebsocket.fbs9140TopologyStateService = fbs9140TopologyStateService; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setFbs5100InverterInfoService(Fbs5100InverterInfoService fbs5100InverterInfoService) { |
| | | RealTimeWebsocket.fbs5100InverterInfoService = fbs5100InverterInfoService; |
| | | } |
| | | |
| | | |
| | | @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 void onMessage(Session session, String message){ |
| | | //停止当前socket的线程 |
| | | Thread threadBefore = threadMap.get(session.getId()); |
| | | if(threadBefore !=null && threadBefore.isAlive()){ |
| | | threadBefore.interrupt(); |
| | | exit=true; |
| | | } |
| | | RealTimePar realTimePar= ActionUtil.getGson().fromJson(message,RealTimePar.class); |
| | | realTimePar.setDevType(realTimePar.getDevId()/100000); |
| | | public void onMessage(Session session, String message) { |
| | | RealTimePar realTimePar = ActionUtil.getGson().fromJson(message, RealTimePar.class); |
| | | realTimePar.setDevType(realTimePar.getDevId() / 100000); |
| | | String lang = (String) this.httpSession.getAttribute("lang"); |
| | | thread = new Thread("Thread_RealTime") { |
| | | @Override |
| | | public void run() { |
| | | exit=false; |
| | | while ( !thread.isInterrupted()&&!exit) { |
| | | while (runFlag && !isInterrupted()) { |
| | | Thread thread = currentThread(); |
| | | threadFlagMap.put(thread.getId(), true); |
| | | try { |
| | | if (session.isOpen()) { |
| | | Map<String,Response> res=new HashMap<>(); |
| | | //查询fbs9100信息 |
| | | /*Response f9100stateRes=f9100service.serchContactorState(realTimePar.getDevId()); |
| | | res.put("f9100state",f9100stateRes);*/ |
| | | //查询电池组端信息 |
| | | Response rtstateRes=rtstateservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtstate",rtstateRes); |
| | | //查询电池组单体信息 |
| | | Response rtdataRes=rtdataservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtdata",rtdataRes); |
| | | //查询fod信息 |
| | | Response fodRes=fodservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("fod",fodRes); |
| | | //电池告警 |
| | | Response rtalarmRes=rtalarmService.getInfo(realTimePar.getBattGroupId()); |
| | | res.put("rtalarm",rtalarmRes); |
| | | //组端告警 |
| | | Response rsalarmRes=rsalarmService.getInfo(realTimePar.getBattGroupId()); |
| | | res.put("rsalarm",rsalarmRes); |
| | | if(realTimePar.getDevType()==4019){//ld-9 |
| | | //ld-9数据 |
| | | Response ld9Res=ld9Service.searchByDevId(realTimePar.getDevId()); |
| | | res.put("ld9",ld9Res); |
| | | } |
| | | if(realTimePar.getDevType()==9130){//正常锂电池 |
| | | //锂电池数据 |
| | | Response li9130Res=li9130Service.searchParam(realTimePar.getDevId()); |
| | | res.put("li9130",li9130Res); |
| | | } |
| | | //推送信息 |
| | | session.getBasicRemote().sendObject(new Response().set(1,res)); |
| | | Response res = new Response(); |
| | | switch (realTimePar.getPageType()) { |
| | | case "standard": |
| | | res = getStandard(realTimePar, lang); |
| | | break; |
| | | case "a059": |
| | | res = getA059(realTimePar); |
| | | break; |
| | | case "enestorage": |
| | | res = getEnestorage(realTimePar); |
| | | break; |
| | | case "btssreen": |
| | | res = getBtssreen(realTimePar); |
| | | break; |
| | | case "power": |
| | | res = getPower(realTimePar); |
| | | break; |
| | | case "isolating": |
| | | res = getIsolating(realTimePar); |
| | | break; |
| | | case "charger": |
| | | res = getCharger(realTimePar); |
| | | break; |
| | | case "power1": |
| | | res = getPower1(realTimePar); |
| | | break; |
| | | case "totalInfo": |
| | | res = getTotalInfo(realTimePar); |
| | | break; |
| | | case "fbo4830": |
| | | res = getFbo4830(realTimePar); |
| | | break; |
| | | case "fbo4831": |
| | | res = getFbo4831(realTimePar); |
| | | break; |
| | | case "fbo4815": |
| | | res = getFbo4815(realTimePar); |
| | | break; |
| | | case "kgdy": |
| | | res = getKgdy(realTimePar); |
| | | break; |
| | | case "paralle": |
| | | res = getParalle(realTimePar, lang); |
| | | break; |
| | | case "paralle9149": |
| | | res = getParalle9149(realTimePar, lang); |
| | | break; |
| | | case "inverter5100": |
| | | res = getInverter5100(realTimePar); |
| | | break; |
| | | } |
| | | //实时显示调整,增加电池数量,标称单体电压,铅酸还是锂电,放置于返回结果的data2 |
| | | Battinf battinf = battInfService.getBattGroupInfoByBattGroupId(realTimePar.getBattGroupId()); |
| | | Map<Integer, List<PeakStatistics>> statisticList = peakStatisticsService.getTodayMapByBattGroupId(realTimePar.getBattGroupId()); |
| | | res.setData2(battinf); |
| | | res.setData3(statisticList); |
| | | if (session.isOpen()) { |
| | | //推送信息 |
| | | synchronized (session) { |
| | | session.getBasicRemote().sendObject(new Response().set(1, res)); |
| | | } |
| | | threadFlagMap.put(thread.getId(), false); |
| | | } |
| | | //if (session.isOpen()) { |
| | | // Response res=new Response(); |
| | | // switch (realTimePar.getPageType()){ |
| | | // case "standard": res=getStandard(realTimePar);break; |
| | | // case "a059": res=getA059(realTimePar);break; |
| | | // case "enestorage": res=getEnestorage(realTimePar);break; |
| | | // case "btssreen": res=getBtssreen(realTimePar);break; |
| | | // case "power": res=getPower(realTimePar);break; |
| | | // case "isolating": res=getIsolating(realTimePar);break; |
| | | // case "charger": res=getCharger(realTimePar);break; |
| | | // case "power1": res=getPower1(realTimePar);break; |
| | | // case "totalInfo": res=getTotalInfo(realTimePar);break; |
| | | // } |
| | | // //推送信息 |
| | | // session.getBasicRemote().sendObject(res); |
| | | //} |
| | | sleep(executeTime); |
| | | } catch ( IOException | InterruptedException | EncodeException e ) { |
| | | //} catch (IOException | InterruptedException | EncodeException e) { |
| | | } catch (Exception e) { |
| | | interrupt(); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | thread.start(); |
| | | threadFlagMap.put(thread.getId(),true); |
| | | //停止老的socket线程 |
| | | Thread threadBefore = threadMap.get(session.getId()); |
| | | if(threadBefore !=null && threadBefore.isAlive()){ |
| | | while (threadFlagMap.get(threadBefore.getId())){ |
| | | } |
| | | threadBefore.interrupt(); |
| | | } |
| | | //将线程存储,便于调用定位 |
| | | threadMap.put(session.getId(), this.thread); |
| | | } |
| | | |
| | | @OnClose |
| | | public void onClose(){ |
| | | public void onClose(CloseReason closeReason){ |
| | | System.err.println("closeReason = " + closeReason); |
| | | runFlag = false; |
| | | if (thread != null && thread.isAlive()) { |
| | | thread.interrupt(); |
| | | } |
| | | threadMap.remove(session.getId()); |
| | | } |
| | | |
| | | @OnError |
| | |
| | | if (thread != null && thread.isAlive()) { |
| | | thread.interrupt(); |
| | | } |
| | | threadMap.remove(session.getId()); |
| | | } |
| | | |
| | | //kgdy的实时页面信息 |
| | | public Response getKgdy(RealTimePar realTimePar) { |
| | | Map<String, Response> res = new HashMap<>(); |
| | | //查询fbs9100信息 |
| | | Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId()); |
| | | res.put("f9100state", f9100stateRes); |
| | | //查询电池组端信息 |
| | | Response rtstateRes = rtstateservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtstate", rtstateRes); |
| | | //查询电池组单体信息 |
| | | Response rtdataRes = rtdataservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtdata", rtdataRes); |
| | | //kgdy状态数据 |
| | | Response kgdystateRes = kgdyStateService.serchByCondition(realTimePar.getDevId()); |
| | | res.put("kgdystate", kgdystateRes); |
| | | return new Response().set(1, res); |
| | | } |
| | | |
| | | //FBO4830的实时页面信息 |
| | | public Response getFbo4830(RealTimePar realTimePar) { |
| | | Map<String, Response> res = new HashMap<>(); |
| | | //查询fbs9100信息 |
| | | Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId()); |
| | | res.put("f9100state", f9100stateRes); |
| | | //查询电池组端信息 |
| | | Response rtstateRes = rtstateservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtstate", rtstateRes); |
| | | //查询电池组单体信息 |
| | | Response rtdataRes = rtdataservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtdata", rtdataRes); |
| | | //锂电池数据 |
| | | Response li9130StateRes = li9130Service.search4830State(realTimePar.getDevId()); |
| | | res.put("li9130State", li9130StateRes); |
| | | //最后一次核容放电数据 |
| | | /*Response tinfRes = batttestDataInfService.searchBattLastHrDataById(realTimePar.getBattGroupId(), realTimePar.getDevId()); |
| | | res.put("tinfdata", tinfRes);*/ |
| | | return new Response().set(1, res); |
| | | } |
| | | |
| | | //FBO4831的实时页面信息 |
| | | public Response getFbo4831(RealTimePar realTimePar) { |
| | | Map<String, Response> res = new HashMap<>(); |
| | | //查询fbs9100信息 |
| | | Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId()); |
| | | res.put("f9100state", f9100stateRes); |
| | | //查询电池组端信息 |
| | | Response rtstateRes = rtstateservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtstate", rtstateRes); |
| | | //查询电池组单体信息 |
| | | Response rtdataRes = rtdataservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtdata", rtdataRes); |
| | | //锂电池数据 |
| | | /*Response li9130StateRes = li9130Service.search4830State(realTimePar.getDevId()); |
| | | res.put("li9130State", li9130StateRes);*/ |
| | | //最后一次核容放电数据 |
| | | /*Response tinfRes = batttestDataInfService.searchBattLastHrDataById(realTimePar.getBattGroupId(), realTimePar.getDevId()); |
| | | res.put("tinfdata", tinfRes);*/ |
| | | return new Response().set(1, res); |
| | | } |
| | | |
| | | //FBO4815的实时页面信息 |
| | | public Response getFbo4815(RealTimePar realTimePar) { |
| | | Map<String, Response> res = new HashMap<>(); |
| | | //查询fbs9100信息 |
| | | Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId()); |
| | | res.put("f9100state", f9100stateRes); |
| | | //查询电池组端信息 |
| | | Response rtstateRes = rtstateservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtstate", rtstateRes); |
| | | //查询电池组单体信息 |
| | | Response rtdataRes = rtdataservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtdata", rtdataRes); |
| | | return new Response().set(1, res); |
| | | } |
| | | |
| | | //并联电源的实时页面信息 |
| | | public Response getParalle(RealTimePar realTimePar, String lang) { |
| | | Map<String, Response> res = new HashMap<>(); |
| | | //查询fbs9100信息 |
| | | Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId()); |
| | | res.put("f9100state", f9100stateRes); |
| | | //查询电池组端信息 |
| | | Response rtstateRes = rtstateservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtstate", rtstateRes); |
| | | //查询电池组单体信息 |
| | | Response rtdataRes = rtdataservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtdata", rtdataRes); |
| | | //查询9140/9141信息 |
| | | Response pologystateRes = fbs9140TopologyStateService.serchByCondition(realTimePar.getDevId()); |
| | | res.put("pologystateRes", pologystateRes); |
| | | //电池告警 |
| | | Response rtalarmRes = rtalarmService.getInfo(realTimePar.getBattGroupId()); |
| | | res.put("rtalarm", rtalarmRes); |
| | | //组端告警 |
| | | Response rsalarmRes = rsalarmService.getInfo(realTimePar.getBattGroupId()); |
| | | res.put("rsalarm", rsalarmRes); |
| | | //最后一次核容放电数据 |
| | | Response tinfRes = batttestDataInfService.searchBattLastHrDataById(realTimePar.getBattGroupId(), realTimePar.getDevId(), lang); |
| | | res.put("tinfdata", tinfRes); |
| | | return new Response().set(1, res); |
| | | } |
| | | |
| | | //并联电源的实时页面信息 |
| | | public Response getParalle9149(RealTimePar realTimePar, String lang) { |
| | | Map<String, Response> res = new HashMap<>(); |
| | | //查询fbs9100信息 |
| | | Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId()); |
| | | res.put("f9100state", f9100stateRes); |
| | | //查询电池组端信息 |
| | | Response rtstateRes = rtstateservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtstate", rtstateRes); |
| | | //查询电池组单体信息 |
| | | Response rtdataRes = rtdataservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtdata", rtdataRes); |
| | | //查询9149信息 |
| | | Response pologystateRes = fbs9140TopologyStateService.serchByCondition(realTimePar.getDevId()); |
| | | res.put("pologystateRes", pologystateRes); |
| | | //电池告警 |
| | | Response rtalarmRes = rtalarmService.getInfo(realTimePar.getBattGroupId()); |
| | | res.put("rtalarm", rtalarmRes); |
| | | //组端告警 |
| | | Response rsalarmRes = rsalarmService.getInfo(realTimePar.getBattGroupId()); |
| | | res.put("rsalarm", rsalarmRes); |
| | | //最后一次核容放电数据 |
| | | Response tinfRes = batttestDataInfService.searchBattLastHrDataById(realTimePar.getBattGroupId(), realTimePar.getDevId(), lang); |
| | | res.put("tinfdata", tinfRes); |
| | | return new Response().set(1, res); |
| | | } |
| | | |
| | | //配网5100 |
| | | public Response getInverter5100(RealTimePar realTimePar) { |
| | | Map<String, Response> res = new HashMap<>(); |
| | | //查询fbs9100信息 |
| | | Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId()); |
| | | res.put("f9100state", f9100stateRes); |
| | | //查询tb_fbs5100_inverter_info信息 |
| | | Response f5100stateRes = fbs5100InverterInfoService.serchByDevId(realTimePar.getDevId()); |
| | | res.put("f5100stateRes", f5100stateRes); |
| | | return new Response().set(1, res); |
| | | } |
| | | |
| | | //标准的实时页面信息 |
| | | public Response getStandard(RealTimePar realTimePar, String lang) { |
| | | Map<String, Response> res = new HashMap<>(); |
| | | if (realTimePar.getDevType() == DeviceTypeDTO.DEVICELD94019) {//ld-9 |
| | | //ld-9数据 |
| | | Response ld9Res = ld9Service.searchByDevId(realTimePar.getDevId()); |
| | | res.put("ld9", ld9Res); |
| | | } else if (realTimePar.getDevType() == DeviceTypeDTO.DEVICEBTS9120 || realTimePar.getDevType() == DeviceTypeDTO.DEVICEBTS9110) { |
| | | //获取逆变的其他信息 |
| | | Response fbs9100sBuscoupleState = fbs9100sBuscoupleStateService.serchByDevId(realTimePar.getDevId()); |
| | | res.put("fbs9100sBuscoupleState", fbs9100sBuscoupleState); |
| | | //查询fbs9100信息 |
| | | Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId()); |
| | | res.put("f9100state", f9100stateRes); |
| | | } else { |
| | | //查询fbs9100信息 |
| | | Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId()); |
| | | res.put("f9100state", f9100stateRes); |
| | | } |
| | | //查询电池组端信息 |
| | | Response rtstateRes = rtstateservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtstate", rtstateRes); |
| | | if (realTimePar.getDevType() == DeviceTypeDTO.DEVICE9140 || realTimePar.getDevType() == DeviceTypeDTO.DEVICE9141) { |
| | | //9140设备要将2组电池的组端信息都给他 |
| | | Response rtstate9140Res = rtstateservice.serch9140Info(realTimePar.getDevId()); |
| | | res.put("rtstate9140Res", rtstate9140Res); |
| | | } |
| | | |
| | | //查询电池组单体信息 |
| | | Response rtdataRes = rtdataservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtdata", rtdataRes); |
| | | //查询fod信息 |
| | | Response fodRes = fodservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("fod", fodRes); |
| | | //电池告警 |
| | | Response rtalarmRes = rtalarmService.getInfo(realTimePar.getBattGroupId()); |
| | | res.put("rtalarm", rtalarmRes); |
| | | //组端告警 |
| | | Response rsalarmRes = rsalarmService.getInfo(realTimePar.getBattGroupId()); |
| | | res.put("rsalarm", rsalarmRes); |
| | | |
| | | if (realTimePar.getDevType() == DeviceTypeDTO.DEVICE9130 || realTimePar.getDevType() == DeviceTypeDTO.DEVICE9131) {//正常锂电池 |
| | | //锂电池数据 |
| | | Response li9130Res = li9130Service.searchParam(realTimePar.getDevId(), realTimePar.getGroupNum()); |
| | | res.put("li9130", li9130Res); |
| | | } |
| | | //最后一次核容放电数据 |
| | | Response tinfRes = batttestDataInfService.searchBattLastHrDataById(realTimePar.getBattGroupId(), realTimePar.getDevId(), lang); |
| | | res.put("tinfdata", tinfRes); |
| | | return new Response().set(1, res); |
| | | } |
| | | //A059的实时页面信息 |
| | | public Response getA059(RealTimePar realTimePar){ |
| | | Map<String,Response> res=new HashMap<>(); |
| | | //查询fbs9100信息 |
| | | Response f9100stateRes=f9100service.serchContactorState(realTimePar.getDevId()); |
| | | res.put("f9100state",f9100stateRes); |
| | | //查询电池组端信息 |
| | | Response rtstateRes=rtstateservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtstate",rtstateRes); |
| | | //查询电池组单体信息 |
| | | Response rtdataRes=rtdataservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtdata",rtdataRes); |
| | | //查询放电参数 |
| | | Response setparamRes=f9100setservice.serchCharHighTmp(realTimePar.getDevId()); |
| | | res.put("setparam",setparamRes); |
| | | return new Response().set(1,res); |
| | | } |
| | | //储能的实时页面信息 |
| | | public Response getEnestorage(RealTimePar realTimePar){ |
| | | Map<String,Response> res=new HashMap<>(); |
| | | //查询所有的系统状态信息 |
| | | Response ess3100SysRes=ess3100Sysservice.searchAll(); |
| | | res.put("ess3100Sys",ess3100SysRes); |
| | | //查询所有的pcs状态信息 |
| | | Response ess3100PcsRes=ess3100Pcsservice.searchAll(); |
| | | res.put("ess3100Pcs",ess3100PcsRes); |
| | | //根据电池组id查询储能电池组信息 |
| | | Response gtsRes=gtsservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("gts",gtsRes); |
| | | //查询电池组单体信息 |
| | | Response rtdataRes=rtdataservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtdata",rtdataRes); |
| | | return new Response().set(1,res); |
| | | } |
| | | //BTSSreen的实时页面信息 |
| | | public Response getBtssreen(RealTimePar realTimePar){ |
| | | Map<String,Response> res=new HashMap<>(); |
| | | //查询电池组单体信息 |
| | | Response rtdataRes=rtdataservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtdata",rtdataRes); |
| | | //根据电池id查询锂电池信息 |
| | | Response lithiumRes=lithiumservice.getInfoByBattGroupId(realTimePar.getBattGroupId()); |
| | | res.put("lithium",lithiumRes); |
| | | //查询电池组端信息 |
| | | Response rtstateRes=rtstateservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtstate",rtstateRes); |
| | | |
| | | return new Response().set(1,res); |
| | | } |
| | | //电源信息的实时页面信息 |
| | | public Response getPower(RealTimePar realTimePar){ |
| | | Map<String,Response> res=new HashMap<>(); |
| | | //查询电源的ACDC信息 |
| | | Response pwrdevAcdcRes=pwrdevAcdcservice.getDataByDevId(realTimePar.getPowerDeviceId()); |
| | | res.put("pwrdevAcdc",pwrdevAcdcRes); |
| | | return new Response().set(1,res); |
| | | } |
| | | //获取绝缘装置的实时信息 |
| | | public Response getIsolating(RealTimePar realTimePar){ |
| | | Map<String,Response> res=new HashMap<>(); |
| | | //获取绝缘装置的实时信息 |
| | | Response f9100InsulatstateRes=f9100Insulatstateservice.getDataByDevId(realTimePar.getPowerDeviceId()); |
| | | res.put("f9100Insulatstate",f9100InsulatstateRes); |
| | | return new Response().set(1,res); |
| | | } |
| | | //获取充电机的实时信息 |
| | | public Response getCharger(RealTimePar realTimePar){ |
| | | Map<String,Response> res=new HashMap<>(); |
| | | //获取充电机的实时信息 |
| | | Response f9100ChargerstateRes=f9100Chargerstateservice.getDataByDevId(realTimePar.getPowerDeviceId()); |
| | | res.put("f9100Chargerstate",f9100ChargerstateRes); |
| | | return new Response().set(1,res); |
| | | } |
| | | //获取配电柜的实时数据 |
| | | public Response getPower1(RealTimePar realTimePar){ |
| | | Map<String,Response> res=new HashMap<>(); |
| | | //获取配电柜的实时数据 |
| | | Response pwrdevInfoRes=pwrdevAcdcservice.getPowerInfoById(realTimePar.getPowerDeviceId()); |
| | | res.put("pwrdevInfo",pwrdevInfoRes); |
| | | return new Response().set(1,res); |
| | | } |
| | | //TotalInfo 山西 |
| | | public Response getTotalInfo(RealTimePar realTimePar){ |
| | | Map<String,Response> res=new HashMap<>(); |
| | | //查询电池组单体信息 |
| | | Response rtdataRes=rtdataservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtdata",rtdataRes); |
| | | //查询电池组端信息 |
| | | Response rtstateRes=rtstateservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("rtstate",rtstateRes); |
| | | //查询fbs9100信息 |
| | | Response f9100stateRes=f9100service.serchContactorState(realTimePar.getDevId()); |
| | | res.put("f9100state",f9100stateRes); |
| | | //查询fod信息 |
| | | Response fodRes=fodservice.serchByCondition(realTimePar.getBattGroupId()); |
| | | res.put("fod",fodRes); |
| | | //查询电源的ACDC信息 |
| | | Response pwrdevAcdcRes=pwrdevAcdcservice.getDataByDevId(realTimePar.getPowerDeviceId()); |
| | | res.put("pwrdevAcdc",pwrdevAcdcRes); |
| | | return new Response().set(1,res); |
| | | } |
| | | } |