Files
GoNtech/migrations/047_nabavka_zavisni_troskovi.sql
T
Dasko 30db396ee6 feat(kalkulacija): Faza C — marža po kategoriji/artiklu + zavisni troškovi (backend)
Celina 1 (kompletna) — marža po kategoriji/artiklu:
- migracija 046: nullable marza na artikli i kategorije
- model Marza *float64 (Artikal, Kategorija) + KategorijaMarza u ArtikalSaKategorijom
- repo: čitanje/pisanje marže; nove DohvatiID/Izmeni za kategoriju
- dozvola kategorija.izmeni; handler IzmeniKategoriju + ruta
- UI: polje marže u formi artikla i kategorije; modal izmene kategorije
- nabavka: fallback predlog marže artikal → kategorija → globalna (izaberiArtikal)

Celina 2 (backend) — zavisni troškovi nabavke:
- migracija 047: tabela nabavka_troskovi + kolona metod_raspodele na nabavke
- model NabavkaTrosak, MetodRaspodele; čista funkcija RasporediTroskove + test
- repo: Kreiraj upisuje troškove i metod; DohvatiTroskove
- handler: parsiranje troškova/metoda; kalkulativna nabavna cena na serveru

UI forme troškova i prikaz u detaljima nabavke slede.
2026-06-14 16:12:03 +02:00

18 lines
882 B
SQL

-- Zavisni troškovi nabavke (carina, prevoz, špedicija…) i metod njihove raspodele.
-- Troškovi se raspodeljuju na stavke i ulaze u kalkulativnu nabavnu cenu, iz koje
-- se računa prodajna. Slobodne stavke (naziv + iznos), više redova po nabavci.
-- metod raspodele po nabavci: 'vrednost' (po nabavnoj vrednosti stavke) ili 'kolicina'.
-- NULL/prazno = nema zavisnih troškova (kalkulacija kao u Fazi B).
ALTER TABLE nabavke ADD COLUMN metod_raspodele TEXT;
-- pojedinačne stavke zavisnih troškova; brišu se zajedno sa nabavkom (CASCADE)
CREATE TABLE IF NOT EXISTS nabavka_troskovi (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nabavka_id INTEGER NOT NULL REFERENCES nabavke(id) ON DELETE CASCADE,
naziv TEXT NOT NULL,
iznos REAL NOT NULL DEFAULT 0
);
CREATE INDEX IF NOT EXISTS idx_nabavka_troskovi_nabavka ON nabavka_troskovi(nabavka_id);