Merge remote-tracking branch 'origin/master'

This commit is contained in:
2026-02-16 11:59:14 +03:00
parent 96b973b71f
commit ec6d547641
2 changed files with 40 additions and 43 deletions

View File

@@ -1,42 +1,49 @@
package queries
import (
"bssapp-backend/db"
"bssapp-backend/internal/authz"
"bssapp-backend/models"
"context"
"fmt"
"log"
"strings"
"bssapp-backend/db"
"bssapp-backend/internal/authz"
"bssapp-backend/models"
)
func GetAccounts(ctx context.Context) ([]models.Account, error) {
piyasaFilter := authz.BuildMSSQLPiyasaFilter(
ctx,
"f.CustomerAtt01", // ✅ alias ile uyumlu
)
piyasaFilter := authz.BuildMSSQLPiyasaFilter(ctx, "f2.CustomerAtt01")
if strings.TrimSpace(piyasaFilter) == "" {
piyasaFilter = "1=1"
}
query := fmt.Sprintf(`
SELECT
c.CurrAccCode AS AccountCode,
ISNULL(d.CurrAccDescription, '') AS AccountName
FROM cdCurrAcc c
LEFT JOIN cdCurrAccDesc d
ON c.CurrAccCode = d.CurrAccCode
LEFT JOIN dbo.CustomerAttributesFilter f
ON c.CurrAccCode = f.CurrAccCode
WHERE
c.CompanyCode = 1
AND c.IsBlocked = 0
AND %s
ORDER BY d.CurrAccDescription
SELECT
x.AccountCode,
MAX(x.AccountName) AS AccountName
FROM (
SELECT
LEFT(b.CurrAccCode, 8) AS AccountCode,
COALESCE(d.CurrAccDescription, '') AS AccountName
FROM trCurrAccBook b
LEFT JOIN cdCurrAccDesc d
ON d.CurrAccCode = b.CurrAccCode
JOIN CustomerAttributesFilter f2
ON f2.CurrAccCode = b.CurrAccCode
WHERE %s
) x
GROUP BY x.AccountCode
ORDER BY x.AccountCode
`, piyasaFilter)
log.Println("🔎 ACCOUNTS FILTER:", piyasaFilter)
log.Println("🔎 ACCOUNT PIYASA FILTER =", piyasaFilter)
log.Println("🔎 ACCOUNT QUERY =", query)
rows, err := db.MssqlDB.Query(query)
if err != nil {
return nil, fmt.Errorf("MSSQL error: %w", err)
return nil, fmt.Errorf("MSSQL query error: %w", err)
}
defer rows.Close()
@@ -55,7 +62,7 @@ ORDER BY d.CurrAccDescription
if len(acc.AccountCode) >= 4 {
acc.DisplayCode =
acc.AccountCode[:3] + " " + acc.AccountCode[3:]
strings.TrimSpace(acc.AccountCode[:3] + " " + acc.AccountCode[3:])
} else {
acc.DisplayCode = acc.AccountCode
}

View File

@@ -9,31 +9,21 @@ import (
"github.com/jung-kurt/gofpdf"
)
func resolvePdfAssetPath(file string) (string, error) {
func resolvePdfAssetPath(name string) (string, error) {
envMap := map[string]string{
"DejaVuSans.ttf": "PDF_FONT_PATH",
"DejaVuSans-Bold.ttf": "PDF_FONT_BOLD_PATH",
"FreeSans.ttf": "PDF_FONT_ALT_PATH",
"FreeSansBold.ttf": "PDF_FONT_ALT_BOLD_PATH",
base := strings.TrimSpace(os.Getenv("PDF_FONT_DIR"))
if base == "" {
base = "/opt/bssapp/svc/fonts"
}
envKey, ok := envMap[file]
if !ok {
return "", fmt.Errorf("unknown font: %s", file)
p := filepath.Join(base, name)
if _, err := os.Stat(p); err != nil {
return "", fmt.Errorf("font not found: %s", p)
}
path := os.Getenv(envKey)
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
return p, nil
}
func resolvePdfImagePath(fileName string) (string, error) {