左晓为主开发手持机充值管理机
zuoxiao
2023-11-23 50f6dd3b617f769e7fc6094c2dd0752747541489
app/src/main/java/com/dayu/recharge/activity/MyActivity.java
@@ -6,17 +6,21 @@
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.recharge.MyApplication;
import com.dayu.recharge.databinding.ActivityMyBinding;
import com.dayu.recharge.dbBean.AdminDataBean;
import com.dayu.recharge.net.SocketNet;
import com.dayu.recharge.utils.DeviceNumberUtils;
import com.dayu.recharge.utils.ExcelUtil;
import com.dayu.recharge.utils.ToastUtil;
import com.dayu.recharge.utils.WSHelper;
import com.dayu.recharge.utils.TipUtil;
import com.dayu.recharge.view.PassWordDialog;
import com.dayu.recharge.view.datepicker.CustomDatePicker;
import com.dayu.recharge.view.datepicker.DateFormatUtils;
@@ -55,12 +59,18 @@
    }
    private void initView() {
        myBinding.cardReplacement.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(MyActivity.this, ReplacementActivity.class));
            }
        });
        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));
                PassWordDialog passWordDialog = new PassWordDialog(MyActivity.this, new Intent(MyActivity.this, AdminSetupActivity.class));
                passWordDialog.show();
//                startActivity(new Intent(MyActivity.this, AdminSetupActivity.class));
            }
        });
        myBinding.myPsw.setOnClickListener(new View.OnClickListener() {
@@ -105,49 +115,80 @@
        myBinding.sysIp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MyActivity.this, SysIpActivity.class);
                startActivity(intent);
                PassWordDialog passWordDialog = new PassWordDialog(MyActivity.this, new Intent(MyActivity.this, SysIpActivity.class));
                passWordDialog.show();
            }
        });
    }
    Handler handler = new Handler(new Handler.Callback() {
        @Override
        public boolean handleMessage(@NonNull Message msg) {
            switch (msg.what) {
                case 1:
                    TipUtil.show(MyActivity.this, "导出成功!");
                    break;
                default:
                    TipUtil.show(MyActivity.this, "导出失败!");
                    break;
            }
            stopAnim();
            return false;
        }
    });
    /**
     * 导出成Excel
     */
    private void outExcl() {
        startAnim();
        File file = new File(ExcelUtil.outPath);
        //文件夹是否已经存在
        if (!file.exists()) {
            file.mkdirs();
        }
        List listData = new ArrayList();
        try {
//            if (isRechargeList) {
//                listData = SqLite_DB_Utile.getInit(MyActivity.this).selector(RechargeBean.class).where("date", ">=", beginTime).and("date", "<=", endTime).findAll();
//            } else {
//                listData = SqLite_DB_Utile.getInit(MyActivity.this).selector(UserCardBean.class).where("date", ">=", beginTime).and("date", "<=", endTime).findAll();
//            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        String[] title;
        String fileName;
        if (listData == null || listData.size() == 0) {
            ToastUtil.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);
        stopAnim();
        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 = baseDao.userCardDao().findByTime(beginTime, endTime);
                            }
                        } 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) {
@@ -172,23 +213,19 @@
        try {
            adminData = baseDao.adminDao().findFirst();
            if (adminData != null) {
                myBinding.myAdminName.setText(adminData.getName());
                myBinding.myAdminName.setText(adminData.getSheng() + adminData.getShi() + adminData.getXian() + adminData.getZhen() + adminData.getCun());
                myBinding.myVillageNum.setText(adminData.getSerial());
            } else {
                myBinding.myAdminName.setText("请点击管理员设置");
                myBinding.myVillageNum.setText("请点击管理员设置");
                myBinding.myAdminName.setText("请点击地址信息设置");
                myBinding.myVillageNum.setText("请点击地址信息设置");
            }
            StringBuilder msgData = new StringBuilder();
            if (MyApplication.myApplication.isConncet) {
                msgData.append("已连接数据中心");
            } else {
                msgData.append("未连接数据中心");
            }
            String initCode = WSHelper.getInstance(this).get("initCode", "");
            String initCode = DeviceNumberUtils.getDeviceNumber();
            if (TextUtils.isEmpty(initCode)) {
                msgData.append(",设备未注册");
                msgData.append("设备未注册");
            } else {
                msgData.append(",设备已注册,设备注册号:" + initCode);
                msgData.append("设备注册号:" + initCode);
            }
            myBinding.myTestConnect.setText(msgData);
        } catch (Exception e) {
@@ -230,7 +267,7 @@
            public void onTimeSelected(long timestamp) {
                endTime = timestamp;
                if ((endTime < beginTime) && endTime != beginTime) {
                    ToastUtil.show(MyActivity.this, "结束时间不能晚于开始时间");
                    TipUtil.show(MyActivity.this, "结束时间不能晚于开始时间");
                } else {
                    try {
                        endTime = endTime + (1000 * 60 * 60 * 24) - 1;