From 81e258e6aa59dafce998b4f41b1271a9f5c9aff5 Mon Sep 17 00:00:00 2001
From: weimingfei <fei_gaming@sina.com>
Date: 星期四, 30 十月 2025 20:07:26 +0800
Subject: [PATCH] 钥匙柜

---
 keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java |  109 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 103 insertions(+), 6 deletions(-)

diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java
index bcc9095..c4c3570 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java
@@ -9,9 +9,11 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.text.Editable;
 import android.text.SpannableString;
 import android.text.Spanned;
 import android.text.TextUtils;
+import android.text.TextWatcher;
 import android.text.style.TextAppearanceSpan;
 import android.view.View;
 import android.view.ViewTreeObserver;
@@ -25,6 +27,7 @@
 import com.doumee.keyCabinet.base.MyBaseActivity;
 import com.doumee.keyCabinet.databinding.FaceActivityBinding;
 import com.doumee.keyCabinet.event.FaceStatusChangeEvent;
+import com.doumee.keyCabinet.event.HttpEvent;
 import com.doumee.keyCabinet.event.JiujinBeginEvent;
 import com.doumee.keyCabinet.event.JiujinResultEvent;
 import com.doumee.keyCabinet.event.TimeClockEvent;
@@ -35,6 +38,7 @@
 import com.doumee.lib_coremodel.bean.event.ActionEventData;
 import com.doumee.lib_coremodel.util.SpUtil;
 import com.doumee.lib_coremodel.util.StringUtil;
+import com.doumee.lib_coremodel.view.ToastView;
 import com.example.datalibrary.callback.CameraDataCallback;
 import com.example.datalibrary.callback.FaceDetectCallBack;
 import com.example.datalibrary.gatecamera.CameraPreviewManager;
@@ -127,6 +131,7 @@
     private void statusFsm(int toStatus){
         status = toStatus;
         isToChose = false;
+        getDB().etEwm.requestFocus();
         switch (toStatus){
             case 0:
                 //鍙�-绠$悊鍛樹汉鑴搁獙璇�
@@ -137,6 +142,7 @@
                 break;
             case 1:
                 //鍙�-绠$悊鍛樺埛鍗¢獙璇�
+                getDB().etEwm.setText("");
                 getDB().tvTitle.setText("绠$悊鍛樿韩浠介獙璇�");
                 getDB().clFace.setVisibility(View.GONE);
                 getDB().clCard.setVisibility(View.VISIBLE);
@@ -162,6 +168,8 @@
                 break;
             case 3:
                 //鍙�-鍙告満鍒峰崱楠岃瘉
+                getDB().etEwm.setText("");
+                getDB().etEwm.requestFocus();
                 getDB().tvTitle.setText("鍙告満韬唤楠岃瘉");
                 getDB().clFace.setVisibility(View.GONE);
                 getDB().clSjXuan.setVisibility(View.GONE);
@@ -183,14 +191,15 @@
                     //寮�濮嬫娴�
                     EventBus.getDefault().post(new JiujinBeginEvent());
                 }else {
-                    ToastUtils.toast(this,"鏈幏鍙栧埌閰掔簿娴撳害鎶ヨ鍊�");
+                    ToastView.show(this,"鏈幏鍙栧埌閰掔簿娴撳害鎶ヨ鍊�");
                     statusFsm(6);
                 }
                 break;
             case 6:
                 //鍙�-鍙告満閰掔簿妫�娴嬪け璐�
-                Toast.makeText(mContext, "鍙告満閰掔簿妫�娴嬪け璐�", Toast.LENGTH_SHORT).show();
+                //Toast.makeText(mContext, "鍙告満閰掔簿妫�娴嬪け璐�", Toast.LENGTH_SHORT).show();
                 getDB().clJiu.setVisibility(View.GONE);
+                getDB().tvJg1.setText("閰掔簿妫�娴嬫搷浣滀笉褰擄紝璇烽噸鏂版娴�");
                 getDB().clTip1.setVisibility(View.VISIBLE);
                 break;
             case 7:
@@ -202,10 +211,18 @@
                 break;
             case 8:
                 //杩�-鍙告満鍒峰崱楠岃瘉
+                getDB().etEwm.setText("");
+                getDB().etEwm.requestFocus();
                 getDB().tvTitle.setText("鍙告満韬唤楠岃瘉");
                 getDB().clFace.setVisibility(View.GONE);
                 getDB().clCard.setVisibility(View.VISIBLE);
                 setFaceModel(2);
+                break;
+            case 9:
+                //鍙�-鍙告満閰掔簿妫�娴嬪け璐�
+                getDB().clJiu.setVisibility(View.GONE);
+                getDB().tvJg1.setText("閰掔簿妫�娴嬭秴鏍�");
+                getDB().clTip1.setVisibility(View.VISIBLE);
                 break;
             default:
                 break;
@@ -266,6 +283,29 @@
             case 5:
                 statusFsm(4);
                 break;
+            case 6:
+                //绠$悊鍛榠c鍗℃垚鍔�
+                statusFsm(5);
+                break;
+            case 7:
+                //鍙告満ic鍗℃垚鍔�
+                if(flag==0) {
+                    //鍙�
+                    statusFsm(4);
+                }else {
+                    //杩�
+                    startActivity(KeyCabinetActivity.class);
+                    finish();
+                }
+                break;
+            case 8:
+                getDB().message.setText(data.getData().get("obj").toString());
+                getDB().message.setVisibility(View.VISIBLE);
+                handler.sendEmptyMessageDelayed(6,2000);
+                getDB().message.invalidate();
+                getDB().message.requestLayout();
+                EventBus.getDefault().post(new HttpEvent("ic鍗�+++++++"+data.getData().get("type").toString()));
+                break;
             default:
                 break;
         }
