左晓为主开发手持机充值管理机
zuoxiao
2024-08-13 3673328730251736f9614793d9a75630c17b28f6
qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/RegionCard.java
@@ -17,25 +17,15 @@
    public String cardType = CardCommon.REGION;//卡命令
    public int region;//区域地址(低前高后) 可以识别某县镇村
    public int controllerCodel;// 控制器编号(低前高后) 本区域内控制器编号
    public int arerNumber;//区域号(底位在前高位在后)
    public int getRegion() {
        return region;
    public int getArerNumber() {
        return arerNumber;
    }
    public void setRegion(int region) {
        this.region = region;
    }
    public int getControllerCodel() {
        return controllerCodel;
    }
    public void setControllerCodel(int controllerCodel) {
        this.controllerCodel = controllerCodel;
    public void setArerNumber(int arerNumber) {
        this.arerNumber = arerNumber;
    }
    public byte[] toByte() {
@@ -49,14 +39,9 @@
        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 = HexUtil.get16To10LowHightByBytes(regionByte);
        byte[] controllerCodelByte = new byte[2];
        System.arraycopy(zero, 3, controllerCodelByte, 0, controllerCodelByte.length);
        regionCard.controllerCodel = HexUtil.get16To10LowHightByBytes(controllerCodelByte);
        byte[] arerNumberByte = new byte[4];
        System.arraycopy(zero, 1, arerNumberByte, 0, arerNumberByte.length);
        regionCard.arerNumber = HexUtil.get16To10LowHightByBytes(arerNumberByte);
        return regionCard;
@@ -70,20 +55,13 @@
        public byte[] toByte() {
            byte[] data = new byte[16];
            data[0] = HexUtil.hexToByte(cardType);
            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[] arerNumberBytes = new byte[4];
            byte[] arerNumberDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(arerNumber));
            System.arraycopy(arerNumberDatas, 0, arerNumberBytes, 0, arerNumberDatas.length);
            if (arerNumberBytes != null) {
                System.arraycopy(arerNumberBytes, 0, data, 1, arerNumberBytes.length);
            }
            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);
            }
            data[15] = getByteSum(data);
            return data;
        }