Dane raportowe

Dane raportowe

Wszystkie dane raportowe są statycznymi plikami JSON w katalogu public/data/. Vite serwuje je bezpośrednio — brak backendu, brak API.


Konwencja nazewnictwa plików

public/data/T{tableId}/T{tableId}L{listId}{locationId}.json

Przykład: T1L12830.json → tabela T1, lista L1, lokalizacja 2830


Listy (list_id)

Wyświetlana nazwa list_id Przykładowy plik
Rafał Lubak L1 T1L12830.json
Rafał Wieczorek L2 T1L22830.json
Andrzej Chmielewski L3 T1L32830.json

W selektorze UI wyświetlany jest format: Rafał Lubak (L1). Kod mapuje nazwę → list_id przy budowaniu ścieżki do pliku.


Sekcje raportu (table_id)

table_id Sekcja Format danych
T1 Informacje o wolumenie miesięcznym ReportRow[]
T2 Kluczowe wskaźniki miesięczne (KPI) KpiRow[]
T5 Sprzedaż od początku roku (YTD) ReportRow[]

Każda sekcja w DOM posiada atrybut data-table-id="T1" — przydatne przy automatyzacji lub scrapingu.


Format JSON — T1 i T5 (ReportRow[])

[
  {
    "id": "2026",
    "label": "2026",
    "cells": [
      { "value": "88 045" },
      { "value": "79 546" },
      { "value": "X", "highlight": true },
      { "value": "196 424", "highlightBg": true }
    ]
  }
]

Pola CellValue

Pole Typ Opis
value string Wyświetlana wartość komórki
highlight boolean? Tekst w kolorze amber (text-amber-500)
highlightBg boolean? Tło amber (bg-amber-500/15) + highlight

Format JSON — T2 (KpiRow[])

[
  {
    "id": "avg-sales",
    "label": "Średnia sprzedaż",
    "cells": ["1 234", "1 100", "980", "..."]
  }
]

Kolejność komórek odpowiada kolejności kolumn miesięcznych (od najnowszego).

Wskaźniki T2 (kolejność A–K)

ID wiersza Etykieta Typ wartości
avg-sales Średnia sprzedaż
customers-count Ilość klientów liczba
other-sales-qty Sprzedaż pozostałe liczba
customers-yoy Klienci vs rok poprzedni % %
sales-pizza-total Pizza
pizzas-yoy Pizze vs rok poprzedni % %
drinks-sales Napoje
drinks-pct Sprzedaż napoje % %
addons-sales Sprzedaż dodatków
starters-sales Startery
avg-bill Średni rachunek

Wiersze pieniężne () mają automatycznie doklejony sufiks w UI.


Mapowanie ID komórek — T1

Wiersze (lata)

Etykieta w JSON ID w UI
2026 TY
2025 LY
2024 AY
2026 vs 2025 VS1
2025 vs 2024 VS2

Kolumny miesięczne — aliasy specjalne (TY)

Miesiąc ID
TY + 02 (luty) TYLM
TY + 03 (marzec) TYTM
TY + 04 (kwiecień) TYNM

Pozostałe kolumny: {yearAlias}{monthId} → np. LY03

Przykładowe ID komórek T1

Komórka ID
TY, luty TYLM
TY, marzec TYTM
LY, styczeń LY01
VS1, czerwiec VS106

Mapowanie ID komórek — T2

Kolumny mają techniczne ID miesięczne:

Miesiąc ID kolumny
Mar 2026 TM (bieżący miesiąc)
Lut 2026 M1
Sty 2026 M2
Gru 2025 M3
Lis 2025 M4
Paź 2025 M5
Wrz 2025 M6
Sie 2025 M7
Lip 2025 M8
Cze 2025 M9
Maj 2025 M10
Kwi 2025 M11
Mar 2025 MR

Wiersze mają ID literowe Excel: A, B, ..., K.

Format ID komórki T2: {litera}-{miesiacId} → np. A-TM, B-M1, K-MR


Dodanie nowych danych

  1. Utwórz plik JSON w odpowiednim katalogu (public/data/T1/, T2/, T5/)
  2. Nazwij plik zgodnie z konwencją: T1L{listId}{locationId}.json
  3. Jeśli dodajesz nową listę — zarejestruj ją w selektorze w src/App.tsx
  4. Zapisz plik — Vite wykryje zmianę i automatycznie przeładuje stronę (bez restartu kontenera)

Revision #5
Created 2026-05-28 04:01:00 CEST by matzxp84
Updated 2026-05-28 04:34:05 CEST by matzxp84