|  |  | 
 |  |  |  | 
 |  |  | import com.dy.common.mw.protocol.*; | 
 |  |  | import com.dy.common.mw.protocol.p206V202404.*; | 
 |  |  | import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse; | 
 |  |  | import com.dy.common.mw.protocol.p206V202404.upVos.DataCd5CVo; | 
 |  |  | import com.dy.common.util.ByteUtil; | 
 |  |  | import org.apache.logging.log4j.LogManager; | 
 |  |  | 
 |  |  |         if(hasRecord == 1){ | 
 |  |  |             //有记录 | 
 |  |  |             List<DataCd5CVo> list = new ArrayList<>() ; | 
 |  |  |             DataCd5CVo vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ; | 
 |  |  |             index++ ; | 
 |  |  |             DataCd5CVo vo = this.doParseData(bs, index, bsLen, dataCode, controllerType, projectNo) ; | 
 |  |  |             while(vo != null){ | 
 |  |  |                 index += 16 ; | 
 |  |  |                 list.add(vo) ; | 
 |  |  |                 vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ; | 
 |  |  |                 vo = this.doParseData(bs, index, bsLen, dataCode, controllerType, projectNo) ; | 
 |  |  |             } | 
 |  |  |             dV1.subData = list ; | 
 |  |  |         }else{ | 
 |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private DataCd5CVo doParseData(byte[] bs, int index, int bsLen, String controllerType,Integer projectNo) throws Exception{ | 
 |  |  |         //每条数据占39字节 | 
 |  |  |     private DataCd5CVo doParseData(byte[] bs, int index, int bsLen, String dataCode, String controllerType,Integer projectNo) throws Exception{ | 
 |  |  |         //每条数据占16字节 | 
 |  |  |         if(bsLen - index > 16){ | 
 |  |  |             DataCd5CVo cdData = new DataCd5CVo() ; | 
 |  |  |             DataCd5CVo cdData = new DataCd5CVo(CodeV202404.getCodeName(dataCode)) ; | 
 |  |  |  | 
 |  |  |             cdData.controllerType = controllerType ; | 
 |  |  |             cdData.projectNo = projectNo ; |