|  |  |  | 
|---|
|  |  |  | private static String orderNo = null ; | 
|---|
|  |  |  | private static String openValveDt = null ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private static Double totalWaterAmount = 1234.56 ;//累计流量 | 
|---|
|  |  |  | private static Double remainMoney = 65.4321 ;//剩余金额 | 
|---|
|  |  |  | private static Double totalWaterAmount = 12345.67 ;//累计流量 | 
|---|
|  |  |  | private static Double remainMoney = 8765.4321 ;//剩余金额 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private static Double thisWaterAmount = 100.00 ;//本次使用电量 | 
|---|
|  |  |  | private static Double thisWaterAmount = 100.00 ;//本次使用水量 | 
|---|
|  |  |  | private static Double thisMoney = 10.00 ;//本次使用金额 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static void upCd84Data(String rtuAddr){ | 
|---|
|  |  |  | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bytes, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | bs = new byte[8] ;//本次订单号   8字节 BCD码 | 
|---|
|  |  |  | ByteUtil.string2BCD_LE( bs, orderNo,0); | 
|---|
|  |  |  | ByteUtil.string2BCD_BE( bs, orderNo,0); | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bytes, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | bs = new byte[6] ;//开泵/阀时间   6字节的BCD码(秒分时日月年) | 
|---|
|  |  |  | 
|---|
|  |  |  | openValveDt = DateTime.yyMMddhhmmss() ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | totalWaterAmount -= thisWaterAmount ; | 
|---|
|  |  |  | totalWaterAmount += thisWaterAmount ; | 
|---|
|  |  |  | remainMoney -= thisMoney ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | byte[] bytes = creatHead(rtuAddr, "85", (byte)0x81); | 
|---|
|  |  |  | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bytes, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | bs = new byte[8] ;//本次订单号   8字节 BCD码 | 
|---|
|  |  |  | ByteUtil.string2BCD_LE( bs, orderNo,0); | 
|---|
|  |  |  | ByteUtil.string2BCD_BE( bs, orderNo,0); | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bytes, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | bs = new byte[6] ;//开始时间   6字节的BCD码(秒分时日月年) | 
|---|
|  |  |  | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bytes, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | bs = new byte[6] ;//结束时间   6字节的BCD码(秒分时日月年) | 
|---|
|  |  |  | ByteUtil.string2BCD_LE( bs, DateTime.yyyyMMddHHmmss(),0); | 
|---|
|  |  |  | ByteUtil.string2BCD_LE( bs, DateTime.yyMMddhhmmss(),0); | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bytes, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | bs = new byte[5] ;//水表累计水量   5字节BCD码,单位0.01立方米 | 
|---|
|  |  |  | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bytes, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | bs = new byte[4] ;//本次使用水量   4字节BCD码 单位0.01立方米 | 
|---|
|  |  |  | ByteUtil.int2BCD_LE(Double.valueOf(thisWaterAmount * 10000).intValue(), bs, 0); | 
|---|
|  |  |  | ByteUtil.int2BCD_LE(Double.valueOf(thisWaterAmount * 100).intValue(), bs, 0); | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bytes, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | bs = new byte[4] ;//本次使用金额   4字节BCD码 单位0.0001元 | 
|---|