Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -1,42 +1,49 @@
|
|||||||
package queries
|
package queries
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bssapp-backend/db"
|
|
||||||
"bssapp-backend/internal/authz"
|
|
||||||
"bssapp-backend/models"
|
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"bssapp-backend/db"
|
||||||
|
"bssapp-backend/internal/authz"
|
||||||
|
"bssapp-backend/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
func GetAccounts(ctx context.Context) ([]models.Account, error) {
|
func GetAccounts(ctx context.Context) ([]models.Account, error) {
|
||||||
|
|
||||||
piyasaFilter := authz.BuildMSSQLPiyasaFilter(
|
piyasaFilter := authz.BuildMSSQLPiyasaFilter(ctx, "f2.CustomerAtt01")
|
||||||
ctx,
|
|
||||||
"f.CustomerAtt01", // ✅ alias ile uyumlu
|
if strings.TrimSpace(piyasaFilter) == "" {
|
||||||
)
|
piyasaFilter = "1=1"
|
||||||
|
}
|
||||||
|
|
||||||
query := fmt.Sprintf(`
|
query := fmt.Sprintf(`
|
||||||
SELECT
|
SELECT
|
||||||
c.CurrAccCode AS AccountCode,
|
x.AccountCode,
|
||||||
ISNULL(d.CurrAccDescription, '') AS AccountName
|
MAX(x.AccountName) AS AccountName
|
||||||
FROM cdCurrAcc c
|
FROM (
|
||||||
LEFT JOIN cdCurrAccDesc d
|
SELECT
|
||||||
ON c.CurrAccCode = d.CurrAccCode
|
LEFT(b.CurrAccCode, 8) AS AccountCode,
|
||||||
LEFT JOIN dbo.CustomerAttributesFilter f
|
COALESCE(d.CurrAccDescription, '') AS AccountName
|
||||||
ON c.CurrAccCode = f.CurrAccCode
|
FROM trCurrAccBook b
|
||||||
WHERE
|
LEFT JOIN cdCurrAccDesc d
|
||||||
c.CompanyCode = 1
|
ON d.CurrAccCode = b.CurrAccCode
|
||||||
AND c.IsBlocked = 0
|
JOIN CustomerAttributesFilter f2
|
||||||
AND %s
|
ON f2.CurrAccCode = b.CurrAccCode
|
||||||
ORDER BY d.CurrAccDescription
|
WHERE %s
|
||||||
|
) x
|
||||||
|
GROUP BY x.AccountCode
|
||||||
|
ORDER BY x.AccountCode
|
||||||
`, piyasaFilter)
|
`, piyasaFilter)
|
||||||
|
|
||||||
log.Println("🔎 ACCOUNTS FILTER:", piyasaFilter)
|
log.Println("🔎 ACCOUNT PIYASA FILTER =", piyasaFilter)
|
||||||
|
log.Println("🔎 ACCOUNT QUERY =", query)
|
||||||
|
|
||||||
rows, err := db.MssqlDB.Query(query)
|
rows, err := db.MssqlDB.Query(query)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("MSSQL error: %w", err)
|
return nil, fmt.Errorf("MSSQL query error: %w", err)
|
||||||
}
|
}
|
||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
|
|
||||||
@@ -55,7 +62,7 @@ ORDER BY d.CurrAccDescription
|
|||||||
|
|
||||||
if len(acc.AccountCode) >= 4 {
|
if len(acc.AccountCode) >= 4 {
|
||||||
acc.DisplayCode =
|
acc.DisplayCode =
|
||||||
acc.AccountCode[:3] + " " + acc.AccountCode[3:]
|
strings.TrimSpace(acc.AccountCode[:3] + " " + acc.AccountCode[3:])
|
||||||
} else {
|
} else {
|
||||||
acc.DisplayCode = acc.AccountCode
|
acc.DisplayCode = acc.AccountCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,31 +9,21 @@ import (
|
|||||||
"github.com/jung-kurt/gofpdf"
|
"github.com/jung-kurt/gofpdf"
|
||||||
)
|
)
|
||||||
|
|
||||||
func resolvePdfAssetPath(file string) (string, error) {
|
func resolvePdfAssetPath(name string) (string, error) {
|
||||||
|
|
||||||
envMap := map[string]string{
|
base := strings.TrimSpace(os.Getenv("PDF_FONT_DIR"))
|
||||||
"DejaVuSans.ttf": "PDF_FONT_PATH",
|
|
||||||
"DejaVuSans-Bold.ttf": "PDF_FONT_BOLD_PATH",
|
if base == "" {
|
||||||
"FreeSans.ttf": "PDF_FONT_ALT_PATH",
|
base = "/opt/bssapp/svc/fonts"
|
||||||
"FreeSansBold.ttf": "PDF_FONT_ALT_BOLD_PATH",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
envKey, ok := envMap[file]
|
p := filepath.Join(base, name)
|
||||||
if !ok {
|
|
||||||
return "", fmt.Errorf("unknown font: %s", file)
|
if _, err := os.Stat(p); err != nil {
|
||||||
|
return "", fmt.Errorf("font not found: %s", p)
|
||||||
}
|
}
|
||||||
|
|
||||||
path := os.Getenv(envKey)
|
return p, nil
|
||||||
|
|
||||||
if path == "" {
|
|
||||||
return "", fmt.Errorf("env %s not set", envKey)
|
|
||||||
}
|
|
||||||
|
|
||||||
if _, err := os.Stat(path); err != nil {
|
|
||||||
return "", fmt.Errorf("font not found: %s", path)
|
|
||||||
}
|
|
||||||
|
|
||||||
return path, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func resolvePdfImagePath(fileName string) (string, error) {
|
func resolvePdfImagePath(fileName string) (string, error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user