• Rezultati Niso Bili Najdeni

3 Načrtovanje programske rešitve

4.5 Urejanje zavihka Predvidene odpreme

4.5.5. Dodajanje podokna Shock recorder

Naslednji gumb v osnovnem oknu na drugem zavihku smo ustrezno preimenovali in spremenili besedilo v Shock recorder. Dodali smo nov obrazec v rešitev. V grafičnem oblikovalcu smo dodali gradnike in oblikovali okno v končno obliko ,ki je prikazana na sliki 15. Namenjen je vpisovanju podatkov o indikatorjih tresljajev. Vnesemo lahko podatek, če je zahtevan nameščen indikator tresljajev med transportom. Vnesemo lahko tudi podatke o številu indikatorjev in če je potrebna montaža na aktivni del.

Vir: Lastni

Slika 15. Podokno Shockrecorder 4.5.6. Dodajanje podokna Cargo zavarovanje

Peti gumb na zavihku ustrezno poimenujemo in spremenimo tekst v Cargo zavarovanje. V rešitev dodamo obrazec in oblikujemo grafično podobo. Za oblikovanje potrebujemo vsebnik z obrobo in besedilom, vnosno polje, oznako, kombinirano vnosno polje, vnosno polje za števila in gumbe.

Ko odpremo okno, so v vnosnih poljih že prikazani vsi razpoložljivi podatki iz baze kot razvidno iz slike 16. V vseh poljih je omogočeno urejanje podatkov, da jih lahko poljubno spremenimo. Podatki so predvideni za uporabo v izročku. S tem je rešitev bolj prilagodljiva, saj omogoča poljubno spreminjanje podatkov. V bazi namreč niso vsi podatki vpisani v istem formatu. To nam omogoči, da lahko spremenimo podatke, ki so pozneje vpisani v izročku.

Vir: Lastni

Slika 16. Podokno Cargo zavarovanje

Dodatni podatki, ki do zdaj niso bili dostopni v podatkovni bazi, so prodajna cena transformatorja in valuta, naslov dostave, pariteta ter podatki o teži.

Za shranjevanje v bazi smo dodali tabelo, imenovano cargo_zavarovanje. Ima štiri stolpce. Prvi je ID in je podatkovnega tipa int(11). Je primarni ključ tabele in se samodejno povečuje. Drugi stolpec je serijska številka transformatorja podatkovnega tipa int(11). Tretji stolpec vsebuje podatek o ceni transformatorja v podatkovnem tipu varchar(50). Ta tip je uporabljen, ker se vrednost shrani v formatu 1.000,00. Zadnji stolpec je podatkovnega tipa varchar(5). Namenjen je shranjevanju oznake valute, v kateri je navedena prodajna cena transformatorja.

Dodali smo tabelo, imenovano naslov_dostave. Tudi pri tej tabeli sta prva dva stolpca podatkovnega tipa int(11), pri čemer je prvi stolpec ID, ki je primarni ključ in se samodejno povečuje, drugi stolpec pa serijska številka transformatorja. Tretji stolpec je podatkovnega tipa varchar(45) in je namenjen shranjevanju podatkov o pariteti. Četrti stolpec je podatkovnega tipa longtext. Namenjen je shranjevanju naslovov odprem.

V tabeli z imenom pakiranje so shranjeni podatki o posameznih tovorkih transformatorjev. Prva dva stolpca v tabeli sta ID in serijska številka podatkovnega tipa int(11). Tretji stolpec je prav tako podatkovnega tipa int(11) in je namenjen shranjevanju številčnih podatkov iz povezane tabele, ki vsebuje različna poimenovanja za tovorke. Četrti stolpec podatkovnega tipa varchar(255) je namenjen shranjevanju podatkov o merah tovorkov v milimetrih formata D x Š x V. Peti in šesti stolpec sta za shranjevanje podatkov o neto in bruto teži tovorkov v formatu 1.000 podatkovnega tipa varchar(8).

Zadnji stolpec je podatkovnega tipa varchar(5) in je namenjen shranjevanju podatkov o tipu odpreme.

V bazo se shrani podatek GD ali O.

