diff --git a/internal/handler/izvestaji.go b/internal/handler/izvestaji.go index 9df5055..f0e2e77 100644 --- a/internal/handler/izvestaji.go +++ b/internal/handler/izvestaji.go @@ -316,9 +316,11 @@ func (h *Handler) StanjeZalihaIzvestaj(w http.ResponseWriter, r *http.Request) { // PodaciPopisa su podaci za stranicu popisa type PodaciPopisa struct { model.PodaciStranice - Artikli []model.ArtikalSaKategorijom - Sacuvano bool - Greska string + Artikli []model.ArtikalSaKategorijom + Sacuvano bool + Greska string + TipPopisa string // godišnji | vanredni | preuzimanje + DatumPopisa string // formatiran datum za prikaz } // Popis prikazuje formu za unos stvarnog stanja (inventuru) @@ -327,7 +329,7 @@ func (h *Handler) Popis(w http.ResponseWriter, r *http.Request) { return } - artikli, err := h.Artikli.Lista(r.Context(), appdbPkg.ArtikalFilter{}) + artikli, err := h.Artikli.Lista(r.Context(), appdbPkg.ArtikalFilter{Tip: model.TipProizvod}) if err != nil { http.Error(w, "Greška pri učitavanju artikala", http.StatusInternalServerError) return @@ -342,6 +344,8 @@ func (h *Handler) Popis(w http.ResponseWriter, r *http.Request) { PodaciStranice: ps, Artikli: artikli, Sacuvano: r.URL.Query().Get("sacuvano") == "1", + TipPopisa: "godišnji", + DatumPopisa: time.Now().Format("02.01.2006."), }) } @@ -357,15 +361,26 @@ func (h *Handler) SacuvajPopis(w http.ResponseWriter, r *http.Request) { return } - artikli, err := h.Artikli.Lista(r.Context(), appdbPkg.ArtikalFilter{}) + artikli, err := h.Artikli.Lista(r.Context(), appdbPkg.ArtikalFilter{Tip: model.TipProizvod}) if err != nil { http.Error(w, "Greška pri učitavanju artikala", http.StatusInternalServerError) return } + tipPopisa := r.FormValue("tip_popisa") + if tipPopisa == "" { + tipPopisa = "godišnji" + } napomena := r.FormValue("napomena") if napomena == "" { - napomena = "Godišnji popis" + switch tipPopisa { + case "vanredni": + napomena = "Vanredni popis" + case "preuzimanje": + napomena = "Popis pri preuzimanju dužnosti" + default: + napomena = "Godišnji popis" + } } var greskaBroj int @@ -413,6 +428,8 @@ func (h *Handler) SacuvajPopis(w http.ResponseWriter, r *http.Request) { PodaciStranice: ps, Artikli: artikli, Greska: fmt.Sprintf("Došlo je do greške pri upisivanju %d artikala.", greskaBroj), + TipPopisa: tipPopisa, + DatumPopisa: time.Now().Format("02.01.2006."), }) return } diff --git a/web/templates/stranice/popis.html b/web/templates/stranice/popis.html index 18932dc..43ad934 100644 --- a/web/templates/stranice/popis.html +++ b/web/templates/stranice/popis.html @@ -5,7 +5,7 @@ {{define "dodatni-css"}} {{end}} @@ -40,11 +51,15 @@
-
Godišnji popis magacina
+
Popis magacina
Unesite stvarno prebrojano stanje za svaki artikal. Polja sa razlikom biće istaknuta narandžasto. Samo artikli sa izmenjenom količinom biće korigovani — ostali ostaju nepromenjeni.
+
+ Datum popisa: {{.DatumPopisa}} +  |  Sačinio: {{.KorisnikIme}} +
← Izveštaji
@@ -58,9 +73,17 @@
Artikli
+
+ + +
- +
@@ -72,15 +95,19 @@
{{else}}
- +
- - - + + + + + + + @@ -89,7 +116,10 @@ + + + + {{end}} + + + + + + + + + +
Artikal Šifra KategorijaKnjižno stanjeStvarno stanjeRazlikaJMNab. cenaKnj. kol.Knj. vrednostStvarno kol.Razlika kol.Razlika vrednost
{{.Naziv}} {{if .Sifra}}{{.Sifra}}{{else}}—{{end}} {{if .KategorijaNaziv}}{{.KategorijaNaziv}}{{else}}—{{end}}{{if .JedinicaMere}}{{.JedinicaMere}}{{else}}kom{{end}}{{dinariCeli .NabavnaCena}} {{.Kolicina}} + oninput="azurirajRed(this)"> + +
UKUPNO:
+ +
+
+
+ Manjkovi (kom) + 0 +
+
+ Manjkovi (vrednost) + 0,00 +
+
+ Viškovi (kom) + 0 +
+
+ Viškovi (vrednost) + 0,00 +
+
+
+
@@ -121,33 +187,100 @@
{{end}}