| | |
| | | package com.dy.common.mw.protocol.p206V202404.parse; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.dy.common.mw.protocol.*; |
| | | import com.dy.common.mw.protocol.p206V202404.CodeV202404; |
| | | import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404; |
| | |
| | | public byte[] doParse(ParseParamsForDownV202404 para) throws Exception { |
| | | byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode); |
| | | if(para.param != null){ |
| | | String json = (String)para.param; |
| | | JSONObject obj = (JSONObject)para.param; |
| | | String json = obj.toJSONString(); |
| | | ComCd15Vo cvo = JSON.parseObject(json, ComCd15Vo.class) ; |
| | | if(cvo == null){ |
| | | throw new Exception("json转ComCd15Vo为null") ; |
| | |
| | | if(cvo.flowNo.length() != 12){ |
| | | throw new Exception("流水号必须是12位数字") ; |
| | | } |
| | | byte[] bs = new byte[34] ; |
| | | byte[] bs = new byte[40] ; |
| | | int index = 0 ; |
| | | bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16)); |
| | | |
| | |
| | | bs[index++] = 0 ; |
| | | } |
| | | } |
| | | if(cvo.chargeMoney != null){ |
| | | String chargeMoney = "" + (Double.valueOf(cvo.chargeWater * 100)).longValue() ; |
| | | byte[] bTemp = ByteUtil.string2BCD_LE(chargeMoney) ; |
| | | if(cvo.chargeWater != null){ |
| | | String chargeWater = "" + (Double.valueOf(cvo.chargeWater * 100)).longValue() ; |
| | | byte[] bTemp = ByteUtil.string2BCD_LE(chargeWater) ; |
| | | int bTempLen = bTemp.length ; |
| | | int count = 0 ; |
| | | for(int i = 0 ; i < bTempLen; i++){ |
| | |
| | | ByteUtil.string2BCD_BE(bs, cvo.flowNo, index) ; |
| | | |
| | | index += 6 ; |
| | | GlCreate.createDt(bs, index); |
| | | |
| | | index += 6 ; |
| | | GlCreate.createPw(bs, index); |
| | | |
| | | index += 2 ; |