Lista Dispozitii Livrare (DL)

Scop

Vizualizarea si gestionarea dispozitiilor de livrare disponibile pentru operatorul curent. Ecranul permite identificarea DL-urilor libere, preluarea acestora, vizualizarea celor preluate de mine sau de alti utilizatori, si accesul la istoricul DL-urilor aprobate.

Prerechizite

  • Autentificarea cu succes (vezi Setari).

  • Utilizatorul are drepturi in ERP pe modulul Logistica / Vanzari.

  • Exista cel putin un DL definit in ERP (functia Vanzari → Dispozitii Livrare in EMSYS).

A. Acces la lista DL

Din meniul principal, apasati cardul Vanzari & Retail. Se deschide submeniul cu o singura optiune disponibila momentan: Dispozitii Livrare. Apasati pe card pentru a deschide lista.

Meniu principal cu cardul Vanzari & Retail Submeniul Vanzari cu Dispozitii Livrare

La incarcarea listei, aplicatia descarca de pe server toate DL-urile la care utilizatorul curent are acces (libere sau preluate de altii) si afiseaza un spinner pe durata acestei operatii. Tipic 1-3 secunde pentru ~50-200 DL-uri.

B. Structura ecran lista DL

Lista Dispozitii Livrare cu bara de cautare si filtru deschide

Lista Dispozitii Livrare cu bara de cautare si filtru preluate

Lista Dispozitii Livrare cu bara de cautare si filtru aprobate

Ecranul Dispozitii Livrare contine:

  • Bara de cautare (sus) — filtrare rapida dupa text liber. Suporta prefixe speciale:

    • dl <numar> — cauta dupa numar document

    • cmd <numar> — cauta dupa numar comanda client

    • tranz <numar> — cauta dupa numar tranzactie

    Fara prefix, cautarea se face concomitent dupa client, numar comanda si numar tranzactie.

  • Trei butoane circulare de filtru (dreapta sus, langa cautare) — filtru pe stare:

    • Filtru Deschise (cyan) Deschise (cyan) — DL-uri libere, neasumate de niciun utilizator

    • Filtru Preluate (rosu) Preluate (rosu) — DL-uri preluate de mine

    • Filtru Aprobate (portocaliu) Aprobate (portocaliu) — DL-uri finalizate (aprobate in ERP)

    Doar un filtru este activ la un moment dat. Butoanele inactive sunt afisate cu contur colorat fara umplere.

  • Lista carduri DL — sortata descrescator dupa numar document.

  • Buton refresh (iconita reincarcare in bara de titlu) — re-fetch lista de pe server.

  • Pull-to-refresh — trageti lista in jos pentru reincarcare.

C. Card DL — informatii afisate

Card DL cu informatii numar / client / cmd / tranz

Fiecare DL este afisat ca un card cu fundal colorat in functie de stare:

  • Alb — disponibil (liber) SAU aprobat (read-only). Distinctia se face prin iconul de stare (vezi mai jos) si prin culoarea butonului de actiune (cyan = preluare, portocaliu = anulare aprobare).

  • Albastru deschis — preluat de mine.

  • Gri deschis — preluat de alt utilizator.

Continutul cardului:

  • Iconita stare (stanga-sus) + numar DL + data document

  • Denumire client (font mai mare, max 2 randuri)

  • Stare (text mic, dreapta) — aprobat / preluat de mine / disponibil / preluat de <user>

  • Cmd — numar comanda client

  • Tranz — numar tranzactie unic

  • Buton de actiune (dreapta) — actiunea principala depinde de stare (vezi sectiunea D).

D. Actiuni disponibile per stare

Buton Preluare (albastru) Preluare — pe DL disponibil (galben)

Apasarea butonului albastru de Play face POST la ERP cu preluare=1. La succes, DL devine rosu (preluat de mine), iar in lista apare un snackbar verde: „DL <nr> preluat (Tranz <nrtranz>)”. Pozitiile cu codurile de bare sunt descarcate in background si salvate local in SQLite pentru rezilienta la kill/reboot.

Buton Anulare preluare (rosu) Anulare preluare — pe DL preluat de mine (rosu)

Apasarea butonului rosu de Play deschide un dialog de confirmare. La confirmare, DL revine la disponibil (galben) si toate cantitatile scanate local sunt sterse. Snackbar rosu: „Preluare anulata — DL <nr> (Tranz <nrtranz>)”.

Buton Anulare aprobare (portocaliu) Anulare aprobare — pe DL aprobat (alb)

Apasarea butonului portocaliu deschide un dialog de confirmare. La confirmare, DL revine la preluat de mine (rosu) si poate fi rescanat / corectat. Cantitatile scanate inainte de aprobare sunt pastrate in SQLite local — la redeschiderea DL-ului apar exact unde erau.

Notă

Tehnic, anularea aprobarii face doua apeluri server consecutive: aprobare=0 (sterge starea aprobat) si preluare=1 (re-revendica DL-ul). Server-ul EMSYS poate, in functie de implementare, sa stearga userPreluat la anulare aprobare — re-revendicarea explicita asigura ca DL ramane in lista Preluate la urmatorul refresh.

E. Filtrele si lista goala

Daca dupa selectarea unui filtru lista este goala, aplicatia afiseaza un ecran de informare contextual cu pictograma + titlu + indicatie de actiune:

  • Filtrul Deschise gol — „Nu sunt DL deschise. Trage in jos pentru a re-incarca lista.”

  • Filtrul Preluate gol — „Nu ai DL-uri preluate. Schimba filtrul pe Deschise si apasa Preluare pe un DL.”

  • Filtrul Aprobate gol — „Niciun DL aprobat. DL-urile aprobate apar aici dupa ce confirmi cantitatile scanate.”

  • Cu cautare activa — „Niciun rezultat. Niciun DL nu corespunde cautarii curente.”

Ecran empty state pentru filtrul Preluate

F. Tap pe card — deschidere detaliu

Apasati pe corpul cardului (oriunde, in afara butonului Play / actiune) pentru a deschide ecranul de detaliu DL. Vezi Detaliu DL.

Comportamentul deschiderii detaliului depinde de starea DL-ului:

  • Deschis (liber) — vedere read-only. Nu pot scana fara a face mai intai Preluare.

  • Preluat de mine — mod editare completa: scanare, reset, trimitere, aprobare.

  • Preluat de alt utilizator — vedere read-only.

  • Aprobat (de mine sau altul) — vedere read-only, cu mesajul „DL APROBAT”.