Dodatno je bilo treba oblikovati tabelo z imenom naziv_pakiranja. Vsebuje dva stolpca, in sicer ID podatkovnega tipa int(11), ki se samodejno povečuje, in stolpec, ki se imenuje naziv, podatkovnega tipa varchar(45). V drugi stolpec shranimo poimenovanja za posamezne tovorke.

Ko vnesemo vse podatke, kliknemo na gumb z napisom Kreiraj. Najprej program preveri, ali ustreza kriterijem za pravilen vnos podatkov. To so na primer oblika elementa PPS, ki mora biti v formatu E-XXXX.XX.XXXXXX, in SAP naročila, ki je v formatu XXXXXX/XX. Preveri tudi logično pravilnost podatkov. Na primer skupna bruto teža ne more biti manjša od seštevka teže opreme in glavnega dela. Prav tako ne more biti teža opreme 0, če se odpremlja več kot en tovornjak z opremo in podobno.

Če smo spreminjali podatke v oknu, se odpre podokno razvidno na sliki 17. V njem s klikom na potrditveno vnosno polje določimo, ali želimo, da se spremenjene vrednosti shranijo v podatkovno bazo. Nekatere podatke namreč spremenimo samo za potrebe izdelave povpraševanja za transportno zavarovanje in jih zato v bazi ni treba spreminjati.

Vir: Lastni

Slika 17. Podokno za potrditev posodobitve podatkov Cargo zavarovanje

Ustvarili smo vzorec za izdelavo dokumenta za povpraševanje za transportno zavarovanje v Microsoft Wordovem dokumentu. Dokument je bil vključen v rešitev. Ko so podatki vneseni in se na željo uporabnika izvede posodobitev podatkov v podatkovni bazi, se odpre ustvarjen vzorec. Glede na podatke se v dokument s pomočjo zaznamkov vnesejo manjkajoči podatki. Na sliki 18 je prikazano okno za shranjevanje dokumentov. V nastavitvah smo določili, da se dokument privzeto shrani na določeno mesto na strežniku. Določen je tudi format imena shranjenega dokumenta, in sicer Naročilo zavarovanja blaga + številka SAP naročila v formatu xxxxx-xx + pariteta + država. Številko SAP naročila moramo pretvoriti, saj ne moremo shraniti dokumenta z znakom / v imenu. Dokument shranimo s klikom na gumb Shrani, pred tem pa lahko še poljubno uredimo ime dokumenta ali pa spremenimo mesto, kamor se dokument shrani.

Vir: Lastni

Slika 18. Shranjevanje naročila za transportno zavarovanje

Na sliki 19 je primer naročila zavarovanja tovora za transport. Dokument se ustvari v MS Wordu, da lahko naknadno dokument še uredimo po lastnih potrebah. Če je dokument primeren, ga pretvorimo v obliko .pdf in po elektronski pošti pošljemo na zavarovalnico.

Vir: Lastni

Slika 19. Izroček Naročilo za transportno zavarovanje blaga 4.5.7. Dodajanje podokna Pakirna lista

Šesti gumb na zavihku ustrezno poimenujemo in spremenimo tekst v Pakirna lista. V rešitev dodamo obrazec in oblikujemo grafično podobo. Za oblikovanje potrebujemo poleg vsebnikov z obrobo in besedilom, vnosnih polj, oznak ter gumbov samo še tabelarični razporednik gradnikov.

Ko odpremo okno, so v vnosnih poljih vpisani vsi razpoložljivi podatki iz baze, ki jih potrebujemo.

V tem oknu, ki je prikazan na sliki 20 je omogočeno urejanje vseh podatkov, razen podatkov, ki so vpisani v vnosna polja znotraj vsebnika z besedilom Pakiranje. Te vrednosti lahko spremenimo v podoknu, ki bo opisan v naslednjem poglavju, odpremo pa ga s klikom na gumb z besedilom Uredi tovorke.

Vir: Lastni

Slika 20. Podokno Pakirna lista

Ko vnesemo vse potrebne podatke v vnosna polja, s klikom na gumb Kreiraj najprej preverimo, ali so vse vrednosti pravilno vnesene in/ali so logično pravilne. Če smo spreminjali podatke v oknu, se odpre podokno, v katerem določimo, katere podatke želimo spremeniti v podatkovni bazi. Svojo izbiro določimo s klikom na potrditveno vnosno polje, ki je prikazan na sliki 21. Če vrednosti nismo spreminjali, se začne kreiranje dokumenta.

