| | |
| | | package com.dy.rtuMw.server.local; |
| | | |
| | | import com.dy.common.mw.UnitStartedCallbackInterface; |
| | | import com.dy.common.mw.UnitCallbackInterface; |
| | | import com.dy.common.mw.channel.tcp.TcpUnit; |
| | | import com.dy.common.mw.protocol.Command; |
| | | import com.dy.rtuMw.server.local.localProtocol.*; |
| | |
| | | String code = com.getCode() ; |
| | | if(code.equals(CodeLocal.clock)){ |
| | | return this.clock(com) ; |
| | | }else if(code.equals(CodeLocal.onLine)){ |
| | | return this.onLine(com) ; |
| | | }else if(code.equals(CodeLocal.onAllLine)){ |
| | | return this.onAllLine(com) ; |
| | | }else if(code.equals(CodeLocal.onPartLine)){ |
| | | return this.onPartLine(com) ; |
| | | }else if(code.equals(CodeLocal.onLineStatistics)){ |
| | | return this.onLineStateStatistics(com) ; |
| | | }else if(code.equals(CodeLocal.allProtocols)){ |
| | | return this.allProtocols(com) ; |
| | | }else if(code.equals(CodeLocal.stopTcpSv)){ |
| | | return this.stopTcpSv(com) ; |
| | | }else if(code.equals(CodeLocal.recoverTcpSv)){ |
| | | return this.recoverTcpSv(com) ; |
| | | }else if(code.equals(CodeLocal.mwState)){ |
| | | return this.mwInfo(com) ; |
| | | } |
| | | return ReturnCommand.errored("出错,收到内部命令的功能码不能识别!", com.getId(), com.getCode()) ; |
| | | } |
| | |
| | | * 查询所有RTU在线情况 |
| | | * @throws Exception |
| | | */ |
| | | private Command onLine(Command command) throws Exception{ |
| | | RtuOnLineVo ol = new RtuOnLineDeal().deal() ; |
| | | return ReturnCommand.successed("查询所有测站在线情况结果", command.getId(), command.getCode(), ol) ; |
| | | private Command onAllLine(Command command) throws Exception{ |
| | | RtuOnLineVo ol = new RtuOnLineDeal().dealAll() ; |
| | | return ReturnCommand.successed("查询所有RTU在线情况结果", command.getId(), command.getCode(), ol) ; |
| | | } |
| | | |
| | | /** |
| | | * 查询部分RTU在线情况 |
| | | * @throws Exception |
| | | */ |
| | | private Command onPartLine(Command command) throws Exception{ |
| | | if(command.param != null && command.param instanceof String && !command.param.equals("")){ |
| | | String[] rtuAddrGrp = ((String)command.param).split(","); |
| | | RtuOnLineVo ol = new RtuOnLineDeal().dealPart(rtuAddrGrp) ; |
| | | return ReturnCommand.successed("查询部分RTU在线情况结果", command.getId(), command.getCode(), ol) ; |
| | | }else{ |
| | | return ReturnCommand.errored("出错,命令参数应该是所查询RTU的地址串", command.getId(), command.getCode()) ; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 统计在线与不在线情况 |
| | | * @throws Exception |
| | | */ |
| | | private Command onLineStateStatistics(Command command) throws Exception{ |
| | | RtuOnLineStateStatisticsVo vo = new RtuOnLineStateStatisticsDeal().deal() ; |
| | | return ReturnCommand.successed("查询所有RTU在线情况结果", command.getId(), command.getCode(), vo) ; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @throws Exception |
| | | */ |
| | | private Command stopTcpSv(Command command) throws Exception{ |
| | | TcpUnit.getInstance().stop(new UnitStartedCallbackInterface(){ |
| | | TcpUnit.getInstance().stop(new UnitCallbackInterface(){ |
| | | public void call(Object obj) throws Exception { |
| | | |
| | | } |
| | | }); |
| | | return ReturnCommand.successed("已经启动停止TCP服务", command.getId(), command.getCode(), null) ; |
| | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询通信中间件运行情况 |
| | | * @throws Exception |
| | | */ |
| | | private Command mwInfo(Command command) throws Exception{ |
| | | MwInfoVo mwInfo = new MwInfoDeal().deal() ; |
| | | return ReturnCommand.successed("查询通信中间件运行情况", command.getId(), command.getCode(), mwInfo) ; |
| | | } |
| | | |
| | | |
| | | } |