From 420562c180324d5cc22bb8bec0fe040c304eca03 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 12 七月 2024 15:29:13 +0800
Subject: [PATCH] 齐河单机版充值逻辑调整由水费计价改为电费计价

---
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/AdminSetupActivity.java |  237 ++++++++++++++++++++++++++---------------------------------
 1 files changed, 104 insertions(+), 133 deletions(-)

diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/AdminSetupActivity.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/AdminSetupActivity.java
index 5c22d01..0df2ad2 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/AdminSetupActivity.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/AdminSetupActivity.java
@@ -1,23 +1,18 @@
 package com.dayu.qihealonelibrary.activity;
 
-import android.content.Context;
-import android.os.Build;
 import android.os.Bundle;
+import android.text.Editable;
 import android.text.TextUtils;
+import android.text.TextWatcher;
 import android.view.LayoutInflater;
-import android.view.View;
-import android.view.inputmethod.InputMethodManager;
+import android.widget.EditText;
 
+import com.dayu.baselibrary.utils.MornyUtil;
 import com.dayu.baselibrary.utils.TipUtil;
-import com.dayu.qihealonelibrary.databinding.ActivityAdminSetupBinding;
+import com.dayu.qihealonelibrary.databinding.ActivityAdminSetupQhaBinding;
 import com.dayu.qihealonelibrary.dbBean.AdminDataBean;
-import com.example.pickerviewlibrary.picker.TeaPickerView;
-import com.example.pickerviewlibrary.picker.entity.PickerData;
-import com.example.pickerviewlibrary.picker.listener.OnPickerClickListener;
+import com.dayu.qihealonelibrary.dbBean.ElectricPriceBean;
 import com.tencent.bugly.crashreport.CrashReport;
-
-import java.lang.reflect.Method;
-import java.util.zip.CRC32;
 
 /**
  * Copyright (C), 2023,
@@ -25,43 +20,45 @@
  * Date: 2023-11-10 19:52
  * Description: 绠$悊鍛樹俊鎭缃�
  */
-public class AdminSetupActivity extends QHAloneBaseActivity {
+public class AdminSetupActivity extends BaseActivity {
 
-    ActivityAdminSetupBinding adminBinding;
+    ActivityAdminSetupQhaBinding adminBinding;
 
     public static AdminSetupActivity adminSetupActivity;
     AdminDataBean adminData = new AdminDataBean();
-    TeaPickerView pickerView;
+    ElectricPriceBean electricPriceBean;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         try {
-            adminBinding = ActivityAdminSetupBinding.inflate(LayoutInflater.from(this));
+            adminBinding = ActivityAdminSetupQhaBinding.inflate(LayoutInflater.from(this));
             setContentView(adminBinding.getRoot());
             adminSetupActivity = this;
-            setData();
+            setViewData();
             initView();
         } catch (Exception e) {
             CrashReport.postCatchedException(e);
             e.printStackTrace();
-
         }
     }
 
     private void initView() {
-        adminBinding.setupOk.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (!TextUtils.isEmpty(adminData.getCun())
-                        && !TextUtils.isEmpty(adminBinding.adminSerial.getText().toString())
-                ) {
-                    if (Integer.valueOf(adminBinding.adminSerial.getText().toString()) <= 16777215) {
-                        adminBinding.adminAddressCode.setText(adminData.getAddressCode());
-                        adminData.setSerial(adminBinding.adminSerial.getText().toString());
+        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);
-                        setData();
-
+                        electricPriceBean.setPrice(Float.parseFloat(strElectricPrice));
+                        baseDao.electricPriceDao().insert(electricPriceBean);
                         TipUtil.show(AdminSetupActivity.this, "璁剧疆鎴愬姛", new TipUtil.TipListener() {
                             @Override
                             public void onCancle() {
@@ -69,44 +66,62 @@
                             }
                         });
                     } else {
-                        TipUtil.show(AdminSetupActivity.this, "杈撳叆鐨勬暟瀛椾笉鑳借秴杩�16777215");
+                        TipUtil.show(AdminSetupActivity.this, "杈撳叆鐨勫尯鍩熷彿涓嶈兘瓒呰繃65535");
                     }
+
                 } else {
-                    TipUtil.show(AdminSetupActivity.this, "璇疯緭鍏ュ畬鏁村唴瀹�");
+                    TipUtil.show(AdminSetupActivity.this, "鍗曚环涓嶈兘涓�0");
+                }
+            } else {
+                TipUtil.show(AdminSetupActivity.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());
+                    }
                 }
             }
         });
