Generator IPN¶
Ekran Generator IPN służy do masowego nadawania identyfikatorów IPN częściom, które ich jeszcze nie posiadają.
Czym jest IPN?¶
IPN (Internal Part Number) to unikalny 7-cyfrowy identyfikator w zakresie 1 000 000 – 9 999 999. Służy do jednoznacznego oznaczenia komponentu – np. kodem QR lub Data Matrix na etykiecie szpuli.
Przepływ pracy¶
graph TD
A[Pobierz wszystkie części\nbez IPN] --> B[Wyświetl listę z\ncheckboxami]
B --> C{Zaznacz części}
C --> D[Generuj losowe IPN\nbez kolizji]
D --> E[Podgląd w dialogu\npotwierdzenia]
E -->|Zatwierdź| F[PATCH /api/parts/{id}\ndla każdej zaznaczonej części]
F --> G[Wyświetl wyniki\n✅/❌ per część]
G --> A
Interfejs¶
Lista części bez IPN¶
Po wejściu na zakładkę aplikacja pobiera wszystkie części (fetchAllParts()) i filtruje te z pustym polem IPN.
☑ Selekcja wszystkich
☐ Rezystor 100Ω ID: 42
☑ Kondensator 10µF ID: 87
☐ LED czerwona ID: 103
...
[Generuj IPN dla zaznaczonych]
- Checkbox „Selekcja wszystkich" zaznacza / odznacza całą listę.
- Każda pozycja pokazuje nazwę i ID części w Part-DB.
Dialog potwierdzenia¶
Przed wysłaniem pojawia się dialog z podglądem przypisań:
Ekran wyników¶
Po zatwierdzeniu każda pozycja otrzymuje status:
- ✅ – IPN nadany pomyślnie
- ❌ – błąd (np. kolizja na serwerze, problem sieciowy)
Algorytm generowania IPN¶
- Aplikacja zbiera zbiór wszystkich istniejących IPN z pobranych części.
- Dla każdej zaznaczonej części losuje liczbę z zakresu
1 000 000 – 9 999 999. - Sprawdza kolizję zarówno z istniejącymi IPN, jak i z już wygenerowanymi w tej sesji.
- Powtarza losowanie do skutku (bez limitu iteracji – kolizje są skrajnie rzadkie).
Szczegóły techniczne¶
Nadanie IPN:
Po zakończeniu sesji lista jest odświeżana automatycznie.