Fiskalizacija: inicijalna implementacija (8 koraka)

1. migracija 081 — tabela fiskalni_racuni + podešavanja pfr_api_key/pfr_kasir
2. model FiskalniRacun (internal/model/fiskal.go)
3. FiskalRepository interfejs (repository.go)
4. SQLite repozitorijum (sqlite/fiskal.go — Kreiraj, DohvatiPoProdaji)
5. Paket internal/fiskal/ — HTTP klijent + mapiranje prodaja→invoiceRequest
6. Handler proširenje — FiskalRepo + fiskalKlijent() dinamički helper
7. Inicijalizacija kroz Novi() / reinicializuj — klijent se čita dinamički iz podešavanja
8. Prodaja integracija — fiskalizacija u SacuvajProdaju + QR prikaz u prodaja_detalji.html
This commit is contained in:
2026-06-25 22:51:59 +02:00
parent 563a7a7fe2
commit edcea0ddcf
9 changed files with 518 additions and 4 deletions
+7
View File
@@ -367,3 +367,10 @@ type PodsetnikRepository interface {
Obrisi(ctx context.Context, id int64) error
BrojAktivnih(ctx context.Context, filter PodsetnikFilter) (int, error)
}
// FiskalRepository definiše operacije nad fiskalnim računima (Teron L-PFR).
// Svaki prodajni nalog ima najviše jedan fiskalni račun (UNIQUE prodaja_id).
type FiskalRepository interface {
Kreiraj(ctx context.Context, fr *model.FiskalniRacun) (int64, error)
DohvatiPoProdaji(ctx context.Context, prodajaID int64) (*model.FiskalniRacun, error)
}