Android WMS je mobilni terminal Gath WMS sustava — Android aplikacija (trenutna verzija 0.7.9) za ručne skladišne terminale s ugrađenim barkod skenerom. Skladištar na uređaju izvršava WMS naloge (ulaz, izlaz, inventura, premještaj), provjerava stanja i održava barkodove, a nadglednik može dodjeljivati naloge uređajima kroz mobilnu Centralu.
Aplikacija je pandan desktop alatu WMS Remote HandHeld (opisan u općim uputama „WMS — sustav upravljanja skladištem”) — radi nad istim WMS nalozima i istom bazom, ali preko EPAndroid REST servisa (konzolni servis iz GATH SERVISI/console-services, projekt EPAndroid).
Tok podataka: Android WMS aplikacija (ručni terminal) komunicira HTTPS/JSON pozivima s EPAndroid servisom (token, WMS nalozi, šifrarnici, upisi), koji dalje čita/piše u Gath bazu (WmsNalogH/B/HH, WmsKartica…).
Skeniranje: aplikacija NE koristi kameru. Namijenjena je terminalima čiji hardverski skener radi kao tipkovnica (keyboard-wedge) i na kraju barkoda šalje Enter. Skenirani tekst ulazi u polje Scan; gumb Scan služi kao ručna potvrda istog unosa.
1. Kako uređaj i korisnik dobivaju pristup #
| Pojam | Objašnjenje |
|---|---|
| Device ID | Prvih 8 znakova Android ID-a uređaja — prikazan u Postavkama (Device ID: …). To je HandHeld šifra uređaja prema serveru; po njoj server zna koje naloge i module uređaj smije vidjeti. |
| Servisni račun | Username/Password u Postavkama — račun za spajanje na EPAndroid servis (dobiva token). Nije korisnik-skladištar. |
| Korisnik (skladištar) | Prijavljuje se na početnom ekranu svojom lozinkom. Provjera ide protiv lokalno sinkroniziranog šifrarnika korisnika programa — zato je nakon promjena korisnika u Gathu potrebna sinkronizacija (§2, korak 4). Šifra prijavljenog korisnika upisuje se uz svako knjiženje. |
| Moduli po uređaju | Server (postavke mobilnog uređaja u Gathu — šifrarnik HandHeld uređaja → Postavke mobitela) određuje koji su moduli vidljivi na uređaju: Ulaz, Izlaz, Inventura, Premještaj, Shipping, Info, Barcode, Centrala. Aplikacija ih dohvaća pri svakoj prijavi. |
2. Prvo postavljanje uređaja (administrator) #
- Instalirajte aplikaciju i pokrenite je.
- Prijavite se s admin / admin — poseban servisni način rada u kojem su vidljive samo Postavke (sve WMS stavke izbornika su skrivene).
- U Postavke → Postavke spajanja na servis upišite: Server (IP adresa EPAndroid servisa), Port, Skladište (šifra WMS jedinice), Username i Password (servisni račun). Pritisnite Testiraj vezu — očekujte poruku „Konekcija na server je uspješna.” (veza je HTTPS; samopotpisani certifikat je prihvaćen). Ako nešto nedostaje, javlja se „Nisu uneseni svi parametri. Unesite i pokušajte ponovno.”.
- Napravite sve tri sinkronizacije (svaka ima svoj gumb i prikazuje vrijeme zadnje sinkronizacije): sinkronizaciju šifrarnika pozicija (potreban za prepoznavanje barkodova pozicija 92…), sinkronizaciju korisnika programa (potreban za prijavu skladištara!) i sinkronizaciju šifrarnika artikala (potreban za inventuru i brže prepoznavanje; dohvat ide stranično pa kod velikih šifrarnika potraje). Nakon svake sinkronizacije javlja se koliko je zapisa učitano (npr. „Učitano je N pozicija.”).
- Po potrebi uključite Koristi šaržu (praćenje šarže/LOT-a pri skeniranju). Kad je isključeno, skeniranje šarže javlja poruku „Na uređaju je isključeno skeniranje šarže.”, a stavke istog artikla spajaju se u jedan red.
- Spremite postavke (kvačica u traci) — „Postavke spremljene. Potrebna je ponovna prijava.” — aplikacija se vraća na prijavu.
Sinkronizacije povremeno ponovite (novi korisnici, nove pozicije, novi artikli). Poruka „Skenirana pozicija ne postoji u lokalnom šifrarniku pozicija.” znak je da treba sinkronizirati pozicije.
3. Prijava skladištara #
Na početnom ekranu upišite Korisničko ime i Lozinku (kvačica Ostanite prijavljeni pamti podatke za sljedeće pokretanje) i pritisnite Prijava. Lozinka se provjerava lokalno u sinkroniziranom šifrarniku korisnika, a zatim se sa servera dohvaća token.
Najčešće poruke:
- „Nije postavljena IP adresa servera u postavkama.” — uređaj još nije postavljen (§2);
- „Nije moguće spajanje na bazu. Provjerite postavke spajanja.” — nedostaje servisni Username/Password;
- „Krivo korisničko ime ili lozinka.” — korisnik ne postoji lokalno — provjerite lozinku ili sinkronizirajte korisnike;
- „Greška tijekom učitavanja parametara.” — server nije dostupan ili uređaj nema podešene module; otvaraju se Postavke.
Nakon prijave otvara se prvi omogućeni modul; zaglavlje izbornika prikazuje verziju aplikacije i prijavljenog korisnika (Korisnik: …).
4. Navigacija i zajednički elementi #
Izbornik se otvara povlačenjem s lijevog ruba ili hamburger ikonom. Svaki modul ima svoju boju radi brzog snalaženja:
| Modul | Boja | Namjena |
|---|---|---|
| Ulaz | zelena | zaprimanje robe (ULZ nalozi) |
| Izlaz | žuta | komisioniranje (IZL nalozi) |
| Inventura | svijetloplava | popis stanja (INV nalozi) |
| Premještaj | roza | premještaj između pozicija (PRM nalozi) |
| Shipping | ljubičasta | rezervirano — modul još nije u funkciji |
| Info | narančasta | upiti (artikl/pozicija/barkod) |
| Barcode | crvenkasta | dopuna barkodova i pivot pozicija artikala |
| Centrala | — | dodjela naloga uređajima (nadglednik) |
Zajednički elementi radnih modula:
- padajući izbornik naloga (prikaz broj (izvor)) — samo nalozi dodijeljeni ovom uređaju; bez naloga: poruka „Nema aktivnih naloga”;
- polje Scan + gumb Scan — svako skeniranje/unos, Enter potvrđuje;
- panel detalja odabrane stavke — polja koja još treba skenirati su plava, potvrđena postaju crna; greške se ispisuju crveno;
- lista stavki (Pozicija/Artikal | Količina) — odabrana stavka je narančasto uokvirena;
- gumbi Prihvati (upis na server) i Poništi (odustajanje od unosa u tijeku);
- ikone u traci: osvježi (ponovno učitava naloge) i ? (pomoć — Lista prefiksa).
Prefiksi barkodova #
Aplikacija polja prepoznaje po dvoznamenkastom prefiksu (popis je dostupan i u aplikaciji pod ? — Lista prefiksa):
| Prefiks | Značenje |
|---|---|
| 01 | Šifra artikla |
| 02 | Barkod |
| 10 | Šarža |
| 15 | Rok trajanja |
| 30 | Količina u paketima |
| 31 | Količina u paletama |
| 37 | Količina (decimalna) |
| 70 | Serijski broj |
| 92 | Pozicija |
Dodatno: broj do 2 znamenke upisan u Scan polje = izravna količina (npr. 5); barkod bez prefiksa tretira se kao barkod artikla. Kod prefiksa količine (30 / 31 / 37) vrijednost mora imati najviše 7 znamenki — inače se cijeli unos tretira kao barkod. Artikli sa serijskim brojevima označeni su s „(S)” — serijski brojevi skeniraju se prefiksom 70.
Uvjeti za Prihvati #
Prije upisa aplikacija provjerava (redom):
- prijavljen korisnik → inače „Korisnik nije prijavljen. Pokušajte se prijaviti ponovno.”;
- skeniran artikl → „Barkod artikla nije skeniran. Nije moguć upis.”;
- skenirana pozicija → „Pozicija nije skenirana. Nije moguć upis.”;
- količina veća od 0 → „Količina nije skenirana. Nije moguć upis.”;
- skeniran rok trajanja (ako ga stavka ima) → „Rok trajanja nije skeniran. Nije moguć upis.”.
Tek kad je sve zadovoljeno, stavka se šalje na server. Uspješan upis: poruka „Uspješno upisano”; greška servera: „Neuspješan upis. Greška: …”.
5. Ulaz (zaprimanje) #
- Odaberite ulazni nalog u padajućem izborniku.
- Skenirajte artikl — stavka se označava, panel pokazuje što još nedostaje (plava polja).
- Skenirajte redom (prema stavci): šaržu (10), rok trajanja (15), serijske brojeve (70), količinu (broj, 30 paketi, 31 palete, 37 decimalno).
- Skenirajte poziciju (92…) na koju robu odlažete.
- Prihvati — panel Izdvojiti: pokazuje preostalu količinu; kad je sve zaprimljeno, nalog nestaje s popisa.
6. Izlaz (komisioniranje) #
Redoslijed je pozicija-prvo:
- Odaberite izlazni nalog — u zaglavlju se prikazuju partner i grad.
- Skenirajte poziciju — aplikacija skače na prvu stavku te pozicije. Pozicije nema na dokumentu → crvena poruka „Dokument ne sadrži skeniranu poziciju”.
- Skenirajte artikl (mora biti na toj poziciji dokumenta), zatim količinu/šaržu/rok/serijske po potrebi. Prekoračenje količine blokira poruka „Količina ne smije ići u minus.”.
- Prihvati upisuje izuzimanje; Izdvojiti: pokazuje ostatak.
7. Inventura (popis) #
- Odaberite inventurni nalog. Lista prikazuje zadnje skenirano na vrhu; nepopisane stavke pokazuju knjižnu količinu i prigušene su.
- Skenirajte poziciju koju popisujete (može i naknadno — pozicija skenirana uz odabranu stavku preznačuje njenu poziciju).
- Skenirajte artikl — dodaje se kao popisna stavka (mora postojati u lokalnom šifrarniku artikala — inače „Skenirani artikal ne postoji u lokalnom šifrarniku pozicija.”, pa sinkronizirajte artikle).
- Skenirajte količinu — u inventuri količina prepisuje brojku (ponovno skeniranje ispravlja, ne zbraja). Panel prikazuje Izdvojeno: (popisano).
- Prihvati za svaku stavku. Razlike prema knjižnom stanju obračunava server/Gath.
8. Premještaj #
Dva načina rada:
- Postojeći nalog premještaja — odaberite PRM nalog i radite kao u Izlazu (pozicija → artikl → količina → nova pozicija → Prihvati).
- Novi premještaj s uređaja — gumb Novi (ili automatski kad nema aktivnih PRM naloga): skenirajte izvornu poziciju (aplikacija dohvaća sve artikle s nje — poruka „Artikala na poziciji: N”; prazna pozicija: „Nema artikala na ovoj poziciji.”), skenirajte artikl s pozicije i količinu koju premještate, skenirajte odredišnu poziciju (92…), Prihvati — server kreira novi nalog premještaja i vraća poruku „Novi nalog: PRM-N”.
9. Info (upiti) #
Skenirajte bilo koji artikl, barkod ili poziciju: panel prikazuje osnovne podatke, a lista (Pozicija/Artikal | Količina/Raspol.) stanja po pozicijama s raspoloživim količinama. Bez rezultata: „Nema podataka uz traženi barkod.”.
Modul je samo za pregled — ništa se ne knjiži.
10. Barcode (dopuna barkodova i pivot pozicija) #
- Skenirajte/upišite šifru ili barkod artikla — prikazuju se šifra, naziv i barkod te lista pivot pozicija artikla (Pivot pozicija | Kapacitet | Prioritet).
- Ikonom dodaj barkod otvara se dijalog „Unos novog barkoda” — skenirajte novi barkod i potvrdite s Unos (barkod ne smije već postojati).
- Ikonom dodaj poziciju otvara se „Unos nove pivotne pozicije” — skenirajte poziciju (92…; mora postojati u lokalnom šifrarniku, inače „Nepoznata pozicija, ažurirajte šifrarnik pozicija i skenirajte ponovno.”).
Uspjeh: „Uspješno uneseno” i podaci artikla se osvježavaju.
11. Centrala (nadglednik) #
Mobilna verzija WMS centrale — pregled svih otvorenih naloga skladišta i dodjela uređajima.
Lista naloga (Tip | Doc. | Izvor | Nalog): slobodni nalozi su obojani po tipu (ulaz zeleno, izlaz žuto, premještaj roza, inventura plavo) i sortirani na vrh; nalozi već dodijeljeni nekom uređaju su tamnozeleni. Bez naloga: „Nema aktivnih naloga”.
Dodir naloga otvara detalje: podaci naloga (partner, grad, datum), Dodijeljeni uređaji i Artikli na nalogu.
Dodjela: ikona za dodjelu → „Dodijeli nalog uređaju:” → dodirnite uređaj s popisa — poruka „Nalog dodjeljen uređaju.” (nema uređaja: „Nema aktivnih uređaja.”).
Odjava uređaja: dodirnite dodijeljeni uređaj → potvrda „Želite li odjaviti uređaj … s naloga?” → Odjava — poruka „Uređaj odjavljen s naloga.”.
12. Sistem #
- Postavke — vidi §2 (spajanje, sinkronizacije, Koristi šaržu).
- Ažuriranje aplikacije — provjerava dostupnost nove verzije i nudi preuzimanje i instalaciju („Dostupna je nova verzija aplikacije … Želite li ažurirati?”; nema novije: „Nema nove verzije aplikacije.”); provjera se radi i automatski pri ulasku u aplikaciju. Potrebna je dozvola instalacije iz nepoznatih izvora na uređaju.
- Odjava korisnika — povratak na ekran prijave (uz potvrdu „Jeste li sigurni?”).
- Kraj rada — zatvaranje aplikacije (uz potvrdu „Želite li izaći iz aplikacije?”; isto radi tipka Natrag).
13. Najčešće poruke i rješenja #
| Poruka | Uzrok / rješenje |
|---|---|
| Nije postavljena IP adresa servera u postavkama. | Uređaj nije konfiguriran — admin postavljanje (§2). |
| Nije moguće spajanje na bazu. Provjerite postavke spajanja. | Nedostaje servisni Username/Password ili je server nedostupan. |
| Krivo korisničko ime ili lozinka. | Provjerite lozinku; ako je korisnik nov, sinkronizirajte korisnike u Postavkama. |
| Greška tijekom učitavanja parametara. | Server nedostupan ili uređaj nema definirane module — provjerite vezu i postavke uređaja u Gathu. |
| Nema aktivnih naloga | Ovom uređaju nije dodijeljen nijedan nalog tog tipa — dodijelite ga u Centrali ili u Gathu. |
| Skenirana pozicija ne postoji u lokalnom šifrarniku pozicija. | Sinkronizirajte šifrarnik pozicija. |
| Skenirani artikal ne postoji u lokalnom šifrarniku pozicija. | (Inventura/skeniranje) Sinkronizirajte šifrarnik artikala. |
| Dokument ne sadrži skenirani artikal / skeniranu poziciju | Skenirano nije na odabranom nalogu — provjerite nalog/stavku. |
| Količina ne smije ići u minus. | Pokušaj upisa veće količine od preostale na stavci. |
| Na uređaju je isključeno skeniranje šarže. | Uključite Koristi šaržu u Postavkama (ako se šarže prate). |
| Trenutna stavka nema šaržu. | Stavka naloga ne traži šaržu — nastavite bez skeniranja šarže. |
| Krivi upisani rok trajanja. | Skenirani rok (15) ne odgovara stavci — provjerite rok. |
| Upisana vrijednost nije broj. | Kod skeniranja količine očekuje se broj. |
| Rok trajanja nije skeniran. Nije moguć upis. (i sl.) | Nedostaje obavezno polje — dovršite skeniranje pa Prihvati. |
| Nema podataka uz traženi barkod. | (Info/Barcode) Barkod/šifra ne postoji ili nema stanja. |
| Nepoznata pozicija, ažurirajte šifrarnik pozicija i skenirajte ponovno. | (Barcode) Sinkronizirajte pozicije pa ponovite unos. |
| Nema aktivnih uređaja. / Nije moguće dodijeliti nalog uređaju. | (Centrala) Nema slobodnih uređaja ili je dodjela odbijena na serveru. |
| Verzija servisa se ne podudara sa verzijom aplikacije. | Ažurirajte aplikaciju i/ili EPAndroid servis na usklađene verzije. |
| Konekcija na server nije uspješna. | Provjerite IP/port, mrežu i da EPAndroid servis radi. |
14. Napomene o verzijama #
- 0.7.0–0.7.3 — dodana mobilna Centrala (dodjela i odjava uređaja s naloga); stariji EPAndroid servisi ne podržavaju Centralu.
- 0.7.5 — postavka Koristi šaržu; Info radi i po šifri artikla.
- 0.7.8 — ispravno decimalne količine (prefiks 37).
- 0.7.9 — boje vrsta naloga u Centrali.
15. Za administratore — tehnički sažetak #
Aplikacija: native Android (Java), paket com.example.wms, minSdk 21; lokalna baza na uređaju je Room (SQLite). Arhitektura je MVVM (Fragment → ViewModel → Repository).
Server: konzolni servis EPAndroid (GATH SERVISI/console-services, EPAndroid.dpr + WebModuleAndroid.pas + DoProcedureAndroid.pas); radi nad istim tablicama kao desktop WMS (WmsNalogH/B/HH_
Protokol: HTTPS na https://
Endpointi: /gettoken, /wmsmobilesetup, /wmsgetwarrantheader, /wmsgetwarrantbody, /wmssetscandata (knjiženje), /wmsgetpositions, /getkorisniciprograma, /getarticleforinv, /wmsgetarticleforposition, /wmsgetinfo, /wmsgetarticlebycodeorbarcode, /wmssetbarcodeorposition, /wmsgetopendocs, /wmsgetscaners, /wmssetscanerfordoc.
Lokalna baza na uređaju (Room): šifrarnik pozicija, korisnici programa, artikli — osvježavaju se isključivo ručnim sinkronizacijama iz Postavki.
Ažuriranje: novi APK preuzima se s https://ep.hr/update/app-debug-wms.apk; provjera verzije radi se pri ulasku i ručno (Sistem → Ažuriranje aplikacije).
Ograničenja aktualne verzije: nema kamere ni zvučnih signala; modul Shipping je prazan (rezerviran); nema SSCC/paleta ni komisionih kutija (za to služi desktop Remote HandHeld); redoslijed stavki izlaza dolazi sa servera (bez lokalnog komisionog puta).