Files
GoNtech/internal/model/prodaja.go
T

60 lines
1.6 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package model
import "time"
// ProdajniNalog predstavlja zaglavlje jedne prodaje
type ProdajniNalog struct {
ID int64
KlijentID *int64
BrojNaloga string
Napomena string
Ukupno float64
NacinPlacanja string
Stornirano bool
RazlogStorniranja string
Datum time.Time
}
// StavkaProdaje predstavlja jednu liniju (artikal) unutar prodaje
type StavkaProdaje struct {
ID int64
NalogID int64
ArtikalID int64
Kolicina int
CenaPoKomadu float64
PopustProcenat float64 // rabat u procentima (npr. 10 = 10% popusta)
Ukupno float64
PdvStopa float64
PdvIznos float64
CenaBezPdv float64
}
// UkupnoBezPdv vraća ukupno bez PDV-a za stavku (CenaBezPdv × količina)
func (s StavkaProdaje) UkupnoBezPdv() float64 {
return s.CenaBezPdv * float64(s.Kolicina)
}
// ProdajniNalogSaDetaljem je nalog sa nazivom klijenta — za prikaz u listi
type ProdajniNalogSaDetaljem struct {
ProdajniNalog
KlijentNaziv string
}
// StavkaProdajeSaArtiklom je stavka prodaje sa nazivom artikla — za prikaz u detaljima
type StavkaProdajeSaArtiklom struct {
StavkaProdaje
ArtikalNaziv string
JedinicaMere string
KategorijaNaziv string
}
// DnevniPrometKir su zbrojeni iznosi maloprodaje za jedan dan, razvrstani po PDV stopi.
// Koristi se za kreiranje zbirnog KIR zapisa (promet fizičkim licima).
type DnevniPrometKir struct {
OsnovicaOpsta float64 // neto suma po stopi 20%
PdvOpsta float64
OsnovicaPosebna float64 // neto suma po stopi 10%
PdvPosebna float64
BrojNaloga int // ukupan broj prodajnih naloga taj dan
}