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