PDV pravilo na štampanim dokumentima + fiksni layout + QR popravka

- PDV uslovi (Moduli.pdv) na: predračun, otpremnica, garantni list, prodaja_stampa
- Modal za preuzimanje: jedna cena (sa/bez PDV), ne duplo
- Javna status stranica: PDV uslovi za cene, predlog, checkbox-ove
- Svi print templejti: viewport=device-width+min-width, bez responsive
- JavniToken generisan za postojeće naloge bez tokena (QR popravka)
- UkupnoSaPdv() metode na ServisniRad i ServisniDeoSaArtiklom
- UkupnoBezPdv() na StavkaProdaje
This commit is contained in:
2026-06-27 02:06:18 +02:00
parent 6727e39348
commit 60e7debad5
15 changed files with 335 additions and 183 deletions
+14
View File
@@ -78,11 +78,18 @@ func (d ServisniDeo) Ukupno() float64 {
return float64(d.Kolicina) * d.CenaKomada
}
// UkupnoSaPdv vraća ukupnu vrednost dela sa PDV-om (kolicina × cena_sa_pdv)
func (d ServisniDeoSaArtiklom) UkupnoSaPdv() float64 {
return float64(d.Kolicina) * d.CenaSaPdv
}
// ServisniDeoSaArtiklom je servisni deo sa nazivom artikla — za prikaz
type ServisniDeoSaArtiklom struct {
ServisniDeo
ArtikalNaziv string
ArtikalSifra string
PdvStopa float64
CenaSaPdv float64
Potrazivano int // komada koji nedostaju (iz servisni_potrazivani_delovi), 0 ako nema
}
@@ -110,6 +117,8 @@ type ServisniRad struct {
Sifra string
Kolicina float64
CenaKomada float64
PdvStopa float64
CenaSaPdv float64 // CenaKomada * (1 + PdvStopa/100)
Datum string
Predlozeno bool // true = serviser predložio posle dijagnostike; čeka odobrenje klijenta
}
@@ -119,6 +128,11 @@ func (r ServisniRad) Ukupno() float64 {
return r.Kolicina * r.CenaKomada
}
// UkupnoSaPdv vraća ukupnu vrednost rada sa PDV-om (kolicina × cena_sa_pdv)
func (r ServisniRad) UkupnoSaPdv() float64 {
return r.Kolicina * r.CenaSaPdv
}
// ServisniNalogSaKlijentom proširuje ServisniNalog sa nazivom klijenta za prikaz u listi
type ServisniNalogSaKlijentom struct {
ServisniNalog