From b6779014ad6b2627d0a7e4d170d918d001fc03db Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 08 五月 2024 10:44:01 +0800
Subject: [PATCH] 1.修复16进制低位在前高位在后转换成10进制时的bug 2.完成充值相关功能 3.优化导出记录相关信息

---
 henanlibrary/src/main/java/com/dayu/henanlibrary/card/UserCard.java                           |   10 
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/utils/ExcelUtil.java                 |    3 
 qihealonelibrary/src/main/res/layout/activity_admin_setup_qha.xml                             |    3 
 henanlibrary/src/main/java/com/dayu/henanlibrary/activity/RechargeActivity.java               |   12 +
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java             |    8 
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java        |   16 +
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java                   |   68 ++++--
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/AdminSetupActivity.java     |   16 -
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/HomeActivity.java           |    8 
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/dao/UserCardDao.java                 |    2 
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java       |  112 +++++++++-
 qihealonelibrary/src/main/res/layout/activity_red_card_qha.xml                                |    6 
 baselibrary/src/main/res/values/strings.xml                                                   |    2 
 baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java                             |   90 ++++----
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/RegionCard.java                 |   31 +-
 qihealonelibrary/src/main/res/layout/activity_recharge_qha.xml                                |   48 ++++
 app/src/main/java/com/dayu/recharge/activity/LoginActivity.java                               |   50 +++-
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/adapter/RechargeAdapter.java         |    4 
 henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java               |    2 
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/dbBean/RechargeBean.java             |   27 -
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java       |   70 ++++--
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeDetailActivity.java |    2 
 qihealonelibrary/src/main/res/layout/activity_my_qha.xml                                      |    1 
 23 files changed, 381 insertions(+), 210 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java b/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
index a785b32..14757fc 100644
--- a/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
@@ -54,32 +54,34 @@
     private void initView() {
         binding.loginBtn.setOnClickListener(v -> {
             String psStr = binding.loginPw.getText().toString();
-            if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) {
-                //閫夋嫨鐗堟湰
-                LibraryDialog dialog = new LibraryDialog(this, type -> {
-                    if (type == BaseCommon.HeNanLibrary) {
-                        getHNPermission();
-                    } else if (type == BaseCommon.QHAloneLibrary) {
-                        getQHAlonePermission();
-                    }
-                    MyApplication.myApplication.initApplication();
-                });
-                dialog.show();
-                //娌℃湁閫夋嫨鐗堟湰鍏堥�夋嫨鐗堟湰
-                return;
-            }
+
             if (TextUtils.isEmpty(psStr)) {
                 TipUtil.show("璇疯緭鍏ュ瘑鐮�");
                 return;
             }
             if ((passWordBean == null && psStr.equals("123456"))
                     || passWordBean != null && passWordBean.getPassWord().equalsIgnoreCase(WSMD5.getMD5Str(psStr))) {
-                if (MyApplication.myApplication.libraryType == BaseCommon.HeNanLibrary) {
-                    startActivity(new Intent(LoginActivity.this, com.dayu.henanlibrary.activity.HomeActivity.class));
-                } else if (MyApplication.myApplication.libraryType ==  BaseCommon.QHAloneLibrary) {
-                    startActivity(new Intent(LoginActivity.this, HomeActivity.class));
+
+
+                if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) {
+                    //閫夋嫨鐗堟湰
+                    LibraryDialog dialog = new LibraryDialog(this, type -> {
+                        if (type == BaseCommon.HeNanLibrary) {
+                            getHNPermission();
+                        } else if (type == BaseCommon.QHAloneLibrary) {
+                            getQHAlonePermission();
+                        }
+                        MyApplication.myApplication.initApplication();
+                        startToHomeActivity();
+                    });
+                    dialog.show();
+                    //娌℃湁閫夋嫨鐗堟湰鍏堥�夋嫨鐗堟湰
+                    return;
+                } else {
+                    startToHomeActivity();
                 }
-                LoginActivity.this.finish();
+
+
             } else {
                 Toast.makeText(LoginActivity.this, "瀵嗙爜閿欒", Toast.LENGTH_SHORT).show();
             }
@@ -92,6 +94,16 @@
         }
     }
 
+
+    private void startToHomeActivity() {
+        if (MyApplication.myApplication.libraryType == BaseCommon.HeNanLibrary) {
+            startActivity(new Intent(LoginActivity.this, com.dayu.henanlibrary.activity.HomeActivity.class));
+        } else if (MyApplication.myApplication.libraryType == BaseCommon.QHAloneLibrary) {
+            startActivity(new Intent(LoginActivity.this, HomeActivity.class));
+        }
+        LoginActivity.this.finish();
+    }
+
     /**
      * 娌冲崡鐗堢殑鑾峰彇鏉冮檺
      */
diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java
index fc5f44b..189af92 100644
--- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java
@@ -3,6 +3,7 @@
 import java.math.BigInteger;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
@@ -29,9 +30,46 @@
         hexString = HighLowHex(hexString);
         return hexString;
     }
+
+
+    /**
+     * 16杩涘埗杞�10杩涘埗骞朵笖浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
+     *
+     * @param data
+     * @return
+     */
+    public static int get16To10LowHightByBytes(byte[] data) {
+        List<Byte> byteList = new ArrayList<>();
+        for (byte b : data) {
+            byteList.add(b);
+        }
+        Collections.reverse(byteList);
+        byte[] byteArray = new byte[byteList.size()];
+        for (int i = 0; i < byteList.size(); i++) {
+            byteArray[i] = byteList.get(i);
+        }
+        String hex = bytesToHexNoAppen(byteArray);
+        return Integer.parseInt(hex, 16);
+    }
+
+    /**
+     * byte 鏁扮粍杞�16杩涘埗瀛楃涓� 涓嶅姞0鍓嶇紑
+     * @param bytes
+     * @return
+     */
+    public static String bytesToHexNoAppen(byte[] bytes) {
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; i < bytes.length; i++) {
+            String hex = Integer.toHexString(bytes[i] & 0xFF);
+            sb.append(hex);
+        }
+        return sb.toString();
+    }
+
     public static int getBcdToInt(byte data) {
         return ((data & 0xF0) >> 4) * 10 + ((data & 0x0F));
     }
