From e407fcf19e50ed0972e7262d99da4b3a83d08706 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 11 十月 2024 17:08:23 +0800 Subject: [PATCH] 1、修改协议驱动RTU上行数据解析出错时,RTU上下行数据日志中的RTU地址不正确的bug; 2、83功能码上行数据测试main方法实现。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java | 45 +++++++++++++++++++++++++++------------------ 1 files changed, 27 insertions(+), 18 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java index 9e84e6b..3aff9b9 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java @@ -7,7 +7,6 @@ import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; -import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com97Vo; import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com99Vo; import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; import com.dy.common.util.ByteUtil; @@ -33,6 +32,7 @@ midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉 midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�; + midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//涓嬭鍛戒护鍔熻兘鐮佸悕绉�; midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁 midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡 midRs.hasResponse = true ;//鏄惁鏈夊簲绛� @@ -80,34 +80,38 @@ String json = obj.toJSONString(); Com99Vo cvo = JSON.parseObject(json, Com99Vo.class) ; if(cvo == null){ - throw new Exception("json杞珻om97Vo涓簄ull") ; + throw new Exception("json杞珻om99Vo涓簄ull") ; } if(cvo.icCardNo == null){ throw new Exception("铏氭嫙IC鍗$紪鍙蜂笉鑳戒负绌�") ; } - if(cvo.moneyRemain == null){ - throw new Exception("鍓╀綑閲戦涓嶈兘涓虹┖") ; + if(cvo.moneyRemain == null || cvo.moneyRemain == 0.0){ + throw new Exception("鍓╀綑閲戦涓嶈兘涓虹┖鎴栦负0") ; } - if(cvo.waterPrice == null){ - throw new Exception("姘翠环涓嶈兘涓虹┖") ; + if(cvo.waterPrice == null || cvo.waterPrice == 0.0){ + throw new Exception("姘翠环涓嶈兘涓虹┖鎴栦负0") ; } - if(cvo.minutes == null){ - throw new Exception("鐢ㄦ按鏃堕暱涓嶈兘涓虹┖") ; + if(cvo.minutes == null || cvo.minutes == 0.0){ + throw new Exception("鐢ㄦ按鏃堕暱涓嶈兘涓虹┖鎴栦负0") ; } if(cvo.minutes < 0 || cvo.minutes > 9999){ throw new Exception("鐢ㄦ按鏃堕暱鍙栧�艰寖鍥存槸0~9999鍒嗛挓") ; } - String[] icCardNoGrp = CommonV1_0_1.dealIcCardNo(cvo.icCardNo) ; - if(icCardNoGrp[0] != null){ - midRs.param = icCardNoGrp[0] ; - } + //String[] icCardNoGrp = CommonV1_0_1.dealIcCardNo(cvo.icCardNo) ; + //if(icCardNoGrp[0] != null){ + // midRs.param = icCardNoGrp[0] ; + //} + //byte[] bs = new byte[13] ; + //index = 0 ; + //ByteUtil.string2BCD_LE(bs, icCardNoGrp[1], index) ; + byte[] bs = new byte[8] ; + GlCreate.createIcCardNo(cvo.icCardNo, bs, 0); + bytes = ByteUtil.bytesMerge(bsHead, bs) ; - byte[] bs = new byte[13] ; + + bs = new byte[4] ; index = 0 ; - ByteUtil.string2BCD_LE(bs, icCardNoGrp[1], index) ; - - index += 5 ; Integer money = Double.valueOf(cvo.moneyRemain * 100.0D).intValue() ; byte[] bTemp = ByteUtil.int2BCD_LE(money) ; int bTempLen = bTemp.length ; @@ -122,7 +126,10 @@ for(; count < 4; count++){ bs[index++] = 0 ; } + bytes = ByteUtil.bytesMerge(bytes, bs) ; + bs = new byte[2] ; + index = 0 ; Integer price = Double.valueOf(cvo.waterPrice * 100.0D).intValue() ; bTemp = ByteUtil.int2BCD_LE(price) ; bTempLen = bTemp.length ; @@ -137,8 +144,11 @@ for(; count < 2; count++){ bs[index++] = 0 ; } + bytes = ByteUtil.bytesMerge(bytes, bs) ; + bs = new byte[2] ; + index = 0 ; bTemp = ByteUtil.int2BCD_LE(cvo.minutes) ; bTempLen = bTemp.length ; count = 0 ; @@ -152,8 +162,7 @@ for(; count < 2; count++){ bs[index++] = 0 ; } - - bytes = ByteUtil.bytesMerge(bsHead, bs) ; + bytes = ByteUtil.bytesMerge(bytes, bs) ; GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 -- Gitblit v1.8.0