pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DriverV1_0_1.java
@@ -6,10 +6,10 @@
import java.net.URI;
import java.net.URL;
@AnnotationDriver(name= ProtocolConstantV206V1_0_0.protocolName)
@AnnotationDriver(enable = true, name= ProtocolConstantV206V1_0_0.protocolName)
public class DriverV1_0_1 extends Driver {
   
   private static String scanRootPackage = "" ;
   private static String scanRootPackage = "com.dy.common.mw.protocol.p206V1_0_0" ;
   
   //在Driver中是单例,随Driver的单例对象在单线程中运行
   private ParseParamsForUpV1_0_1 upCpParams ;
@@ -23,18 +23,27 @@
      downCpParams = new ParseParamsForDownV1_0_1() ;
   }
   /**
    * 清空自己
    */
   @Override
   public void clear() {
      if(this.upCpParams != null){
         this.upCpParams.clear();
      }
      if(this.downCpParams != null){
         this.downCpParams.clear();
      }
      this.reportOrResponse_trueOrFalse = null ;
      this.rtuAddrInData = null ;
   }
   /**
    * 扫描识别功能码注解类
    */
   @Override
   public void scanAnnotationCode() throws Exception{
      if(!scanRootPackage.endsWith(".")){
         scanRootPackage += "." ;
      }
      URL url = this.getClass().getResource("/" + scanRootPackage.replace('.', '/'));
      URI uri = new URI(url.toString());
      super.doScanAnnotationCode(this, ProtocolConstantV206V1_0_0.protocolName, uri, scanRootPackage) ;
      super.doScanAnnotationCode(this, ProtocolConstantV206V1_0_0.protocolName, scanRootPackage) ;
   }
   /**
@@ -48,7 +57,7 @@
    */
   @Override
   public MidResult[] parseData(Boolean isLowPower, String rtuAddr, byte[] upBuffer, String upHex, DriverParserDataCallback callback, Object... params) {
      reportOrResponse_trueOrFalse = null ;
      this.clear();
      boolean isFail = false ;
      String upCode = null ;
      try{
@@ -79,8 +88,7 @@
         
         upData.setSubData(dV1_0_1) ;
         
         this.upCpParams.clear();
         this.upCpParams.setValue(ProtocolConstantV206V1_0_0.protocolName,
         this.upCpParams.setValue(ProtocolConstantV206V1_0_0.protocolName,
               rtuAddr, 
               upCode,
               upHex, 
@@ -103,9 +111,10 @@
         isFail = true ;
         return new MidResult[]{(new MidResultError(ProtocolConstantV206V1_0_0.protocolName, rtuAddr, "严重错误,分析Rtu数据出错!数据为:" + upHex + (e.getMessage() == null?"":(",出错信息:" + e.getMessage())), e))} ;
      } finally{
         callback.callback(rtuAddr, upCode, upHex, reportOrResponse_trueOrFalse, isFail, rtuAddrInData);
         callback.callback(rtuAddr, upCode, CodeV1_0_1.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr);
      }
   }
   /**
    * 构造下行数据(命令)
    * @param isLowPower 是否在低功耗环境下运行
@@ -114,15 +123,20 @@
    */
   @Override
   public MidResult[] createCommand(Boolean isLowPower, Command command, Object... params) {
      this.clear();
      String RtuResultSendWebUrl = command.getRtuResultSendWebUrl() ;
      if(RtuResultSendWebUrl == null || RtuResultSendWebUrl.trim().equals("")){
         return new MidResult[]{(new MidResultError(ProtocolConstantV206V1_0_0.protocolName, null, "严重错误,命令中rtu返回命令结果发向目的地web URL为空,不能构建任何命令!", null))} ;
      }
      String rtuAddr = command.getRtuAddr() ;
      if(rtuAddr == null){
      if(rtuAddr == null || rtuAddr.trim().equals("")){
         return new MidResult[]{(new MidResultError(ProtocolConstantV206V1_0_0.protocolName, null, "严重错误,命令中Rtu地址为空,不能构建任何命令!", null))} ;
      }
      try {
         String commandCode = command.getCode() ;
         
         this.downCpParams.clear();
         this.downCpParams.setValue(
               RtuResultSendWebUrl,
               ProtocolConstantV206V1_0_0.protocolName, 
               rtuAddr, 
               command.getId(),