+
     /**
      * short10杩涘埗杞�16杩涘埗 浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
      *
@@ -47,7 +85,6 @@
         while (hexString.length() < 4) {
             hexString = "0" + hexString;
         }
-
         hexString = spaceHex(hexString);
         hexString = HighLowHex(hexString);
         return hexString;
@@ -55,7 +92,7 @@
 
     /**
      * 灏哹yte鏁扮粍杞崲涓哄甫绗﹀彿鐨�32浣嶆诞鐐规暟
-     *
+     * <p>
      * 浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
      *
      * @param value
@@ -65,7 +102,6 @@
         ByteBuffer bufferLittleEndian = ByteBuffer.wrap(value);
         bufferLittleEndian.order(ByteOrder.LITTLE_ENDIAN);
         return bufferLittleEndian.getFloat();
-
     }
 
     /**
@@ -82,6 +118,7 @@
         byte[] byteArray = buffer.array();
         return byteArray;
     }
+
     /**
      * hex瀛楃涓茶浆byte鏁扮粍
      *
@@ -152,36 +189,8 @@
         return sb.toString();
     }
 
-    public static String byteArrayToHexString(byte[] byteArray) {
-        StringBuilder hexString = new StringBuilder();
-        for (byte b : byteArray) {
-            // 灏嗗瓧鑺傝浆鎹负鏃犵鍙锋暣鏁�
-            int unsignedInt = b & 0xff;
-            // 灏嗘棤绗﹀彿鏁存暟杞崲涓�16杩涘埗瀛楃涓�
-            String hex = Integer.toHexString(unsignedInt);
-            // 濡傛灉瀛楃涓查暱搴﹀皬浜�2锛屽湪鍓嶉潰琛�0
-            if (hex.length() < 2) {
-                hex = "0" + hex;
-            }
-            hexString.append(hex);
-        }
-        return hexString.toString();
-    }
 
-    /**
-     * 瀛楄妭鏁扮粍杞�16杩涘埗 涓嶅湪鏈熬娣诲姞0
-     *
-     * @param bytes 闇�瑕佽浆鎹㈢殑byte鏁扮粍
-     * @return 杞崲鍚庣殑Hex瀛楃涓�
-     */
-    public static String bytesToHexNoAddZero(byte[] bytes) {
-        StringBuffer sb = new StringBuffer();
-        for (int i = 0; i < bytes.length; i++) {
-            String hex = Integer.toHexString(bytes[i] & 0xFF);
-            sb.append(hex);
-        }
-        return sb.toString();
-    }
+
 
 
     /**
@@ -248,23 +257,6 @@
             e.printStackTrace();
         }
         return str;
-    }
-
-    /**
-     * 16杩涘埗杞�10杩涘埗楂樹綆浣嶈浆鎹�
-     * @param hex
-     * @return
-     */
-    public static int get16to10LowHigh(String hex) {
-        try {
-            String str = "";
-            str = spaceHex(hex);
-            str = HighLowHex(str);
-            return Integer.parseInt(str, 16);
-        } catch (NumberFormatException e) {
-            e.printStackTrace();
-        }
-        return 0;
     }
 
 
diff --git a/baselibrary/src/main/res/values/strings.xml b/baselibrary/src/main/res/values/strings.xml
index fef57d8..e7d8054 100644
--- a/baselibrary/src/main/res/values/strings.xml
+++ b/baselibrary/src/main/res/values/strings.xml
@@ -29,6 +29,6 @@
 
     <string name="login_title">澶х鑺傛按\n鏅鸿兘鍏呭�肩鐞嗙郴缁�</string>
     <string name="company_name">澶х鑺傛按绉戞妧鐮旂┒鏈夐檺鍏徃</string>
-    <string name="eq_no">璁惧缂栧彿锛�</string>
+    <string name="eq_no">鍖哄煙鍙凤細</string>
     <string name="address_code">鍖哄煙鍙凤細</string>
 </resources>
\ No newline at end of file
diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java
index 6a1df4c..bfae435 100644
--- a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java
+++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java
@@ -641,7 +641,7 @@
                                     //榛樿鏄�1鍏�
                                     userCard.setElectricityPrice(1.000f);
                                 }
-                                userCard.setSwipeNumber((short) 0);
+                                userCard.setSwipeNumber( 0);
                                 userCard.setState("00");
                                 userCard.setBalance(0);
                                 userCard.setAddressCode(adminData.getAddressCode());
diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/RechargeActivity.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/RechargeActivity.java
index 63290fb..c352147 100644
--- a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/RechargeActivity.java
+++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/RechargeActivity.java
@@ -21,6 +21,7 @@
 import com.dayu.henanlibrary.socketBean.BalanceSelecteRequestBean;
 import com.dayu.henanlibrary.tools.NfcReadHelper;
 import com.dayu.henanlibrary.tools.WriteCardUtils;
+import com.dayu.henanlibrary.utils.CardCommon;
 import com.dayu.henanlibrary.utils.DeviceNumberUtils;
 import com.dayu.henanlibrary.utils.SocketUtil;
 import com.dayu.henanlibrary.view.ProgressDialog;
@@ -67,8 +68,15 @@
             this.intent = intent;
             userCard = NfcReadHelper.getInstence(intent, this).getUserCardData();
             if (userCard != null) {
-                ProgressDialog.show(this);
-                selectBalance(userCard.getInitPeasantCode());
+                if (userCard.getCardType().equalsIgnoreCase(CardCommon.USER_CARD_TYPE_1)
+                        || userCard.getCardType().equalsIgnoreCase(CardCommon.USER_CARD_TYPE_2)
+                        || userCard.getCardType().equalsIgnoreCase(CardCommon.USER_CARD_TYPE_3)) {
+                    ProgressDialog.show(this);
+                    selectBalance(userCard.getInitPeasantCode());
+                } else {
+                    TipUtil.show(RechargeActivity.this, "褰撳墠鍗¢潪鐢ㄦ埛鍗�");
+                }
+
             } else {
                 TipUtil.show(RechargeActivity.this, "鍗$墖璇诲彇澶辫触");
             }
diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/card/UserCard.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/card/UserCard.java
index f009b25..5e630ee 100644
--- a/henanlibrary/src/main/java/com/dayu/henanlibrary/card/UserCard.java
+++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/card/UserCard.java
@@ -19,7 +19,7 @@
 
     public int rechargeTimes;//鍏呭�兼鏁�
 
-    public short swipeNumber;//鍒峰崱娆℃暟 涓�鑸笉鐢ㄧ簿缁嗙鎺ф墠鐢�
+    public int swipeNumber;//鍒峰崱娆℃暟 涓�鑸笉鐢ㄧ簿缁嗙鎺ф墠鐢�
 
     public float electricityPrice;//鐢甸噺鍗曚环 绠$悊鍏冨彲浠ヤ慨鏀�
 
@@ -77,7 +77,9 @@
                     byte[] balanceBytes = new byte[4];
                     System.arraycopy(zero, 9, balanceBytes, 0, balanceBytes.length);
 
