Rute dostave
Ruta dostave omogućava dispečeru da postavi fizički redosled isporuka za grupu otpremnica koje dele istog vozača, vozilo i datum. Redosled se čuva kao RouteOrder atribut na otpremnicama i koristi se pri sortiranju redova u Dostavnici, tako da štampana lista prati realnu geografsku rutu vozača.
Kada koristiti rute dostave
Rute dostave su korisne kada jedan vozač u toku dana posećuje više kupaca u određenom geografskom redosledu. Bez postavljenog redosleda, Dostavnica sortira isporuke alfabetski po šifri partnera — što može biti nasumičan geografski redosled. Postavljanjem rute, i štampana Dostavnica i App-prikaz prate stvaran put vozača.
Kako funkcioniše
Svaka otpremnica ima opcionalni RouteOrder — celi broj koji označava njenu poziciju u redosledu isporuke za grupu (vozač, vozilo, datum). Vrednosti se dodeljuju gust (dense): ako ima N otpremnica u grupi, dobijaju RouteOrder = 1, 2, 3, ..., N.
Dok RouteOrder nije postavljen, otpremnica se sortira alfabetski po šifri partnera u Dostavnici. Postavljanjem rute, otpremnica dobija eksplicitnu poziciju.
Redosled se uvek postavlja grupno za celu grupu (vozač, vozilo, datum) odjednom — nije moguće promeniti poziciju samo jedne otpremnice bez dostavljanja celog novog redosleda grupe.
Postavljanje redosleda rute
Na stranici Otpremnice, aktivirajte prikaz rute za željenu grupu:
- Filtrirajte otpremnice po vozaču, vozilu i datumu.
- Kliknite Uredi redosled da aktivirate mode uređivanja.
- Prevučite (
drag & drop) otpremnice u željeni geografski redosled isporuke. - Kliknite Sačuvaj redosled.
Sistem šalje PUT /api/core/shipments/route-order sa uređenim listom ID-eva otpremnica. Atomično se dodeljuju vrednosti RouteOrder = 1..N u navedenom redosledu.
Zahtevi za postavljanje redosleda
Svi ID-evi otpremnica u zahtevu moraju:
| Uslov | Opis |
|---|---|
| Isti tenant | Sve moraju biti iz istog naloga |
| Ista trojka | Isti (DriverId, VehicleId, ShipmentDate) — mešovita grupa se odbija |
| Vozač i vozilo | Oba polja moraju biti dodeljena — neraspoređene otpremnice se ne mogu sortirati |
| Ispravan status | Mora biti Nacrt ili Aktivan — Zaključane i Odobrene se ne mogu prerasporediti |
Pokušaj promene redosleda za otpremnice sa mešanom grupom (različiti vozači ili vozila u istom zahtevu) vraća
ValidationFailed.
RouteOrderje planska oznaka, ne finansijski sadržaj — zato Status Approved ne blokira izmenu, ali Locked (zaključan od strane Approved workflow-a) jeste.
Efekat na Dostavnicu
Nakon podešavanja redosleda, Dostavnica za taj datum prikazuje redove sortirane prema:
RouteOrder ASC NULLS LAST
→ PartnerCode ASC
→ ProductCode ASC
→ LotNumber ASC NULLS LAST
Otpremnice sa postavljenim RouteOrder prikazuju se prema fizičkoj ruti; otpremnice bez RouteOrder dolaze na kraj i sortiraju se alfabetski.
Primer sortiranja
| Otpremnica | RouteOrder | Partner | Prikazuje se |
|---|---|---|---|
| SO-000041 | 1 | Mlekara Beograd | Prva |
| SO-000042 | 3 | Pekara Plus | Treća |
| SO-000043 | 2 | Supermarket Zvezda | Druga |
| SO-000044 | (nije postavljen) | A-Market | Poslednja (alfabetski) |
Lista otpremnica sa redosledom
GET /api/core/shipments vraća RouteOrder na svakom redu liste. Kada je redosled postavljen, polje prikazuje numeričku poziciju; kada nije — vrednost je prazna. Na App listi otpremnica, kolona Redosled prikazuje ovu vrednost kada je prikaz sortiran po ruti.
Validaciona pravila
| Pravilo | Grеška |
|---|---|
| ID otpremnice nije pronađen ili pripada drugom tenantу | 870 ShipmentNotFound |
| Otpremnica je Zaključana | 871 ShipmentNotEditable |
| Prazna lista, mešana grupa, ili vozač/vozilo nije dodeljen | ValidationFailed |
Tipični scenariji
Jutarnji dispečing
- Otvorite Otpremnice za danas.
- Filtrirajte po vozaču i vozilu za koji pravite rutu.
- Aktivirajte Uredi redosled i posložite otpremnice prema geografskom redosledu poseta.
- Sačuvajte.
- Štampajte Dostavnicu za tog vozača — redovi su već u fizičkom redosledu isporuke.
Promena redosleda u toku dana
Redosled se može promeniti i nakon što je Dostavnica štampana — sve dok otpremnice nisu zaključane. Promenite redosled i ponovo štampajte Dostavnicu.
Nije dodeljen vozač ili vozilo
Ako otpremnici nije dodeljen vozač ili vozilo, ne možete je uključiti u sortiranje rute. Najpre uredite otpremnicu i dodelite vozača i vozilo, a zatim ponovo pokušajte sa postavljanjem redosleda.
Srodne stranice
- Otpremnice — otpremnice čiji redosled se podešava; dodeljivanje vozača i vozila
- Dostavnica — izveštaj koji koristi RouteOrder za sortiranje redova