Witam
Zastanawiam się nad generacją unikalnego numeru umowy, ale ciężko mi na cokolwiek sensownego wpaść.
Otóż - mam w bazie tabelę osoby z danymi osób o następującej strukturze: id, nazwisko, skrot
Przykładowe dane w tabeli:
1 | Imię Nazwisko | IM
2 | Jan Kowalski | JK
itd.
Dodaję z pewnego formularza do tabeli umowy. Wybieram osobę z tabeli osoby i chcę dodawanej umowie nadać unikalny numer w następującej formie XXXXYYZZ, gdzie:
XXXX - numer umowy począwszy od 0001 (ważne, żeby te 0 też się wpisywały)
YY - skrót osoby wybranej z bazy osoby
ZZ - dwie ostatnie cyferki roku - czyli np. 07
Problem mój polega na tym, że nie za bardzo wiem jak się za takie coś zabrać.
Zwrócić uwagę należy na to, że jeśli dla pierwszej wpisywanej umowy wybiorę skrót IM, to numer umowy powinien być następujący: 0001IM07, jeśli będę wprowadzała drugą umową, w której wybiorę znowu tę samą osobę - to numer powinien być 0002IM07. Wpisuję trzecią umowę, ale teraz wybieram inną osobę - to numer powinien być 0001JK07, przy czwartej umowie i pierwszej osobie: 0003IM07.
Krótko mówiąc - każda osoba ma swoją unikalną numerację, która od każdego nowego roku leci od 0001.
Jak to wykonać ze strony technicznej?
Jakie pola dodać do bazy danych, aby była łatwość wyciągania danych (np. wszystkie umowy dla IM, gdzie rok jest 2007), oraz aby dobrze szło wyszukiwać umowy wpisując np. 1234IM07?
Jakieś pomysły?