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