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.pojo.PowerInf;
|
import com.whyc.pojo.StationInf;
|
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.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Component
|
@ServerEndpoint(value = "/RealTime", encoders = WebSocketEncoder.class, configurator = WebSocketConfig.class)
|
public class RealTimeWebsocket {
|
private volatile Thread thread;
|
|
private static final int executeTime = 5000;
|
|
private volatile boolean runFlag=true;
|
|
private volatile Map<String,Thread> threadMap = new HashMap<>();
|
|
private volatile Map<Long,Boolean> threadFlagMap = new HashMap<>();
|
|
private static BattRtstateService rtstateservice; //组端
|
|
private static Fbs9100StateService f9100service; //fbs9100
|
|
private static BattRtdataService rtdataservice; //单体
|
|
private static Fbs9100sFodStateService fodservice; //除硫
|
|
private static BattRtalarmService rtalarmService; //电池告警
|
|
private static BattRsalarmService rsalarmService; //组端告警
|
|
private static Ld9StateService ld9Service; //ld9
|
|
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 static Fbs9100SetParamTempService fbs9100SetParamTempService;
|
|
private static CheckDialogService checkDialogService;
|
|
private static Fbs9100sStemnodeStateService fbs9100sStemnodeStateService;
|
|
private static Dev6159PowerYxService dev6159PowerYxService;
|
|
private static Dev6159PowerYcService dev6159PowerYcService;
|
|
private static AcdcSecuityService acdcSecuityService;
|
|
private static PowerInfService pinfService;
|
|
private static Qgn618NbstateService qgnService;
|
|
private Session session;
|
|
private HttpSession httpSession;
|
|
@Autowired
|
public void setService(PowerInfService pinfService) {
|
RealTimeWebsocket.pinfService = pinfService;
|
}
|
|
@Autowired
|
public void setService(AcdcSecuityService acdcSecuityService) {
|
RealTimeWebsocket.acdcSecuityService = acdcSecuityService;
|
}
|
|
@Autowired
|
public void setQgn618NbstateService(Qgn618NbstateService qgnService) {
|
RealTimeWebsocket.qgnService = qgnService;
|
}
|
|
|
@Autowired
|
public void setService(BattRtstateService rtstateservice) {
|
RealTimeWebsocket.rtstateservice = rtstateservice;
|
}
|
|
@Autowired
|
public void setService(Fbs9100StateService f9100service) {
|
RealTimeWebsocket.f9100service = f9100service;
|
}
|
|
@Autowired
|
public void setService(BattRtdataService rtdataservice) {
|
RealTimeWebsocket.rtdataservice = rtdataservice;
|
}
|
|
@Autowired
|
public void setService(Fbs9100sFodStateService fodservice) {
|
RealTimeWebsocket.fodservice = fodservice;
|
}
|
|
@Autowired
|
public void setService(BattRtalarmService rtalarmService) {
|
RealTimeWebsocket.rtalarmService = rtalarmService;
|
}
|
|
@Autowired
|
public void setService(BattRsalarmService rsalarmService) {
|
RealTimeWebsocket.rsalarmService = rsalarmService;
|
}
|
|
@Autowired
|
public void setService(Ld9StateService ld9Service) {
|
RealTimeWebsocket.ld9Service = ld9Service;
|
}
|
|
@Autowired
|
public void setService(Li9130BmsStateService li9130Service) {
|
RealTimeWebsocket.li9130Service = li9130Service;
|
}
|
|
@Autowired
|
public void setService(Fbs9100SetparamService f9100setservice) {
|
RealTimeWebsocket.f9100setservice = f9100setservice;
|
}
|
@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;
|
}
|
|
@Autowired
|
public void setFbs9100SetParamTempService(Fbs9100SetParamTempService fbs9100SetParamTempService) {
|
RealTimeWebsocket.fbs9100SetParamTempService = fbs9100SetParamTempService;
|
}
|
|
@Autowired
|
public void setCheckDialogService(CheckDialogService checkDialogService) {
|
RealTimeWebsocket.checkDialogService = checkDialogService;
|
}
|
@Autowired
|
public void setFbs9100sStemnodeStateService(Fbs9100sStemnodeStateService fbs9100sStemnodeStateService) {
|
RealTimeWebsocket.fbs9100sStemnodeStateService = fbs9100sStemnodeStateService;
|
}
|
|
@Autowired
|
public void setService(Dev6159PowerYxService dev6159PowerYxService) {
|
RealTimeWebsocket.dev6159PowerYxService = dev6159PowerYxService;
|
}
|
@Autowired
|
public void setService(Dev6159PowerYcService dev6159PowerYcService) {
|
RealTimeWebsocket.dev6159PowerYcService = dev6159PowerYcService;
|
}
|
|
@OnOpen
|
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) {
|
RealTimePar realTimePar = ActionUtil.getGson().fromJson(message, RealTimePar.class);
|
realTimePar.setDevType(realTimePar.getDevId() / 100000);
|
String lang = (String) this.httpSession.getAttribute("lang");
|
//String lang ="zh_cn";
|
thread = new Thread("Thread_RealTime") {
|
@Override
|
public void run() {
|
while (runFlag && !isInterrupted()) {
|
Thread thread = currentThread();
|
threadFlagMap.put(thread.getId(), true);
|
try {
|
Response res = new Response();
|
switch (realTimePar.getPageType()) {
|
case "standard"://61850,61852
|
res = getStandard(realTimePar, lang);
|
break;
|
case "dbs":
|
res = getDbs(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;
|
case "powerHr6159":
|
res = getPowerHr6159(realTimePar);
|
break;
|
case "intellect61853":
|
res = getIntellect61853(realTimePar);
|
break;
|
case "nibian6184":
|
res = getNibian6184(realTimePar,lang);
|
break;
|
case "nibian6186":
|
res = getNibian6186(realTimePar,lang);
|
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);
|
}
|
sleep(executeTime);
|
} 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(CloseReason closeReason){
|
System.err.println("closeReason = " + closeReason);
|
runFlag = false;
|
if (thread != null && thread.isAlive()) {
|
thread.interrupt();
|
}
|
threadMap.remove(session.getId());
|
}
|
|
@OnError
|
public void onError(Throwable error) {
|
error.printStackTrace();
|
if (thread != null && thread.isAlive()) {
|
thread.interrupt();
|
}
|
threadMap.remove(session.getId());
|
}
|
//只能61853的实时页面信息
|
public Response getIntellect61853(RealTimePar realTimePar) {
|
Map<String, Object> res = new HashMap<>();
|
//查询fbs9100信息
|
Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId());
|
res.put("f9100state", f9100stateRes);
|
//查询电池组端信息2组数据同时获取分开放
|
List<Battinf> binfList=battInfService.getBattGroupInfoByFBSDeviceId(realTimePar.getDevId());
|
if(binfList!=null){
|
for (Battinf binf:binfList) {
|
Response rtstateRes = rtstateservice.serchByCondition(binf.getBattGroupId());
|
res.put("rtstate"+binf.getGroupIndexInFBSDevice(), rtstateRes);
|
//查询电池组单体信息
|
Response rtdataRes = rtdataservice.serchByCondition(binf.getBattGroupId());
|
res.put("rtdata"+binf.getGroupIndexInFBSDevice(), rtdataRes);
|
res.put("binf"+binf.getGroupIndexInFBSDevice(), binf);
|
}
|
}
|
return new Response().set(1, res);
|
}
|
|
//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);
|
}
|
|
//电源与蓄电池核容一体机6159
|
public Response getPowerHr6159(RealTimePar realTimePar) {
|
Map<String, Response> res = new HashMap<>();
|
//查询fbs9100信息
|
Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId());
|
res.put("f9100state", f9100stateRes);
|
//查询电池组端信息
|
Response rtstateRes = rtstateservice.serchPowerHr6159(realTimePar.getDevId());
|
res.put("rtstate", rtstateRes);
|
//查询电池组单体信息
|
Response rtdataRes = rtdataservice.serchPowerHr6159(realTimePar.getDevId());
|
res.put("rtdata", rtdataRes);
|
//通信电源核容一体机遥测实时状态
|
Response ycRes = dev6159PowerYcService.serchByCondition(realTimePar.getDevId());
|
res.put("ycdata", ycRes);
|
//通信电源核容一体机遥信实时状态
|
Response yxRes = dev6159PowerYxService.serchByCondition(realTimePar.getDevId());
|
res.put("yxdata", yxRes);
|
//取第一组电池信息
|
Response infRes = battInfService.getPowerHr6159(realTimePar.getDevId());
|
res.put("binf", infRes);
|
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);
|
|
if (realTimePar.getDevType() == DeviceTypeDTO.DEVICE6185) {//61850二次放电处理
|
//本年度上一次正常核容的放电记录编号
|
Response testNumber = batttestDataInfService.searchHrYear(realTimePar.getBattGroupId());
|
res.put("testNumber", testNumber);
|
|
//该设备放电申请
|
Response Fbs9100SetParamTemp = fbs9100SetParamTempService.searchTemp(realTimePar.getBattGroupId());
|
res.put("Fbs9100SetParamTemp", Fbs9100SetParamTemp);
|
|
//交直流屏信息
|
Response acdcSecuity = acdcSecuityService.searchAcdcSecuity(realTimePar.getDevId());
|
res.put("acdcSecuity", acdcSecuity);
|
}
|
|
if (realTimePar.getDevType() == DeviceTypeDTO.DEVICE9150 ) {
|
//9150山东定制BTS设备获取干接点信息
|
Response fbs9150Res = fbs9100sStemnodeStateService.serch9150BtsInfo(realTimePar.getDevId());
|
res.put("fbs9150Res", fbs9150Res);
|
}
|
if(realTimePar.getStationId()!=null){
|
//根据机房id获取机房下电源信息
|
PowerInf pinf=pinfService.getPwrDevIdByStationId(realTimePar.getStationId());
|
if(pinf!=null){
|
//查询电源的ACDC信息(重庆bts4810(61850)需要用tb_pwrdev_acdcdata的实时负载电流和三相交流电压)
|
Response pwrdevAcdcRes=pwrdevAcdcservice.getDataByDevId(pinf.getPowerDeviceId());
|
res.put("pwrdevAcdc",pwrdevAcdcRes);
|
}
|
}
|
|
return new Response().set(1, res);
|
}
|
|
//6184
|
public Response getNibian6184(RealTimePar realTimePar, String lang) {
|
Map<String, Object> res = new HashMap<>();
|
//获取逆变的其他信息
|
Response fbs9100sBuscoupleState = fbs9100sBuscoupleStateService.serchByDevId(realTimePar.getDevId());
|
res.put("fbs9100sBuscoupleState", fbs9100sBuscoupleState);
|
//查询fbs9100信息
|
Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId());
|
res.put("f9100state", f9100stateRes);
|
//查询电池组端信息2组数据同时获取分开放
|
List<Battinf> binfList=battInfService.getBattGroupInfoByFBSDeviceId(realTimePar.getDevId());
|
if(binfList!=null){
|
for (Battinf binf:binfList) {
|
Response rtstateRes = rtstateservice.serchByCondition(binf.getBattGroupId());
|
res.put("rtstate"+binf.getGroupIndexInFBSDevice(), rtstateRes);
|
//查询电池组单体信息
|
Response rtdataRes = rtdataservice.serchByCondition(binf.getBattGroupId());
|
res.put("rtdata"+binf.getGroupIndexInFBSDevice(), rtdataRes);
|
res.put("binf"+binf.getGroupIndexInFBSDevice(), binf);
|
}
|
}
|
//获取615全功能逆变假负载开关以及逆变模块实时
|
Response qgnRes= qgnService.serchByDevId(realTimePar.getDevId());
|
res.put("qgnRes", qgnRes);
|
|
return new Response().set(1, res);
|
}
|
|
//6186
|
public Response getNibian6186(RealTimePar realTimePar, String lang) {
|
Map<String, Object> 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 tinfRes = batttestDataInfService.searchBattLastHrDataByIdDbs(realTimePar.getBattGroupId(), realTimePar.getDevId(), lang);
|
res.put("tinfdata", tinfRes);
|
return new Response().set(1, res);
|
}
|
|
//多宝山(dbs)页面信息
|
public Response getDbs(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.searchBattLastHrDataByIdDbs(realTimePar.getBattGroupId(), realTimePar.getDevId(), lang);
|
res.put("tinfdata", tinfRes);
|
|
if (realTimePar.getDevType() == DeviceTypeDTO.DEVICE6185) {//61850二次放电处理
|
//本年度上一次正常核容的放电记录编号
|
Response testNumber = batttestDataInfService.searchHrYear(realTimePar.getBattGroupId());
|
res.put("testNumber", testNumber);
|
|
//该设备放电申请
|
Response Fbs9100SetParamTemp = fbs9100SetParamTempService.searchTemp(realTimePar.getBattGroupId());
|
res.put("Fbs9100SetParamTemp", Fbs9100SetParamTemp);
|
}
|
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);
|
//根据设备id查询检测信息
|
Response dialogRes = checkDialogService.searchDialog(realTimePar.getDevId());
|
res.put("dialog", dialogRes);
|
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);
|
}
|
}
|