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 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
} }

View File

@@ -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) {