Spis treści
1. Cel aplikacji
RCP WorkBox służy do przygotowywania raportów czasu pracy pracowników na podstawie odbić kart w systemie Navifleet. Aplikacja pobiera zdarzenia z API, przypisuje je do pracowników i wylicza czas pracy dla każdej zmiany.
System zakłada użycie dwóch czytników:
- czytnik wejść — zapisuje kod wejścia pracownika,
- czytnik wyjść — zapisuje kod wyjścia, generowany automatycznie jako pierwszy bajt kodu wejścia + pozostałe 5 bajtów w odwróconej kolejności.
Kod wejścia:
0000009D3877Kod wyjścia:
0077389D0000
2. Wymagania i dostęp
Do korzystania z aplikacji wymagane są:
- konto użytkownika Navifleet,
- nadane uprawnienie do aplikacji RCP WorkBox przez administratora,
- dostęp do przeglądarki internetowej,
- połączenie z internetem, jeżeli raport ma być generowany z rzeczywistych danych Navifleet.
Uprawnienie do aplikacji jest sprawdzane lokalnie. Oznacza to, że samo konto Navifleet nie wystarczy — login musi być dopisany do listy użytkowników uprawnionych.
3. Logowanie
Wejdź na adres aplikacji, np. login.html.
Użyj tych samych danych, których używasz do logowania w Navifleet.
Aplikacja sprawdzi, czy masz lokalne uprawnienie, a następnie zaloguje Cię przez Navifleet.
4. Ekrany aplikacji
| Ekran | Do czego służy |
|---|---|
| Raport RCP | Generowanie raportów czasu pracy na podstawie wybranego zakresu dat. |
| Pracownicy i karty | Import CSV, edycja pracowników i przypisań kart, walidacja konfliktów. |
| Dokumentacja | Informacje pomocnicze o działaniu systemu. |
| Wyloguj | Zakończenie sesji użytkownika. |
5. Pracownicy i karty
Przed wygenerowaniem raportu należy mieć wprowadzoną listę pracowników oraz przypisane do nich karty. Każdy pracownik może mieć jedną lub wiele kart w różnych okresach.
5.1 Dodanie pracownika ręcznie
- Przejdź do ekranu Pracownicy i karty.
- W sekcji Dodaj / edytuj pracownika wpisz imię i nazwisko albo nazwę pracownika.
- Wybierz status: Aktywny albo Nieaktywny.
- Kliknij Zapisz pracownika.
- Na końcu kliknij Zapisz w bazie danych, aby utrwalić zmiany.
5.2 Dodanie karty pracownikowi
- W sekcji Dodaj przypisanie karty wybierz pracownika.
- Wpisz Kod wejścia.
- Kod wyjścia zostanie wygenerowany automatycznie.
- Podaj datę Ważna od.
- Opcjonalnie podaj datę Ważna do. Puste pole oznacza „nadal”.
- Kliknij Zapisz przypisanie karty.
- Kliknij Zapisz w bazie danych.
6. Import CSV
Import CSV pozwala szybko dodać większą listę pracowników.
6.1 Format pliku CSV
Obsługiwany format:
kod_karty;Pracownik;data_od;data_do;
Przykłady:
0000009D3877;Jan Kowalski;2026-05-01;
0000009D4F69;Anna Nowak;2026-05-01;2026-05-31;
0000009DB3C8;Piotr Zieliński;;
| Kolumna | Wymagana | Opis |
|---|---|---|
| Kod karty | Tak | Kod wejścia odczytywany przez czytnik wejść. |
| Pracownik | Tak | Nazwa pracownika widoczna w raportach. |
| Data od | Nie | Jeżeli pusta, aplikacja użyje domyślnej daty z formularza importu. |
| Data do | Nie | Jeżeli pusta, przypisanie karty jest ważne nadal. |
6.2 Import krok po kroku
- Przejdź do ekranu Pracownicy i karty i kliknij Importuj CSV w dolnym pasku. Z prawej otworzy się panel importu.
- Wybierz plik CSV albo przeciągnij go na pole pliku. Wzór pliku pobierzesz linkiem Pobierz wzór CSV.
- Ustaw Domyślną datę „ważna od” — zostanie użyta dla wierszy bez daty od.
- Wybierz tryb importu:
- Dopisz do obecnej listy — dodaje pracowników z pliku do aktualnej listy,
- Zastąp całą listę — usuwa obecnych pracowników i ich karty, zostają tylko pracownicy z pliku. Aplikacja poprosi o potwierdzenie.
- Sprawdź podgląd: liczbę kart do importu, pominięte wiersze (z numerem wiersza i powodem) oraz wynik walidacji konfliktów kart.
- Kliknij Importuj. Dane zostaną od razu zapisane w bazie. Przycisk jest nieaktywny, dopóki plik zawiera konflikty kart.
Pierwszy wiersz z nagłówkiem (cardCode;Pracownik;validFrom;validTo;) i puste linie są pomijane.
7. Historia kart pracownika
System pozwala przypisać jednemu pracownikowi kilka kart w różnych okresach. Jest to potrzebne, gdy karta została zgubiona, uszkodzona albo oddana i później wykorzystana u innego pracownika.
7.1 Przykład poprawnej historii
Pracownik 1
- karta 0000009D3877 od 2026-05-01 do 2026-05-15
- karta 0000009DB3C8 od 2026-05-16 do nadal
7.2 Walidacja konfliktów
Aplikacja sprawdza, czy ta sama karta lub odpowiadający jej kod wyjścia nie występuje w nakładających się okresach.
Ta sama karta przypisana do dwóch pracowników od 2026-05-10 do 2026-05-20.
Pracownik A używa karty do 2026-05-15, a pracownik B od 2026-05-16.
8. Generowanie raportu
8.1 Wybór zakresu
Na ekranie Raport RCP wybierz:
- Od — początek raportu,
- Do — koniec raportu,
- Bufor pobierania danych — dodatkowy czas przed i po zakresie, przydatny przy zmianach przechodzących przez północ,
- Maksymalny czas pracy — zabezpieczenie przed błędnym sparowaniem wejścia i wyjścia,
- Ignoruj duplikat odbicia do — czas, w którym powtórne odbicie tego samego typu jest ignorowane jako duplikat.
8.2 Tryb demo
Jeżeli zaznaczony jest Tryb demo, aplikacja używa pliku demo-alerts.json zamiast pobierać rzeczywiste dane z Navifleet.
8.3 Uruchomienie raportu
- Wybierz zakres dat.
- Ustaw parametry raportu.
- Odznacz tryb demo, jeśli chcesz pobrać dane rzeczywiste.
- Kliknij Pobierz i przelicz.
- Po zakończeniu sprawdź sekcję Wyniki i Nieznane odbicia.
9. Interpretacja wyników
9.1 Kolumny raportu
| Kolumna | Znaczenie |
|---|---|
| Pracownik | Osoba, do której przypisano odbicia. |
| Wejście | Czas odbicia na czytniku wejść. |
| Wyjście | Czas odbicia na czytniku wyjść. |
| Czas pracy | Różnica pomiędzy wejściem i wyjściem. |
| Karta | Kod karty wejściowej użyty do identyfikacji pracownika. |
| Urządzenia | Czytniki, z których przyszły odbicia. |
| Status | Ocena poprawności pozycji raportu. |
| Szczegóły | Lista odbić użytych do utworzenia pozycji raportu. |
9.2 Statusy
| Status | Znaczenie | Co zrobić |
|---|---|---|
| OK | Wejście i wyjście zostały poprawnie sparowane. | Nie wymaga działania. |
| Brak wejścia | Wystąpiło wyjście, ale nie znaleziono wcześniejszego wejścia. | Sprawdź, czy zakres raportu obejmuje początek zmiany albo czy pracownik odbił wejście. |
| Brak wyjścia | Wystąpiło wejście, ale nie znaleziono wyjścia. | Sprawdź, czy zakres raportu obejmuje koniec zmiany albo czy pracownik odbił wyjście. |
| Podwójne wejście | Kolejne wejście pojawiło się bez wcześniejszego wyjścia. | Sprawdź, czy brakuje wyjścia lub czy odbicie nie było błędne. |
| Przekroczony czas | Czas między wejściem i wyjściem przekracza ustawiony maksymalny czas pracy. | Sprawdź parowanie odbić i ustawienie maksymalnego czasu pracy. |
9.3 Nieznane odbicia
Sekcja Nieznane odbicia pokazuje zdarzenia, których nie udało się przypisać do pracownika.
| Powód | Znaczenie |
|---|---|
| Nieznana karta | Kod nie występuje w historii kart żadnego pracownika. |
| Karta poza okresem przypisania | Kod istnieje w historii, ale nie był ważny w dacie odbicia. |
| Konflikt przypisania karty | Kod pasuje do więcej niż jednego pracownika w tym samym okresie. |
10. Eksport raportu
10.1 Eksport CSV
Po wygenerowaniu raportu można użyć przycisku eksportu CSV, jeżeli jest dostępny w danej wersji interfejsu. Plik CSV można otworzyć w Excelu, LibreOffice lub Google Sheets.
10.2 Eksport XLSX
Przycisk Eksportuj raport w sekcji Wyniki generuje plik XLSX. Eksport jest dostępny po wygenerowaniu raportu.
Plik XLSX może zawierać arkusze:
- Raport — szczegółowe pozycje raportu,
- Podsumowanie — suma czasu pracy per pracownik,
- Nieznane odbicia — zdarzenia nierozpoznane.
js/.
11. Najczęstsze problemy i rozwiązania
| Problem | Możliwa przyczyna | Rozwiązanie |
|---|---|---|
| Nie mogę się zalogować. | Login nie jest dopisany do użytkowników aplikacji albo hasło Navifleet jest błędne. | Sprawdź login/hasło i poproś administratora o dopisanie loginu do app_users. |
| Raport jest pusty. | Wybrano zły zakres dat, tryb demo, brak pracowników w bazie albo brak odbić w Navifleet. | Sprawdź zakres, tryb demo i listę pracowników. |
| Wszystkie odbicia są nieznane. | Kody kart w bazie nie odpowiadają kodom z API. | Sprawdź import CSV i okresy ważności kart. |
| Karta poza okresem przypisania. | Data odbicia nie mieści się w zakresie validFrom / validTo. |
Popraw historię przypisania karty. |
| Konflikt przypisania karty. | Ta sama karta jest przypisana do więcej niż jednego pracownika w tym samym okresie. | Popraw daty przypisań kart. |
| Po imporcie liczba pracowników jest mniejsza niż liczba wierszy CSV. | Starsza wersja importu scalała rekordy po nazwie. | Użyj poprawionej wersji employees.js, w której każdy wiersz CSV jest osobnym pracownikiem. |
| Eksport XLSX nie działa. | Nie załadowano biblioteki XLSX. | Sprawdź połączenie z CDN albo użyj lokalnego pliku biblioteki. |
12. Checklista pracy użytkownika
12.1 Pierwsze uruchomienie
- Zaloguj się do aplikacji.
- Przejdź do Pracownicy i karty.
- Zaimportuj plik CSV albo dodaj pracowników ręcznie.
- Sprawdź komunikat walidacji.
- Kliknij Zapisz w bazie danych.
- Przejdź do Raport RCP.
- Wygeneruj raport testowy.
12.2 Codzienna / cykliczna praca
- Zaloguj się.
- Sprawdź, czy lista pracowników jest aktualna.
- Wybierz zakres raportu.
- Odznacz tryb demo, jeśli generujesz raport produkcyjny.
- Kliknij Pobierz i przelicz.
- Sprawdź statusy problemowe i nieznane odbicia.
- Wyeksportuj raport do XLSX lub CSV.
- Wyloguj się po zakończeniu pracy.
13. Słownik pojęć
| Pojęcie | Opis |
|---|---|
| RCP | Rejestracja Czasu Pracy. |
| Odbicie | Zdarzenie odczytu karty przez czytnik. |
| Kod wejścia | Kod karty zwracany przez czytnik wejść. |
| Kod wyjścia | Pierwszy bajt kodu wejścia + pozostałe 5 bajtów w odwróconej kolejności (np. 0000009D3877 → 0077389D0000). |
| Historia kart | Lista okresów, w których dana karta była przypisana do pracownika. |
| Bufor pobierania danych | Dodatkowy zakres czasu pobierany przed i po raporcie, pomocny przy zmianach nocnych. |
| Nieznane odbicie | Odbicie, którego aplikacja nie umiała przypisać do żadnego pracownika. |
14. Uwagi końcowe
Instrukcja opisuje sposób pracy z aplikacją od strony użytkownika. W razie problemów z logowaniem, bazą danych, konfiguracją API lub wdrożeniem należy skontaktować się z administratorem technicznym aplikacji.