Merge remote-tracking branch 'origin/master'

This commit is contained in:
M_Kececi
2026-02-18 14:34:21 +03:00
parent 1f95099677
commit 727069910d

View File

@@ -14,6 +14,9 @@ func GetStatements(params models.StatementParams) ([]models.StatementHeader, err
if len(params.AccountCode) == 7 && strings.ContainsAny(params.AccountCode, "0123456789") { if len(params.AccountCode) == 7 && strings.ContainsAny(params.AccountCode, "0123456789") {
params.AccountCode = params.AccountCode[:3] + " " + params.AccountCode[3:] params.AccountCode = params.AccountCode[:3] + " " + params.AccountCode[3:]
} }
if strings.TrimSpace(params.LangCode) == "" {
params.LangCode = "TR"
}
// Parislemler []string → '1','2','3' // Parislemler []string → '1','2','3'
parislemFilter := "''" parislemFilter := "''"
@@ -34,7 +37,15 @@ func GetStatements(params models.StatementParams) ([]models.StatementHeader, err
query := fmt.Sprintf(` query := fmt.Sprintf(`
;WITH Opening AS ( ;WITH CurrDesc AS (
SELECT
CurrAccCode,
MAX(CurrAccDescription) AS CurrAccDescription
FROM cdCurrAccDesc
WHERE LangCode = @LangCode
GROUP BY CurrAccCode
),
Opening AS (
SELECT SELECT
b.CurrAccCode AS Cari_Kod, b.CurrAccCode AS Cari_Kod,
b.DocCurrencyCode AS Para_Birimi, b.DocCurrencyCode AS Para_Birimi,
@@ -60,6 +71,13 @@ func GetStatements(params models.StatementParams) ([]models.StatementHeader, err
b.CurrAccCode, b.CurrAccCode,
b.DocCurrencyCode b.DocCurrencyCode
), ),
OpeningByCurrency AS (
SELECT
Para_Birimi,
SUM(Devir_Bakiyesi) AS Devir_Bakiyesi
FROM Opening
GROUP BY Para_Birimi
),
Movements AS ( Movements AS (
SELECT SELECT
@@ -88,7 +106,7 @@ Movements AS (
FROM trCurrAccBook b FROM trCurrAccBook b
LEFT JOIN cdCurrAccDesc d LEFT JOIN CurrDesc d
ON b.CurrAccCode = d.CurrAccCode ON b.CurrAccCode = d.CurrAccCode
LEFT JOIN trCurrAccBookCurrency c LEFT JOIN trCurrAccBookCurrency c
@@ -138,8 +156,16 @@ UNION ALL
/* ✅ Devir satırı sadece Openingden */ /* ✅ Devir satırı sadece Openingden */
SELECT SELECT
o.Cari_Kod, @Carikod AS Cari_Kod,
d.CurrAccDescription, COALESCE(
(SELECT TOP 1 cd.CurrAccDescription
FROM CurrDesc cd
WHERE cd.CurrAccCode = @Carikod),
(SELECT TOP 1 cd.CurrAccDescription
FROM CurrDesc cd
WHERE cd.CurrAccCode LIKE '%%' + @Carikod + '%%'
ORDER BY cd.CurrAccCode)
) AS Cari_Isim,
CONVERT(varchar(10), @startdate, 23), CONVERT(varchar(10), @startdate, 23),
CONVERT(varchar(10), @startdate, 23), CONVERT(varchar(10), @startdate, 23),
@@ -148,26 +174,23 @@ SELECT
'Devir', 'Devir',
'Devir Bakiyesi', 'Devir Bakiyesi',
o.Para_Birimi, obc.Para_Birimi,
CASE CASE
WHEN o.Devir_Bakiyesi >= 0 THEN o.Devir_Bakiyesi WHEN obc.Devir_Bakiyesi >= 0 THEN obc.Devir_Bakiyesi
ELSE 0 ELSE 0
END, END,
CASE CASE
WHEN o.Devir_Bakiyesi < 0 THEN ABS(o.Devir_Bakiyesi) WHEN obc.Devir_Bakiyesi < 0 THEN ABS(obc.Devir_Bakiyesi)
ELSE 0 ELSE 0
END, END,
o.Devir_Bakiyesi, obc.Devir_Bakiyesi,
CAST(NULL AS varchar(32)) AS Parislemler CAST(NULL AS varchar(32)) AS Parislemler
FROM Opening o FROM OpeningByCurrency obc
LEFT JOIN cdCurrAccDesc d
ON d.CurrAccCode = o.Cari_Kod
ORDER BY ORDER BY