-                    userCard.balance = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(balanceBytes));
+
+//                    userCard.balance = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(balanceBytes));
+                    userCard.balance = HexUtil.get16To10LowHightByBytes(balanceBytes);
                     byte[] addressCodeBytes = new byte[6];
                     System.arraycopy(zero, 13, addressCodeBytes, 0, 2);
                     System.arraycopy(two, 11, addressCodeBytes, 2, 4);
@@ -251,11 +253,11 @@
     }
 
 
-    public short getSwipeNumber() {
+    public int getSwipeNumber() {
         return swipeNumber;
     }
 
-    public void setSwipeNumber(short swipeNumber) {
+    public void setSwipeNumber(int swipeNumber) {
         this.swipeNumber = swipeNumber;
     }
 
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/AdminSetupActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/AdminSetupActivity.java
index a257a7d..978c57f 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/AdminSetupActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/AdminSetupActivity.java
@@ -39,12 +39,12 @@
 
     private void initView() {
         adminBinding.setupOk.setOnClickListener(v -> {
-            String strSerial = adminBinding.adminSerial.getText().toString();
+            String strSerial = adminBinding.adminAddressCode.getText().toString();
             String strAddressCode = adminBinding.adminAddressCode.getText().toString();
             if (!TextUtils.isEmpty(strAddressCode)
                     && !TextUtils.isEmpty(strSerial)) {
 
-                if (Integer.valueOf(strSerial) <= 65535) {
+//                if (Integer.valueOf(strSerial) <= 65535) {
                     if (Integer.valueOf(strAddressCode) <= 65535) {
                         adminData.setAddressCode(strAddressCode);
                         adminData.setSerial(strSerial);
@@ -59,9 +59,9 @@
                         TipUtil.show(AdminSetupActivity.this, "杈撳叆鐨勫尯鍩熷彿涓嶈兘瓒呰繃65535");
                     }
 
-                } else {
-                    TipUtil.show(AdminSetupActivity.this, "杈撳叆鐨勮澶囩紪鍙蜂笉鑳借秴杩�65535");
-                }
+//                } else {
+//                    TipUtil.show(AdminSetupActivity.this, "杈撳叆鐨勮澶囩紪鍙蜂笉鑳借秴杩�65535");
+//                }
             } else {
                 TipUtil.show(AdminSetupActivity.this, "璇疯緭鍏ュ畬鏁村唴瀹�");
             }
@@ -83,12 +83,6 @@
             e.printStackTrace();
         }
     }
-
-
-
-
-
-
 
 
 }
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/HomeActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/HomeActivity.java
index 605ea0a..f94b5cf 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/HomeActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/HomeActivity.java
@@ -12,7 +12,6 @@
 import com.dayu.qihealonelibrary.dbBean.AdminDataBean;
 
 
-
 /**
  * Copyright (C), 2023,
  * Author: zuo
@@ -35,9 +34,6 @@
     }
 
 
-
-
-
     private void initView() {
         homeBinding.homeNewCard.setOnClickListener(new View.OnClickListener() {
             @Override
@@ -46,7 +42,7 @@
                 if (adminData != null) {
                     startActivity(new Intent(HomeActivity.this, NewCardActivity.class));
                 } else {
-                    TipUtil.show("璇峰厛璁剧疆璁惧缂栧彿鍜屽尯鍩熷彿");
+                    TipUtil.show("璇峰厛鍦ㄤ釜浜轰腑蹇冨唴璁剧疆鍖哄煙鍙�");
                 }
 
             }
@@ -58,7 +54,7 @@
                 if (adminData != null) {
                     startActivity(new Intent(HomeActivity.this, RechargeActivity.class));
                 } else {
-                    TipUtil.show("璇峰厛璁剧疆璁惧缂栧彿鍜屽尯鍩熷彿");
+                    TipUtil.show("璇峰厛鍦ㄤ釜浜轰腑蹇冨唴璁剧疆鍖哄煙鍙�");
                 }
 
             }
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java
index 2184a4f..7e6732a 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java
@@ -163,10 +163,10 @@
                             return;
                         }
                         if (isRechargeList) {
-                            title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "璁㈠崟鍙�", "鍏呭�兼棩鏈�", "鍏呭�奸噾棰濓紙鍏冿級", "鍓╀綑閲戦锛堝厓锛�"};
+                            title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "鍗″彿", "鍏呭�兼棩鏈�", "鍏呭�奸噾棰濓紙鍏冿級", "鍓╀綑閲戦锛堝厓锛�"};
                             fileName = file.toString() + "/" + ExcelUtil.outRechargePathName;
                         } else {
-                            title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "娉ㄥ唽鏃ユ湡", "鐢佃瘽"};
+                            title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "鍗″彿", "娉ㄥ唽鏃ユ湡", "鐢佃瘽"};
                             fileName = file.toString() + "/" + ExcelUtil.outUserPathName;
                         }
                         ExcelUtil.initExcel(fileName, title);
@@ -208,8 +208,8 @@
                 myBinding.myAdminName.setText(adminData.getAddressCode());
                 myBinding.myVillageNum.setText(adminData.getSerial());
             } else {
-                myBinding.myAdminName.setText("璇风偣鍑诲尯鍩熷彿璁剧疆");
-                myBinding.myVillageNum.setText("璇风偣鍑诲尯鍩熷彿璁剧疆");
+                myBinding.myAdminName.setText("璇风偣鍑昏缃尯鍩熷彿");
+                myBinding.myVillageNum.setText("璇风偣鍑昏缃尯鍩熷彿");
             }
             StringBuilder msgData = new StringBuilder();
 
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java
index 59d571b..2ca36b4 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/NFCWreatActivity.java
@@ -1,16 +1,15 @@
 package com.dayu.qihealonelibrary.activity;
 
 import android.content.Intent;
-import android.content.res.Resources;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;
-import android.widget.Toast;
 
 import com.dayu.baselibrary.utils.AidlUtil;
 import com.dayu.baselibrary.utils.BaseCommon;
 import com.dayu.baselibrary.utils.DateUtil;
+import com.dayu.baselibrary.utils.MornyUtil;
 import com.dayu.baselibrary.utils.TipUtil;
 import com.dayu.qihealonelibrary.QHAloneApplication;
 import com.dayu.qihealonelibrary.card.CleanCard;
@@ -31,6 +30,8 @@
 import com.dayu.qihealonelibrary.tools.WriteCardUtils;
 import com.dayu.qihealonelibrary.utils.CardCommon;
 import com.tencent.bugly.crashreport.CrashReport;
+
+import java.util.Calendar;
 
 /**
  * Copyright (C), 2023,
@@ -151,13 +152,13 @@
                 binding.cardData.setText("鍒朵綔閰嶇疆姘存车鍔熺巼鍗�");
             }
             if (this.getIntent().hasExtra("morny")) {
-                startAnim();
+                // 鍏呭�奸�昏緫
                 isRecharge = true;
                 morny = this.getIntent().getStringExtra("morny");
                 userName = this.getIntent().getStringExtra("userName");
+                cardNumber = this.getIntent().getStringExtra("cardNumber");
+                userCardBean = (UserCardBean) this.getIntent().getSerializableExtra("userCardBean");
                 binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + "鍏�");
-                // 鍏呭�奸�昏緫
-//                recharge(userCard.getInitPeasantCode(), userName, "鍚敤");
             }
 
             try {
@@ -249,7 +250,7 @@
                     try {
                         if (userFlag && userCardBean != null) {
                             //鐢ㄦ埛鍗�
-                            startDetailActivity(userCardBean.getUserName(), "鍚敤");
+                            startDetailActivity(userCardBean.getUserName(), "缁堢鍐欏崱");
                         } else if (!TextUtils.isEmpty(morny)) {
                             TipUtil.show(NFCWreatActivity.this, "鍏呭�兼垚鍔�", () -> NFCWreatActivity.this.finish());
                         } else {
@@ -289,7 +290,7 @@
                 checkHasUser();
             } else if (isRecharge) {
                 //鍏呭�奸�昏緫
-                rechargeWrratCard();
+                rechargeWreatCard();
             } else {
                 //鍏朵粬绠$悊鍗¢�昏緫
                 saveData();
@@ -314,13 +315,12 @@
                 data.append(getResources().getString(com.dayu.baselibrary.R.string.login_title) + "\n");
                 data.append("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial() + "\n");
                 data.append("鐢ㄦ埛鍚嶏細" + rechargeBean.getUserName() + "\n");
-                //            data.append("鎴�  鍙凤細" + rechargeBean.getUserNum() + "\n");
+                data.append("鍗�  鍙凤細" + rechargeBean.getCardNumber() + "\n");
                 data.append("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + "鍏�" + "\n");
                 data.append("鍗″唴浣欓锛�" + rechargeBean.getBalance() + "鍏�" + "\n");
                 data.append("鏃�  鏈燂細" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2) + "\n\n");
                 data.append("*****************************");
             }
-
             float size = 26;
 
             try {
@@ -348,25 +348,41 @@
 
 
     //寰�鍗″唴鍐欏厖鍊煎悗鐨勬暟鎹�
-    private void rechargeWrratCard() {
-        UserCard userCardold = NfcReadHelper.getInstence(intent, this).getUserCardData();
-        if (userCardold != null) {
-            //鍒ゆ柇鏄惁鍏呭�肩殑鏄竴涓崱
-//            if (userCard.getInitPeasantCode().equals(userCardold.getInitPeasantCode())) {
-//                userCard.setState("00");
-//                userFlag = WriteCardUtils.setUser(intent, userCard, this);
-//                //   鎵撳嵃鐩稿叧
-//                if (userFlag) {
-//                    setPrinterData(rechargeBean);
-//                    startDetailActivity(userName, "鍚敤");
-//                } else {
-//                    TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触锛岃閲嶆柊鍐嶈瘯");
-//                }
-//            } else {
-//                TipUtil.show(NFCWreatActivity.this, "璇诲彇鐨勫崱鍜屽厖鍊肩殑鍗′笉涓�鑷�");
-//            }
+    private void rechargeWreatCard() {
+        String cardNumberThis = NfcReadHelper.getInstence(intent, this).getCardNumber();
+        //鍒ゆ柇鏄惁鍏呭�肩殑鏄竴涓崱
+        if (cardNumberThis.equalsIgnoreCase(cardNumber)) {
+            int balance = userCard.getBalance() + MornyUtil.changeY2F(morny);
+            userCard.setBalance(balance);
+            int rechageTims = userCard.getRechargeTimes() + 1;
+            if (rechageTims == 256) {
+                rechageTims = 0;
+            }
+            userCard.setRechargeTimes((short) rechageTims);
+            userCard.setRechargeDate(Calendar.getInstance());
+            userFlag = WriteCardUtils.setUser(intent, userCard, this);
+            if (userFlag) {
+                rechargeBean = new RechargeBean();
+                rechargeBean.setUserName(userName);
+                rechargeBean.setSerial(userCardBean.getSerial());
+                rechargeBean.setUserId(userCardBean.getUserID());
+                rechargeBean.setDate(System.currentTimeMillis());
+                rechargeBean.setMorny(morny);
+                rechargeBean.setBalance(MornyUtil.changeF2Y(balance));
+                rechargeBean.setCardNumber(cardNumber);
+                try {
+                    baseDao.rechargeDao().insert(rechargeBean);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                //   鎵撳嵃鐩稿叧
+                setPrinterData(rechargeBean);
+                startDetailActivity(userName, "缁堢鍐欏崱");
+            } else {
+                TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触锛岃閲嶆柊鍐嶈瘯");
+            }
         } else {
-
+            TipUtil.show(NFCWreatActivity.this, "璇诲彇鐨勫崱鍜屽厖鍊肩殑鍗′笉涓�鑷�");
         }
     }
 
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java
index dfe6a06..7d955f6 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/ReadCardAcitivy.java
@@ -57,9 +57,6 @@
                 int year = calendar.get(Calendar.YEAR);
                 int month = calendar.get(Calendar.MONTH); // 鏈堜唤浠�0寮�濮嬶紝鎵�浠ラ渶瑕佸姞1
                 int day = calendar.get(Calendar.DAY_OF_MONTH);
-                int hour = calendar.get(Calendar.HOUR_OF_DAY);
-                int minute = calendar.get(Calendar.MINUTE);
-                int second = calendar.get(Calendar.SECOND);
                 redCardBinding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細" + year + "骞�" + month + "鏈�" + day + "鏃�");
             } else {
                 redCardBinding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細鏃�");
@@ -99,19 +96,28 @@
             cardType = cardType.split(",")[1];
         }
         List<byte[]> data = NfcReadHelper.getInstence(intent, this).getOnesectorData();
+        String state = "";
+        if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_1)) {
+            state = "缁堢鍐欏崱";
+        } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_2)) {
+            state = "鍒峰崱寮�娉靛悗";
+        } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_3)) {
+            state = "鍙犲姞鍏呭��";
+        }
         switch (cardType) {
             case CardCommon.USER_CARD_TYPE_1:
             case CardCommon.USER_CARD_TYPE_2:
             case CardCommon.USER_CARD_TYPE_3:
+
                 if (!data.isEmpty()) {
                     if (!TextUtils.isEmpty(cardNumber)) {
                         userCard = UserCard.getBean(data);
                         List<UserCardBean> userCardBeans = baseDao.userCardDao().findUserName(cardNumber);
                         if (userCardBeans != null && !userCardBeans.isEmpty()) {
                             UserCardBean userName = userCardBeans.get(0);
-                            setUserData(userName.getUserName(), "鍚敤", cardNumber);
+                            setUserData(userName.getUserName(), state, cardNumber);
                         } else {
-                            setUserData("鏈煡璇㈠埌鐢ㄦ埛鍚�", "鍚敤", cardNumber);
+                            setUserData("鏈煡璇㈠埌鐢ㄦ埛鍚�", state, cardNumber);
                         }
                     } else {
 
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java
index d8e842f..6174ea1 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeActivity.java
@@ -6,15 +6,23 @@
 import android.text.TextUtils;
 import android.text.TextWatcher;
 import android.view.LayoutInflater;
+import android.view.View;
 import android.widget.EditText;
 
+import com.dayu.baselibrary.utils.MornyUtil;
 import com.dayu.baselibrary.utils.TipUtil;
+import com.dayu.qihealonelibrary.card.UserCard;
 import com.dayu.qihealonelibrary.databinding.ActivityRechargeQhaBinding;
 import com.dayu.qihealonelibrary.dbBean.AdminDataBean;
+import com.dayu.qihealonelibrary.dbBean.UserCardBean;
 import com.dayu.qihealonelibrary.tools.NfcReadHelper;
+import com.dayu.qihealonelibrary.utils.CardCommon;
 import com.dayu.qihealonelibrary.utils.DeviceNumberUtils;
 import com.dayu.qihealonelibrary.view.ProgressDialog;
 import com.tencent.bugly.crashreport.CrashReport;
+
+import java.util.Calendar;
+import java.util.List;
 
 
 /**
@@ -32,6 +40,8 @@
 
     AdminDataBean adminData;
     String userName;
+    String cardNumber = null;
+    UserCardBean userCardBean;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -49,24 +59,96 @@
     }
 
     public void onNewIntent(Intent intent) {
-
+        this.intent = intent;
         try {
-            this.intent = intent;
-            userCard = NfcReadHelper.getInstence(intent, this).getUserCardData();
-            if (userCard != null) {
-                ProgressDialog.show(this);
-//                selectBalance(userCard.getInitPeasantCode());
-            } else {
-                TipUtil.show(RechargeActivity.this, "鍗$墖璇诲彇澶辫触");
-            }
-
-//            readAllData(intent);
+            readAllData();
         } catch (Exception e) {
             e.printStackTrace();
             CrashReport.postCatchedException(e);
         }
         super.onNewIntent(intent);
     }
+
+
+    private void readAllData() {
+        String cardType = NfcReadHelper.getInstence(intent, this).getCradTypeAndCardNumber();
+
+        String[] cardTypes = cardType.split(",");
+        if (cardTypes != null && cardTypes.length == 2) {
+            cardNumber = cardType.split(",")[0];
+            cardType = cardType.split(",")[1];
+        }
+        List<byte[]> data = NfcReadHelper.getInstence(intent, this).getOnesectorData();
+
+        if (!data.isEmpty()) {
+            if (!TextUtils.isEmpty(cardNumber)) {
+                setUserData(cardType, cardNumber, data);
+            } else {
+                TipUtil.show(this, "璇诲彇鍗$墖澶辫触锛岃閲嶆柊璐村崱");
+            }
+        } else {
+            TipUtil.show(this, "鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒");
+        }
+    }
+
+
+    private void setUserData(String cardType, String cardNumber, List<byte[]> data) {
+
+
+        String state = "";
+        if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_1)) {
+            state = "缁堢鍐欏崱";
+        } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_2)) {
+            state = "鍒峰崱寮�娉靛悗,褰撳墠鐘舵�佷笉鑳藉厖鍊�";
+            binding.rechargeLL.setVisibility(View.GONE);
+        } else if (cardType.equalsIgnoreCase(CardCommon.USER_CARD_TYPE_3)) {
+            state = "鍙犲姞鍏呭��";
+            binding.rechargeLL.setVisibility(View.GONE);
+        } else {
+            TipUtil.show(this, "闈炵敤鎴峰崱锛屼笉鑳藉厖鍊�");
+            return;
+        }
+        userCard = UserCard.getBean(data);
+        List<UserCardBean> userCardBeans = baseDao.userCardDao().findUserName(cardNumber);
+        AdminDataBean adminDataBean = baseDao.adminDao().findFirst();
+        if (!userCardBeans.isEmpty()){
+            userCardBean = userCardBeans.get(0);
+            if (adminDataBean.addressCode.equalsIgnoreCase(String.valueOf(userCard.getArerNumber()))) {
+                this.userName = userCardBean.getUserName();
+                binding.rechargeReadLL.setVisibility(View.GONE);
+                binding.rechargeTextLL.setVisibility(View.VISIBLE);
+                binding.rechargeRegistBtn.setVisibility(View.VISIBLE);
+                binding.userName.setText(userName);
+                binding.redStatu.setText(state);
+                if (userCard != null) {
+                    Calendar calendar = userCard.getRechargeDate();
+                    if (calendar != null) {
+                        int year = calendar.get(Calendar.YEAR);
+                        int month = calendar.get(Calendar.MONTH); // 鏈堜唤浠�0寮�濮嬶紝鎵�浠ラ渶瑕佸姞1
+                        int day = calendar.get(Calendar.DAY_OF_MONTH);
+                        binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細" + year + "骞�" + month + "鏈�" + day + "鏃�");
+                    } else {
+                        binding.redRechargeDate.setText("鏈崱鏈�鍚庤喘姘存棩鏈燂細鏃�");
+                    }
+                    binding.redInitCode.setText(cardNumber);
+                    binding.redRechargeNumber.setText("鏈崱鍏呭�兼鏁帮細" + userCard.getRechargeTimes() + "");
+                    binding.redTotalWater.setText("鎬荤敤姘撮噺锛�" + userCard.getTotalWater());
+                    binding.redTotalPower.setText("鎬荤敤鐢甸噺锛�" + userCard.getTotalElectric());
+                    binding.redRemainderBlance.setText(MornyUtil.changeF2Y(userCard.getBalance()) + "鍏�");
+                    binding.redRemainderWater.setText("鍓╀綑姘撮噺锛�" + userCard.getSurplusWater());
+                }
+
+            } else {
+                TipUtil.show(this, "涓嶆槸鏈尯鍩熷崱");
+            }
+        }else {
+            TipUtil.show(this, "鏈煡璇㈠埌璇ュ崱鐢ㄦ埛淇℃伅");
+        }
+
+
+
+    }
+
 
     private void initView() {
         try {
@@ -78,15 +160,13 @@
         binding.rechargeRegistBtn.setOnClickListener(v -> {
             String morny = binding.rechargeWater.getText().toString();
             if (!TextUtils.isEmpty(morny)) {
-                String initCode = DeviceNumberUtils.getDeviceNumber();
-                if (TextUtils.isEmpty(initCode)) {
-                    TipUtil.show(RechargeActivity.this, "璁惧娉ㄥ唽鍙蜂负绌猴紝璇峰厛璁剧疆IP鍜岀鐞嗗憳鍦板潃");
-                    return;
-                }
                 Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class);
+                //褰撳墠閲戦鍗曚綅涓哄厓
                 intent.putExtra("morny", morny);
                 intent.putExtra("userName", userName);
+                intent.putExtra("cardNumber", cardNumber);
                 intent.putExtra("userCard", userCard);
+                intent.putExtra("userCardBean", userCardBean);
                 startActivity(intent);
             } else {
                 TipUtil.show(RechargeActivity.this, "璇疯緭鍏ュ厖鍊奸噾棰濓紙鍏冿級");
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeDetailActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeDetailActivity.java
index b505371..3c6c752 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeDetailActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/RechargeDetailActivity.java
@@ -55,7 +55,7 @@
         int balance = userCard.getBalance();
         if (!TextUtils.isEmpty(morny)) {
             binding.tip.setText("鍏呭�兼垚鍔燂紒");
-            balance = userCard.getBalance() + MornyUtil.changeY2F(morny);
+            balance = userCard.getBalance() ;
             binding.redRemainderMorny.setText("鍏呭�奸噾棰濓細" + morny + " 鍏�");
         } else {
             binding.tip.setText("寮�鍗℃垚鍔燂紒");
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/adapter/RechargeAdapter.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/adapter/RechargeAdapter.java
index b904d99..2aac4c1 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/adapter/RechargeAdapter.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/adapter/RechargeAdapter.java
@@ -51,8 +51,8 @@
     public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
         if (holder instanceof ViewHolder) {
             if (rechargeList.size() > 0) {
-                ((ViewHolder) holder).getBinding().userName.setText("鐢ㄦ埛鍚�:" + rechargeList.get(position).getUserName());
-                ((ViewHolder) holder).getBinding().userNo.setText("鐢ㄦ埛缂栧彿:" + rechargeList.get(position).getInitPeasantCode());
+                ((ViewHolder) holder).getBinding().userName.setText("濮撳悕:" + rechargeList.get(position).getUserName());
+                ((ViewHolder) holder).getBinding().userNo.setText("鍗″彿:" + rechargeList.get(position).getCardNumber());
                 ((ViewHolder) holder).getBinding().morny.setText("鍏呭�奸噾棰�:" + rechargeList.get(position).getMorny());
                 ((ViewHolder) holder).getBinding().date.setText("鏃ユ湡:" + DateUtil.dateToStamp(rechargeList.get(position).getDate(), DateUtil.type1));
             }
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/RegionCard.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/RegionCard.java
index 222a0d4..fb4443a 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/RegionCard.java
+++ b/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,7 +65,7 @@
     /**
      * 绗�1鎵囧尯0鍧� 瀛樺偍鐨勬暟鎹�
      */
-    public class Zero  {
+    public class Zero {
         public byte[] toByte() {
             byte[] data = new byte[16];
             data[0] = HexUtil.hexToByte(cardType);
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java
index ce0fc24..7ae89d7 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java
@@ -20,13 +20,13 @@
     public int arerNumber;//鍖哄煙鍙�(搴曚綅鍦ㄥ墠楂樹綅鍦ㄥ悗)
 
     public int deviceNumberl;//璁惧缂栧彿(搴曚綅鍦ㄥ墠楂樹綅鍦ㄥ悗)
-    public byte rechargeTimes;//鍏呭�兼鏁�
+    public short rechargeTimes;//鍏呭�兼鏁�
 
     public int totalWater;//鐢ㄦ埛鎬荤敤姘撮噺  搴曚綅鍦ㄥ墠锛岄珮浣嶅湪鍚�2浣嶅皬鏁扮偣  鍚袱涓皬鏁扮偣鐨勬暣鏁�
 
     public int totalElectric;//鎬荤敤鐢甸噺浣� 搴曚綅鍦ㄥ墠锛岄珮浣嶅湪鍚�  1浣嶅皬鏁扮偣  鍚�1浣嶅皬鏁扮偣鐨勬暣鏁�
 
-    public int balance;//鍓╀綑閲戦 搴曚綅鍦ㄥ墠  2浣嶅皬鏁扮偣锛屽崟浣嶅厓
+    public int balance;//鍓╀綑閲戦 搴曚綅鍦ㄥ墠  2浣嶅皬鏁扮偣锛屽崟浣嶅垎
 
     public int surplusWater;//鍓╀綑姘撮噺 搴曚綅鍦ㄥ墠  2浣嶅皬鏁扮偣銆�鍗曚綅绔嬫柟绫�
 
@@ -48,32 +48,31 @@
 
             byte[] arerNumberByte = new byte[2];
             System.arraycopy(zero, 1, arerNumberByte, 0, arerNumberByte.length);
-            userCard.arerNumber = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(arerNumberByte));
+            userCard.arerNumber =  HexUtil.get16To10LowHightByBytes(arerNumberByte);
 
             byte[] deviceNumberlByte = new byte[2];
             System.arraycopy(zero, 3, deviceNumberlByte, 0, deviceNumberlByte.length);
-            userCard.deviceNumberl =  HexUtil.get16to10LowHigh(HexUtil.bytesToHex(deviceNumberlByte));
+            userCard.deviceNumberl =  HexUtil.get16To10LowHightByBytes(deviceNumberlByte);
 
             userCard.rechargeTimes = HexUtil.hexToByte(HexUtil.byteToHex(zero[5]));
 
             byte[] totalWaterByte = new byte[4];
-            System.arraycopy(zero, 3, totalWaterByte, 0, totalWaterByte.length);
-            userCard.totalWater = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(totalWaterByte));
+            System.arraycopy(zero, 6, totalWaterByte, 0, totalWaterByte.length);
+            userCard.totalWater = HexUtil.get16To10LowHightByBytes(totalWaterByte);
 
             byte[] totalElectricByte = new byte[4];
-            System.arraycopy(zero, 3, totalElectricByte, 0, totalElectricByte.length);
-            userCard.totalElectric = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(totalElectricByte));
+            System.arraycopy(zero, 10, totalElectricByte, 0, totalElectricByte.length);
+            userCard.totalElectric = HexUtil.get16To10LowHightByBytes(totalElectricByte);
 
             //绗�1鍧楄В鏋�
             byte[] one = data.get(1);
-
             byte[] balanceByte = new byte[4];
             System.arraycopy(one, 0, balanceByte, 0, balanceByte.length);
-            userCard.balance = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(balanceByte));
+            userCard.balance =HexUtil.get16To10LowHightByBytes(balanceByte);
 
             byte[] surplusWaterByte = new byte[4];
             System.arraycopy(one, 4, surplusWaterByte, 0, surplusWaterByte.length);
-            userCard.surplusWater = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(surplusWaterByte));
+            userCard.surplusWater = HexUtil.get16To10LowHightByBytes(surplusWaterByte);
 
             byte[] rechargeDateByte = new byte[3];
             System.arraycopy(one, 12, rechargeDateByte, 0, rechargeDateByte.length);
