Prodaja/Servis: broj naloga u formatu GGMM (godina-mesec), mesečni brojač
This commit is contained in:
@@ -20,10 +20,13 @@ func NoviProdajaRepo(db *sql.DB) *ProdajaRepo {
|
||||
return &ProdajaRepo{db: db}
|
||||
}
|
||||
|
||||
// SledeciBroj generiše sledeći broj naloga u formatu PR-GGGG-NNNN
|
||||
// SledeciBroj generiše sledeći broj naloga u formatu PR-GGMM-NNNN
|
||||
// (GG dvocifrena godina, MM mesec); brojač NNNN se resetuje svakog meseca
|
||||
func (r *ProdajaRepo) SledeciBroj(ctx context.Context) (string, error) {
|
||||
godina := time.Now().Year()
|
||||
uzorak := fmt.Sprintf("PR-%d-%%", godina)
|
||||
sada := time.Now()
|
||||
// prefiks "PR-GGMM-" je dug 8 karaktera, pa brojač počinje od 9. karaktera
|
||||
prefiks := fmt.Sprintf("PR-%02d%02d-", sada.Year()%100, int(sada.Month()))
|
||||
uzorak := prefiks + "%"
|
||||
|
||||
var sledeci int
|
||||
err := r.db.QueryRowContext(ctx, `
|
||||
@@ -34,7 +37,7 @@ func (r *ProdajaRepo) SledeciBroj(ctx context.Context) (string, error) {
|
||||
return "", fmt.Errorf("ntech: ProdajaRepo.SledeciBroj: %w", err)
|
||||
}
|
||||
|
||||
return fmt.Sprintf("PR-%d-%04d", godina, sledeci), nil
|
||||
return fmt.Sprintf("%s%04d", prefiks, sledeci), nil
|
||||
}
|
||||
|
||||
// Lista vraća listu prodajnih naloga sa imenom klijenta, po zadatom filteru
|
||||
|
||||
@@ -30,12 +30,12 @@ func NoviServisRepo(db *sql.DB) *ServisRepo {
|
||||
return &ServisRepo{db: db}
|
||||
}
|
||||
|
||||
// SledeciBroj generiše sledeći broj naloga u formatu SN-MMGG-NNN
|
||||
// (MM mesec, GG dvocifrena godina); brojač NNN se resetuje svakog meseca
|
||||
// SledeciBroj generiše sledeći broj naloga u formatu SN-GGMM-NNN
|
||||
// (GG dvocifrena godina, MM mesec); brojač NNN se resetuje svakog meseca
|
||||
func (r *ServisRepo) SledeciBroj(ctx context.Context) (string, error) {
|
||||
sada := time.Now()
|
||||
// prefiks "SN-MMGG-" je dug 8 karaktera, pa brojač počinje od 9. karaktera
|
||||
prefiks := fmt.Sprintf("SN-%02d%02d-", int(sada.Month()), sada.Year()%100)
|
||||
// prefiks "SN-GGMM-" je dug 8 karaktera, pa brojač počinje od 9. karaktera
|
||||
prefiks := fmt.Sprintf("SN-%02d%02d-", sada.Year()%100, int(sada.Month()))
|
||||
uzorak := prefiks + "%"
|
||||
|
||||
// COALESCE(MAX, 0)+1 → prvi nalog u mesecu dobija 001
|
||||
|
||||
Reference in New Issue
Block a user