-        adminBinding.choseAddress.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
-                imm.hideSoftInputFromWindow(adminBinding.adminSerial.getWindowToken(), 0);
-                intiPickerView();
-            }
-        });
-        pickerView = new TeaPickerView(this);
-
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                pickerView.initAddressData();
-            }
-        }).start();
-
     }
 
 
-    private void setData() {
+    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.adminAddress.setText(adminData.getSheng() + adminData.getShi() + adminData.getXian() + adminData.getZhen() + adminData.getCun());
+                adminBinding.adminWaterPrice.setText(MornyUtil.changeF2Y(adminData.getWaterPrice()));
+            }
+            ElectricPriceBean priceBean = baseDao.electricPriceDao().findFirst();
+            if (priceBean != null) {
+                electricPriceBean = priceBean;
+                adminBinding.electricNewNum.setText(priceBean.getPrice()+"" );
             } else {
-                adminBinding.adminSerial.setText("12" + generateUniqueNumber(getSN()));
+                electricPriceBean = new ElectricPriceBean();
+                adminBinding.electricNewNum.setText("1.000");
             }
 
         } catch (Exception e) {
@@ -115,93 +130,49 @@
         }
     }
 
-
-    private void intiPickerView() {
-
-        try {
-            pickerView.setScreenH(2)
-                    .setDiscolourHook(true)
-                    .setRadius(25)
-                    .setContentLine(true)
-                    .setRadius(25)
-                    .build();
-            pickerView.show(adminBinding.choseAddress);
-            pickerView.setOnPickerClickListener(new OnPickerClickListener() {
-                @Override
-                public void OnPickerClick(PickerData pickerData) {
-                    adminData.setSheng("娌冲崡");
-                    adminData.setShi(pickerData.getFirstText().getName());
-                    adminData.setXian(pickerData.getSecondText().getName());
-                    if (pickerData.getThirdText() != null) {
-                        adminData.setZhen(pickerData.getThirdText().getName());
-                    } else {
-                        adminData.setZhen("");
+    //姘村崟浠锋牎楠�
+    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 (pickerData.getFourthText() != null) {
-                        adminData.setCun(pickerData.getFourthText().getName());
-                        adminData.setAddressCode(pickerData.getFourthText().getCode());
-                    } else {
-                        adminData.setCun("");
-                        adminData.setAddressCode(pickerData.getSecondText().getCode());
+                }
+                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);
                     }
-                    adminBinding.adminAddress.setText(adminData.getSheng() + adminData.getShi() + adminData.getXian() + adminData.getZhen() + adminData.getCun());
-                    adminBinding.adminAddressCode.setText(adminData.getAddressCode());
-                    pickerView.dismiss();
                 }
-            });
-        } catch (Exception e) {
-            CrashReport.postCatchedException(e);
-            e.printStackTrace();
-
-        }
-    }
-
-    public static String getSN() {
-        String serial = null;
-        try {
-            Class<?> c = Class.forName("android.os.SystemProperties");
-            Method get = c.getMethod("get", String.class);
-            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
-                try {
-                    serial = (String) get.invoke(c, "ro.sunmi.serial");
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-                return serial;
-            } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
-                serial = Build.getSerial();
-                return serial;
-            } else {
-                //瀹夊崜8浠ヤ笅浣跨敤Build.SERIAL鐩稿悓鏂瑰紡
-                //return Build.SERIAL;
-                try {
-                    serial = (String) get.invoke(c, "ro.serialno");
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-                return serial;
             }
-        } catch (ClassNotFoundException e) {
-            throw new RuntimeException(e);
-        } catch (NoSuchMethodException e) {
-            throw new RuntimeException(e);
-        }
-    }
 
-    public static String generateUniqueNumber(String input) {
-        try {
-            // 浣跨敤CRC32鍝堝笇鍑芥暟
-            CRC32 crc32 = new CRC32();
-            crc32.update(input.getBytes());
-            long crcValue = crc32.getValue();
-            // 灏嗗搱甯屽�兼槧灏勫埌6浣嶆暟瀛楃殑鑼冨洿
-            long sixDigitNumber = Math.abs(crcValue) % 1000000;
-            // 鏍煎紡鍖栦负6浣嶆暟瀛楃殑瀛楃涓�
-            return String.format("%06d", sixDigitNumber);
-        } catch (Exception e) {
-            e.printStackTrace();
-            return null;
-        }
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count,
+                                          int after) {
+
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+                // TODO Auto-generated method stub
+
+            }
+
+        });
+
     }
 
 }

--
Gitblit v1.8.0