DISPO
CZAS WARSZAWA
--:--
CENTRUM TRANSPORTU

Tablica dyspozytorska

Od zlecenia do wysłanej faktury.

WERSJA DEMONSTRACYJNARoman niepodłączony · dane przykładowe
POJAZD / KIEROWCANR ZLECENIA↗ ZAŁADUNEK↘ ROZŁADUNEKSTATUS TRANSPORTUPRZYJAZD / ETASzczegóły

DOPASUJ WIDOK

Ustawienia tablicy

Ustawienia zapamiętują się w tej przeglądarce. Tryb TV ukrywa wyszukiwarkę i powiększa tablicę. Naciśnij Esc, aby opuścić pełny ekran.

Symulacje zmieniają wyłącznie ten podgląd. Nie wystawiają faktur i nie wysyłają wiadomości.

PROJEKT INTEGRACJI · WERSJA 1

Roman zasila. Tablica pokazuje.

Interaktywny projekt. Połączenie produkcyjne nie jest aktywne.

Prezentowane zlecenia, kody, godziny i zdarzenia są przykładowe. Poniżej docelowe reguły wdrożenia.

Jeden transport przez cały proces

1 Zlecenie zapisaneRoman → dysk2 RealizacjaGPS + aktualizacja ETA3 DokumentySkany / oryginały4 Faktura i wysyłkaDMS → archiwum

Co aktualizuje Roman

Po trwałym zapisaniu zlecenia na dysku tworzy pozycję po stałym ID transportu. Dodaje pojazd, kierowcę, numer zlecenia, punkty trasy i warunki dokumentów.

Potwierdzony rozładunek zmienia etap. Zapisany dokument jest przypisywany do transportu i sprawdzany pod kątem kompletności. Niepewne dopasowanie trafia do wyjaśnienia.

Co 15 minut

Jeden proces na serwerze liczy ETA wyłącznie dla transportów w realizacji, do następnego niezakończonego punktu. Uwzględnia GPS, trasę ciężarową, postoje, czas kierowcy i przeprawy.

Przeglądarka odczytuje gotowy wynik. Kolejny telewizor nie uruchamia dodatkowych obliczeń. Przy braku danych pojawia się „Brak ETA”, a przeterminowany wynik jest oznaczony.

Dokumenty odblokowują rozliczenie

  • Skany wystarczą: potwierdzony rozładunek + kompletny zestaw zapisanych skanów → „Do wystawienia”.
  • Wymagane oryginały: do wystawienia dopiero po potwierdzeniu ich fizycznego otrzymania i kompletności.
  • Niejasne warunki: „Do wyjaśnienia”; bez automatycznego przyjęcia zgody na skany.
  • Faktura wystawiona: pozycja zostaje jako „Do wysłania”.
  • Wysyłka potwierdzona: pozycja znika z tablicy. Historia pozostaje w archiwum, bez kasowania dokumentów.

Niezawodność

Trwała kolejka zdarzeń, ponawianie po awarii, unikalne event_id i wersja transportu zapobiegają duplikatom oraz cofnięciu statusu przez spóźnione zdarzenie.

Kontrakt techniczny i plan uruchomienia

Proponowany backend tablicy w istniejącym środowisku KRAFT. Roman i DMS komunikują się przez uwierzytelnione adaptery API, bez bezpośredniego współdzielenia baz.

POST /api/dispo/events    — zapis zdarzenia z Roman / DMS
GET  /api/dispo/board     — gotowy widok dla telewizora
GET  /api/dispo/health    — wiek ostatniej synchronizacji

Zdarzenia:
order.saved · assignment.updated · stop.completed
documents.saved · originals.received · eta.updated
invoice.issued · invoice.sent · transport.cancelled

Identyfikacja: event_id + transport_id + version
Dowody: source_id + occurred_at + document_refs
Czas: ISO 8601 z UTC; wyświetlanie Europe/Warsaw
  1. Utworzyć projekcję transportów i API z sesją tylko do odczytu dla TV.
  2. Podłączyć trwały outbox Romana po zapisie pliku oraz zdarzenia z DMS.
  3. Uruchomić serwerowe zadanie ETA co 15 minut z blokadą równoległych uruchomień.
  4. Zaimportować otwarte transporty i porównać je z dokumentami źródłowymi.
  5. Przetestować drogę od maila do wysłanej faktury, retry, brak GPS i awarię sieci.

To kontrakt do wdrożenia, a nie potwierdzenie istniejących endpointów. Obecny projekt nie łączy się z danymi operacyjnymi.