Po dodaniu usera przez kierownika ten "znika" bo nie ma przypisanego oddziału. Po dodaniu usera przez kierownika system powinien zapewnić możliwość przypisania oddziału lub nadać oddział domyślny dla kierownika.Michał Kurkiewicz
Wspólna obsługa wyjątków została umieszczona w mileage_sync.php: etrasa_log_exception() Korzystają z niej teraz: mileage_registers.php, trip_move_ajax.php, inne moduły dołączające wspólny plik synchronizacji. Funkcja: gene...Michał Kurkiewicz
Normalizacja day_order została przeniesiona do jednego wspólnego miejsca: web\app\mileage_sync.php Centralna funkcja: normalize_trip_day_order() jest używana przez: edycję przejazdu, usuwanie przejazdu, zmianę kolejności przez A...Michał Kurkiewicz
Usunąłem problem N+1 podczas liczenia sum ewidencji. W mileage_registers.php suma przejazdów jest teraz pobierana zbiorczo przez podzapytanie agregujące: SELECT mileage_register_id, SUM(distance_km) FROM trips GROUP BY mileage_regi...Michał Kurkiewicz
Potwierdziłem i utrzymałem usunięcie zapisującej synchronizacji z widoku listy pojazdów. Samo wejście na ekran vehicles.php nie wykonuje już: aktualizacji przebiegu pojazdów, aktualizacji ewidencji, transakcji dla każdego pojazdu...Michał Kurkiewicz
Dodałem pełną przebudowę dynamicznego katalogu tras po przekazaniu pojazdu. Nowa funkcja: route_catalog_rebuild_after_vehicle_transfer() wykonuje w ramach tej samej transakcji: ustalenie użytkowników powiązanych z przejazdami poj...Michał Kurkiewicz
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 wyk...Michał Kurkiewicz
Podczas dzielenia ewidencji zachowywane są teraz: creation_source, znaczenie pola user_id, wartość NULL w user_id dla ewidencji systemowych. Jeżeli dzielona ewidencja została utworzona automatycznie: creation_source = system us...Michał Kurkiewicz
Stan licznika przy przekazaniu jest teraz jednoznaczny. Jeżeli przekazanie dzieli miesięczną ewidencję: stan przekazania = stan początkowy ewidencji + suma przejazdów sprzed daty przekazania Jeżeli nie następuje podział ewidencji,...Michał Kurkiewicz
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, ...Michał Kurkiewicz