Uklanjanje nabavne cene iz artikala, responsive dashboard, dodavanje tabela za nabavke

This commit is contained in:
2026-06-01 20:52:59 +02:00
parent 80cb3357d7
commit b9d960a4a0
7 changed files with 61 additions and 33 deletions
+9 -9
View File
@@ -25,7 +25,7 @@ func (r *ArtikalRepo) Lista(ctx context.Context, filter db.ArtikalFilter) ([]mod
SELECT
a.id, a.kategorija_id, a.naziv, a.opis,
a.kolicina, a.kolicina_min, a.lokacija,
a.nabavna_cena, a.prodajna_cena, a.napomena, a.datum_unosa,
a.prodajna_cena, a.napomena, a.datum_unosa,
COALESCE(k.naziv, '') as kategorija_naziv
FROM artikli a
LEFT JOIN kategorije k ON a.kategorija_id = k.id
@@ -63,7 +63,7 @@ func (r *ArtikalRepo) Lista(ctx context.Context, filter db.ArtikalFilter) ([]mod
err := redovi.Scan(
&a.ID, &kategorijaID, &a.Naziv, &a.Opis,
&a.Kolicina, &a.KolicinMin, &a.Lokacija,
&a.NabavnaCena, &a.ProdajnaCena, &a.Napomena, &a.DatumUnosa,
&a.ProdajnaCena, &a.Napomena, &a.DatumUnosa,
&a.KategorijaNaziv,
)
if err != nil {
@@ -89,11 +89,11 @@ func (r *ArtikalRepo) DohvatiID(ctx context.Context, id int64) (*model.Artikal,
err := r.db.QueryRowContext(ctx, `
SELECT id, kategorija_id, naziv, opis, kolicina, kolicina_min,
lokacija, nabavna_cena, prodajna_cena, napomena, datum_unosa
lokacija, prodajna_cena, napomena, datum_unosa
FROM artikli WHERE id = ?`, id).Scan(
&a.ID, &kategorijaID, &a.Naziv, &a.Opis,
&a.Kolicina, &a.KolicinMin, &a.Lokacija,
&a.NabavnaCena, &a.ProdajnaCena, &a.Napomena, &a.DatumUnosa,
&a.ProdajnaCena, &a.Napomena, &a.DatumUnosa,
)
if err != nil {
return nil, fmt.Errorf("ntech: ArtikalRepo.DohvatiID: %w", err)
@@ -111,10 +111,10 @@ func (r *ArtikalRepo) Kreiraj(ctx context.Context, a *model.Artikal) (int64, err
rezultat, err := r.db.ExecContext(ctx, `
INSERT INTO artikli
(kategorija_id, naziv, opis, kolicina, kolicina_min, lokacija,
nabavna_cena, prodajna_cena, napomena)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,
prodajna_cena, napomena)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`,
a.KategorijaID, a.Naziv, a.Opis, a.Kolicina, a.KolicinMin,
a.Lokacija, a.NabavnaCena, a.ProdajnaCena, a.Napomena,
a.Lokacija, a.ProdajnaCena, a.Napomena,
)
if err != nil {
return 0, fmt.Errorf("ntech: ArtikalRepo.Kreiraj: %w", err)
@@ -133,11 +133,11 @@ func (r *ArtikalRepo) Izmeni(ctx context.Context, a *model.Artikal) error {
_, err := r.db.ExecContext(ctx, `
UPDATE artikli SET
kategorija_id = ?, naziv = ?, opis = ?, kolicina = ?,
kolicina_min = ?, lokacija = ?, nabavna_cena = ?,
kolicina_min = ?, lokacija = ?,
prodajna_cena = ?, napomena = ?
WHERE id = ?`,
a.KategorijaID, a.Naziv, a.Opis, a.Kolicina,
a.KolicinMin, a.Lokacija, a.NabavnaCena,
a.KolicinMin, a.Lokacija,
a.ProdajnaCena, a.Napomena, a.ID,
)
if err != nil {
-8
View File
@@ -230,14 +230,6 @@ func parseFormuArtikla(r *http.Request) (model.Artikal, string) {
artikal.KolicinMin = v
}
if c := r.FormValue("nabavna_cena"); c != "" {
v, err := strconv.ParseFloat(c, 64)
if err != nil || v < 0 {
return artikal, "Nabavna cena mora biti pozitivan broj."
}
artikal.NabavnaCena = v
}
if c := r.FormValue("prodajna_cena"); c != "" {
v, err := strconv.ParseFloat(c, 64)
if err != nil || v < 0 {
+1 -2
View File
@@ -11,7 +11,6 @@ type Artikal struct {
Kolicina int
KolicinMin int
Lokacija string
NabavnaCena float64
ProdajnaCena float64
Napomena string
DatumUnosa time.Time
@@ -28,5 +27,5 @@ type Kategorija struct {
type ArtikalSaKategorijom struct {
Artikal
KategorijaNaziv string
KriticnaZaliha bool // true ako je kolicina <= kolicina_min
KriticnaZaliha bool
}