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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
package com.basic.security.manager.helper.rm.base;
 
import com.basic.security.manager.BaseSettingManager;
import com.basic.security.manager.HintDoorAccessManager;
import com.basic.security.manager.impl.cblite.BusinessPersonManager;
 
public class CurrentBaseDoorAccess extends CurrentBaseAdmin {
 
    // 注册规则, 业务规则, 设备规则
    public Object doorAccessSuccessInStep = "";
    public Object doorAccessSuccessWelcomeObject = new Object();
    // 注册规则, 业务规则, 设备规则
    public Object doorAccessDenyInStep = "";
    public Object doorAccessDenyMessage = new Object();
 
    public boolean doorAccessMode() {
        return activity.currentFragment == activity.fragment_su_auto_wait_face ||
                activity.currentFragment == activity.fragment_door_access_confirm ||
                activity.currentFragment == activity.fragment_door_access_success;
    }
 
    protected boolean doorAccessNeedToStep3() {
        return doorAccessNeedToStep2();
    }
 
    public void doorAccessCheckByDeviceRule() {
        String deviceRuleName = BaseSettingManager.getDeviceSetting();
        if ("允许通行".equals(deviceRuleName)) {
            doorAccessSuccessInStep = "设备规则";
            doorAccessAllowedList.add(currentFacePosition);
            doorAccessSuccessWelcomeObject = "";
            CurrentBaseFacePosition.setCurrentDoorAccessMessage(HintDoorAccessManager.getDeviceDoorAccessAllowMessage(currentPerson));
//            currentDoorAccessMessage = HintDoorAccessManager.getDeviceDoorAccessAllowMessage(currentPerson);
        }
        if ("确认通行".equals(deviceRuleName)) {
            currentDoorAccessState = true;
            doorAccessConfirmList.add(currentFacePosition);
            CurrentBaseFacePosition.setCurrentDoorAccessMessage(HintDoorAccessManager.getDeviceDoorAccessConfirmMessage(currentPerson));
//            currentDoorAccessMessage = HintDoorAccessManager.getDeviceDoorAccessConfirmMessage(currentPerson);
        }
//        if (currentValidDeviceRuleList.size() > 0) {
//            doorAccessSuccessInStep = "设备规则";
//            currentDoorAccessState = true;
//            doorAccessAllowedList.add(currentFacePosition);
//            doorAccessSuccessWelcomeObject = currentValidDeviceRuleList.get(0);
//            if (currentValidDeviceRuleConfirmList.size() > 0) {
//                currentDoorAccessMessage = HintDoorAccessManager.getDeviceDoorAccessConfirmMessage(currentValidDeviceRuleList.get(0));
//            } else {
//                currentDoorAccessMessage = HintDoorAccessManager.getDeviceDoorAccessAllowMessage(currentValidDeviceRuleList.get(0));
//            }
//        }
    }
 
    protected void doorAccessCheckByBusinessRule() {
        if (currentValidBusinessRuleList.size() > 0) {
            doorAccessSuccessInStep = "业务规则";
            currentDoorAccessState = true;
            doorAccessAllowedList.add(currentFacePosition);
            doorAccessSuccessWelcomeObject = currentValidBusinessRuleList.get(0);
            if (currentValidBusinessRuleConfirmList.size() > 0) {
                CurrentBaseFacePosition.setCurrentDoorAccessMessage(BusinessPersonManager.getBusinessRuleDoorAccessConfirmMessage(currentValidBusinessRuleList.get(0), currentPerson));
//                currentDoorAccessMessage = BusinessPersonManager.getBusinessRuleDoorAccessConfirmMessage(currentValidBusinessRuleList.get(0),currentPerson);
            } else {
                CurrentBaseFacePosition.setCurrentDoorAccessMessage(BusinessPersonManager.getBusinessRuleDoorAccessAllowMessage(currentValidBusinessRuleList.get(0), currentPerson));
//                currentDoorAccessMessage = BusinessPersonManager.getBusinessRuleDoorAccessAllowMessage(currentValidBusinessRuleList.get(0),currentPerson);
            }
        } else if (currentValidBusinessRuleListButTimeNotReach.size() > 0) {
            doorAccessDenyInStep = "业务规则";
            currentDoorAccessState = false;
            doorAccessDenyMessage = currentValidBusinessRuleListButTimeNotReach.get(0);
            doorAccessDeniedList.add(currentFacePosition);
            CurrentBaseFacePosition.setCurrentDoorAccessMessage(BusinessPersonManager.getBusinessDoorAccessTimeNotReachMessage(currentValidBusinessRuleListButTimeNotReach.get(0), currentPerson));
//            currentDoorAccessMessage = BusinessPersonManager.getBusinessDoorAccessTimeNotReachMessage(currentValidBusinessRuleListButTimeNotReach.get(0),currentPerson);
        }
    }
 