Vir: Lastni

Slika 21. Podokno za potrditev posodobitve podatkov Pakirna lista

Podobno kot pri transportnem zavarovanju smo izdelali vzorec z zaznamki v MS Wordu za izdelavo pakirne liste in ga vključili v rešitev. Glede na podatke se v dokument s pomočjo zaznamkov vnesejo manjkajoči podatki. Iz podanih dimenzij se v kodi za vsak tovorek izračuna volumen. Na koncu se izračuna in izpiše podatek o skupni bruto ter skupni neto teži vseh elementov na pakirni listi. Kot razvidno na sliki 22 se odpre okno za shranjevanje dokumentov, ki smo mu določili privzete nastavitve. Dokument shranimo s klikom na gumb Shrani, pred tem pa lahko še poljubno uredimo ime dokumenta ali pa spremenimo mesto, kamor se dokument shrani.

Vir: Lastni

Slika 22. Shranjevanje Pakirne liste na strežnik

Na sliki 23 je primer pakirne liste. Dokument se ustvari v MS Wordu, da ga lahko naknadno še uredimo po lastnih potrebah. Če je dokument primeren, ga pretvorimo v obliko .pdf in po elektronski pošti pošljemo komercialistu, prevozniku, kupcu ter drugim, ki potrebujejo ta dokument.

Vir: Lastni

Slika 23. Izroček pakirna lista 4.5.8. Dodajanje podokna Uredi tovorke

Kot že prej omenjeno, za urejanje tovorkov potrebujemo novo podokno. Dostopen je samo s klikom na gumb Uredi tovorke v oknu Pakirne liste. Namenjen je dodajanju, urejanju in brisanju tovorkov za posamezen transformator. Na sliki imamo vnesena že dva tovorka s podatki. S klikom na gumb z

vnosno polje za dolžino, širino in višino ter bruto in neto težo. Polje za vnos poimenovanja tovorkov je kombinirano vnosno polje s spustnim seznamom. Iz podatkovne baze pridobi vsa imena, ki so že bila uporabljena in jih prikaže v seznamu. Če želimo dodati novo poimenovanje, ga preprosto vpišemo v vnosno polje in se ob posodobitvi podatkov vnese v tabelo. Vnesemo še podatke o dimenzijah in teži tovorkov. Če želimo tovorek oz. vnosno polje izbrisati, lahko to storimo s klikom na rdeč gumb s križem. Če polja niso prazna, je potrebna dvojna potrditev izbrisa vsebnika iz okna.

Ko smo vnesli vse potrebne podatke kot razvidno na sliki 24, s klikom na gumb Shrani sprožimo preverjanje pravilnosti vnosa podatkov. Zapolnjena morajo biti vsa polja, dosegati morajo tudi nekatere logične zahteve, na primer neto teža tovorka ne sme presegati bruto teže.

V podatkovni bazi se posodobijo vrednosti, če so pravilno vpisani vsi podatki. Okno se zapre, posodobijo se podatki, ki se prikazujejo v oknu Pakirna lista. Podatki o tovorkih so osnova za kreiranje pakirne liste, ki je opisana v prejšnjem poglavju. Če podatki niso vneseni, se ob kliku na gumb za kreiranje pakirne liste to ne izvede, pojavi se obvestilo, da je treba urediti podatke pakiranja.

Vir: Lastni

Slika 24. Podokno Uredi tovorke

4.6 Urejanje zavihka Servis

Zavihek Servis prikazuje podatke o transformatorjih, ki so že bili odpremljeni.

4.6.1. Prikaz podatkov

Po pregledu podatkov v obstoječi podatkovni bazi ni manjkajočih podatkov v podatkovni bazi zato za ta pogled ni bilo treba dodajati tabel. Oblikovali smo pogled s poizvedbo SQL s pomočjo ukazov SELECT DISTINCT, SELECT MIN, SELECT COUNT, WHERE, CASE, CONVERT, CONCAT, LEFT JOIN, ORDER BY, LIMIT ter operatorjev AND, OR in NOT.

