From d0a0e8e242e293ad35dfbee1217f1103302818cd Mon Sep 17 00:00:00 2001
From: zuojincheng <lf_zuo@163.com>
Date: 星期四, 03 四月 2025 10:22:48 +0800
Subject: [PATCH] refactor(generallibrary):重构卡片和用户搜索功能
---
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivityQHAlone.java | 313 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 313 insertions(+), 0 deletions(-)
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivityQHAlone.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivityQHAlone.java
new file mode 100644
index 0000000..a8e618b
--- /dev/null
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivityQHAlone.java
@@ -0,0 +1,313 @@
+package com.dayu.qihealonelibrary.activity;
+
+import android.Manifest;
+import android.app.Activity;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+
+import com.dayu.baselibrary.utils.TipUtil;
+import com.dayu.baselibrary.view.PassWordDialog;
+import com.dayu.baselibrary.view.datepicker.CustomDatePicker;
+import com.dayu.baselibrary.view.datepicker.DateFormatUtils;
+import com.dayu.qihealonelibrary.databinding.ActivityMyQhaBinding;
+import com.dayu.qihealonelibrary.dbBean.AdminDataBean;
+import com.dayu.qihealonelibrary.dbBean.ElectricPriceBean;
+import com.dayu.qihealonelibrary.utils.DeviceNumberUtils;
+import com.dayu.qihealonelibrary.utils.ExcelUtil;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Copyright (C), 2023,
+ * Author: zuo
+ * Date: 2023-11-10 19:52
+ * Description: 涓汉涓績
+ */
+public class MyActivityQHAlone extends QHAloneBaseActivity {
+
+
+ private CustomDatePicker beginDatePicker;
+ private CustomDatePicker endDatePicker;
+ long beginTime;
+ long endTime;
+
+ boolean isRechargeList = false;
+ ActivityMyQhaBinding myBinding;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ myBinding = ActivityMyQhaBinding.inflate(LayoutInflater.from(this));
+ setContentView(myBinding.getRoot());
+ getVersion(this);
+ setData();
+ initDatePicker();
+ initView();
+ }
+
+ private void initView() {
+
+ myBinding.myAdmin.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ PassWordDialog passWordDialog = new PassWordDialog(MyActivityQHAlone.this, new Intent(MyActivityQHAlone.this, AdminSetupActivityQHAlone.class));
+ passWordDialog.show();
+// startActivity(new Intent(MyActivity.this, AdminSetupActivity.class));
+ }
+ });
+ myBinding.myWaterPriceLL.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ PassWordDialog passWordDialog = new PassWordDialog(MyActivityQHAlone.this, new Intent(MyActivityQHAlone.this, AdminSetupActivityQHAlone.class));
+ passWordDialog.show();
+ }
+ });
+ myBinding.myPsw.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivity(new Intent(MyActivityQHAlone.this, PassWordActivityQHAlone.class));
+ }
+ });
+ myBinding.myRechargeListLl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivity(new Intent(MyActivityQHAlone.this, RechargeListActivityQHAlone.class));
+ }
+ });
+ myBinding.myNewCardListLl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivity(new Intent(MyActivityQHAlone.this, NewCardListActivityQHAlone.class));
+ }
+ });
+ myBinding.myNewCardOut.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ isRechargeList = false;
+ beginDatePicker.show(System.currentTimeMillis());
+ }
+ });
+ myBinding.myRechargeOut.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ isRechargeList = true;
+ beginDatePicker.show(System.currentTimeMillis());
+ }
+ });
+
+
+ }
+
+
+ Handler handler = new Handler(new Handler.Callback() {
+ @Override
+ public boolean handleMessage(@NonNull Message msg) {
+ switch (msg.what) {
+ case 1:
+ TipUtil.show(MyActivityQHAlone.this, "瀵煎嚭鎴愬姛!");
+ break;
+ case 3:
+ TipUtil.show(MyActivityQHAlone.this, "璁板綍涓虹┖!");
+ break;
+ default:
+ TipUtil.show(MyActivityQHAlone.this, "瀵煎嚭澶辫触!");
+ break;
+ }
+ stopAnim();
+ return false;
+ }
+ });
+
+ /**
+ * 瀵煎嚭鎴怑xcel
+ */
+ private void outExcl() {
+ startAnim();
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ {
+ try {
+ File file = new File(ExcelUtil.outPath);
+ //鏂囦欢澶规槸鍚﹀凡缁忓瓨鍦�
+ if (!file.exists()) {
+ file.mkdirs();
+ }
+ List listData = new ArrayList();
+ try {
+ if (isRechargeList) {
+ listData = asynchBaseDao.rechargeDao().ansyFindByTime(beginTime, endTime);
+ } else {
+ listData = asynchBaseDao.userCardDao().findByTime(beginTime, endTime);
+ }
+ if (listData == null || listData.size() == 0) {
+ handler.sendEmptyMessage(2);
+ return;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ String[] title;
+ String fileName;
+ if (listData == null || listData.size() == 0) {
+ TipUtil.show(MyActivityQHAlone.this, "璁板綍涓虹┖");
+ return;
+ }
+ if (isRechargeList) {
+ title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "鍗″彿", "鍏呭�兼棩鏈�", "鍏呭�奸噾棰濓紙鍏冿級", "鍓╀綑閲戦锛堝厓锛�"};
+ fileName = file.toString() + "/" + ExcelUtil.outRechargePathName;
+ } else {
+ title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "鍗″彿", "娉ㄥ唽鏃ユ湡", "鐢佃瘽"};
+ fileName = file.toString() + "/" + ExcelUtil.outUserPathName;
+ }
+ ExcelUtil.initExcel(fileName, title);
+ ExcelUtil.writeObjListToExcel(listData, fileName, MyActivityQHAlone.this);
+ handler.sendEmptyMessage(1);
+ } catch (Exception e) {
+ handler.sendEmptyMessage(2);
+ e.printStackTrace();
+ }
+ }
+ }
+ }).start();
+
+
+ }
+
+ void getVersion(Activity context) {
+ int REQUEST_CODE_PERMISSION_STORAGE = 100;
+ if (Build.VERSION.SDK_INT >= 23) {
+ String[] permissions = {
+ Manifest.permission.READ_EXTERNAL_STORAGE,
+ Manifest.permission.WRITE_EXTERNAL_STORAGE
+ };
+
+ for (String str : permissions) {
+ if (context.checkSelfPermission(str) != PackageManager.PERMISSION_GRANTED) {
+ context.requestPermissions(permissions, REQUEST_CODE_PERMISSION_STORAGE);
+ return;
+ }
+ }
+ }
+ }
+
+ private void setData() {
+ AdminDataBean adminData;
+ try {
+ adminData = baseDao.adminDao().findFirst();
+ if (adminData != null) {
+ myBinding.myAdminName.setText(adminData.getAddressCode());
+ myBinding.myVillageNum.setText(adminData.getSerial());
+// myBinding.myWaterPrice.setText(MornyUtil.changeF2Y(adminData.getWaterPrice()));
+ } else {
+ myBinding.myAdminName.setText("璇风偣鍑诲尯鍩熷彿杩涜璁剧疆");
+ myBinding.myVillageNum.setText("璇风偣鍑诲尯鍩熷彿杩涜璁剧疆");
+// myBinding.myWaterPrice.setText("璇风偣鍑诲尯鍩熷彿杩涜璁剧疆");
+ }
+ StringBuilder msgData = new StringBuilder();
+
+ String initCode = DeviceNumberUtils.getDeviceNumber();
+ if (TextUtils.isEmpty(initCode)) {
+ msgData.append("璁惧鏈敞鍐�");
+ } else {
+ msgData.append("璁惧娉ㄥ唽鍙凤細" + initCode);
+ }
+ myBinding.myTestConnect.setText(msgData);
+ ElectricPriceBean priceBean = baseDao.electricPriceDao().findFirst();
+ if (priceBean != null) {
+ myBinding.myWaterPrice.setText(priceBean.getPrice() + "鍏�");
+ } else {
+ myBinding.myWaterPrice.setText("1.000鍏�");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ setData();
+ }
+
+
+ private void initDatePicker() {
+ long beginTimestamp = DateFormatUtils.str2Long("2009-05-01", false);
+ final long endTimestamp = System.currentTimeMillis();
+
+ // 閫氳繃鏃堕棿鎴冲垵濮嬪寲鏃ユ湡锛屾绉掔骇鍒�
+ beginDatePicker = new CustomDatePicker(this, "閫夋嫨寮�濮嬫椂闂�", new CustomDatePicker.Callback() {
+ @Override
+ public void onTimeSelected(long timestamp) {
+ beginTime = timestamp;
+ endDatePicker.show(timestamp);
+ }
+ }, beginTimestamp, endTimestamp);
+ // 涓嶅厑璁哥偣鍑诲睆骞曟垨鐗╃悊杩斿洖閿叧闂�
+ beginDatePicker.setCancelable(false);
+ // 涓嶆樉绀烘椂鍜屽垎
+ beginDatePicker.setCanShowPreciseTime(false);
+ // 涓嶅厑璁稿惊鐜粴鍔�
+ beginDatePicker.setScrollLoop(false);
+ // 涓嶅厑璁告粴鍔ㄥ姩鐢�
+ beginDatePicker.setCanShowAnim(false);
+
+ endDatePicker = new CustomDatePicker(this, "閫夋嫨缁撴潫鏃堕棿", new CustomDatePicker.Callback() {
+ @Override
+ public void onTimeSelected(long timestamp) {
+ endTime = timestamp;
+ if ((endTime < beginTime) && endTime != beginTime) {
+ TipUtil.show(MyActivityQHAlone.this, "缁撴潫鏃堕棿涓嶈兘鏅氫簬寮�濮嬫椂闂�");
+ } else {
+ try {
+ endTime = endTime + (1000 * 60 * 60 * 24) - 1;
+ outExcl();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }, beginTimestamp, endTimestamp);
+ // 涓嶅厑璁哥偣鍑诲睆骞曟垨鐗╃悊杩斿洖閿叧闂�
+ endDatePicker.setCancelable(false);
+ // 涓嶆樉绀烘椂鍜屽垎
+ endDatePicker.setCanShowPreciseTime(false);
+ // 涓嶅厑璁稿惊鐜粴鍔�
+ endDatePicker.setScrollLoop(false);
+ // 涓嶅厑璁告粴鍔ㄥ姩鐢�
+ endDatePicker.setCanShowAnim(false);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ endDatePicker.onDestroy();
+ beginDatePicker.onDestroy();
+ }
+
+ void startAnim() {
+ myBinding.avi.setVisibility(View.VISIBLE);
+ myBinding.avi.show();
+ // or avi.smoothToShow();
+ }
+
+ void stopAnim() {
+ myBinding.avi.hide();
+ // or avi.smoothToHide();
+ }
+
+
+}
--
Gitblit v1.8.0