package com.dy.common.mw.protocol; 
 | 
  
 | 
import com.dy.common.mw.protocol.p206V1_0_0.*; 
 | 
import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd97Vo; 
 | 
import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd98Vo; 
 | 
  
 | 
/** 
 | 
 * 从RTU收到数据 
 | 
 */ 
 | 
public class MidResultFromRtu  implements MidResult{ 
 | 
  
 | 
    public static final long serialVersionUID; 
 | 
    static { 
 | 
        serialVersionUID = 201606271057002L; 
 | 
    } 
 | 
  
 | 
    public String commandId ;//发送命令的ID,如果是命令结果,并且匹配了下发命令,此值不为空 
 | 
  
 | 
    public String rtuResultSendWebUrl ;//rtu返回命令结果 发向目的地web URL 
 | 
    public String protocolName ;//协议名称 
 | 
    public String rtuAddr ;//Rtu地址 
 | 
    public String upCode ;//上行数据中的功能码 
 | 
    public String upHex ;//上行数据十六进制形式 
 | 
    public byte[] upBuffer ;//上行数据字节数组 
 | 
    public Data data ;//解析后的数据 
 | 
    public Boolean reportOrResponse_trueOrFalse ;//数据是自动上报还是命令应答,自动上报(report)为true,命令应答(response)为false 
 | 
  
 | 
    @Override 
 | 
    public void action() { 
 | 
        ProtocolUnit.getInstance().adapter.getSingleActionFromRtu(this.protocolName).doAction(this);  
 | 
    } 
 | 
     
 | 
    public void matchedCommand(String commandId, Object toRtuMidResultParam, String rtuResultSendWebUrl){ 
 | 
        this.commandId = commandId ; 
 | 
        if(this.data != null){ 
 | 
            this.data.setCommandId(commandId); 
 | 
        } 
 | 
        if(toRtuMidResultParam != null){ 
 | 
            if(protocolName != null && protocolName.equals(ProtocolConstantV206V1_0_0.protocolName)){ 
 | 
                if(upCode != null && upCode.equals(CodeV1_0_1.cd_97)){ 
 | 
                    if(data.subData != null && data.subData instanceof DataV1_0_1){ 
 | 
                        DataV1_0_1 dataV1_0_1 = (DataV1_0_1)data.subData ; 
 | 
                        if(dataV1_0_1 != null && dataV1_0_1.subData != null && dataV1_0_1.subData instanceof DataCd97Vo){ 
 | 
                            DataCd97Vo dataCd97Vo = (DataCd97Vo)dataV1_0_1.subData ; 
 | 
                            if(dataCd97Vo != null && dataCd97Vo.cardNo != null){ 
 | 
                                dataCd97Vo.cardNo = (String)toRtuMidResultParam + dataCd97Vo.cardNo ; 
 | 
                            } 
 | 
                        } 
 | 
                    } 
 | 
                }else if(upCode != null && upCode.equals(CodeV1_0_1.cd_98)){ 
 | 
                    if(data.subData != null && data.subData instanceof DataV1_0_1){ 
 | 
                        DataV1_0_1 dataV1_0_1 = (DataV1_0_1)data.subData ; 
 | 
                        if(dataV1_0_1 != null && dataV1_0_1.subData != null && dataV1_0_1.subData instanceof DataCd98Vo){ 
 | 
                            DataCd98Vo dataCd98Vo = (DataCd98Vo)dataV1_0_1.subData ; 
 | 
                            if(dataCd98Vo != null && dataCd98Vo.cardNo != null){ 
 | 
                                dataCd98Vo.cardNo = (String)toRtuMidResultParam + dataCd98Vo.cardNo ; 
 | 
                            } 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
        this.rtuResultSendWebUrl = rtuResultSendWebUrl ; 
 | 
        if(this.data != null){ 
 | 
            this.data.setRtuResultSendWebUrl(rtuResultSendWebUrl); 
 | 
        } 
 | 
    } 
 | 
  
 | 
} 
 |