| 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 | 
|   | 
|             } | 
|   | 
|         }); | 
|   | 
|     } | 
|   | 
| } |