@@ -104,21 +103,35 @@
             try {
                 byte[] data = new byte[16];
                 data[0] = HexUtil.hexToByte(cardType);
-                byte[] arerNumberBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(arerNumber));
+                //鍖哄煙鍙�
+                byte[] arerNumberBytes = new byte[2];
+                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[] deviceNumberlBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(deviceNumberl));
+                //璁惧缂栧彿
+                byte[] deviceNumberlBytes = new byte[2];
+                byte[] deviceNumberlDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(deviceNumberl));
+                System.arraycopy(deviceNumberlDatas, 0, deviceNumberlBytes, 0, deviceNumberlDatas.length);
                 if (deviceNumberlBytes != null) {
                     System.arraycopy(deviceNumberlBytes, 0, data, 3, deviceNumberlBytes.length);
                 }
+                //鍏呭�兼鏁�
                 byte rechargeTimesByte = HexUtil.hexToByte(HexUtil.get10to16(rechargeTimes));
                 data[5] = rechargeTimesByte;
-                byte[] totalWaterBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(totalWater));
+
+                //鐢ㄦ埛鎬荤敤姘撮噺
+                byte[] totalWaterBytes = new byte[4];
+                byte[] totalWaterDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(totalWater));
+                System.arraycopy(totalWaterDatas, 0, totalWaterBytes, 0, totalWaterDatas.length);
                 if (totalWaterBytes != null) {
                     System.arraycopy(totalWaterBytes, 0, data, 6, totalWaterBytes.length);
                 }
