From 603cb36a5123e46656b06a5deb8d7ac7ff81307f Mon Sep 17 00:00:00 2001
From: 554325746@qq.com <554325746@qq.com>
Date: 星期三, 25 十二月 2019 08:48:51 +0800
Subject: [PATCH] a

---
 app/src/main/java/com/basic/security/fragment/FaceDetailFragment.java |  306 ++++++++++++++++++++++++--------------------------
 1 files changed, 146 insertions(+), 160 deletions(-)

diff --git a/app/src/main/java/com/basic/security/fragment/FaceDetailFragment.java b/app/src/main/java/com/basic/security/fragment/FaceDetailFragment.java
index 1e72e9c..6048869 100644
--- a/app/src/main/java/com/basic/security/fragment/FaceDetailFragment.java
+++ b/app/src/main/java/com/basic/security/fragment/FaceDetailFragment.java
@@ -34,7 +34,6 @@
 import com.basic.security.manager.IdentityManager;
 import com.basic.security.manager.OrgManager;
 import com.basic.security.manager.PersonIdentityManager;
-import com.basic.security.manager.PersonManager;
 import com.basic.security.manager.VisitManager;
 import com.basic.security.model.ModelAdapter;
 import com.basic.security.model.Org;
@@ -43,6 +42,7 @@
 import com.basic.security.utils.DateEditUtil1;
 import com.basic.security.utils.DateEditUtilForValidTime;
 import com.basic.security.utils.DateUtil;
+import com.basic.security.utils.RUtils;
 import com.basic.security.utils.ResolutionAdaptation;
 import com.basic.security.utils.ToastUtil;
 import com.basic.security.widget.MyTextView;
@@ -53,6 +53,7 @@
 import org.androidannotations.annotations.AfterViews;
 import org.androidannotations.annotations.Click;
 import org.androidannotations.annotations.EFragment;
+import org.androidannotations.annotations.TextChange;
 import org.androidannotations.annotations.UiThread;
 import org.androidannotations.annotations.ViewById;
 
@@ -268,13 +269,24 @@
 
     @Click
     public void save() {
-        mainActivity().fragment_person_manage.savePerson();
+        savePerson();
         FaceListFragment.treeAdapter.clearUI();
+    }
+
+    public void savePerson() {
+        mainActivity().fragment_person_manage.savePerson();
+        if (mainActivity().currentFragment != mainActivity().fragment_person_manage) {
+            mainActivity().fragment_person_manage.selectedPerson(null);
+        } else {
+            ModelAdapter selectedPerson = mainActivity().fragment_person_manage.selectedPerson();
+//            System.out.println("FaceDetailFragment.savePerson name=" + selectedPerson.getString(Person.name) + " idcard=" + selectedPerson.getString(Person.id_card_number));
+            mainActivity().fragment_person_manage.selectedPerson(selectedPerson);
+        }
     }
 
     @Click
     public void tempSave() {
-        mainActivity().fragment_person_manage.savePerson();
+        savePerson();
     }
 
     @Click
@@ -288,7 +300,7 @@
         mainActivity().fragment_person_manage.giveUpSave();
     }
 