    public void doorAccess() {
        doorAccessSuccessInStep = "";
        doorAccessSuccessWelcomeObject = new Object();
        doorAccessDenyInStep = "";
        doorAccessDenyMessage = new Object();
        doorAccesss1();
        if (doorAccessNeedToStep2()) {
            doorAccessCheckByBusinessRule();
            if (doorAccessNeedToStep3()) {
                doorAccessCheckByDeviceRule();
            }
        }
    }
 
    public void doorAccesss1() {
        if ("拒绝通行".equals(currentSignUpRuleName)) {
            CurrentBaseFacePosition.setCurrentDoorAccessMessage(HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(currentPerson));
//            currentDoorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(currentPerson);
            doorAccess1Denied();
        } else if ("允许通行".equals(currentSignUpRuleName)) {
            CurrentBaseFacePosition.setCurrentDoorAccessMessage(HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage(null, currentPerson));
//            currentDoorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage(null,currentPerson);
//            System.out.println("currentDoorAccessMessage="+HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage(null,currentPerson));
            doorAccess1Allowed();
        } else if ("有效时间内通行".equals(currentSignUpRuleName)) {
            doorAccess1TimeRangeCheck();
        }
    }
 
    protected boolean doorAccess1TimeRangeCheck() {
        if (currentValidSignUpRuleList.size() > 0) {
            doorAccessDenyInStep = "注册规则";
            currentDoorAccessState = true;
            CurrentBaseFacePosition.setCurrentDoorAccessMessage(HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage(currentValidSignUpRuleList.get(0), currentPerson));
//            currentDoorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage(currentValidSignUpRuleList.get(0),currentPerson);
            doorAccessAllowedList.add(currentFacePosition);
            return true;
        } else if (currentValidSignUpRuleListButTimeNotReach.size() > 0) {
            doorAccessDenyInStep = "注册规则";
            currentDoorAccessState = false;
            doorAccessDenyMessage = currentValidSignUpRuleListButTimeNotReach.get(0);
            doorAccessDeniedList.add(currentFacePosition);
            CurrentBaseFacePosition.setCurrentDoorAccessMessage(HintDoorAccessManager.getSignUpRuleDoorAccessTimeNotReachMessage(currentValidSignUpRuleListButTimeNotReach.get(0), currentPerson));
//            currentDoorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessTimeNotReachMessage(currentValidSignUpRuleListButTimeNotReach.get(0),currentPerson);
            return false;
        }
        return false;
    }
 
    protected boolean doorAccess1Denied() {
        doorAccessDenyInStep = "注册规则";
        currentDoorAccessState = false;
        doorAccessDeniedList.add(currentFacePosition);
        CurrentBaseFacePosition.setCurrentDoorAccessMessage(HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(currentPerson));
//        currentDoorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(currentPerson);
 
        return true;
    }
 
    protected boolean doorAccess1Allowed() {
        doorAccessSuccessInStep = "注册规则";
        currentDoorAccessState = true;
        doorAccessAllowedList.add(currentFacePosition);
//        currentDoorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage(null,currentPerson);
        return false;
    }
 
}