4.6.2. Dodajanje gumba Odpreme

V zavihek smo dodali en gumb. Ustrezno smo ga poimenovali in dodali besedilo Odpreme. S klikom

izvedena ali ne. Okno je bilo že opisano pri funkcionalnosti prvega gumba na zavihku Predvidene odpreme.

4.7 Urejanje zavihka Zunanje skladiščenje

Zavihek Zunanje skladiščenje prikazuje podatke o transformatorjih, ki so na zunanjem skladiščenju.

To so običajno transformatorji, ki so prestali meritve FAT in so do določene mere pripravljeni na odpremo. Poleg podatka o tem, ali je transformator zunaj ali ne, vpišemo še okvirno lokacijo na skladiščni površini.

4.7.1. Prikaz podatkov

Po pregledu podatkov v obstoječi podatkovni bazi ni manjkajočih podatkov v podatkovni bazi, zato za ta pogled ni bilo treba dodajati tabel. Oblikovali smo pogled s poizvedbo SQL s pomočjo ukazov SELECT DISTINCT, SELECT MIN, SELECT COUNT, WHERE, CASE, CONVERT, CONCAT, LEFT JOIN, ORDER BY, LIMIT ter operatorjev AND, OR in NOT.

4.7.2. Dodajanje gumba Zunanje skladiščenje

V zavihek smo dodali en gumb. Ustrezno smo ga poimenovali in dodali besedilo Zunanje skladiščenje. S klikom na gumb se odpre okno za spreminjaje podatkov o skladiščenju transformatorjev, ki je bilo že opisano v funkcionalnosti prvega gumba na zavihku Vsi podatki.

4.8 Spreminjanje poizvedb za osnovno okno

Ob zaključevanju programiranja rešitve je iz razvojnega oddelka prišlo e-sporočilo o preoblikovanju podatkovne baze. V sporočilu je bila opisana struktura novih tabel, ki vsebujejo večino podatkov, ki jih potrebujemo, in nekatere dodatne, ki jih lahko uporabimo. Sporočilo je vsebovalo tudi poziv vsem razvijalcem, da morajo vse nove programske rešitve uporabiti nove tabele. Ker programska rešitev še ni bila izdana, smo predelali vse poizvedbe in uporabili nove podatke, ki so nam na voljo. Med drugim je velika sprememba tudi to, da elementa PPS ni treba več sestavljati s poizvedbo, ampak ga v celoti dobimo v podatkovni bazi. Prednost novih tabel je tudi sprotno ažuriranje podatkov v tabelah. Pri spreminjanju poizvedb do večjih sprememb pri prikazu podatkov ni prišlo, razen na zavihku Vsi podatki, kjer smo dodali nekaj novih stolpcev s podatki, ki doslej niso bili dosegljivi v podatkovni bazi.

4.9 Filtriranje

Ker prikaz velike količine podatkov upočasnjuje delovanje programske rešitve, smo omejili poizvedbo na prvih sto rezultatov. Pri tem se pojavi problem, če uporabnik potrebuje podatke o

gumb z napisom Prikaži več. S klikom na gumb se poleg prvih 100 vrstic prikaže še 100 vrstic in tako naprej. Vrednost se ponastavi, ko uporabnik odpre drug zavihek.

Za lažje iskanje podatkov o transformatorjih je bilo treba dodati kriterije za filtriranje rezultatov, ki jih pridobimo s poizvedbo. V desni kot smo poleg gumba za osvežitev poizvedbe dodali gumb za prikaz filtra. V tabelaričnem razporedniku gradnikov smo dodali nov stolpec z nespremenljivo širino.

S klikom na gumb se širina tabelarični razporednik prikaže ali skrije. Na sliki 25 je tabelarični razporednik prikazan. V prvo vrstico novega stolpca smo dodali vsebnik z obrobo in besedilom.