-                byte[] totalElectricBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(totalElectric));
+                //鎬荤敤鐢甸噺浣�
+                byte[] totalElectricBytes = new byte[4];
+                byte[] totalElectricDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(totalElectric));
+                System.arraycopy(totalElectricDatas, 0, totalElectricBytes, 0, totalElectricDatas.length);
                 if (totalElectricBytes != null) {
                     System.arraycopy(totalElectricBytes, 0, data, 10, totalElectricBytes.length);
                 }
@@ -143,16 +156,19 @@
 
 
             try {
-                byte[] balanceBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(balance));
+                byte[] balanceBytes = new byte[4];
+                byte[] balanceDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(balance));
+                System.arraycopy(balanceDatas, 0, balanceBytes, 0, balanceDatas.length);
                 if (balanceBytes != null) {
                     System.arraycopy(balanceBytes, 0, data, 0, balanceBytes.length);
                 }
 
-                byte[] surplusWaterBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(surplusWater));
+                byte[] surplusWaterBytes = new byte[4];
+                byte[] surplusWaterDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(surplusWater));
+                System.arraycopy(surplusWaterDatas, 0, surplusWaterBytes, 0, surplusWaterDatas.length);
                 if (surplusWaterBytes != null) {
-                    System.arraycopy(surplusWaterBytes, 0, data, 0, surplusWaterBytes.length);
+                    System.arraycopy(surplusWaterBytes, 0, data, 4, surplusWaterBytes.length);
                 }
