| package com.dy.rtuMw.server.protocolDriver; | 
|   | 
| 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 | 
|  */ | 
| 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); | 
|                         } | 
|                     } | 
|                 } | 
|             } | 
|         } | 
|     } | 
| } |