左晓为主开发手持机充值管理机
zuoxiao
2024-09-27 feb7add1979c830e0d940286242a7c489f2f8f96
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/AdminSetupActivityQHAlone.java
New file
@@ -0,0 +1,178 @@
package com.dayu.qihealonelibrary.activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.widget.EditText;
import com.dayu.baselibrary.utils.MornyUtil;
import com.dayu.baselibrary.utils.TipUtil;
import com.dayu.qihealonelibrary.databinding.ActivityAdminSetupQhaBinding;
import com.dayu.qihealonelibrary.dbBean.AdminDataBean;
import com.dayu.qihealonelibrary.dbBean.ElectricPriceBean;
import com.tencent.bugly.crashreport.CrashReport;
/**
 * Copyright (C), 2023,
 * Author: zuo
 * Date: 2023-11-10 19:52
 * Description: 管理员信息设置
 */
public class AdminSetupActivityQHAlone extends QHAloneBaseActivity {
    ActivityAdminSetupQhaBinding adminBinding;
    public static AdminSetupActivityQHAlone adminSetupActivityQHAlone;
    AdminDataBean adminData = new AdminDataBean();
    ElectricPriceBean electricPriceBean;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        try {
            adminBinding = ActivityAdminSetupQhaBinding.inflate(LayoutInflater.from(this));
            setContentView(adminBinding.getRoot());
            adminSetupActivityQHAlone = this;
            setViewData();
            initView();
        } catch (Exception e) {
            CrashReport.postCatchedException(e);
            e.printStackTrace();
        }
    }
    private void initView() {
        adminBinding.setupOk.setOnClickListener(v -> {
            String strSerial = adminBinding.adminAddressCode.getText().toString();
            String strAddressCode = adminBinding.adminAddressCode.getText().toString();
            String strElectricPrice = adminBinding.electricNewNum.getText().toString();
            if (!TextUtils.isEmpty(strAddressCode)
                    && !TextUtils.isEmpty(strSerial) && !TextUtils.isEmpty(strElectricPrice)) {
                int electricPrice = MornyUtil.changeY2L(strElectricPrice);
                if (Integer.valueOf(electricPrice) > 0) {
                    if (Integer.valueOf(strAddressCode) <= 65535) {
                        adminData.setAddressCode(strAddressCode);
                        adminData.setSerial(strSerial);
//                        adminData.setWaterPrice(wtaterPrice);
                        baseDao.adminDao().insert(adminData);
                        electricPriceBean.setPrice(Float.parseFloat(strElectricPrice));
                        baseDao.electricPriceDao().insert(electricPriceBean);
                        TipUtil.show(AdminSetupActivityQHAlone.this, "设置成功", new TipUtil.TipListener() {
                            @Override
                            public void onCancle() {
                                AdminSetupActivityQHAlone.this.finish();
                            }
                        });
                    } else {
                        TipUtil.show(AdminSetupActivityQHAlone.this, "输入的区域号不能超过65535");
                    }
                } else {
                    TipUtil.show(AdminSetupActivityQHAlone.this, "单价不能为0");
                }
            } else {
                TipUtil.show(AdminSetupActivityQHAlone.this, "请输入完整内容");
            }
        });
//        setPricePoint(adminBinding.adminWaterPrice);
        //保留三位小数
        adminBinding.electricNewNum.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
            }
            @Override
            public void afterTextChanged(Editable s) {
                // 删除额外的小数位
                String text = s.toString();
                if (text.contains(".")) {
                    int decimalIndex = text.indexOf(".");
                    int decimalCount = text.length() - decimalIndex - 1;
                    if (decimalCount > 3) {
                        s.delete(decimalIndex + 4, s.length());
                    }
                }
            }
        });
    }
    private void setViewData() {
        try {
            AdminDataBean adminData = baseDao.adminDao().findFirst();
            if (adminData != null) {
                this.adminData = adminData;
                adminBinding.adminSerial.setText(adminData.getSerial());
                adminBinding.adminAddressCode.setText(adminData.getAddressCode());
                adminBinding.adminWaterPrice.setText(MornyUtil.changeF2Y(adminData.getWaterPrice()));
            }
            ElectricPriceBean priceBean = baseDao.electricPriceDao().findFirst();
            if (priceBean != null) {
                electricPriceBean = priceBean;
                adminBinding.electricNewNum.setText(priceBean.getPrice()+"" );
            } else {
                electricPriceBean = new ElectricPriceBean();
                adminBinding.electricNewNum.setText("1.000");
            }
        } catch (Exception e) {
            CrashReport.postCatchedException(e);
            e.printStackTrace();
        }
    }
    //水单价校验
    public static void setPricePoint(final EditText editText) {
        editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence s, int start, int before,
                                      int count) {
                if (s.toString().contains(".")) {
                    if (s.length() - 1 - s.toString().indexOf(".") > 2) {
                        s = s.toString().subSequence(0,
                                s.toString().indexOf(".") + 3);
                        editText.setText(s);
                        editText.setSelection(s.length());
                    }
                }
                if (s.toString().trim().substring(0).equals(".")) {
                    s = "0" + s;
                    editText.setText(s);
                    editText.setSelection(2);
                }
                if (s.toString().startsWith("0")
                        && s.toString().trim().length() > 1) {
                    if (!s.toString().substring(1, 2).equals(".")) {
                        editText.setText(s.subSequence(0, 1));
                        editText.setSelection(1);
                    }
                }
            }
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                                          int after) {
            }
            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
            }
        });
    }
}