Določili smo mu primerno ime in vnesli besedilo Filtriraj. V nastavitvah smo določili, da se gradnik razprostira čez vse vrstice v zadnjem stolpcu. V vsebnik smo dodali gumbe, navadna in kombinirana vnosna polja ter oznake. V prvi vrstici je najprej oznaka, ki vsebuje besedilo Razvrsti po:. Sledi gumb, ki privzeto prikazuje ↑, ob kliku pa se prikaže ↓. Ti puščici ponazarjata način razvrstitve, od večjega k manjšim ali obratno. Sledi kombinirano vnosno polje s spustnim seznamom. V seznamu so vsa imena stolpcev, po katerih lahko razporedimo prikaz podatkov. Prvi vrstici sledijo ostali gradniki za filtriranje rezultatov. Tudi tu je v vsaki vrstici najprej oznaka s poimenovanjem podatka, sledi ji gumb in na koncu vnosno polje. Gumb prikazuje znak =, ki se po kliku zamenja z ≈. S tem ločimo filtriranje na točno te podatke in na približne zadetke. Vsa vnosna polja omogočajo prost vpis podatkov, razen za številko projekta in element PPS oz. kodo, ki se začneta z E-. Čisto spodaj imamo vnosno polje za filtriranje datumov odprem. S klikom na gumb določimo, ali iščemo točen datum ali določen razpon.

Vir: Lastni

Slika 25. Zavihek Vsi podatki in filtriranje

S klikom na gumb Filtriraj se prikaže nova poizvedba, ki upošteva vnesene parametre. Če kateri od podatkov ni naveden v pravem formatu, pojavno okno opozori uporabnika, prikažejo pa se privzeti podatki brez filtriranja. Po vnesenem filtru se ob vsaki posodobitvi poizvedbe prikaže filtrirana poizvedba, tudi po zapustitvi tega zavihka in vrnitvi nazaj, dokler uporabnik ne klikne gumba Počisti.

Na sliki 26 je zavihek Predvidene odpreme. Podobno kot na zavihku Vsi podatki smo na zavihku Predvidene odpreme dodali gumb ter vsebnik za filtriranje poizvedbe. Na tem zavihku lahko dodatno filtriramo, tudi če so transformatorji skladiščeni ali ne s klikom na gumb. Prav tako lahko med seboj ločimo tudi posamezne datume odprem po tipu odpreme, to so glavni del, oprema ali avtocisterna.

Vir: Lastni

Slika 26. Zavihek Predvidene odpreme in filtriranje

Na zavihku Servis prikazanem na sliki 27 je prav tako omogočeno filtriranje podatkov. Za razliko od zavihka Predvidene odpreme ne moremo filtrirati po zunanjem skladiščenju, saj prikaz ne vsebuje tega podatka.

Vir: Lastni

Slika 27. Zavihek Servis in filtriranje

Zavihek Skladiščenje transformatorjev ne vsebuje filtriranja podatkov, saj prikaz podatkov ne vsebuje neobvladljive količine podatkov, da bi bilo to nujno potrebno za urejanje podatkov.

4.10 Objavljanje programske rešitve

Ko je bila programska rešitev pripravljena za uporabo, je bilo treba zagotoviti dostopnost vsem zaposlenim. Določili smo mesto na strežniku, kjer se je objavila programska rešitev. Dostop do podatkovne baze je urejen s pridobitvijo uporabniškega imena uporabnika iz sistema Windows.

Povezovalni niz besed je za vse uporabnike enak, sprememba je samo v uporabniškem imenu.

Program je omejen tako, da imajo pravico urejanja podatkov samo zaposleni iz oddelka prodajna logistika, medtem ko imajo ostali uporabniki samo pravico do branja podatkov. Vidijo in odprejo lahko vsa okna, onemogočeno pa jim je samo shranjevanje podatkov v podatkovno bazo.

Programsko rešitev Windows Forms v Visual Studiu objavimo s klikom na Project v orodni vrstici.

Pojavi se spustni seznam, v katerem izberemo lastnosti projekta. Odpre se novo okno, ki prikazuje lastnosti aplikacije. Na seznamu izberemo Publish oz. objavi. Pred objavo programske rešitve je bilo treba prilagoditi nekatere nastavitve. Vnesti je bilo potrebno mesto objave aplikacije, kdaj in kako se aplikacija posodablja ter način izdajanja različic programske rešitve. Po določitvi vseh nastavitev razvidnih na sliki 28 se aplikacija enostavno objavi s klikom na gumb Publish Now oz. objavi zdaj.

Vir: Lastni

