53 lines
2.6 KiB
SQL
53 lines
2.6 KiB
SQL
-- ============================================
|
|
-- Faza 1: POS proširenje — PDV, magacinska revizija, servisni delovi
|
|
-- ============================================
|
|
|
|
-- 1. Artikli — dodajemo PDV stopu (nabavna_cena već postoji)
|
|
ALTER TABLE artikli ADD COLUMN pdv_stopa REAL NOT NULL DEFAULT 20.0;
|
|
|
|
-- 2. Stavke prodaje — PDV po stavci (za tačan obračun i buduće fiskalne račune)
|
|
ALTER TABLE stavke_prodaje ADD COLUMN pdv_stopa REAL NOT NULL DEFAULT 20.0;
|
|
ALTER TABLE stavke_prodaje ADD COLUMN pdv_iznos REAL NOT NULL DEFAULT 0;
|
|
ALTER TABLE stavke_prodaje ADD COLUMN cena_bez_pdv REAL NOT NULL DEFAULT 0;
|
|
|
|
-- 3. Prodajni nalozi — način plaćanja i storno
|
|
ALTER TABLE prodajni_nalozi ADD COLUMN nacin_placanja TEXT NOT NULL DEFAULT 'gotovina'
|
|
CHECK (nacin_placanja IN ('gotovina', 'kartica', 'prenos'));
|
|
ALTER TABLE prodajni_nalozi ADD COLUMN stornirano INTEGER NOT NULL DEFAULT 0;
|
|
ALTER TABLE prodajni_nalozi ADD COLUMN razlog_storniranja TEXT;
|
|
|
|
-- 4. Servisni nalozi — tehničar i garancija
|
|
ALTER TABLE servisni_nalozi ADD COLUMN tehnicar_id INTEGER REFERENCES korisnici(id) ON DELETE SET NULL;
|
|
ALTER TABLE servisni_nalozi ADD COLUMN garancija_do DATE;
|
|
|
|
-- 5. Klijenti — JMBG i tip (fizičko/pravno lice)
|
|
ALTER TABLE klijenti ADD COLUMN jmbg TEXT;
|
|
ALTER TABLE klijenti ADD COLUMN tip TEXT NOT NULL DEFAULT 'fizicko'
|
|
CHECK (tip IN ('fizicko', 'pravno'));
|
|
|
|
-- 6. Magacinska revizija — trag svake promene stanja artikla
|
|
CREATE TABLE IF NOT EXISTS magacinske_promene (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
artikal_id INTEGER NOT NULL REFERENCES artikli(id) ON DELETE RESTRICT,
|
|
tip_promene TEXT NOT NULL CHECK (tip_promene IN (
|
|
'ulaz_nabavka', 'izlaz_prodaja', 'izlaz_servis', 'povracaj', 'korekcija'
|
|
)),
|
|
referentni_id INTEGER NOT NULL,
|
|
promena_kolicine INTEGER NOT NULL,
|
|
stanje_pre INTEGER NOT NULL,
|
|
stanje_posle INTEGER NOT NULL,
|
|
korisnik_id INTEGER REFERENCES korisnici(id) ON DELETE SET NULL,
|
|
napomena TEXT,
|
|
datum DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- 7. Servisni delovi — artikli ugrađeni u servisni nalog
|
|
CREATE TABLE IF NOT EXISTS servisni_delovi (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
nalog_id INTEGER NOT NULL REFERENCES servisni_nalozi(id) ON DELETE CASCADE,
|
|
artikal_id INTEGER NOT NULL REFERENCES artikli(id) ON DELETE RESTRICT,
|
|
kolicina INTEGER NOT NULL DEFAULT 1 CHECK (kolicina > 0),
|
|
cena_komada REAL NOT NULL,
|
|
datum DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|