|  |  |  | 
|---|
|  |  |  | String json = obj.toJSONString(); | 
|---|
|  |  |  | ComA0Vo cvo = JSON.parseObject(json, ComA0Vo.class) ; | 
|---|
|  |  |  | if(cvo == null){ | 
|---|
|  |  |  | throw new Exception("json转Com97Vo为null") ; | 
|---|
|  |  |  | throw new Exception("json转ComA0Vo为null") ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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.waterAmount == null){ | 
|---|
|  |  |  | throw new Exception("预用水量不能为空") ; | 
|---|
|  |  |  | if(cvo.waterAmount == null || cvo.waterAmount == 0.0){ | 
|---|
|  |  |  | throw new Exception("预用水量不能为空或为0") ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(cvo.waterAmount < 0 || cvo.waterAmount > 9999){ | 
|---|
|  |  |  | throw new Exception("预用水量取值范围是0~9999m3") ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String[] icCardNoGrp = CommonV1_0_1.dealIcCardNo(cvo.icCardNo) ; | 
|---|
|  |  |  | if(icCardNoGrp[0] != null){ | 
|---|
|  |  |  | midRs.param = icCardNoGrp[0] ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | byte[] bs = new byte[13] ; | 
|---|
|  |  |  | //String[] icCardNoGrp = CommonV1_0_1.dealIcCardNo(cvo.icCardNo) ; | 
|---|
|  |  |  | //if(icCardNoGrp[0] != null){ | 
|---|
|  |  |  | //    midRs.param = icCardNoGrp[0] ; | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | //ByteUtil.string2BCD_LE(bs, icCardNoGrp[1], index) ; | 
|---|
|  |  |  | byte[] bs = new byte[8] ; | 
|---|
|  |  |  | index = 0 ; | 
|---|
|  |  |  | ByteUtil.string2BCD_LE(bs, icCardNoGrp[1], index) ; | 
|---|
|  |  |  | GlCreate.createIcCardNo(cvo.icCardNo, bs, 0); | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bsHead, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | index += 5 ; | 
|---|
|  |  |  | bs = new byte[4] ; | 
|---|
|  |  |  | index = 0 ; | 
|---|
|  |  |  | Integer money = Double.valueOf(cvo.moneyRemain * 100.0D).intValue() ; | 
|---|
|  |  |  | byte[] bTemp = ByteUtil.int2BCD_LE(money) ; | 
|---|
|  |  |  | int bTempLen = bTemp.length ; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 ; | 
|---|
|  |  |  | 
|---|
|  |  |  | for(; count < 2; count++){ | 
|---|
|  |  |  | bs[index++] = 0 ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bytes, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | bs = new byte[2] ; | 
|---|
|  |  |  | index = 0 ; | 
|---|
|  |  |  | bTemp = ByteUtil.int2BCD_LE(cvo.waterAmount) ; | 
|---|
|  |  |  | bTempLen = bTemp.length ; | 
|---|
|  |  |  | count = 0 ; | 
|---|
|  |  |  | 
|---|
|  |  |  | for(; count < 2; count++){ | 
|---|
|  |  |  | bs[index++] = 0 ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bsHead, bs) ; | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bytes, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | GlCreate.createLen(bytes);//长度放字节数组中 | 
|---|
|  |  |  |  | 
|---|