Files
bssapp/svc/queries/account_master.go
2026-02-27 11:48:12 +03:00

80 lines
1.2 KiB
Go

package queries
import (
"bssapp-backend/db"
"context"
)
type CariMasterRow struct {
CariKodu string
CariDetay string
Piyasa string
Temsilci string
Ozellik03 string
Ozellik05 string
Ozellik06 string
Ozellik07 string
Ozellik08 string
}
func getCariMasterMap(
ctx context.Context,
) (map[string]CariMasterRow, error) {
const q = `
WITH CTE AS (
SELECT
*,
rn = ROW_NUMBER() OVER (
PARTITION BY LEFT(CariKodu,8)
ORDER BY CariKodu
)
FROM dbo.MK_CARI_ILETISIM WITH(NOLOCK)
)
SELECT
CariKodu,
CariDetay,
PIYASA,
CARI_TEMSILCI,
Ozellik03,
Ozellik05,
Ozellik06,
Ozellik07,
Ozellik08
FROM CTE
WHERE rn=1
`
rows, err := db.MssqlDB.QueryContext(ctx, q)
if err != nil {
return nil, err
}
defer rows.Close()
out := make(map[string]CariMasterRow, 4096)
for rows.Next() {
var r CariMasterRow
err := rows.Scan(
&r.CariKodu,
&r.CariDetay,
&r.Piyasa,
&r.Temsilci,
&r.Ozellik03,
&r.Ozellik05,
&r.Ozellik06,
&r.Ozellik07,
&r.Ozellik08,
)
if err != nil {
return nil, err
}
out[r.CariKodu] = r
}
return out, nil
}