package com.basic.security.manager.helper.rm.base; import com.basic.security.manager.BaseSettingManager; import com.basic.security.manager.BusinessPersonManager; import com.basic.security.manager.HintDoorAccessManager; import com.basic.security.model.Person; public class CurrentBaseDoorAccess extends CurrentBaseAdmin { // 注册规则, 业务规则, 设备规则 public Object doorAccessSuccessInStep = ""; public Object doorAccessSuccessInStepS = ""; public Object doorAccessSuccessWelcomeObject = new Object(); public Object doorAccessSuccessWelcomeObjectS = new Object(); // 注册规则, 业务规则, 设备规则 public Object doorAccessDenyInStep = ""; public Object doorAccessDenyInStepS = ""; public Object doorAccessDenyMessage = new Object(); public Object doorAccessDenyMessageS = new Object(); public boolean doorAccessMode() { // if (Constants.indoorOutdoorInOne) { // return true; // } return activity.currentFragment != activity.fragment_su_logged_ic_compare_success && activity.currentFragment != activity.fragment_su_logged_ic_wait_idcard && activity.currentFragment != activity.fragment_su_logged_ic_wait_face && activity.currentFragment != activity.fragment_su_logged_nic_wait_detail && activity.currentFragment != activity.fragment_su_logged_nic_wait_face ; // return activity.currentFragment == activity.fragment_su_auto_wait_face || // activity.currentFragment == activity.fragment_door_access_confirm || // activity.currentFragment == activity.fragment_guest_mode || // activity.currentFragment == activity.fragment_door_access_success; } protected boolean doorAccessNeedToStep3S() { return doorAccessNeedToStep2S(); } protected boolean doorAccessNeedToStep3() { return doorAccessNeedToStep2(); } public void doorAccessCheckByDeviceRuleS() { String deviceRuleName = BaseSettingManager.getDevicePassMode(); if ("允许通行".equals(deviceRuleName)) { doorAccessSuccessInStepS = "设备规则"; doorAccessAllowedListS.add(currentFacePosition); doorAccessSuccessWelcomeObjectS = ""; CurrentBaseFacePosition.setCurrentDoorAccessMessageS(HintDoorAccessManager.getDeviceDoorAccessAllowMessage(currentPerson)); } if ("确认通行".equals(deviceRuleName)) { currentDoorAccessStateS = true; doorAccessConfirmListS.add(currentFacePosition); CurrentBaseFacePosition.setCurrentDoorAccessMessageS(HintDoorAccessManager.getDeviceDoorAccessConfirmMessage(currentPerson)); } } public void doorAccessCheckByDeviceRule() { String deviceRuleName = BaseSettingManager.getDevicePassMode(); if ("允许通行".equals(deviceRuleName)) { doorAccessSuccessInStep = "设备规则"; doorAccessAllowedList.add(currentFacePosition); doorAccessSuccessWelcomeObject = ""; CurrentBaseFacePosition.setCurrentDoorAccessMessage(HintDoorAccessManager.getDeviceDoorAccessAllowMessage(currentPerson)); } if ("确认通行".equals(deviceRuleName)) { currentDoorAccessState = true; doorAccessConfirmList.add(currentFacePosition); CurrentBaseFacePosition.setCurrentDoorAccessMessage(HintDoorAccessManager.getDeviceDoorAccessConfirmMessage(currentPerson)); } } protected void doorAccessCheckByBusinessRuleS() { if (currentValidBusinessRuleList.size() > 0) { doorAccessSuccessInStepS = "业务规则"; currentDoorAccessStateS = true; doorAccessAllowedListS.add(currentFacePosition); doorAccessSuccessWelcomeObjectS = currentValidBusinessRuleList.get(0); if (currentValidBusinessRuleConfirmList.size() > 0) { String doorAccessMessage = BusinessPersonManager.getBusinessRuleDoorAccessConfirmMessage(currentValidBusinessRuleList.get(0), currentPerson); CurrentBaseFacePosition.setCurrentDoorAccessMessageS(doorAccessMessage); } else { CurrentBaseFacePosition.setCurrentDoorAccessMessageS(BusinessPersonManager.getBusinessRuleDoorAccessAllowMessage(currentValidBusinessRuleList.get(0), currentPerson)); } } else if (currentValidBusinessRuleListButTimeNotReach.size() > 0) { doorAccessDenyInStepS = "业务规则"; currentDoorAccessStateS = false; doorAccessDenyMessageS = currentValidBusinessRuleListButTimeNotReach.get(0); doorAccessDeniedListS.add(currentFacePosition); CurrentBaseFacePosition.setCurrentDoorAccessMessageS(BusinessPersonManager.getBusinessDoorAccessTimeNotReachMessage(currentValidBusinessRuleListButTimeNotReach.get(0), currentPerson)); } } protected void doorAccessCheckByBusinessRule() { if (currentValidBusinessRuleList.size() > 0) { doorAccessSuccessInStep = "业务规则"; currentDoorAccessState = true; doorAccessAllowedList.add(currentFacePosition); doorAccessSuccessWelcomeObject = currentValidBusinessRuleList.get(0); if (currentValidBusinessRuleConfirmList.size() > 0) { String doorAccessMessage = BusinessPersonManager.getBusinessRuleDoorAccessConfirmMessage(currentValidBusinessRuleList.get(0), currentPerson); CurrentBaseFacePosition.setCurrentDoorAccessMessage(doorAccessMessage); } else { CurrentBaseFacePosition.setCurrentDoorAccessMessage(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)); } } public void doorAccess() { doorAccessSuccessInStep = ""; doorAccessSuccessWelcomeObject = new Object(); doorAccessDenyInStep = ""; doorAccessDenyMessage = new Object(); if ("访客注册".equals(currentPerson.getString(Person.sign_up_method))) { try { long guest_visit_valid_time = Long.parseLong(currentPerson.getString(Person.guest_visit_valid_time)); if (System.currentTimeMillis() - guest_visit_valid_time < 0) { String doorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage(null, currentPerson); CurrentBaseFacePosition.setCurrentDoorAccessMessage(doorAccessMessage); currentFaceTitleAndTips.faceTitle2(doorAccessMessage, true); doorAccessAllowedList.add(currentFacePosition); } else { String denyMessage = HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(currentPerson); currentFaceTitleAndTips.faceTitle(denyMessage); currentFaceTitleAndTips.faceTitle2(denyMessage, true); } } catch (Exception e) { e.printStackTrace(); } } else { doorAccesss1(); if (doorAccessNeedToStep2()) { doorAccessCheckByBusinessRule(); if (doorAccessNeedToStep3()) { doorAccessCheckByDeviceRule(); } } } } public void doorAccessS() { doorAccessSuccessInStepS = ""; doorAccessSuccessWelcomeObjectS = new Object(); doorAccessDenyInStepS = ""; doorAccessDenyMessageS = new Object(); if ("访客注册".equals(currentPerson.getString(Person.sign_up_method))) { try { long guest_visit_valid_time = Long.parseLong(currentPerson.getString(Person.guest_visit_valid_time)); if (System.currentTimeMillis() - guest_visit_valid_time < 0) { String doorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage(null, currentPerson); CurrentBaseFacePosition.setCurrentDoorAccessMessage(doorAccessMessage); currentFaceTitleAndTipsS.faceTitle2(doorAccessMessage, true); doorAccessAllowedListS.add(currentFacePosition); currentFaceTitleAndTipsS.setFaceTitleGreenColor(); } else { String denyMessage = HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(currentPerson); // System1.out.println("CurrentBaseDoorAccess.doorAccessS " + (System.currentTimeMillis() - guest_visit_valid_time < 0) +" " + denyMessage); currentFaceTitleAndTipsS.faceTitle(denyMessage); currentFaceTitleAndTipsS.setFaceTitleRedColor(); currentFaceTitleAndTipsS.faceTitle2(denyMessage, true); } } catch (Exception e) { e.printStackTrace(); } } else { doorAccesss1S(); if (doorAccessNeedToStep2S()) { doorAccessCheckByBusinessRuleS(); if (doorAccessNeedToStep3S()) { doorAccessCheckByDeviceRuleS(); } } } } public void doorAccesss1S() { // System1.out.println("CurrentBaseDoorAccess.doorAccesss1S 1 " + currentSignUpRuleName); if ("拒绝通行".equals(currentSignUpRuleName)) { String doorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(currentPerson); CurrentBaseFacePosition.setCurrentDoorAccessMessageS(doorAccessMessage); currentFaceTitleAndTipsS.faceTitle2(doorAccessMessage, true); doorAccess1DeniedS(); currentFaceTitleAndTipsS.setFaceTitleRedColor(); } else if ("确认通行".equals(currentSignUpRuleName)) { String doorAccessMessage = HintDoorAccessManager.getDeviceDoorAccessConfirmMessage(currentPerson); currentFaceTitleAndTipsS.faceTitle2(doorAccessMessage, true); CurrentBaseFacePosition.setCurrentDoorAccessMessageS(doorAccessMessage); // System1.out.println("CurrentBaseDoorAccess.doorAccesss1 doorAccessMessage="+doorAccessMessage); // doorAccess1AllowedS(); currentFaceTitleAndTipsS.setFaceTitleGreenColor(); } else if ("允许通行".equals(currentSignUpRuleName)) { String doorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage(null, currentPerson); currentFaceTitleAndTipsS.faceTitle2(doorAccessMessage, true); CurrentBaseFacePosition.setCurrentDoorAccessMessageS(doorAccessMessage); doorAccess1AllowedS(); currentFaceTitleAndTipsS.setFaceTitleGreenColor(); } else if ("有效时间内通行".equals(currentSignUpRuleName)) { doorAccess1TimeRangeCheckS(); } } public void doorAccesss1() { if ("拒绝通行".equals(currentSignUpRuleName)) { String doorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(currentPerson); CurrentBaseFacePosition.setCurrentDoorAccessMessage(doorAccessMessage); currentFaceTitleAndTips.faceTitle2(doorAccessMessage, true); doorAccess1Denied(); } else if ("确认通行".equals(currentSignUpRuleName)) { String doorAccessMessage = HintDoorAccessManager.getDeviceDoorAccessConfirmMessage(currentPerson); // System1.out.println("CurrentBaseDoorAccess.doorAccesss1 doorAccessMessage="+doorAccessMessage); currentFaceTitleAndTips.faceTitle2(doorAccessMessage, true); CurrentBaseFacePosition.setCurrentDoorAccessMessage(doorAccessMessage); // doorAccess1Allowed(); } else if ("允许通行".equals(currentSignUpRuleName)) { String doorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage(null, currentPerson); currentFaceTitleAndTips.faceTitle2(doorAccessMessage, true); CurrentBaseFacePosition.setCurrentDoorAccessMessage(doorAccessMessage); doorAccess1Allowed(); } else if ("有效时间内通行".equals(currentSignUpRuleName)) { doorAccess1TimeRangeCheck(); } } protected boolean doorAccess1TimeRangeCheckS() { if (currentValidSignUpRuleList.size() > 0) { doorAccessDenyInStepS = "注册规则"; currentDoorAccessStateS = true; String doorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage(currentValidSignUpRuleList.get(0), currentPerson); currentFaceTitleAndTipsS.faceTitle2(doorAccessMessage, true); CurrentBaseFacePosition.setCurrentDoorAccessMessageS(doorAccessMessage); doorAccessAllowedListS.add(currentFacePosition); currentFaceTitleAndTipsS.setFaceTitleGreenColor(); return true; } else if (currentValidSignUpRuleListButTimeNotReach.size() > 0) { doorAccessDenyInStepS = "注册规则"; currentDoorAccessStateS = false; doorAccessDenyMessageS = currentValidSignUpRuleListButTimeNotReach.get(0); doorAccessDeniedListS.add(currentFacePosition); String doorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessTimeNotReachMessage(currentValidSignUpRuleListButTimeNotReach.get(0), currentPerson); currentFaceTitleAndTipsS.faceTitle2(doorAccessMessage, true); CurrentBaseFacePosition.setCurrentDoorAccessMessageS(doorAccessMessage); currentFaceTitleAndTipsS.setFaceTitleRedColor(); return false; } return false; } protected boolean doorAccess1TimeRangeCheck() { if (currentValidSignUpRuleList.size() > 0) { doorAccessDenyInStep = "注册规则"; currentDoorAccessState = true; String doorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessAllowMessage(currentValidSignUpRuleList.get(0), currentPerson); currentFaceTitleAndTips.faceTitle2(doorAccessMessage, true); currentFaceTitleAndTipsS.faceTitle2(doorAccessMessage, true); CurrentBaseFacePosition.setCurrentDoorAccessMessage(doorAccessMessage); doorAccessAllowedList.add(currentFacePosition); return true; } else if (currentValidSignUpRuleListButTimeNotReach.size() > 0) { doorAccessDenyInStep = "注册规则"; currentDoorAccessState = false; doorAccessDenyMessage = currentValidSignUpRuleListButTimeNotReach.get(0); doorAccessDeniedList.add(currentFacePosition); String doorAccessMessage = HintDoorAccessManager.getSignUpRuleDoorAccessTimeNotReachMessage(currentValidSignUpRuleListButTimeNotReach.get(0), currentPerson); currentFaceTitleAndTips.faceTitle2(doorAccessMessage, true); currentFaceTitleAndTipsS.faceTitle2(doorAccessMessage, true); CurrentBaseFacePosition.setCurrentDoorAccessMessage(doorAccessMessage); return false; } return false; } protected boolean doorAccess1DeniedS() { doorAccessDenyInStepS = "注册规则"; currentDoorAccessStateS = false; doorAccessDeniedListS.add(currentFacePosition); CurrentBaseFacePosition.setCurrentDoorAccessMessageS(HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(currentPerson)); return true; } protected boolean doorAccess1Denied() { doorAccessDenyInStep = "注册规则"; currentDoorAccessState = false; doorAccessDeniedList.add(currentFacePosition); CurrentBaseFacePosition.setCurrentDoorAccessMessage(HintDoorAccessManager.getSignUpRuleDoorAccessTimeDeniedMessage(currentPerson)); return true; } protected boolean doorAccess1AllowedS() { doorAccessSuccessInStepS = "注册规则"; currentDoorAccessStateS = true; doorAccessAllowedListS.add(currentFacePosition); return false; } protected boolean doorAccess1Allowed() { doorAccessSuccessInStep = "注册规则"; currentDoorAccessState = true; doorAccessAllowedList.add(currentFacePosition); return false; } }