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