Izveštaji: prava zarada (cena - nabavna cena) za prodaju i servis

Nabavna cena se zamrzava na stavci prodaje i ugrađenom servisnom delu
u trenutku unosa (migracija 101), umesto naknadnog join-a na trenutnu
artikli.nabavna_cena. Tabela mesečnog prihoda sad prikazuje zaradu uz
prodaju/servis/ukupno, a grafikon dobija preklopljene tamne barove
(zarada) preko svetlih (ukupan prihod), odvojene za prodaju i servis.
This commit is contained in:
2026-07-03 03:49:18 +02:00
parent 54e9439430
commit 4a94db7684
8 changed files with 179 additions and 44 deletions
+6 -5
View File
@@ -204,9 +204,10 @@ func (r *ProdajaRepo) Kreiraj(ctx context.Context, n *model.ProdajniNalog, stavk
s := stavke[i]
var naziv, tip string
var stanjePre int
var nabavnaCena float64
err := tx.QueryRowContext(ctx,
"SELECT naziv, kolicina, tip FROM artikli WHERE id = ?", s.ArtikalID,
).Scan(&naziv, &stanjePre, &tip)
"SELECT naziv, kolicina, tip, nabavna_cena FROM artikli WHERE id = ?", s.ArtikalID,
).Scan(&naziv, &stanjePre, &tip, &nabavnaCena)
if err != nil {
return 0, fmt.Errorf("ntech: ProdajaRepo.Kreiraj: dohvati artikal: %w", err)
}
@@ -248,10 +249,10 @@ func (r *ProdajaRepo) Kreiraj(ctx context.Context, n *model.ProdajniNalog, stavk
stavke[i].Ukupno = ukupnoStavke
_, err = tx.ExecContext(ctx, `
INSERT INTO stavke_prodaje
(nalog_id, artikal_id, kolicina, cena_po_komadu, popust_procenat, ukupno, pdv_stopa, pdv_iznos, cena_bez_pdv)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,
(nalog_id, artikal_id, kolicina, cena_po_komadu, popust_procenat, ukupno, pdv_stopa, pdv_iznos, cena_bez_pdv, nabavna_cena)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
nalogID, s.ArtikalID, s.Kolicina, s.CenaPoKomadu, s.PopustProcenat, ukupnoStavke,
s.PdvStopa, pdvIznos, cenaBezPdv,
s.PdvStopa, pdvIznos, cenaBezPdv, nabavnaCena,
)
if err != nil {
return 0, fmt.Errorf("ntech: ProdajaRepo.Kreiraj: insert stavka: %w", err)