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; } }