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