PDV KIR: upozorenje kad je dnevni pazar zastareo u odnosu na promet

Zbirni 'rucno' KIR zapis dnevnog pazara nema povratnu vezu ka pojedinačnim
maloprodajnim nalozima, pa ga naknadni storno ili nova prodaja tog dana ne
mogu sami korigovati. Umesto tihog auto-prepisivanja poreske evidencije,
PdvKir handler sada upoređuje upisani Ukupno sa trenutno preračunatim
DnevniPrometMaloprodaje i u listi prikazuje bedž 'zastareo iznos' sa linkom
na formu za osvežavanje (koja već ima logiku zamene starog zapisa).
This commit is contained in:
2026-07-01 12:36:04 +02:00
parent a772702344
commit b5e2aac3cd
2 changed files with 25 additions and 5 deletions
+24 -4
View File
@@ -20,10 +20,11 @@ import (
// PodaciPdvKir su podaci za pregled knjige izdatih računa
type PodaciPdvKir struct {
model.PodaciStranice
Zapisi []model.PdvKir
Sume model.PdvKirSume
Od string // filter perioda (YYYY-MM-DD), prazno = bez granice
Do string
Zapisi []model.PdvKir
Sume model.PdvKirSume
Od string // filter perioda (YYYY-MM-DD), prazno = bez granice
Do string
Zastareo map[int64]bool // ID zapisa dnevnog pazara čiji je iznos van sinhronizacije sa trenutnim prometom (npr. posle naknadnog storna)
}
// PodaciPdvKirForma su podaci za formu unosa zapisa KIR
@@ -83,6 +84,24 @@ func (h *Handler) PdvKir(w http.ResponseWriter, r *http.Request) {
return
}
// zbirni unos dnevnog pazara nema povratnu vezu ka pojedinačnim nalozima —
// ako je posle upisa neki maloprodajni nalog tog dana storniran ili dodat,
// upisani iznos ostaje zastareo dok korisnik svesno ne osveži tu formu
zastareo := map[int64]bool{}
for _, z := range zapisi {
if z.Izvor != "rucno" || !strings.HasPrefix(z.BrojDokumenta, "FISK-") {
continue
}
promet, err := h.ProdajaRepo.DnevniPrometMaloprodaje(r.Context(), z.DatumPrometa.Format("2006-01-02"))
if err != nil {
continue
}
trenutno := math.Round((promet.OsnovicaOpsta+promet.PdvOpsta+promet.OsnovicaPosebna+promet.PdvPosebna)*100) / 100
if math.Abs(trenutno-z.Ukupno) > 0.005 {
zastareo[z.ID] = true
}
}
ps := h.popuniPodaciStranice(r, podesavanja)
ps.Stranica = "pdv-kir"
ps.NaslovStranice = "KIR — knjiga izdatih računa"
@@ -92,6 +111,7 @@ func (h *Handler) PdvKir(w http.ResponseWriter, r *http.Request) {
Sume: model.SumirajKir(zapisi),
Od: odStr,
Do: doStr,
Zastareo: zastareo,
})
}