Błąd #540
zamknięte19. [PRZEKAZANIE-001] Nie przeliczać zamkniętej historii podczas przekazania pojazdu
100%
Opis
Kolejność realizacji: 19/24
Problem:
repair_vehicle_mileage_chain przelicza cały łańcuch bez kontroli statusów.
Skutek / ryzyko:
Możliwa jest niespójność danych, błędny przebieg, nieaktualny raport albo niejednoznaczna historia operacji.
Docelowe rozwiązanie:
Przeliczać tylko otwarty fragment; gdy potrzebna jest zmiana zamkniętego ciągu, użyć KOREKTA-001.
Pliki:
app/vehicle_transfer.php; app/mileage_sync.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
Usunąłem z procesu przekazania działania, które mogły przeliczać zamkniętą historię.
Proces przekazania nie wywołuje już:
sync_vehicle_current_mileage_from_latest_register()
ani:
repair_vehicle_mileage_chain()
Obie funkcje wykonywały zapisy w ewidencjach lub pojeździe i mogły zmieniać dane historyczne niezależnie od ich statusu.
Po poprawce:
aktualny przebieg jest odczytywany bezpośrednio z zablokowanego rekordu pojazdu,
zamknięte wcześniejsze ewidencje nie są przeliczane,
zmieniana jest wyłącznie otwarta ewidencja obejmująca dzień przekazania,
zamknięta ewidencja obejmująca dzień przekazania blokuje operację,
przekazanie nie uruchamia naprawy całego łańcucha.