Błąd #537
zamknięte16. [PRZEKAZANIE-003] Dodać pełną walidację daty przekazania
100%
Opis
Kolejność realizacji: 16/24
Problem:
Brakuje checkdate oraz kontroli nakładania i chronologii historii.
Skutek / ryzyko:
Możliwa jest niespójność danych, błędny przebieg, nieaktualny raport albo niejednoznaczna historia operacji.
Docelowe rozwiązanie:
Walidować datę kalendarzową, valid_from/valid_to, daty przyszłe i wpływ na zamknięte ewidencje przed zapisem.
Pliki:
app/vehicle_transfer.php
Kryteria akceptacji:
Rozwiązanie działa atomowo, zachowuje ciągłość przebiegu, nie zmienia po cichu zamkniętych okresów i pozostawia czytelny ślad tam, gdzie wykonywana jest korekta.
Uaktualnione przez Michał Kurkiewicz 5 dni temu
- Zmieniono Status z Nowy na Zamknięty
- Zmieniono % Wykonania z 0 na 100
Dodałem pełniejszą walidację daty przekazania.
System sprawdza teraz:
format YYYY-MM-DD,
czy data rzeczywiście istnieje w kalendarzu,
czy data nie jest przyszła,
czy jest późniejsza niż początek aktualnego przypisania pojazdu,
czy nie jest wcześniejsza niż pierwszy przejazd pojazdu,
czy nowa jednostka istnieje i jest aktywna,
czy pojazd nie należy już do wskazanej jednostki.
Rekord historii jednostek jest blokowany podczas walidacji, co ogranicza ryzyko dwóch równoczesnych przekazań.