DeteMin
2020-03-31 77c62e023d2dc31200fc696158df84b3aee90ee7
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package com.basic.security.manager.helper.rm.base;
 
import com.basic.security.fragment.AccountSettingFragment;
import com.basic.security.manager.BaseSettingManager;
import com.basic.security.manager.DetectResultManager;
import com.basic.security.manager.PersonIdentityManager;
import com.basic.security.manager.impl.cblite.AccountManager;
import com.basic.security.utils.ToastUtil;
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()) {
//                    System.out.println("FacePosition.detectScoreCanSignUp 3");
                    addToNeedSignUpPersonList();
                } else {
                    if (activity.currentFragment == activity.fragment_su_auto_wait_face ||
                            activity.currentFragment == activity.fragment_door_access_result ||
                            activity.currentFragment == activity.fragment_su_auto_wait_admin
                            ) {
 
                    } else {
                        adjustFaceTips();
                    }
                }
                identityTitle();
                continue;
            }
            if (currentPerson != null && "已注册".equals(currentPerson.getString("sign_up_status"))) {
                if (activity.currentFragment == activity.fragment_account_setting) {
                    if (AccountSettingFragment.isChangePhoto) {
                        ToastUtil.show("此人已被注册,不能设置为系统管理员头像");
                    }
                }
                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 = PersonIdentityManager.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);
                    activity.fragment_door_access_result.refuseOpenDoor();
                } else if (doorAccessAllowedList.size() > 0) {
                    currentFaceTitleAndTips.setFaceTitleGreenColor();
                    showFragment(activity.fragment_door_access_result);
                    activity.fragment_door_access_result.openDoor();
                    RelayServerUtil2.open();
                    doorAccessAllowedList.clear();
                    CurrentBase.detectedResult = null;
                    DetectResultManager.detectedResult = null;
                } else if (doorAccessConfirmList.size() > 0) {
                    currentFaceTitleAndTips.setFaceTitleRedColor();
                    showFragment(activity.fragment_door_access_result);
                    activity.fragment_door_access_result.confirmOpenDoor();
                } else if (timeNotReachPersonList.size() > 0) {
                    currentFaceTitleAndTips.setFaceTitleRedColor();
                    showFragment(activity.fragment_door_access_result);
                    activity.fragment_door_access_result.notReachTime();
                    timeNotReachPersonList.clear();
                } else if (needSignUpPersonList.size() > 0) {
                    if (!BaseSettingManager.isDoorAccessOnlyMode()) {
                        signUpPerson();
                    }
                }
            }
        }
        return showFragmentSuccess;
    }
 
}