83 lines
1.8 KiB
Go
83 lines
1.8 KiB
Go
package model
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
)
|
|
|
|
// Statusi servisnog naloga
|
|
const (
|
|
StatusPrimljeno = "Primljeno"
|
|
StatusDijagnostika = "U dijagnostici"
|
|
StatusCekaDelove = "Čeka delove"
|
|
StatusUPopravci = "U popravci"
|
|
StatusZavrseno = "Završeno"
|
|
StatusPreuzeto = "Preuzeto"
|
|
)
|
|
|
|
// SviStatusi je uređena lista statusa za prikaz u dropdownu
|
|
var SviStatusi = []string{
|
|
StatusPrimljeno,
|
|
StatusDijagnostika,
|
|
StatusCekaDelove,
|
|
StatusUPopravci,
|
|
StatusZavrseno,
|
|
StatusPreuzeto,
|
|
}
|
|
|
|
// ServisniNalog predstavlja jedan servisni nalog
|
|
type ServisniNalog struct {
|
|
ID int64
|
|
KlijentID *int64
|
|
BrojNaloga string
|
|
Uredjaj string
|
|
SerijskiBroj string
|
|
OpisKvara string
|
|
Status string
|
|
CenaOd *float64
|
|
CenaDo *float64
|
|
CenaKonacna *float64
|
|
Avans *float64
|
|
Napomena string
|
|
DatumPrijema time.Time
|
|
DatumZavrsetka *time.Time
|
|
}
|
|
|
|
// ServisniNalogSaKlijentom proširuje ServisniNalog sa nazivom klijenta za prikaz u listi
|
|
type ServisniNalogSaKlijentom struct {
|
|
ServisniNalog
|
|
KlijentNaziv string
|
|
}
|
|
|
|
// CenaOdStr vraća formatiranu procenu od, ili prazan string ako nije uneta
|
|
func (n ServisniNalog) CenaOdStr() string {
|
|
if n.CenaOd == nil {
|
|
return ""
|
|
}
|
|
return fmt.Sprintf("%.2f", *n.CenaOd)
|
|
}
|
|
|
|
// CenaDoStr vraća formatiranu procenu do, ili prazan string ako nije uneta
|
|
func (n ServisniNalog) CenaDoStr() string {
|
|
if n.CenaDo == nil {
|
|
return ""
|
|
}
|
|
return fmt.Sprintf("%.2f", *n.CenaDo)
|
|
}
|
|
|
|
// CenaKonacnaStr vraća formatiranu konačnu cenu, ili prazan string ako nije uneta
|
|
func (n ServisniNalog) CenaKonacnaStr() string {
|
|
if n.CenaKonacna == nil {
|
|
return ""
|
|
}
|
|
return fmt.Sprintf("%.2f", *n.CenaKonacna)
|
|
}
|
|
|
|
// AvansStr vraća formatirani avans, ili prazan string ako nije unet
|
|
func (n ServisniNalog) AvansStr() string {
|
|
if n.Avans == nil {
|
|
return ""
|
|
}
|
|
return fmt.Sprintf("%.2f", *n.Avans)
|
|
}
|