Skip to main content

Reporting Hierarchy

Summary

Employee Service stores an optional reporting-manager reference on each employee and an optional head reference on each department. The current organization-chart UI uses the monolith’s user-manager hierarchy, making chart ownership transitional.

Audience

  • Tenant administrators and implementation partners
  • Support engineers, developers, QA engineers, and architects

Purpose

Reporting relationships support workforce lookup and hierarchy presentation without implying matrix reporting, delegated approval, or security authority.

Architecture

Business concepts

  • Reporting manager — Implemented: an employee can reference another active employee in the same tenant-visible data scope.
  • Manager change — Implemented: a command updates the reference, records an employee timeline/audit entry, and creates a ManagerChanged outbox event.
  • Self-reporting prevention — Implemented: an employee cannot be assigned as their own manager.
  • Department head — Implemented reference / Transitional identity: Employee Service uses an employee identifier; compatibility models use a user identifier.
  • Hierarchy traversal and chart — Transitional: the monolith returns visible ancestors and descendants from user-manager links, and the React page renders a tree, search, and print-oriented view.
  • Cycle prevention beyond self — Requires confirmation: no complete ancestor-cycle validator was confirmed for extracted employee manager changes.
  • Matrix, dotted-line, delegation, and approval chains — Not implemented in reviewed organization source.

Technical implementation

Tenant query filters constrain manager lookup in Employee Service. Employee search can filter by reporting manager. The monolith hierarchy endpoint applies tenant visibility for non-platform users and returns only visible manager links. Employee Service does not expose a confirmed equivalent organization-chart traversal endpoint.

Source References

  • microservices/src/employee-service/Domain/Employees/Employee.cs
  • microservices/src/employee-service/Application/Commands/EmployeeApplicationCommands.cs
  • microservices/src/employee-service/Application/Validators/EmployeeCommandValidators.cs
  • microservices/src/employee-service/Application/Search/EmployeeSearch.cs
  • microservices/src/contracts/Events/ManagerChangedEvent.cs
  • Controllers/UserManagementController.cs
  • UI/salary-ui/apps/client-hrms-portal/src/pages/OrganizationChartPage.tsx
  • Models/User.cs

See Also

Keywords

  • Reporting relationship
  • Organization chart
  • Direct report

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-15
  • Review cycle: Quarterly