| New file | 
 |  |  | 
 |  |  | 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); | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | } |