ContactSearchAssistant / division_hierarchy.py
Muhammed Essam
Initial commit: Voice Assistant demo
8ef276c
# division_hierarchy.py
"""
Mapping of specific divisions to parent departments
"""
# Parent Department IDs and Names
DEPARTMENTS = {
"40000003": "Information Technology",
"40000010": "Finance",
"40000005": "Human Resources",
"40000009": "Legal",
"40000011": "Communication",
"40000012": "Business Development",
"40000004": "Strategic Planning",
"40000245": "Project Studies",
"40000246": "Market Studies",
"40020002": "Services and Facilities",
"40020003": "Purchasing and Contracts",
"40000794": "Governance and Compliance",
"40000638": "Credit Risk",
"40000565": "Portfolio Management",
"40000564": "Credit Relationship",
"40020004": "Credit Control Division",
"40000013": "Loans Support Division",
"40000667": "Enterprise Risk Management",
"40001089": "Audit Excellence Unit",
"40000096": "Operations Audit Division",
"40001088": "Credit Audit Division",
"40000097": "IT Audit Division",
"40000520": "Cyber Security Division",
"40020001": "SIDF Academy",
"40001188": "Corporate Excellence",
"40000522": "CEO Advisory Office",
"40000523": "Board Secretary",
"40020005": "Chief of Staff Office",
"40020000": "ILab",
"40000488": "Secondment",
"40001063": "Credit Analysis & Advisory Division",
"40000089": "VP Office Credit",
}
# Mapping: Division Name -> (Department Name, Department ID)
DIVISION_TO_DEPARTMENT = {
# FINANCE
"General Accounting Division": ("Finance", "40000010"),
"Accounts Payable Division": ("Finance", "40000010"),
"Accounts Receivable Division": ("Finance", "40000010"),
"Financial Reporting & Control Division": ("Finance", "40000010"),
"Audit & Financial Analysis": ("Finance", "40000010"),
# INFORMATION TECHNOLOGY
"IT Governance & Quality Division": ("Information Technology", "40000003"),
"Applications Development & Integrations": ("Information Technology", "40000003"),
"IT Infrastructure & Operations Div.": ("Information Technology", "40000003"),
"Applications Maintenance & Support Div.": ("Information Technology", "40000003"),
"IT Security Implementation & Operations": ("Information Technology", "40000003"),
"IT Manager's Office": ("Information Technology", "40000003"),
"Enterprise Architecture Team": ("Information Technology", "40000003"),
"Reporting & Data Analytics Unit": ("Information Technology", "40000003"),
# HUMAN RESOURCES
"Rewards & Hr Operations Division": ("Human Resources", "40000005"),
"HR Business Partner": ("Human Resources", "40000005"),
"Talent Development Division": ("Human Resources", "40000005"),
"Od & Talent Acquisition Division": ("Human Resources", "40000005"),
"Org.Culture & Initiatives Division": ("Human Resources", "40000005"),
# LEGAL
"Legal Agreements and Consultancy Division": ("Legal", "40000009"),
"Contracts & Mortgages and Guarantees Division": ("Legal", "40000009"),
"Cases Division": ("Legal", "40000009"),
# COMMUNICATION
"Public Relations & Media Division": ("Communication", "40000011"),
"Internal Communication Unit": ("Communication", "40000011"),
# BUSINESS DEVELOPMENT
"Marketing Division": ("Business Development", "40000012"),
"Partnerships Dev&Advisory Services Div": ("Business Development", "40000012"),
# STRATEGIC PLANNING
"Strategy Division": ("Strategic Planning", "40000004"),
"Corporate Performance Division": ("Strategic Planning", "40000004"),
"Knowledge Management Unit": ("Strategic Planning", "40000004"),
# PROJECTS
"Project Management Division": ("Project Studies", "40000245"),
"Projects Consultancy Division": ("Project Studies", "40000245"),
"Construction Consultancy Division": ("Project Studies", "40000245"),
# MARKET RESEARCH
"Market Research Div.": ("Market Studies", "40000246"),
"Market Studies Division": ("Market Studies", "40000246"),
"Business Intelligence Div.": ("Market Studies", "40000246"),
# FACILITIES
"Facilities Management Division": ("Services and Facilities", "40020002"),
"Documents and Administrative Communications Center": ("Services and Facilities", "40020002"),
"Security and Safety Division": ("Services and Facilities", "40020002"),
"Industrial Safety & Loss Prevention Div": ("Services and Facilities", "40020002"),
# PURCHASING
"Procurements Contracts and Vendors Division": ("Purchasing and Contracts", "40020003"),
"Purchasing Division": ("Purchasing and Contracts", "40020003"),
# GOVERNANCE
"Enterprise Governance Division": ("Governance and Compliance", "40000794"),
"Compliance Regulatory Division": ("Governance and Compliance", "40000794"),
"Compliance Operations Division": ("Governance and Compliance", "40000794"),
"Operational Risk Management Division": ("Enterprise Risk Management", "40000667"),
"Financial Risk Management Division": ("Enterprise Risk Management", "40000667"),
"Cybersecurity Governance Unit": ("Cyber Security Division", "40000520"),
"Cybersecurity Defense Unit": ("Cyber Security Division", "40000520"),
# CREDIT
"Credit Risk Division": ("Credit Risk", "40000638"),
"Credit Relationships Division": ("Credit Relationship", "40000564"),
"Credit Control Team - A": ("Credit Control Division", "40020004"),
"Credit Control Team - B": ("Credit Control Division", "40020004"),
"Collection Team": ("Credit Control Division", "40020004"),
"Loan Follow-Up Team": ("Loans Support Division", "40000013"),
"C&Lm Info Team": ("Credit Risk", "40000638"),
# PORTFOLIO
"Portfolio Manager'S Office": ("Portfolio Management", "40000565"),
"Portfolio Division": ("Portfolio Management", "40000565"),
"Special Assets Division": ("Portfolio Management", "40000565"),
# EXCELLENCE
"Programs Delivery Operations Division": ("Corporate Excellence", "40001188"),
"Customer Excellence Division": ("Corporate Excellence", "40001188"),
"Programs Design And Needs Assessment Division": ("Corporate Excellence", "40001188"),
"Programs Evaluation & Quality Assurance Division": ("Corporate Excellence", "40001188"),
"Product Dev For National Priorities Div": ("Corporate Excellence", "40001188"),
"Product Dev For Customer Empowerment Div": ("Corporate Excellence", "40001188"),
"Solutions & Design Division": ("Corporate Excellence", "40001188"),
# AUDIT
"Operations Audit Team": ("Operations Audit Division", "40000096"),
# ACADEMY
"Academy Strategic Partnerships Division": ("SIDF Academy", "40020001"),
# EXECUTIVE
"CEO Office": ("CEO Advisory Office", "40000522"),
}
def get_department(division_name: str) -> tuple:
"""
Get the parent department for a division.
Args:
division_name: Name of the specific division
Returns:
Tuple of (department_name, department_id) or (None, None) if not found
"""
return DIVISION_TO_DEPARTMENT.get(division_name, (None, None))
def get_department_name(division_name: str) -> str:
"""
Get just the department name for a division.
Args:
division_name: Name of the specific division
Returns:
Department name or "Unknown" if not found
"""
dept_name, _ = get_department(division_name)
return dept_name or "Unknown"
def get_department_id(division_name: str) -> str:
"""
Get just the department ID for a division.
Args:
division_name: Name of the specific division
Returns:
Department ID or None if not found
"""
_, dept_id = get_department(division_name)
return dept_id