-    public void updateIdentityListUI(ModelAdapter person) {
+    private void updateIdentityListUI(ModelAdapter person) {
         checkedPerson = person;
         if (checkedPerson == null) {
             checkThisDevice();
@@ -301,27 +313,24 @@
         showIdentityList();
     }
 
-    public void updateIdentityListUI2(ModelAdapter person) {
-        checkedPerson = person;
-        if (checkedPerson == null) {
-            checkThisDevice();
-            checkedIdentityMapByPerson.clear();
-        } else {
-            setDevice(checkedPerson.getString("all_device"));
-            checkedIdentityMapByPerson.clear();
-            checkedIdentityMapByPerson.putAll(PersonIdentityManager.findIdentityMapByPersonId(person.getString(Person.id)));
-        }
-        showIdentityList();
+    @TextChange(RUtils.R_id_name_input)
+    public void name_inputTextChanged() {
+        name.setText(name_input.getText());
     }
 
-    public void updateIdentityListUI1(ModelAdapter person) {
-        checkedPerson = person;
-        if (checkedPerson == null) {
-            checkThisDevice();
-        } else {
-            setDevice(checkedPerson.getString("all_device"));
-        }
-        showIdentityList();
+    @TextChange(RUtils.R_id_idcard_number_input)
+    public void idcard_number_inputTextChanged() {
+        idcard_number.setText(idcard_number_input.getText());
+    }
+
+    @TextChange(RUtils.R_id_phone_input)
+    public void phone_inputTextChanged() {
+        phone.setText(phone_input.getText());
+    }
+
+    @TextChange(RUtils.R_id_student_id_input)
+    public void student_id_inputTextChanged() {
+        student_id.setText(student_id_input.getText());
     }
 
     @UiThread
@@ -391,20 +400,6 @@
         return true;
     }
 
-    public String aboutDevice() {
-        if (clusterDevices.isChecked()) {
-            return "1";
-        }
-        if (thisDevice.isChecked()) {
-            return "0";
-        }
-        return null;
-    }
-
-    public int getIdentitySize() {
-        return checkedIdentityMapByPerson.values().size();
-    }
-
     @Click
     public void next() {
         int position = identity_list.getFirstVisiblePosition();
@@ -414,9 +409,6 @@
             position += 2;
         }
         identity_list.setSelection(position);
-    }
-
-    public void notifyDataSetChanged() {
     }
 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@@ -554,7 +546,7 @@
         student_id_input.setVisibility(View.VISIBLE);
     }
 
-    public void updateDetailUI(ModelAdapter person) {
+    private void updateDetailUI(ModelAdapter person) {
         mainActivity().runOnUiThread(() -> {
             try {
                 scrollView.fullScroll(ScrollView.FOCUS_UP);
@@ -563,6 +555,15 @@
                 guest_visit_valid_time_row.setVisibility(View.GONE);
                 guest_visit_status_row.setVisibility(View.GONE);
                 student_id_input.setVisibility(View.GONE);
+                student_id_input.setText("");
+                student_id.setText("");
+                name.setText("");
+                name_input.setText("");
+                idcard_number.setText("");
+                idcard_number_input.setText("");
+                phone.setText("");
+                phone_input.setText("");
+                guest_visit_valid_time.setText("");
                 if (person != null) {
                     setViewVisisble(person);
                     if ("璁垮娉ㄥ唽".equals(person.getString(Person.sign_up_method))) {
@@ -573,25 +574,9 @@
                         } catch (Exception e) {
                             e.printStackTrace();
                         }
-//                    guest_visit_status_row.setVisibility(View.VISIBLE);
-//                    try {
-//                        String dbGuestVisitStatus = person.getString(Person.guest_visit_status);
-//                        if (dbGuestVisitStatus != null) {
-//                            for (int i = 0; i < guestVisitStatusArray.length; i++) {
-//                                String guestVisitStatus = guestVisitStatusArray[i];
-//                                if (dbGuestVisitStatus.equals(guestVisitStatus)) {
-//                                    guest_visit_status.setSelection(i);
-//                                    break;
-//                                }
-//                            }
-//                        }
-//                    } catch (Exception e) {
-//                        e.printStackTrace();
-//                    }
                     }
                 }
                 FaceDetailFragment.this.person = person;
-                show_name_in_put.setVisibility(View.GONE);
                 show_phone_in_put.setVisibility(View.GONE);
                 show_id_in_put.setVisibility(View.GONE);
                 idcard_number.setTextColor(Color.parseColor("#FFFFFFFF"));
@@ -670,15 +655,6 @@
                     name.setText1(person.getString("name"));
                     phone.setText(person.getString("phone"));
                     idcard_number.setText(person.getString("id_card_number"));
-                    byte[] blob = person.getBlob("camera_image_path");
-                    if (blob != null) {
-                        if (blob.length != 0) {
-                            Bitmap bitmap = BitmapFactory.decodeByteArray(blob, 0, blob.length);
-                            face.setImageBitmap(bitmap);
-                        }
-                    } else {
-                        face.setImageResource(com.basic.security.utils.RUtils.R_drawable_u1280);
-                    }
                     register_type.setText(person.getString("sign_up_method"));
                     String lastTime = VisitManager.getLastVisitTime(person.getId());
                     if (TextUtils.isEmpty(lastTime)) {
@@ -726,20 +702,6 @@
                         showTextOrEditText(verify_status);
                     }
                     face.setVisibility(View.VISIBLE);
-                    byte[] blob = person.getBlob("camera_image_path");
-                    if (blob != null) {
-                        try {
-                            if (blob.length != 0) {
-                                Bitmap bitmap = BitmapFactory.decodeByteArray(blob, 0, blob.length);
-                                face.setImageBitmap(bitmap);
-                            }
-                        } catch (Exception e) {
-                            face.setImageResource(com.basic.security.utils.RUtils.R_drawable_u1280);
-                            e.printStackTrace();
-                        }
-                    } else {
-                        face.setImageResource(com.basic.security.utils.RUtils.R_drawable_u1280);
-                    }
                     try {
                         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                         Long sign_up_time = Long.parseLong(person.getString("sign_up_time"));
@@ -770,6 +732,88 @@
                     } else {
                         last_visit_time.setText(DateUtil.formatTime(Long.parseLong(lastTime), "yyyy-MM-dd HH:mm:ss"));
                     }
+                }
+
+                name_input.setVisibility(View.GONE);
+                idcard_number_input.setVisibility(View.GONE);
+                phone_input.setVisibility(View.GONE);
+                show_name_in_put.setVisibility(View.GONE);
+                show_id_in_put.setVisibility(View.GONE);
+                if (person != null) {
+                    show_name_in_put.setVisibility(View.VISIBLE);
+                    show_id_in_put.setVisibility(View.VISIBLE);
+                    show_phone_in_put.setVisibility(View.VISIBLE);
+                }
+                if (person != null && "宸茬粡楠岃瘉韬唤璇�".equals(person.getString(Person.verify_status))) {
+                    show_name_in_put.setVisibility(View.GONE);
+                    show_id_in_put.setVisibility(View.GONE);
+                }
+                if (person == null) {
+                    show_name_in_put.setVisibility(View.GONE);
+                    show_id_in_put.setVisibility(View.GONE);
+                    show_phone_in_put.setVisibility(View.GONE);
+                    name_input.setVisibility(View.GONE);
+                    idcard_number_input.setVisibility(View.GONE);
+                    phone_input.setVisibility(View.GONE);
+                }
+                if (person != null) {
+                    byte[] blob = person.getBlob("camera_image_path");
+                    if (blob != null) {
+                        if (blob.length != 0) {
+                            Bitmap bitmap = BitmapFactory.decodeByteArray(blob, 0, blob.length);
+                            face.setImageBitmap(bitmap);
+                        }
+                    } else {
+                        face.setImageResource(com.basic.security.utils.RUtils.R_drawable_u1280);
+                    }
+                    name.setText(person.getString(Person.name));
+                    name_input.setText(person.getString(Person.name));
+                    idcard_number.setText(person.getString(Person.id_card_number));
+                    idcard_number_input.setText(person.getString(Person.id_card_number));
+                    phone.setText(person.getString(Person.phone));
+                    phone_input.setText(person.getString(Person.phone));
+
+                    if (!TextUtils.isEmpty(person.getString(Person.name))) {
+                        name.setVisibility(View.VISIBLE);
+                        name_input.setVisibility(View.GONE);
+                    }
+
+                    if (!TextUtils.isEmpty(person.getString(Person.id_card_number))) {
+                        idcard_number.setVisibility(View.VISIBLE);
+                        idcard_number_input.setVisibility(View.GONE);
+                    }
+
+                    if (!TextUtils.isEmpty(person.getString(Person.phone))) {
+                        phone.setVisibility(View.VISIBLE);
+                        phone_input.setVisibility(View.GONE);
+                    }
+                }
+                if (person != null
+//                        && Constants.TRUE.equals(person.getString(Model.newModel))
+                        ) {
+                    if (!"鏈獙璇佽韩浠借瘉".equals(person.getString("verify_status"))) {
+                        if (name_input.getText().toString().length() == 0) {
+                            name_input.setVisibility(View.VISIBLE);
+                        }
+                        if (idcard_number_input.getText().toString().length() == 0) {
+                            idcard_number_input.setVisibility(View.VISIBLE);
+                        }
+                    }
+                    if (phone_input.getText().toString().length() == 0) {
+                        phone_input.setVisibility(View.VISIBLE);
+                    }
+                }
+                if (name_input.getVisibility() == View.VISIBLE) {
+                    name.setVisibility(View.GONE);
+                }
+                if (idcard_number_input.getVisibility() == View.VISIBLE) {
+                    idcard_number.setVisibility(View.GONE);
+                }
+                if (person != null && "鏈獙璇佽韩浠借瘉".equals(person.getString(Person.verify_status))) {
+                    idcard_number.setText("璇峰湪鍒峰崱鍖洪獙璇佽韩浠借瘉");
+                    idcard_number.setTextColor(Color.parseColor("#4BA6AD"));
+                    show_name_in_put.setVisibility(View.GONE);
+                    show_id_in_put.setVisibility(View.GONE);
                 }
             } catch (Exception e) {
                 e.printStackTrace();
@@ -824,7 +868,7 @@
                 showNameInPut = false;
                 name_input.setVisibility(View.GONE);
                 name.setVisibility(View.VISIBLE);
-                name.setText1(person.getString("name"));
+//                name.setText1(person.getString("name"));
                 show_name_in_put.setVisibility(View.VISIBLE);
             }
             if (TextUtils.isEmpty(person.getString("id_card_number"))) {
@@ -880,7 +924,7 @@
     }
 
     public boolean detailMessageIsComplete() {
-        ModelAdapter person = mainActivity().fragment_person_manage.selectedPerson;
+        ModelAdapter person = mainActivity().fragment_person_manage.selectedPerson();
         if (person != null) {
             String name = person.getString("name");
             String id_card_number = person.getString("id_card_number");
@@ -972,58 +1016,27 @@
     }
 
     public String getInPutName() {
-        ModelAdapter person = mainActivity().fragment_person_manage.selectedPerson;
-        if ("1".equals(person.getString("auto_init"))) {
-            return "绯荤粺绠$悊鍛�";
+        String nameTextStr = name.getText().toString();
+        String nameInputStr = name_input.getText().toString();
+        if (nameInputStr.length() == 0) {
+            return nameTextStr;
+        } else {
+            return nameInputStr;
         }
-        if (!TextUtils.isEmpty(verify_status) && (TextUtils.equals(verify_status, "宸茬粡楠岃瘉韬唤璇�")
-                || TextUtils.equals(verify_status, "鏈獙璇佽韩浠借瘉"))) {
-            if (mainActivity().fragment_person_manage.needIdCardInfo()) {
-                return name.getText().toString().trim();
-            }
-            return person.getString("name");
-        }
-        if ((!TextUtils.isEmpty(verify_status) && TextUtils.equals(verify_status, "涓嶉渶瑕侀獙璇佽韩浠借瘉")) ||
-                TextUtils.isEmpty(verify_status)
-                ) {
-            if (showNameInPut) {
-                return name_input.getText().toString().trim();
-            }
-            return name.getText().toString().trim();
-        }
-        return name.getText().toString().trim();
     }
 
     public String getInPutIdCardNumber() {
-        ModelAdapter person = mainActivity().fragment_person_manage.selectedPerson;
-        if (!TextUtils.isEmpty(verify_status) && (TextUtils.equals(verify_status, "宸茬粡楠岃瘉韬唤璇�") || TextUtils.equals(verify_status, "鏈獙璇佽韩浠借瘉"))) {
-            if (mainActivity().fragment_person_manage.needIdCardInfo()) {
-                return idcard_number.getText().toString().trim();
-            }
-            return person.getString("id_card_number");
-        }
-        if ((!TextUtils.isEmpty(verify_status) && TextUtils.equals(verify_status, "涓嶉渶瑕侀獙璇佽韩浠借瘉"))
-                || TextUtils.isEmpty(verify_status)
-                ) {
-            if (showIdCardInPut) {
-                return idcard_number_input.getText().toString().trim();
-            }
-            return idcard_number.getText().toString().trim();
-        }
-        return idcard_number.getText().toString().trim();
+        String nameInputStr = idcard_number_input.getText().toString();
+        return nameInputStr;
     }
 
     public String getInPutPhoneNumber() {
-        if (showPhoneInPut) {
-            return phone_input.getText().toString().trim();
-        } else {
-            return phone.getText().toString().trim();
-        }
+        return phone_input.getText().toString().trim();
     }
 
     public void nameRequired(boolean required) {
         if (required) {
-//            System.out.println("FaceDetailFragment.nameRequired " + FrameUtil.getFrames() + " " + required);
+//            System1.out.println("FaceDetailFragment.nameRequired " + FrameUtil.getFrames() + " " + required);
             face_detail_name_need.setVisibility(View.VISIBLE);
         } else {
             face_detail_name_need.setVisibility(View.INVISIBLE);
@@ -1043,42 +1056,6 @@
             face_detail_id_need.setVisibility(View.VISIBLE);
         } else {
             face_detail_id_need.setVisibility(View.INVISIBLE);
-        }
-    }
-
-    public void updateData(String personId) {
-        BaseApplication.getApplication().executorService.execute(() -> {
-            try {
-                ModelAdapter selectedPerson = PersonManager.findPersonById(personId);
-                if (selectedPerson != null) {
-                    updateDataUI(selectedPerson);
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        });
-    }
-
-    @UiThread
-    public void updateDataUI(ModelAdapter selectedPerson) {
-        try {
-            if (showNameInPut) {
-                name_input.setText(selectedPerson.getString("name"));
-            } else {
-                name.setText1(selectedPerson.getString("name"));
-            }
-            if (showIdCardInPut) {
-                idcard_number_input.setText(selectedPerson.getString("id_card_number"));
-            } else {
-                idcard_number.setText(selectedPerson.getString("id_card_number"));
-            }
-            if (showPhoneInPut) {
-                phone_input.setText(selectedPerson.getString("phone"));
-            } else {
-                phone.setText(selectedPerson.getString("phone"));
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
         }
     }
 
@@ -1135,9 +1112,13 @@
 
     public String getGuestVisitValid() {
         try {
-            return DateEditUtil1.sdf.parse(guest_visit_valid_time.getText().toString()).getTime() + "";
+            String guest_visit_valid_timeStr = guest_visit_valid_time.getText().toString();
+            if (!TextUtils.isEmpty(guest_visit_valid_timeStr)) {
+                return DateEditUtil1.sdf.parse(guest_visit_valid_timeStr).getTime() + "";
+            }
         } catch (Exception e) {
             e.printStackTrace();
+            System.out.println("FaceDetailFragment.getGuestVisitValid Error:" + e.getMessage());
         }
         return "";
     }
@@ -1152,6 +1133,11 @@
         }
     }
 
+    public void showPersonDetail(ModelAdapter selectedPerson) {
+        updateDetailUI(selectedPerson);
+        updateIdentityListUI(selectedPerson);
+    }
+
     public class IdentityAdapter extends CommonAdapter<ModelAdapter> {
         public IdentityAdapter(Context context, int layoutId, List<ModelAdapter> datas) {
             super(context, layoutId, datas);

--
Gitblit v1.8.0