liurunyu
3 天以前 f8b2e59a82702a790c383a8ecd90c708c76e2488
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/CommandInnerDeaLer.java
@@ -3,8 +3,9 @@
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.forTcp.RtuStatus;
import com.dy.common.mw.protocol.rtuState.RtuStatus;
import com.dy.rtuMw.server.local.localProtocol.*;
import com.dy.rtuMw.server.mqtt.MqttUnit;
import java.util.HashMap;
import java.util.Map;
@@ -34,13 +35,17 @@
        }else if(code.equals(CodeLocal.allRtuStates)){
            return this.allRtuStates(com) ;
        }else if(code.equals(CodeLocal.partRtuStates)){
            return this.partRtuStates(com) ;
            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)){
            return this.stopTcpSv(com) ;
        }else if(code.equals(CodeLocal.recoverTcpSv)){
            return this.recoverTcpSv(com) ;
        }else if(code.equals(CodeLocal.recoverMqttSv)){
            return this.stopMqttSv(com) ;
        }else if(code.equals(CodeLocal.mwState)){
            return this.mwInfo(com) ;
        }
@@ -94,20 +99,34 @@
     */
    private Command allRtuStates(Command command) throws Exception{
        Map<String, RtuStatus> map =  new RtuStatusDeal().dealAll() ;
        return ReturnCommand.successed("查询所有RTU在线情况结果", command.getId(), command.getCode(), map) ;
        return ReturnCommand.successed("查询所有RTU状态结果", command.getId(), command.getCode(), map) ;
    }
    /**
     * 查询部分RTU状态
     * @throws Exception
     */
    private Command partRtuStates(Command command) 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().dealPart(rtuAddrGrp) ;
            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()) ;
        }
    }
@@ -141,6 +160,30 @@
        return ReturnCommand.successed("已经启动恢复TCP服务", command.getId(), command.getCode(), null) ;
    }
    /**
     * 停止TCP服务,不再接入新的TCP连接,已经TCP连接的全部断连接
     * @throws Exception
     */
    private Command stopMqttSv(Command command) throws Exception{
        MqttUnit.getInstance().stop(new UnitCallbackInterface(){
            public void call(Object obj) throws Exception {
            }
        });
        return ReturnCommand.successed("已经启动停止Mqtt服务", command.getId(), command.getCode(), null) ;
    }
    /**
     * 恢复TCP服务,接入新的TCP连接
     * @throws Exception
     */
    private Command recoverMqttSv(Command command) throws Exception{
        MqttUnit.getInstance().recover(new UnitCallbackInterface(){
            public void call(Object obj) throws Exception {
            }
        });
        return ReturnCommand.successed("已经启动恢复Mqtt服务", command.getId(), command.getCode(), null) ;
    }
    /**