Skip to content

Operations And Performance — Technical Map

Route / page map

SurfaceMain page / shell
AppointmentAppointmentReport.tsx
Annual leaveAnnualLeaveReport.tsx
TaskTaskReport.tsx
Service clusterServiceReportTab.tsx, ServiceGroupReport.tsx, ServiceReportPage.tsx, ServiceDetailReport.tsx
KPIKPIReport.tsx, KPIReportDetail.tsx
Tour incomeTourIncomeReport.tsx

GraphQL / data model map

SurfaceQuery / model chính
AppointmentGetAppointmentCards trên appointment
Servicesearch_report_service, search_report_service_group, search_report_service_product, report_service_contact_view
Annual leavereport_annual_leave + ecommerce_user
Tasksearch_project_task_stats, project_member, department.project
KPIkpi, kpi_participant, kpi_metric_relation qua report_kpi.graphql
Tour incomereport_tour_income, search_dashboard_report_tour_income, query reuse từ projects/graphql/project.graphql

Boundary với module khác

ModuleBoundary kỹ thuật
ecommerceAppointment/service report sống ở source ecommerce
hrmreport_annual_leave là HRM view
projectsTask report và tour income dựa trên project/task models
kpiKPI detail page kéo component Targets, Metrics từ module kpi

Rủi ro / Findings kỹ thuật

MứcFinding
CaoTourIncomeReportTable render inline editors gọi mutation update project task/task assignee.
Caosearch_report_servicesearch_report_service_group/search_report_service_product dùng time basis và semantics khác nhau; used_number còn bị hardcode 0 ở service-group path.
Trung bìnhAnnualLeaveReportFilter default năm 2023, đã stale so với runtime hiện tại.
Trung bìnhBackend select permissions của vài object khá mở; UI đang gánh phần lớn tab/card gating qua reportRoles.