Appearance
Operations And Performance — Technical Map
Route / page map
| Surface | Main page / shell |
|---|---|
| Appointment | AppointmentReport.tsx |
| Annual leave | AnnualLeaveReport.tsx |
| Task | TaskReport.tsx |
| Service cluster | ServiceReportTab.tsx, ServiceGroupReport.tsx, ServiceReportPage.tsx, ServiceDetailReport.tsx |
| KPI | KPIReport.tsx, KPIReportDetail.tsx |
| Tour income | TourIncomeReport.tsx |
GraphQL / data model map
| Surface | Query / model chính |
|---|---|
| Appointment | GetAppointmentCards trên appointment |
| Service | search_report_service, search_report_service_group, search_report_service_product, report_service_contact_view |
| Annual leave | report_annual_leave + ecommerce_user |
| Task | search_project_task_stats, project_member, department.project |
| KPI | kpi, kpi_participant, kpi_metric_relation qua report_kpi.graphql |
| Tour income | report_tour_income, search_dashboard_report_tour_income, query reuse từ projects/graphql/project.graphql |
Boundary với module khác
| Module | Boundary kỹ thuật |
|---|---|
ecommerce | Appointment/service report sống ở source ecommerce |
hrm | report_annual_leave là HRM view |
projects | Task report và tour income dựa trên project/task models |
kpi | KPI detail page kéo component Targets, Metrics từ module kpi |
Rủi ro / Findings kỹ thuật
| Mức | Finding |
|---|---|
| Cao | TourIncomeReportTable render inline editors gọi mutation update project task/task assignee. |
| Cao | search_report_service và search_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ình | AnnualLeaveReportFilter default năm 2023, đã stale so với runtime hiện tại. |
| Trung bình | Backend select permissions của vài object khá mở; UI đang gánh phần lớn tab/card gating qua reportRoles. |