Slika 28. Objavljanje programske rešitve

Aplikacija se objavi na želeno mesto na strežniku. V direktoriju se ustvari nov direktorij z imenom Application Files oz. datoteke programske rešitve. V tem direktoriju so shranjene vse prejšnje in aktualna različica programske rešitve oz. vse datoteke, ki so potrebne za delovanje. V direktoriju na sliki 29 se pojavita še datoteki s končnicama .application in .exe. Uporabnik pri namestitvi klikne datoteko setup.exe. Programska rešitev se namesti na njegov računalnik, na namizju pa se ustvari bližnjica za odpiranje aplikacije. Bližnjica deluje podobno kot datoteka .application, ki se nahaja v tem direktoriju. Ob odpiranju datoteke se zažene programska rešitev, pred tem se preveri, ali je na računalniku nameščena zadnja različica programske rešitve in jo po potrebi posodobi.

Vir: Lastni

Slika 29. Direktorij z objavljeno programsko rešitvijo

5 Sklep

Namen diplomske naloge je bilo izdelati programsko rešitev za oddelek prodajne logistike v podjetju Kolektor Etra. Glavna naloga programske rešitve je pohitriti proces obdelave in vnosa podatkov, ki so dostopni celotnemu podjetju, ter minimalizirati napake v tem procesu.

Teoretični del je zavzemal predstavitev podatkovne baze MySQL, programskega jezika C# ter programov MySQL Workbench in Visual Studio 2019. Podrobno so bile predstavljene prednosti in slabosti aplikacij WPF ter Windows Forms, ki jih lahko izdelamo v programu Visual Studio 2019 s programskim jezikom C#.

Cilj je bil dosežen z združitvijo osnovnih podatkov, ki jih zaposleni na oddelku prodajne logistike potrebujemo za svoje delo in so dostopni v podatkovni bazi. S programsko rešitvijo se lahko izdelajo izročki, kot sta pakirna lista in naročilo za transportno zavarovanje blaga, ki večino podatkov pridobi iz podatkovne baze, obenem pa obdrži prilagodljivost z omogočanjem spreminjanja dokumenta pred pošiljanjem.

Za izdelavo pakirne liste je pred uvedbo programske rešitve zaposlenemu vzelo okvirno eno uro.

Izdelava zavzema zbiranje dokumentov in podatkov, izvedba meritev ter spreminjanje podatkov. Pri izdelavi pakirne liste se ne moremo izogniti zbiranju nekaterih dokumentov, izvedbi meritev in vnosu podatkov. S programsko rešitvijo se lahko izognemo zbiranju podatkov, ki so že v podatkovni bazi.

Za izdelavo pakirne liste moramo na strežniku poiskati dokument, imenovan spisek embalaže. Ob pravilnem vnosu podatkov so edini podatki, ki jih moramo vnesti podatki o dostavi, naslov kupca in podatki o tovorkih. Če ni treba zbirati podatkov in jih spreminjati v obstoječem dokumentu, lahko na pakirno listo prihranimo vsaj 15 minut. V zadnjih treh letih je bilo povprečno odpremljeno 234 transformatorjev na leto in za vsakega smo izdelali pakirno listo. To skupno znaša prihranjenih približno 59 ur dela na leto.

Izdelava naročila za transportno zavarovanje nam je pred uvedbo programske rešitve vzelo približno 20 minut. Praviloma je pred izdelavo naročila za transportno zavarovanje pakirna lista že narejena.

Edina manjkajoča podatka sta v tem primeru vrednost transformatorja in valuta. S tem se izognemo iskanju pakirne liste in prepisovanju podatkov iz te saj so shranjeni v podatkovni bazi. Časovno s tem prihranimo vsaj 15 minut na naročilo. Letno tudi s tem prihranimo približno 59 ur dela.

Programska rešitev omogoča zanemarljive napake pri vnosu podatkov. Vsa vnosna polja so omejena na podatkovni tip. Če v neko vnosno polje lahko vnesemo samo številke, se pri vnosu katerega drugega znaka obroba polja obarva z rdečo in uporabniku se prikaže opozorilno okno. Prav tako se pred vnosom podatkov v podatkovno bazo preveri format podatkov v vnosnih poljih, za katere je