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.
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
-- 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);
|
||||
Reference in New Issue
Block a user