554325746@qq.com
2019-08-07 2539f53391765abb74b6fe63f46e5a2c701e950f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package com.basic.security.manager.helper.rm.base;
 
import com.basic.security.fragment.DoorAccessResultFragment;
import com.basic.security.manager.impl.cblite.AccountManager;
import com.basic.security.manager.impl.cblite.BaseSettingManager;
import com.basic.security.manager.impl.cblite.PersonManager;
import com.basic.security.manager.impl.sqlite.SlPersonIdentityManager;
import com.basic.security.utils.socket.RelayServerUtil2;
 
import java.util.List;
 
public class CurrentBasePersonList extends CurrentBaseSignUp {
 
    public boolean doShowFragment() {
        for (int i = 0; i < detectedResult.facePositions.size(); i++) {
            initCurrentPerson(i);
            if (!currentFacePosition.detectScoreCanRecognize()) {
                adjustFaceTipsForRecognize();
                identityTitle();
                continue;
            }
            if (currentFacePosition.detectScoreCanSignUp()) { // 把人脸添加到临时库(在访客管理页面显示)
                savePersonToTemporaryTable();
            }
            if (currentPerson == null || "未注册".equals(currentPerson.getString("sign_up_status"))) {
                if (currentFacePosition.detectScoreCanSignUp()) {
                    addToNeedSignUpPersonList();
                } else {
                    adjustFaceTips();
                }
                identityTitle();
                continue;
            }
            if (currentPerson != null && "已注册".equals(currentPerson.getString("sign_up_status"))) {
//                currentFaceTitleAndTips.tipsTxt = "";
                if (doorAccessMode()) {
                    doorAccess();
                }
                identityTitle();
                if (needAddVisitRecord()) {
                    addVisitRecord(currentFacePosition);
                }
            }
        }
        printFacePositionList();
        if (AccountManager.adminLoggedIn()) {
            if (needSignUpPersonList.size() > 0) {
                if (!BaseSettingManager.isDoorAccessOnlyMode()) {
                    signUpPerson();
                }
            }
        }
        if (!AccountManager.adminLoggedIn()) {
            if (activity.currentFragment == activity.fragment_admin_face_login) {
                if (currentPerson != null) {
                    List<String> identityNameByPersonId = SlPersonIdentityManager.findIdentityNameByPersonId(currentPerson.getId());
                    if (identityNameByPersonId.size() > 0 && identityNameByPersonId.contains("管理员")) {
                        adminLogin();
                    }
                }
            } else if (activity.currentFragment == activity.fragment_su_auto_wait_face) {
                if (doorAccessDeniedList.size() > 0) {
                    currentFaceTitleAndTips.setFaceTitleRedColor();
                    showFragment(activity.fragment_door_access_result);
                    ((DoorAccessResultFragment) activity.fragment_door_access_result).refuseOpenDoor();
                } else if (doorAccessAllowedList.size() > 0) {
                    currentFaceTitleAndTips.setFaceTitleGreenColor();
                    showFragment(activity.fragment_door_access_result);
                    ((DoorAccessResultFragment) activity.fragment_door_access_result).openDoor();
                    RelayServerUtil2.open();
                } else if (doorAccessConfirmList.size() > 0) {
                    currentFaceTitleAndTips.setFaceTitleRedColor();
                    showFragment(activity.fragment_door_access_result);
                    ((DoorAccessResultFragment) activity.fragment_door_access_result).confirmOpenDoor();
                } else if (timeNotReachPersonList.size() > 0) {
                    currentFaceTitleAndTips.setFaceTitleRedColor();
                    showFragment(activity.fragment_door_access_result);
                    ((DoorAccessResultFragment) activity.fragment_door_access_result).notReachTime();
                } else if (needSignUpPersonList.size() > 0) {
                    if (!BaseSettingManager.isDoorAccessOnlyMode()) {
                        signUpPerson();
                    }
                }
            }
        }
        return showFragmentSuccess;
    }
 
}