-
 
                 if (rechargeDate != null) {
                     // 鑾峰彇骞淬�佹湀銆佹棩銆佹椂銆佸垎銆佺
@@ -186,14 +202,18 @@
             byte[] data = new byte[16];
 
             try {
-                byte[] balanceBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(balance));
+                byte[] balanceBytes = new byte[4];
+                byte[] balanceDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(balance));
+                System.arraycopy(balanceDatas, 0, balanceBytes, 0, balanceDatas.length);
                 if (balanceBytes != null) {
                     System.arraycopy(balanceBytes, 0, data, 0, balanceBytes.length);
                 }
 
-                byte[] surplusWaterBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(surplusWater));
+                byte[] surplusWaterBytes = new byte[4];
+                byte[] surplusWaterDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(surplusWater));
+                System.arraycopy(surplusWaterDatas, 0, surplusWaterBytes, 0, surplusWaterDatas.length);
                 if (surplusWaterBytes != null) {
-                    System.arraycopy(surplusWaterBytes, 0, data, 0, surplusWaterBytes.length);
+                    System.arraycopy(surplusWaterBytes, 0, data, 4, surplusWaterBytes.length);
                 }
 
                 if (rechargeDate != null) {
@@ -258,11 +278,11 @@
         this.deviceNumberl = deviceNumberl;
     }
 
