Witam,
Jestem początkującym programistą w trakcie nauki języka Java. Podczas nauki stworzyłem kilka mniej lub bardziej przydatnych aplikacji jednak maksymalny zakres to tworzenie aplikacji okienkowych w oparciu z Swing z użyciem bazy danych Oracle zapewniająca proste operacje CRUD na kilku tabelach.
Szukając przykładów, na których mógłbym kontynuować naukę wpadłem na pomysł aplikacji, która rozwiązałaby spory problem w mojej firmie.
Problem: System ERP, który nie ma domyślnie modułu/opcji do generowania dokumentów w formie plików xml. Plików XML oczekują klienci w celu importu do własnych systemów.
System ERP działa w oparciu o system bazodanowy Oracle 11g, chciałbym rozpocząć od generowania do xml faktury, faktury w bazie danych reprezentowane są przez dwie tabele:
DokumentyFv – nagłówki faktur zawierające id klienta, dane dotyczące wystawienia dokumentów, termin i sposób płatności
dokumentyFvPozycje – pozycje przypisane do nagłówków, pozycji może być wiele, informacje zawarte w tej tabeli to min. Id towaru, cena(netto, brutto, vat), ilość, zastosowany cennik*
Celem aplikacji będzie:
- Połączenie się z bazą danych
- Zapytanie użytkownika o ID dokumentu
- Wygenerowanie pliku XML najlepiej w formacie ComarchEDI z możliwością zapisu na dysk (http://www.comarchedi.pl/files_pl/file_233/INVOIC_XML_v758_20150918.pdf)
Mam dwa problemy: - Nie wiem jak podejść do wyciągnięcia danych z bazy – czy tworzyć dwie klasy – „nagłówki” i „pozycje”, czy w bazie utworzyć widok łączący nagłówki z pozycjami i wczytywać to do klasy „dokumenty” czy może jeszcze jakoś inaczej?
- Nie wiem, w jaki sposób utworzyć odpowiednie drzewo tagów – mój pomysł jest taki żeby stworzyć wielkiego stringa, który będzie zwracał odpowiednie drzewo, – ale czy to jest dobra praktyka?
Proszę o sugestie i podpowiedzi.