This commit is contained in:
2026-02-11 17:46:22 +03:00
commit eacfacb13b
266 changed files with 51337 additions and 0 deletions

View File

@@ -0,0 +1,91 @@
package routes
import (
"bssapp-backend/models"
"bssapp-backend/queries"
"database/sql"
"fmt"
"net/http"
"time"
"github.com/xuri/excelize/v2"
)
func OrderListExcelRoute(db *sql.DB) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
search := r.URL.Query().Get("search")
currAcc := r.URL.Query().Get("CurrAccCode")
orderDate := r.URL.Query().Get("OrderDate")
rows, err := queries.GetOrderListExcel(db, search, currAcc, orderDate)
if err != nil {
http.Error(w, "Veritabanı hatası", 500)
return
}
defer rows.Close()
f := excelize.NewFile()
sheet := "Orders"
f.SetSheetName("Sheet1", sheet)
headers := []string{
"Sipariş No", "Tarih", "Cari Kod", "Cari Adı",
"Temsilci", "Piyasa", "Onay Tarihi", "PB",
"Tutar", "Tutar (USD)", "Açıklama",
}
for i, h := range headers {
cell, _ := excelize.CoordinatesToCellName(i+1, 1)
f.SetCellValue(sheet, cell, h)
}
rowIdx := 2
for rows.Next() {
var o models.OrderList
_ = rows.Scan(
&o.OrderHeaderID,
&o.OrderNumber,
&o.OrderDate,
&o.CurrAccCode,
&o.CurrAccDescription,
&o.MusteriTemsilcisi,
&o.Piyasa,
&o.CreditableConfirmedDate,
&o.DocCurrencyCode,
&o.TotalAmount,
&o.TotalAmountUSD,
&o.IsCreditableConfirmed,
&o.Description,
&o.ExchangeRateUSD,
)
f.SetSheetRow(sheet, fmt.Sprintf("A%d", rowIdx), &[]interface{}{
o.OrderNumber,
o.OrderDate,
o.CurrAccCode,
o.CurrAccDescription,
o.MusteriTemsilcisi,
o.Piyasa,
o.CreditableConfirmedDate,
o.DocCurrencyCode,
o.TotalAmount,
o.TotalAmountUSD,
o.Description,
})
rowIdx++
}
filename := fmt.Sprintf(
"order_list_%s.xlsx",
time.Now().Format("2006-01-02_15-04"),
)
w.Header().Set("Content-Type",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
w.Header().Set("Content-Disposition",
"attachment; filename="+filename)
_ = f.Write(w)
})
}