左晓为主开发手持机充值管理机
zuoxiao
2024-05-11 844597b5813ff8589de503cd7d7b1bbd0586d287
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/RegionCard.java
@@ -16,17 +16,25 @@
    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() {
@@ -35,20 +43,19 @@
    }
    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;
@@ -58,17 +65,19 @@
    /**
     * 第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);
            }