Servis: prekoračenje dela prebacuje nalog u Čeka delove
Kad tražena količina dela prelazi magacinsko stanje, deo se ne ugrađuje (lager ne ide u minus), a nalog se automatski prebacuje u status Čeka delove uz poruku da se naruči deo.
This commit is contained in:
@@ -525,6 +525,18 @@ func (h *Handler) DodajDeloNalogu(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ako tražena količina prelazi magacinsko stanje, deo se NE ugrađuje (da lager
|
||||||
|
// ne ode u minus), a nalog se automatski prebacuje u „Čeka delove" radi nabavke
|
||||||
|
if art, e := h.Artikli.DohvatiID(r.Context(), artikalID); e == nil && art != nil && kolicina > art.Kolicina {
|
||||||
|
if e := h.ServisRepo.AzurirajStatus(r.Context(), nalogID, model.StatusCekaDelove); e != nil {
|
||||||
|
slog.Error("greška pri prebacivanju naloga u Čeka delove", "error", e)
|
||||||
|
}
|
||||||
|
middleware.SetFlash(w, r, h.DB, "greska",
|
||||||
|
"Nema dovoljno „"+art.Naziv+"\" na stanju (ima "+strconv.Itoa(art.Kolicina)+"). Nalog je prebačen u „Čeka delove\" — naručite deo.")
|
||||||
|
http.Redirect(w, r, "/servis/"+strconv.FormatInt(nalogID, 10), http.StatusSeeOther)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if _, err := h.ServisniDeloviRepo.Dodaj(r.Context(), nalogID, artikalID, kolicina, cena, &k.ID); err != nil {
|
if _, err := h.ServisniDeloviRepo.Dodaj(r.Context(), nalogID, artikalID, kolicina, cena, &k.ID); err != nil {
|
||||||
slog.Error("greška pri dodavanju dela", "error", err)
|
slog.Error("greška pri dodavanju dela", "error", err)
|
||||||
middleware.SetFlash(w, r, h.DB, "greska", "Greška pri dodavanju dela. Proverite stanje na magacinu.")
|
middleware.SetFlash(w, r, h.DB, "greska", "Greška pri dodavanju dela. Proverite stanje na magacinu.")
|
||||||
|
|||||||
Reference in New Issue
Block a user