30db396ee6
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.
18 lines
882 B
SQL
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);
|