115 lines
2.2 KiB
Go
115 lines
2.2 KiB
Go
package queries
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"bssapp-backend/db"
|
|
"bssapp-backend/internal/authz"
|
|
"bssapp-backend/models"
|
|
)
|
|
|
|
func GetCustomerList(ctx context.Context) ([]models.CustomerList, error) {
|
|
|
|
piyasaFilter := authz.BuildMSSQLPiyasaFilter(
|
|
ctx,
|
|
"f.CustomerAtt01",
|
|
)
|
|
|
|
query := fmt.Sprintf(`
|
|
SELECT
|
|
c.CurrAccTypeCode,
|
|
c.CurrAccCode,
|
|
ISNULL(d.CurrAccDescription, ''),
|
|
|
|
dbo.HG_Temizlik(
|
|
ISNULL((
|
|
SELECT AttributeDescription
|
|
FROM cdCurrAccAttributeDesc WITH(NOLOCK)
|
|
WHERE CurrAccTypeCode = 3
|
|
AND AttributeTypeCode = 8
|
|
AND AttributeCode = f.CustomerAtt08
|
|
AND LangCode = 'TR'
|
|
), SPACE(0))
|
|
),
|
|
|
|
dbo.HG_Temizlik(
|
|
ISNULL((
|
|
SELECT AttributeDescription
|
|
FROM cdCurrAccAttributeDesc WITH(NOLOCK)
|
|
WHERE CurrAccTypeCode = 3
|
|
AND AttributeTypeCode = 1
|
|
AND AttributeCode = f.CustomerAtt01
|
|
AND LangCode = 'TR'
|
|
), SPACE(0))
|
|
),
|
|
|
|
dbo.HG_Temizlik(
|
|
ISNULL((
|
|
SELECT AttributeDescription
|
|
FROM cdCurrAccAttributeDesc WITH(NOLOCK)
|
|
WHERE CurrAccTypeCode = 3
|
|
AND AttributeTypeCode = 2
|
|
AND AttributeCode = f.CustomerAtt02
|
|
AND LangCode = 'TR'
|
|
), SPACE(0))
|
|
),
|
|
|
|
dbo.HG_Temizlik(
|
|
ISNULL((
|
|
SELECT AttributeDescription
|
|
FROM cdCurrAccAttributeDesc WITH(NOLOCK)
|
|
WHERE CurrAccTypeCode = 3
|
|
AND AttributeTypeCode = 5
|
|
AND AttributeCode = f.CustomerAtt05
|
|
AND LangCode = 'TR'
|
|
), SPACE(0))
|
|
),
|
|
|
|
ISNULL(c.CurrencyCode, '')
|
|
|
|
FROM cdCurrAcc c
|
|
LEFT JOIN cdCurrAccDesc d
|
|
ON c.CurrAccCode = d.CurrAccCode
|
|
LEFT JOIN CustomerAttributesFilter f
|
|
ON c.CurrAccCode = f.CurrAccCode
|
|
|
|
WHERE
|
|
c.CompanyCode = 1
|
|
AND c.CurrAccTypeCode = 3
|
|
AND c.IsBlocked = 0
|
|
AND %s
|
|
|
|
ORDER BY d.CurrAccDescription
|
|
`, piyasaFilter)
|
|
|
|
rows, err := db.MssqlDB.Query(query)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
|
|
var list []models.CustomerList
|
|
|
|
for rows.Next() {
|
|
var c models.CustomerList
|
|
|
|
if err := rows.Scan(
|
|
&c.CurrAccTypeCode,
|
|
&c.Cari_Kod,
|
|
&c.Cari_Ad,
|
|
&c.Musteri_Ana_Grubu,
|
|
&c.Piyasa,
|
|
&c.Musteri_Temsilcisi,
|
|
&c.Ulke,
|
|
&c.Doviz_cinsi,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
list = append(list, c)
|
|
}
|
|
|
|
return list, rows.Err()
|
|
}
|