From 9450bcb197c2de53982368d5c2059b31abed3b87 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期五, 09 八月 2024 17:40:29 +0800 Subject: [PATCH] 齐河联网版程序除补卡相关逻辑 --- qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java | 314 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 314 insertions(+), 0 deletions(-) diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java new file mode 100644 index 0000000..4520884 --- /dev/null +++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/MyActivity.java @@ -0,0 +1,314 @@ +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.MornyUtil; +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 MyActivity extends BaseActivity { + + + 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(MyActivity.this, new Intent(MyActivity.this, AdminSetupActivity.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(MyActivity.this, new Intent(MyActivity.this, AdminSetupActivity.class)); + passWordDialog.show(); + } + }); + myBinding.myPsw.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + startActivity(new Intent(MyActivity.this, PassWordActivity.class)); + } + }); + myBinding.myRechargeListLl.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + startActivity(new Intent(MyActivity.this, RechargeListActivity.class)); + } + }); + myBinding.myNewCardListLl.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + startActivity(new Intent(MyActivity.this, NewCardListActivity.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(MyActivity.this, "瀵煎嚭鎴愬姛!"); + break; + case 3: + TipUtil.show(MyActivity.this, "璁板綍涓虹┖!"); + break; + default: + TipUtil.show(MyActivity.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(MyActivity.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, MyActivity.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(MyActivity.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