-    public byte getRechargeTimes() {
+    public short getRechargeTimes() {
         return rechargeTimes;
     }
 
-    public void setRechargeTimes(byte rechargeTimes) {
+    public void setRechargeTimes(short rechargeTimes) {
         this.rechargeTimes = rechargeTimes;
     }
 
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/dao/UserCardDao.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/dao/UserCardDao.java
index 5e70e23..52c88c2 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/dao/UserCardDao.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/dao/UserCardDao.java
@@ -43,6 +43,6 @@
     @Query("select COUNT(*) from UserCardBean")
     int getUserTotale();
 
-    @Query("select  * from UserCardBean where cardNumber =:data")
+    @Query("select  * from UserCardBean where cardNumber =:data order by date desc")
     List<UserCardBean> findUserName(String data);
 }
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/dbBean/RechargeBean.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/dbBean/RechargeBean.java
index c3440e7..156b8d4 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/dbBean/RechargeBean.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/dbBean/RechargeBean.java
@@ -18,30 +18,21 @@
     public String userName;
     public String userId;//鐢ㄦ埛韬唤璇佸彿
     public long date;
-    public String morny;//鍏呭�奸噾棰�
-    public String balance;//浣欓
+    public String morny;//鍏呭�奸噾棰� 鍗曚綅鍏�
+    public String balance;//浣欓 鍗曚綅鍏�
     public String total_morn;//鎬诲厖鍊奸噾棰�
     //鐘舵�� 0鏈笂浼� 1鎴愬姛涓婁紶
-    public String orderID;//璁㈠崟鍙�
-    //鏈嶅姟鍣ㄨ繑鍥炵殑鍐滄埛娉ㄥ唽缂栧彿
-    private String initPeasantCode;
-
     public int state = 0;
 
-    public String getOrderID() {
-        return orderID;
+    public String cardNumber;//鍗″彿
+
+
+    public String getCardNumber() {
+        return cardNumber;
     }
 
-    public void setOrderID(String orderID) {
-        this.orderID = orderID;
-    }
-
-    public String getInitPeasantCode() {
-        return initPeasantCode;
-    }
-
-    public void setInitPeasantCode(String initPeasantCode) {
-        this.initPeasantCode = initPeasantCode;
+    public void setCardNumber(String cardNumber) {
+        this.cardNumber = cardNumber;
     }
 
     public String getTotal_morn() {
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/utils/ExcelUtil.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/utils/ExcelUtil.java
index 2b82c1d..beefc7a 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/utils/ExcelUtil.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/utils/ExcelUtil.java
@@ -132,7 +132,7 @@
                         RechargeBean projectBean = (RechargeBean) objList.get(j);
                         list.add(projectBean.getSerial());
                         list.add(projectBean.getUserName());
-                        list.add(projectBean.getOrderID());
+                        list.add(projectBean.getCardNumber());
                         list.add(DateUtil.dateToStamp(projectBean.getDate(), DateUtil.type2));
                         list.add(projectBean.getMorny());
                         list.add(projectBean.getBalance());
@@ -141,6 +141,7 @@
                         list.add(userCardBean.getSerial());
                         list.add(userCardBean.getUserName());
                         list.add(userCardBean.getUserID());
+                        list.add(userCardBean.getCardNumber());
                         list.add(DateUtil.dateToStamp(userCardBean.getDate(), DateUtil.type2));
                         list.add(userCardBean.getPhone());
                     }
diff --git a/qihealonelibrary/src/main/res/layout/activity_admin_setup_qha.xml b/qihealonelibrary/src/main/res/layout/activity_admin_setup_qha.xml
index aad804e..d7a3b10 100644
--- a/qihealonelibrary/src/main/res/layout/activity_admin_setup_qha.xml
+++ b/qihealonelibrary/src/main/res/layout/activity_admin_setup_qha.xml
@@ -28,7 +28,8 @@
             <LinearLayout
                 style="@style/newCardLL"
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content">
+                android:layout_height="wrap_content"
+                android:visibility="gone">
 
                 <TextView
                     android:layout_width="0dp"
diff --git a/qihealonelibrary/src/main/res/layout/activity_my_qha.xml b/qihealonelibrary/src/main/res/layout/activity_my_qha.xml
index a01d709..d364480 100644
--- a/qihealonelibrary/src/main/res/layout/activity_my_qha.xml
+++ b/qihealonelibrary/src/main/res/layout/activity_my_qha.xml
@@ -26,6 +26,7 @@
 
             <LinearLayout
                 android:id="@+id/my_village"
+                android:visibility="gone"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal">
diff --git a/qihealonelibrary/src/main/res/layout/activity_recharge_qha.xml b/qihealonelibrary/src/main/res/layout/activity_recharge_qha.xml
index 6c5b8e9..106296c 100644
--- a/qihealonelibrary/src/main/res/layout/activity_recharge_qha.xml
+++ b/qihealonelibrary/src/main/res/layout/activity_recharge_qha.xml
@@ -57,7 +57,7 @@
             <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="鐢ㄦ埛濮撳悕锛�"
+                android:text="濮撳悕锛�"
                 android:textSize="@dimen/new_card_size" />
 
             <TextView
@@ -77,7 +77,7 @@
             <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="鐢ㄦ埛娉ㄥ唽缂栧彿锛�"
+                android:text="鍗″彿锛�"
                 android:textSize="@dimen/text_size" />
 
             <TextView
@@ -109,6 +109,50 @@
                 android:textSize="@dimen/new_card_size" />
 
         </LinearLayout>
+        <TextView
+            android:id="@+id/red_remainder_water"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="15dp"
+            android:text="鍓╀綑姘撮噺锛�"
+            android:textSize="@dimen/text_size" />
+
+        <TextView
+            android:id="@+id/red_rechargeDate"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="15dp"
+            android:text="鏈�鍚庤喘姘存棩鏈燂細"
+            android:textSize="@dimen/text_size"
+            android:visibility="visible" />
+
+        <TextView
+            android:id="@+id/red_rechargeNumber"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="15dp"
+            android:text="鍏呭�兼鏁帮細"
+            android:textSize="@dimen/text_size"
+            android:visibility="visible" />
+
+        <TextView
+            android:id="@+id/red_total_water"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="15dp"
+            android:text="鎬荤敤姘撮噺锛�"
+            android:textSize="@dimen/text_size"
+            android:visibility="visible" />
+
+        <TextView
+            android:id="@+id/red_total_power"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="15dp"
+            android:text="鎬荤敤鐢甸噺锛�"
+            android:textSize="@dimen/text_size"
+            android:visibility="visible" />
+
 
         <LinearLayout
             android:layout_width="match_parent"
diff --git a/qihealonelibrary/src/main/res/layout/activity_red_card_qha.xml b/qihealonelibrary/src/main/res/layout/activity_red_card_qha.xml
index 8da0c8c..f0b5b90 100644
--- a/qihealonelibrary/src/main/res/layout/activity_red_card_qha.xml
+++ b/qihealonelibrary/src/main/res/layout/activity_red_card_qha.xml
@@ -18,7 +18,7 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_below="@id/titleBar"
-        android:visibility="visible">
+        android:visibility="gone">
 
         <LinearLayout
             android:layout_width="match_parent"
@@ -31,7 +31,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="15dp"
-                android:text="鐢ㄦ埛濮撳悕锛�"
+                android:text="濮撳悕锛�"
                 android:textSize="@dimen/text_size" />
 
             <LinearLayout
@@ -160,7 +160,7 @@
         android:layout_below="@id/titleBar"
         android:background="#ffffff"
         android:orientation="vertical"
-        android:visibility="gone">
+        android:visibility="visible">
 
         <TextView
             android:layout_width="match_parent"

--
Gitblit v1.8.0