package com.dy.rtuMw.server.rtuStateFrProt; 
 | 
  
 | 
import com.dy.common.mw.protocol.Notify; 
 | 
import com.dy.common.mw.protocol.NotifyInfo; 
 | 
import com.dy.common.mw.protocol.rtuState.ValveStateInfo; 
 | 
import com.dy.rtuMw.server.forTcp.RtuStatusDealer; 
 | 
  
 | 
/** 
 | 
 * @Author: liurunyu 
 | 
 * @Date: 2024/11/3 13:30 
 | 
 * @Description 从协议解析数据中得到的RTU状态并通知出去 
 | 
 */ 
 | 
public class RtuInfoNotify implements Notify { 
 | 
    /** 
 | 
     * RTU信息通知 
 | 
     * @param rtuAddr 
 | 
     * @param protocolName 
 | 
     * @param protocolVersion 
 | 
     * @param infos 
 | 
     */ 
 | 
    @Override 
 | 
    public void notify(String rtuAddr, 
 | 
                       String protocolName, 
 | 
                       Short protocolVersion, 
 | 
                       NotifyInfo...infos 
 | 
                       ) { 
 | 
        if(infos != null && infos.length > 0){ 
 | 
            for (NotifyInfo anInfo : infos) { 
 | 
                if(anInfo != null){ 
 | 
                    if(anInfo instanceof ValveStateInfo){ 
 | 
                        ValveStateInfo valveStateInfo = (ValveStateInfo) anInfo; 
 | 
                        if(valveStateInfo.openTrueCloseFalse.booleanValue()){ 
 | 
                            RtuStatusDealer.valveOpen(rtuAddr); 
 | 
                        }else{ 
 | 
                            RtuStatusDealer.valveClose(rtuAddr); 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
} 
 |