package com.dy.rtuMw.server.forTcp; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import com.dy.common.mw.protocol.rtuStatus.StCommandResult; import com.dy.common.mw.protocol.rtuStatus.StDownData; import com.dy.common.mw.protocol.rtuStatus.StOnOffLine; import com.dy.common.mw.protocol.rtuStatus.StUpData; public class RtuStatusDealer { private static Logger log = LogManager.getLogger(RtuStatusDealer.class.getName()) ; public static void onOffLine(RtuSessionStatus sta){ StOnOffLine st = new StOnOffLine() ; st.rtuAddr = sta.rtuAddr ; st.onOff_trueFalse = sta.onTrueOffLine ; st.ip = sta.ip ; st.port = sta.port ; // if(member == null){ // log.error("出错,未能得到处理RTU(地址为" + sta.rtuAddr + ")状态数据的数据中间件,可能数据中间件未启动或脱离的集群!"); // }else{ // log.info("通知数据中间件(" + member.toString() + "),RTU(地址为" + sta.rtuAddr + ")在线!"); // new JgIoHandler().sendP2P(member, st); // } } public static void onLine(String rtuAddr, String ip, Integer port){ StOnOffLine st = new StOnOffLine() ; st.rtuAddr = rtuAddr ; st.onOff_trueFalse = true ; st.ip = ip ; st.port = port ; // Address member = JgUnit.getInstance().getJgMembers().getDataMwMemberByRtuAddr(rtuAddr) ; // if(member == null){ // log.error("出错,未能得到处理RTU(地址为" + rtuAddr + ")状态数据的数据中间件,可能数据中间件未启动或脱离的集群!"); // }else{ // log.info("通知数据中间件(" + member.toString() + "),RTU(地址为" + rtuAddr + ")在线!"); // new JgIoHandler().sendP2P(member, st); // } } public static void offLine(String rtuAddr){ StOnOffLine st = new StOnOffLine() ; st.rtuAddr = rtuAddr ; st.onOff_trueFalse = false ; // Address member = JgUnit.getInstance().getJgMembers().getDataMwMemberByRtuAddr(rtuAddr) ; // if(member == null){ // log.error("出错,未能得到处理RTU(地址为" + rtuAddr + ")状态数据的数据中间件,可能数据中间件未启动或脱离的集群!"); // }else{ // log.info("通知数据中间件(" + member.toString() + "),RTU(地址为" + rtuAddr + ")离线!"); // new JgIoHandler().sendP2P(member, st); // } } public static void upData(String rtuAddr, Integer bufferLen){ StUpData st = new StUpData() ; st.rtuAddr = rtuAddr ; st.upBufferLen = bufferLen ; st.isReport = false ; // Address member = JgUnit.getInstance().getJgMembers().getDataMwMemberByRtuAddr(rtuAddr) ; // if(member == null){ // log.error("出错,未能得到处理RTU(地址为" + rtuAddr + ")状态数据的数据中间件,可能数据中间件未启动或脱离的集群!"); // }else{ // log.info("通知数据中间件(" + member.toString() + "),RTU(地址为" + rtuAddr + ")上行数据!"); // new JgIoHandler().sendP2P(member, st); // } } public static void upReport(String rtuAddr, Integer bufferLen){ StUpData st = new StUpData() ; st.rtuAddr = rtuAddr ; st.upBufferLen = bufferLen ; st.isReport = true ; // Address member = JgUnit.getInstance().getJgMembers().getDataMwMemberByRtuAddr(rtuAddr) ; // if(member == null){ // log.error("出错,未能得到处理RTU(地址为" + rtuAddr + ")状态数据的数据中间件,可能数据中间件未启动或脱离的集群!"); // }else{ // log.info("通知数据中间件(" + member.toString() + "),RTU(地址为" + rtuAddr + ")上报数据!"); // new JgIoHandler().sendP2P(member, st); // } } public static void downData(String rtuAddr, Integer bufferLen){ StDownData st = new StDownData() ; st.rtuAddr = rtuAddr ; st.downBufferLen = bufferLen ; // Address member = JgUnit.getInstance().getJgMembers().getDataMwMemberByRtuAddr(rtuAddr) ; // if(member == null){ // log.error("出错,未能得到处理RTU(地址为" + rtuAddr + ")状态数据的数据中间件,可能数据中间件未启动或脱离的集群!"); // }else{ // log.info("通知数据中间件(" + member.toString() + "),RTU(地址为" + rtuAddr + ")下行数据!"); // new JgIoHandler().sendP2P(member, st); // } } public static void commandSuccess(String rtuAddr){ StCommandResult st = new StCommandResult() ; st.rtuAddr = rtuAddr ; st.isSuccess = true ; // Address member = JgUnit.getInstance().getJgMembers().getDataMwMemberByRtuAddr(rtuAddr) ; // if(member == null){ // log.error("出错,未能得到处理RTU(地址为" + rtuAddr + ")状态数据的数据中间件,可能数据中间件未启动或脱离的集群!"); // }else{ // log.info("通知数据中间件(" + member.toString() + "),RTU(地址为" + rtuAddr + ")命令成功!"); // new JgIoHandler().sendP2P(member, st); // } } public static void commandFailure(String rtuAddr){ StCommandResult st = new StCommandResult() ; st.rtuAddr = rtuAddr ; st.isSuccess = false ; // Address member = JgUnit.getInstance().getJgMembers().getDataMwMemberByRtuAddr(rtuAddr) ; // if(member == null){ // log.error("出错,未能得到处理RTU(地址为" + rtuAddr + ")状态数据的数据中间件,可能数据中间件未启动或脱离的集群!"); // }else{ // log.info("通知数据中间件(" + member.toString() + "),RTU(地址为" + rtuAddr + ")命令失败!"); // new JgIoHandler().sendP2P(member, st); // } } public static void commandFail2Success(String rtuAddr){ StCommandResult st = new StCommandResult() ; st.rtuAddr = rtuAddr ; st.fail2Success = true ; // Address member = JgUnit.getInstance().getJgMembers().getDataMwMemberByRtuAddr(rtuAddr) ; // if(member == null){ // log.error("出错,未能得到处理RTU(地址为" + rtuAddr + ")状态数据的数据中间件,可能数据中间件未启动或脱离的集群!"); // }else{ // log.info("通知数据中间件(" + member.toString() + "),RTU(地址为" + rtuAddr + ")命令由失败转成功!"); // new JgIoHandler().sendP2P(member, st); // } } }