| | |
| | | package com.dayu.qihealonelibrary.card; |
| | | |
| | | import com.dayu.baselibrary.tools.HexUtil; |
| | | import com.dayu.qihealonelibrary.utils.MyCommon; |
| | | import com.dayu.qihealonelibrary.utils.CardCommon; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | |
| | | */ |
| | | public class RegionCard extends BaseCard implements Serializable { |
| | | |
| | | public String cardType = MyCommon.REGION;//卡命令 |
| | | public String cardType = CardCommon.REGION;//卡命令 |
| | | |
| | | public short region;//区域地址(低前高后) 可以识别某县镇村 |
| | | public int region;//区域地址(低前高后) 可以识别某县镇村 |
| | | |
| | | public short controllerCodel;// 控制器编号(低前高后) 本区域内控制器编号 |
| | | public int controllerCodel;// 控制器编号(低前高后) 本区域内控制器编号 |
| | | |
| | | |
| | | public short getRegion() { |
| | | public int getRegion() { |
| | | return region; |
| | | } |
| | | |
| | | public short getControllerCodel() { |
| | | public void setRegion(int region) { |
| | | this.region = region; |
| | | } |
| | | |
| | | public int getControllerCodel() { |
| | | return controllerCodel; |
| | | } |
| | | |
| | | public void setControllerCodel(int controllerCodel) { |
| | | this.controllerCodel = controllerCodel; |
| | | } |
| | | |
| | | public byte[] toByte() { |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | public static RegionCard getBean(List<byte[]> data){ |
| | | RegionCard regionCard=new RegionCard(); |
| | | byte[] zero=data.get(0); |
| | | regionCard.cardType= HexUtil.byteToHex(zero[0]); |
| | | public static RegionCard getBean(List<byte[]> data) { |
| | | RegionCard regionCard = new RegionCard(); |
| | | byte[] zero = data.get(0); |
| | | regionCard.cardType = HexUtil.byteToHex(zero[0]); |
| | | |
| | | byte[] regionByte = new byte[2]; |
| | | System.arraycopy(zero, 1, regionByte, 0, regionByte.length); |
| | | regionCard.region = (short) HexUtil.get16to10LowHigh(HexUtil.bytesToHex(regionByte)); |
| | | regionCard.region = HexUtil.get16To10LowHightByBytes(regionByte); |
| | | |
| | | |
| | | byte[] controllerCodelByte = new byte[2]; |
| | | System.arraycopy(zero, 3, controllerCodelByte, 0, controllerCodelByte.length); |
| | | regionCard.controllerCodel = (short) HexUtil.get16to10LowHigh(HexUtil.bytesToHex(controllerCodelByte)); |
| | | regionCard.controllerCodel = HexUtil.get16To10LowHightByBytes(controllerCodelByte); |
| | | |
| | | |
| | | return regionCard; |
| | |
| | | /** |
| | | * 第1扇区0块 存储的数据 |
| | | */ |
| | | public class Zero { |
| | | public class Zero { |
| | | public byte[] toByte() { |
| | | byte[] data = new byte[16]; |
| | | data[0] = HexUtil.hexToByte(cardType); |
| | | |
| | | byte[] regionBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(region)); |
| | | byte[] regionBytes = new byte[2]; |
| | | byte[] regionDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(region)); |
| | | System.arraycopy(regionDatas, 0, regionBytes, 0, regionDatas.length); |
| | | if (regionBytes != null) { |
| | | System.arraycopy(regionBytes, 0, data, 1, regionBytes.length); |
| | | } |
| | | |
| | | byte[] controllerCodelBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(controllerCodel)); |
| | | byte[] controllerCodelBytes = new byte[2]; |
| | | byte[] controllerCodelDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(controllerCodel)); |
| | | System.arraycopy(controllerCodelDatas, 0, controllerCodelBytes, 0, controllerCodelDatas.length); |
| | | if (controllerCodelBytes != null) { |
| | | System.arraycopy(controllerCodelBytes, 0, data, 3, controllerCodelBytes.length); |
| | | } |