| | |
| | | import com.dy.common.mw.UnitCallbackInterface; |
| | | import com.dy.common.mw.channel.tcp.TcpUnit; |
| | | import com.dy.common.mw.protocol.Command; |
| | | import com.dy.common.mw.protocol.rtuState.RtuStatus; |
| | | import com.dy.rtuMw.server.local.localProtocol.*; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @Author liurunyu |
| | |
| | | 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.allRtuStates)){ |
| | | return this.allRtuStates(com) ; |
| | | }else if(code.equals(CodeLocal.partRtuStates)){ |
| | | return this.someRtuStates(com) ; |
| | | }else if(code.equals(CodeLocal.oneRtuStates)){ |
| | | return this.oneRtuStates(com) ; |
| | | }else if(code.equals(CodeLocal.allProtocols)){ |
| | | return this.allProtocols(com) ; |
| | | }else if(code.equals(CodeLocal.stopTcpSv)){ |
| | |
| | | * 查询所有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{ |
| | | HashMap<String, Boolean> map = new RtuOnLineDeal().dealAll() ; |
| | | return ReturnCommand.successed("查询所有RTU在线情况结果", command.getId(), command.getCode(), map) ; |
| | | } |
| | | |
| | | /** |
| | | * 查询部分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(","); |
| | | HashMap<String, Boolean> map = new RtuOnLineDeal().dealPart(rtuAddrGrp) ; |
| | | return ReturnCommand.successed("查询部分RTU在线情况结果", command.getId(), command.getCode(), map) ; |
| | | }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) ; |
| | | } |
| | | |
| | | /** |
| | | * 查询所有RTU状态 |
| | | * @throws Exception |
| | | */ |
| | | private Command allRtuStates(Command command) throws Exception{ |
| | | Map<String, RtuStatus> map = new RtuStatusDeal().dealAll() ; |
| | | return ReturnCommand.successed("查询所有RTU状态结果", command.getId(), command.getCode(), map) ; |
| | | } |
| | | |
| | | /** |
| | | * 查询部分RTU状态 |
| | | * @throws Exception |
| | | */ |
| | | private Command someRtuStates(Command command) throws Exception{ |
| | | if(command.param != null && command.param instanceof String && !command.param.equals("")){ |
| | | String[] rtuAddrGrp = ((String)command.param).split(","); |
| | | Map<String, RtuStatus> map = new RtuStatusDeal().dealSome(rtuAddrGrp) ; |
| | | return ReturnCommand.successed("查询部分RTU状态结果", command.getId(), command.getCode(), map) ; |
| | | }else{ |
| | | return ReturnCommand.errored("出错,命令参数应该是所查询RTU的地址串", command.getId(), command.getCode()) ; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 查询部分RTU状态 |
| | | * @throws Exception |
| | | */ |
| | | private Command oneRtuStates(Command command) throws Exception{ |
| | | if(command.param != null && command.param instanceof String && !command.param.equals("")){ |
| | | String rtuAddr = (String)command.param; |
| | | RtuStatus rtuStatus = new RtuStatusDeal().dealOne(rtuAddr) ; |
| | | return ReturnCommand.successed("查询一个RTU状态结果", command.getId(), command.getCode(), rtuStatus) ; |
| | | }else{ |
| | | return ReturnCommand.errored("出错,命令参数应该是所查询RTU的地址", command.getId(), command.getCode()) ; |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | private Command stopTcpSv(Command command) throws Exception{ |
| | | TcpUnit.getInstance().stop(new UnitCallbackInterface(){ |
| | | public void call(Object obj) throws Exception { |
| | | |
| | | } |
| | | }); |
| | | return ReturnCommand.successed("已经启动停止TCP服务", command.getId(), command.getCode(), null) ; |