Skip to content

📦 Quick Fix compact package — chỉ gồm index.md + prd.md (không có decision-brief/dev-spec/qa-test-plan/handoff riêng). Toàn bộ nội dung gộp vào prd.md theo Size S profile (CLAUDE.md).

Fix wording + filter status + BUG format + TZ — Báo cáo Doanh số/Thực thu & Chu kỳ khách hàng

Package fix cho 2 báo cáo dashboard:

  • /r/reports/actual_revenue_report_group — Doanh số/Thực thu
  • /r/reports/customer_cycle_report_group — Nhóm chu kỳ khách hàng (tab Chu Kỳ Mua Hàng)

v1.1 update (2026-05-12): Bổ sung 1 BUG P0 nghiêm trọng (card Telesale/CRM amount rate hiển thị VND thay vì %) và 1 SQL TZ fix (đồng nhất convert TZ trong search_dashboard_telesale_amount).

Findings tổng hợp:

#IssuePriorityMức độLayerQuyết định
B0🐛 BUG — Card 3 & 5 hiển thị , "Tăng 4đ" thay vì % (FE isAmount match lỏng)P0🔴 HighFEFIX (FR-008)
C1Filter trạng thái đơn quá lỏng — gồm order_new/prepaid_new chưa thanh toánP1🟡 MediumBE GoFIX (filter whitelist status đã thanh toán)
C2Bao gồm order_kind = prepaid (mua thẻ trả trước)GIỮ NGUYÊN (PO chốt: đã thu tiền = đã mua)
C3Filter ngày khác nhau giữa các chỉ số (visit_date / created_at / paid_at)P2🟢 LowFE/QADOCUMENT ONLY (thêm tooltip note, không sửa code)
T1TZ convert khác nhau cho cùng cột visit_date trong cùng SQL function (+ INTERVAL '7 hour' vs AT TIME ZONE)P1🟡 MediumBE SQLFIX (FR-009 migration mới)

Wording fix kèm (12 chuỗi i18n + 1 label hardcoded + 3 server titles + 1 component tooltip array):

#Wording fixLayerTrạng thái
W1Tooltip conversion_rate — đổi "khách hàng" → "lượt khách" + nhắc rõ "bao gồm đơn còn công nợ"FE i18n✅ Ready
W2Tooltip telesale_conversion_rate — đổi "khách" → "đơn hàng"FE i18n✅ Ready
W3Tooltip crm_conversion_visits_rate — đổi "khách" → "đơn hàng (gồm Telesale)"FE i18n✅ Ready
W4Label hardcoded "Số lượng khách bắt đầu mua" → "Số khách có phát sinh đơn trong kỳ"FE component✅ Ready
W5Mảng tooltipContents hardcoded trong ActualRevenueReportDetailEfficiency.tsx (line 32-39)FE component✅ Ready
W6Server-side title 3 chỉ số (ConversionRate.Title, TelesaleConversionVisitsRate.Title, CrmConversionVisitsRate.Title)BE Go✅ Ready
W7Fix typo "Tống số khách" → "Tổng số khách" trong vi.tsFE i18n✅ Ready

Components/Files ảnh hưởng

  • diva-admin/src/modules/report/i18n/vi.ts — sửa block actual_revenue_report (12 chuỗi) + thêm block customer_cycle_purchase (2 chuỗi)
  • diva-admin/src/modules/report/components/actual-revenue-report/ActualRevenueReportDetailEfficiency.tsx:
    • Sửa tooltipContents hardcoded (line 32-39)
    • 🐛 FR-008 BUG FIX — sửa isAmount check (line 138) dùng allowlist tường minh
  • diva-admin/src/modules/report/components/customer-cycle/CustomerCyclePurchaseViewChart.tsx — đổi label hardcoded + thêm icon ℹ️ tooltip
  • diva-backend/services/ecommerce-api/action/report_sales_revenue.go — 3 dòng title (368, 370, 372)
  • diva-backend/services/ecommerce-api/action/report_purchase_cycle.go — line 269 filter status (C1 fix)
  • Mới: diva-backend/services/controller/migrations/ecommerce/<timestamp>_fix_tz_telesale_amount_convertion_visits/up.sql — TZ fix cho convertion_visits_cte (FR-009)

Tài liệu

FileNội dungĐọc bởi
PRD / Bug SpecZ) 3 Decisions · A) Context + 7 FR + AC · C) Code changes (wording + filter status SQL) · D) QA test cases · Phụ lục: audit findings + 3 cảnh báo chi tiếtTất cả (BE, FE, QA, PO)
Vai tròSection cần đọc
PO/StakeholderZ) Decisions + A2) Context — đặc biệt DEC-008 (BUG P0)
BE Go DevC1) Filter status fix + C4) Server titles + Phụ lục C-1 SQL kiểm chứng
BE SQL DevC6) SQL migration TZ fix + FR-009
FE DevC2) i18n vi.ts wording + C3) Component fixes (gồm C3.1.b BUG FIX) + FR-008 BUG P0
QAD) Test Cases (TC-01..12) — đặc biệt TC-10/11/12 mới

Audit này phát sinh từ câu hỏi của BoD về cách hiểu chỉ số Tỉ lệ khách phát sinh doanh số = 35,33%. BoD analysis chi tiết được publish riêng như knowledge note (xem changelog). Package fix này focus vào hành động cụ thể cho team.

v1.1 trigger: Code review session ngày 12/05/2026 phát hiện thêm 1 BUG P0 (FE isAmount match lỏng) và 1 TZ inconsistency trong SQL function — bổ sung vào cùng wave fix vì cùng file/cùng QA case.

Lịch sử thay đổi

VersionNgàyThay đổiFileẢnh hưởng
v1.011/05/2026Initial release — 3 cảnh báo audit + 7 wording fix, 9 test cases, 3 quyết định chốtPRDAll
v1.112/05/2026Bổ sung: 🐛 FR-008 BUG P0 format *_amount_rate (FE isAmount lỏng) + FR-009 SQL TZ fix + 3 TC mới (TC-10/11/12) + DEC-T06/T07 + DEC-007/008 + tooltip card 2 thêm note "bao gồm đơn còn công nợ"PRDFE (1 file thêm 1 thay đổi) + BE SQL (1 migration mới)