wuzeyu
2024-10-16 05c3f58d6561c89019532bdeb65365f8129504c3
Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
3个文件已修改
2个文件已添加
85 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCache.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/CommandInnerDeaLer.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/CodeLocal.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineStateStatisticsDeal.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineStateStatisticsVo.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCache.java
@@ -124,6 +124,27 @@
            return null ;
        }
    }
    /**
     * 得到所有在线与离线数量统计
     * @return [0]=在线数量,[2]上线过,但当前离线的数量
     */
    public static Integer[] allOnLineStateStatistics(){
        synchronized (sessionTable){
            Integer[] arr = new Integer[]{0, 0} ;
            Iterator<Entry<String, TcpSession>> it = sessionTable.entrySet().iterator() ;
            Entry<String, TcpSession> entry = null ;
            while(it.hasNext()){
                entry = it.next() ;
                if(entry.getValue().ioSession.isConnected()){
                    arr[0]++ ;
                }else{
                    arr[1]++ ;
                }
            }
            return arr ;
        }
    }
    
    /**
     * 得到所有在线情况
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/CommandInnerDeaLer.java
@@ -23,6 +23,8 @@
            return this.clock(com) ;
        }else if(code.equals(CodeLocal.onLine)){
            return this.onLine(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)){
@@ -54,6 +56,15 @@
    }
    /**
     * 统计在线与不在线情况
     * @throws Exception
     */
    private Command onLineStateStatistics(Command command) throws Exception{
        RtuOnLineStateStatisticsVo vo = new RtuOnLineStateStatisticsDeal().deal() ;
        return ReturnCommand.successed("查询所有测站在线情况结果", command.getId(), command.getCode(), vo) ;
    }
    /**
     * 查询所有RTU协议配置
     * @throws Exception
     */
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/CodeLocal.java
@@ -5,7 +5,9 @@
    public static final String clock = "LCD0000" ;//查询监控中间件时钟
    public static final String onLine = "LCD0001" ;//查询所有RTU在线情况
    public static final String onLineStatistics = "LCD0002" ;//查询所有RTU在线情况
    public static final String allProtocols = "LCD0100" ;//查询所有协议配置
    public static final String stopTcpSv = "LCD0110" ;//停止TCP服务,不再接入新的TCP连接,已经TCP连接的全部断连接
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineStateStatisticsDeal.java
New file
@@ -0,0 +1,22 @@
package com.dy.rtuMw.server.local.localProtocol;
import com.dy.rtuMw.server.forTcp.TcpSessionCache;
/**
 * @Author: liurunyu
 * @Date: 2024/10/15 15:56
 * @Description
 */
public class RtuOnLineStateStatisticsDeal  {
    /**
     * 统计在线与不在线情况
     */
    public RtuOnLineStateStatisticsVo deal(){
        RtuOnLineStateStatisticsVo vo = new RtuOnLineStateStatisticsVo() ;
        Integer[] onOff = TcpSessionCache.allOnLineStateStatistics() ;
        vo.onLineNum = onOff[0] ;
        vo.offLineNum = onOff[1] ;
        return vo ;
    }
}
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineStateStatisticsVo.java
New file
@@ -0,0 +1,27 @@
package com.dy.rtuMw.server.local.localProtocol;
/**
 * @Author: liurunyu
 * @Date: 2024/10/15 15:56
 * @Description
 */
public class RtuOnLineStateStatisticsVo {
    public Integer onLineNum;
    public Integer offLineNum;
    public Integer getOnLineNum() {
        return onLineNum;
    }
    public void setOnLineNum(Integer onLineNum) {
        this.onLineNum = onLineNum;
    }
    public Integer getOffLineNum() {
        return offLineNum;
    }
    public void setOffLineNum(Integer offLineNum) {
        this.offLineNum = offLineNum;
    }
}