pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java
@@ -60,6 +60,7 @@
        confirmCommand.rtuAddr = para.rtuAddr ;//Rtu地址
        confirmCommand.commandId = Command.defaultId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果
        confirmCommand.downCode = confirmComCode ;//下行命令功能码;
        confirmCommand.downCodeName = CodeV1_0_1.getCodeName(confirmComCode) ;//下行命令功能码名称;
        confirmCommand.downBuffer = data ;//下行命令数据
        confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//下行命令数据十六进制形式
        confirmCommand.hasResponse = false ;//是否有应答
@@ -84,12 +85,14 @@
     * @throws Exception 异常
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        byte opType = bs[ProtocolConstantV206V1_0_0.dataIndex];
        byte opType = (byte)ByteUtil.BCD2Int_LE(bs[ProtocolConstantV206V1_0_0.dataIndex]) ;
        Boolean isCloseType = CommonV1_0_1.isCloseValveType(opType) ;
        if(isCloseType != null && isCloseType.booleanValue()){
            this.doParseClose(opType, bs, bsLen, dataCode, data);
        }else if(isCloseType != null && !isCloseType.booleanValue()){
            this.doParseOpen(opType, bs, bsLen, dataCode, data);
        }else{
            throw new Exception("开关阀类型[" + ByteUtil.bytes2Hex(new byte[]{opType}, false) + "(hex)]不可识别" ) ;
        }
    }
    private void doParseOpen(byte opType, byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
@@ -122,22 +125,6 @@
        cdData.openDt = GlParse.parseTp(bs, index) ;
        index += 6 ;
        /* 开阀时,此部分没有
        cdData.priceType = bs[index] ;
        index++ ;
        cdData.price = 0.0D ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.price += tpInt/100.0 ;
        tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ;
        index++ ;
        cdData.price += tpInt;
        cdData.cardType = bs[index] ;
        index++ ;
         */
        //控制器时钟
        cdData.rtuDt = GlParse.parseTp(bs, index) ;
        //index += 6 ;
@@ -206,4 +193,26 @@
        cdData.rtuDt = GlParse.parseTp(bs, index) ;
        //index += 6 ;
    }
    public static void main(String[] args) throws Exception {
        Cd_83_Up obj = new Cd_83_Up() ;
        String hex = "683C68B08485353448830200000000001000282353FE739444000001000313000101211615000101210000000000000000000200019000011518000101210A7B16";
        byte[] bs = ByteUtil.hex2Bytes(hex) ;
        Data data = new Data() ;
        data.setSubData(new DataV1_0_1()) ;
        int bsLen = new CommonV1_0_1().parseDataLen(bs) ;
        if(bsLen > 0){
            try {
            obj.doParse(bs,
                        bsLen,
                        "83",
                        data) ;
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        System.out.println("data = " + data);
    }
}