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