Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -82,23 +82,30 @@ func ExportStatementAgingPDFHandler(_ *sql.DB) http.HandlerFunc {
|
||||
return
|
||||
}
|
||||
|
||||
params := models.StatementAgingParams{
|
||||
AccountCode: strings.TrimSpace(r.URL.Query().Get("accountcode")),
|
||||
EndDate: strings.TrimSpace(r.URL.Query().Get("enddate")),
|
||||
Parislemler: r.URL.Query()["parislemler"],
|
||||
}
|
||||
if params.AccountCode == "" || params.EndDate == "" {
|
||||
http.Error(w, "accountcode and enddate are required", http.StatusBadRequest)
|
||||
return
|
||||
selectedDate := time.Now().Format("2006-01-02")
|
||||
listParams := models.CustomerBalanceListParams{
|
||||
SelectedDate: selectedDate,
|
||||
CariSearch: strings.TrimSpace(r.URL.Query().Get("cari_search")),
|
||||
CariIlkGrup: strings.TrimSpace(r.URL.Query().Get("cari_ilk_grup")),
|
||||
Piyasa: strings.TrimSpace(r.URL.Query().Get("piyasa")),
|
||||
Temsilci: strings.TrimSpace(r.URL.Query().Get("temsilci")),
|
||||
RiskDurumu: strings.TrimSpace(r.URL.Query().Get("risk_durumu")),
|
||||
IslemTipi: strings.TrimSpace(r.URL.Query().Get("islem_tipi")),
|
||||
Ulke: strings.TrimSpace(r.URL.Query().Get("ulke")),
|
||||
Il: strings.TrimSpace(r.URL.Query().Get("il")),
|
||||
Ilce: strings.TrimSpace(r.URL.Query().Get("ilce")),
|
||||
}
|
||||
detailed := parseBoolQuery(r.URL.Query().Get("detailed"))
|
||||
excludeZero12 := parseBoolQuery(r.URL.Query().Get("exclude_zero_12"))
|
||||
excludeZero13 := parseBoolQuery(r.URL.Query().Get("exclude_zero_13"))
|
||||
|
||||
rows, err := queries.GetStatementAging(params)
|
||||
rows, err := queries.GetStatementAgingBalanceList(r.Context(), listParams)
|
||||
if err != nil {
|
||||
http.Error(w, "db error: "+err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
masters := buildAgingPDFData(rows)
|
||||
rows = filterCustomerBalanceRowsForPDF(rows, excludeZero12, excludeZero13)
|
||||
summaries, detailsByMaster := buildCustomerBalancePDFData(rows)
|
||||
|
||||
pdf := gofpdf.New("L", "mm", "A4", "")
|
||||
pdf.SetMargins(8, 8, 8)
|
||||
@@ -108,7 +115,14 @@ func ExportStatementAgingPDFHandler(_ *sql.DB) http.HandlerFunc {
|
||||
return
|
||||
}
|
||||
|
||||
drawStatementAgingPDF(pdf, params, masters)
|
||||
drawCustomerBalancePDF(
|
||||
pdf,
|
||||
selectedDate,
|
||||
listParams.CariSearch,
|
||||
detailed,
|
||||
summaries,
|
||||
detailsByMaster,
|
||||
)
|
||||
|
||||
if err := pdf.Error(); err != nil {
|
||||
http.Error(w, "pdf render error: "+err.Error(), http.StatusInternalServerError)
|
||||
@@ -122,7 +136,11 @@ func ExportStatementAgingPDFHandler(_ *sql.DB) http.HandlerFunc {
|
||||
}
|
||||
|
||||
w.Header().Set("Content-Type", "application/pdf")
|
||||
w.Header().Set("Content-Disposition", `inline; filename="account-aging-detailed.pdf"`)
|
||||
filename := "account-aging-summary.pdf"
|
||||
if detailed {
|
||||
filename = "account-aging-detailed.pdf"
|
||||
}
|
||||
w.Header().Set("Content-Disposition", fmt.Sprintf("inline; filename=%q", filename))
|
||||
_, _ = w.Write(buf.Bytes())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user