42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
package models
|
|
|
|
import (
|
|
"database/sql"
|
|
"encoding/json"
|
|
)
|
|
|
|
type StatementHeader struct {
|
|
CariKod string `json:"cari_kod"`
|
|
CariIsim string `json:"cari_isim"`
|
|
BelgeTarihi string `json:"belge_tarihi"`
|
|
VadeTarihi string `json:"vade_tarihi"`
|
|
BelgeNo string `json:"belge_no"`
|
|
IslemTipi string `json:"islem_tipi"`
|
|
Aciklama string `json:"aciklama"`
|
|
ParaBirimi string `json:"para_birimi"`
|
|
Borc float64 `json:"borc"`
|
|
Alacak float64 `json:"alacak"`
|
|
Bakiye float64 `json:"bakiye"`
|
|
Parislemler sql.NullString `json:"parislemler"`
|
|
|
|
// 🔹 PDF için detaylar
|
|
Details []StatementDetail `json:"details,omitempty"`
|
|
}
|
|
|
|
// JSON dönüşümünde NULL değerleri "" yap
|
|
func (s StatementHeader) MarshalJSON() ([]byte, error) {
|
|
type Alias StatementHeader
|
|
return json.Marshal(&struct {
|
|
Parislemler string `json:"parislemler"`
|
|
*Alias
|
|
}{
|
|
Parislemler: func() string {
|
|
if s.Parislemler.Valid {
|
|
return s.Parislemler.String
|
|
}
|
|
return ""
|
|
}(),
|
|
Alias: (*Alias)(&s),
|
|
})
|
|
}
|