@@ -296,12 +336,42 @@
 
         //ic鍗¤鍙�
         getDB().etEwm.requestFocus();
+        getDB().etEwm.setFocusable(true);
         getDB().etEwm.setShowSoftInputOnFocus(false);
         hideSoftKeyboard(getDB().etEwm);
         getDB().etEwm.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
             @Override
             public void onGlobalLayout() {
                 hideSoftKeyboard(getDB().etEwm);
+            }
+        });
+
+        getDB().etEwm.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 m = s.toString();
+                if(TextUtils.isEmpty(m)){
+                    return;
+                }
+                if(status!=1&&status!=3&&status!=8){
+                    getDB().etEwm.setText("");
+                    getDB().etEwm.requestFocus();
+                    return;
+                }
+                if(handler.hasMessages(5)){
+                    handler.removeMessages(5);
+                }
+                handler.sendEmptyMessageDelayed(5,500);
             }
         });
     }
@@ -428,7 +498,8 @@
                     //isCheckFace = false;
                     break;
                 case 3:
-                    Toast.makeText(mContext, "閰掔簿妫�鏌ヨ繑鍥�", Toast.LENGTH_SHORT).show();
+                    getDB().clJiujinProgress.setVisibility(View.GONE);
+                    //Toast.makeText(mContext, "閰掔簿妫�鏌ヨ繑鍥�", Toast.LENGTH_SHORT).show();
                     if(new BigDecimal(MApplication.getConfigBean().getCabinetConfigDataVO().getConcentration())
                             .compareTo(resultEvent.getConcentration())>=0){
                         //閰掔簿閫氳繃
@@ -436,14 +507,31 @@
                         handler.sendEmptyMessageDelayed(4,1000);
                     }else {
                         //閰掔簿涓嶉�氳繃
-                        getVM().alcoholTestAlarm("");
-                        Toast.makeText(mContext, "閰掔簿妫�娴嬩笉閫氳繃", Toast.LENGTH_SHORT).show();
-                        statusFsm(6);
+                        getVM().alcoholTestAlarm(resultEvent.getConcentration().toString());
+                        //Toast.makeText(mContext, "閰掔簿妫�娴嬭秴鏍�", Toast.LENGTH_SHORT).show();
+                        statusFsm(9);
+                        //鍐嶆娴嬶紝灏嗗0闊冲叧闂�
+                        EventBus.getDefault().post(new JiujinBeginEvent());
                     }
                     break;
                 case 4:
                     startActivity(KeyCabinetActivity.class);
                     finish();
+                    break;
+                case 5:
+                    String m = getDB().etEwm.getText().toString();
+                    int index = m.indexOf("\r");
+                    if(index!=-1){
+                        m = m.substring(0,index);
+                    }
+                    if(!TextUtils.isEmpty(m)){
+                        getVM().getMemberIdByCode(m,status==1?"0":"1");
+                    }
+                    getDB().etEwm.setText("");
+                    getDB().etEwm.requestFocus();
+                    break;
+                case 6:
+                    getDB().message.setVisibility(View.GONE);
                     break;
                 default:
                     break;
@@ -522,6 +610,7 @@
                     User user = livenessModel.getUser();
                     if (user == null) {
                         mUser = null;
+                        //EventBus.getDefault().post(new HttpEvent("浜鸿劯鐢ㄦ埛妫�娴嬪け璐�------->"+(status==0?"绠$悊鍛樹汉鑴告娴嬶細":"鍙告満浜鸿劯妫�娴嬶細")));
                         if (isCompareCheck) {
                             /*getDB().clFail.setVisibility(View.VISIBLE);
                             getDB().tv4.setText(getString(R.string.face_tip2));
@@ -530,6 +619,8 @@
 
                     } else {
                         mUser = user;
+                        /*EventBus.getDefault().post(new HttpEvent("浜鸿劯鐢ㄦ埛------->"+(status==0?"绠$悊鍛樹汉鑴告娴嬶細":"鍙告満浜鸿劯妫�娴嬶細")
+                                +(user.getGroupId().equals("0")?"绠$悊鍛�":"鍙告満")));*/
                         if (isCompareCheck) {
                             getDB().clFail.setVisibility(View.GONE);
                             if(handler.hasMessages(0)) {
@@ -594,10 +685,15 @@
     @Subscribe(threadMode = ThreadMode.MAIN)
     public void JiujinResultEvent(JiujinResultEvent e){
         if(!isFinishing()){
+            if(status!=4&&status!=6){
+                return;
+            }
             //Toast.makeText(mContext, "閰掔簿妫�娴嬭繑鍥烇細"+e.isOk(), Toast.LENGTH_SHORT).show();
             if(!e.isOk()){
+                getDB().clJiujinProgress.setVisibility(View.GONE);
                 statusFsm(6);
             }else {
+                getDB().clJiujinProgress.setVisibility(View.VISIBLE);
                 if(resultEvent==null){
                     resultEvent = e;
                 }else if(resultEvent.getConcentration().compareTo(e.getConcentration())<0){
@@ -611,4 +707,5 @@
             }
         }
     }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3