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") {
params.AccountCode = params.AccountCode[:3] + " " + params.AccountCode[3:]
}
if strings.TrimSpace(params.LangCode) == "" {
params.LangCode = "TR"
}
// Parislemler []string → '1','2','3'
parislemFilter := "''"
@@ -34,7 +37,15 @@ func GetStatements(params models.StatementParams) ([]models.StatementHeader, err
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
b.CurrAccCode AS Cari_Kod,
b.DocCurrencyCode AS Para_Birimi,
@@ -60,6 +71,13 @@ func GetStatements(params models.StatementParams) ([]models.StatementHeader, err
b.CurrAccCode,
b.DocCurrencyCode
),
OpeningByCurrency AS (
SELECT
Para_Birimi,
SUM(Devir_Bakiyesi) AS Devir_Bakiyesi
FROM Opening
GROUP BY Para_Birimi
),
Movements AS (
SELECT
@@ -88,7 +106,7 @@ Movements AS (
FROM trCurrAccBook b
LEFT JOIN cdCurrAccDesc d
LEFT JOIN CurrDesc d
ON b.CurrAccCode = d.CurrAccCode
LEFT JOIN trCurrAccBookCurrency c
@@ -138,8 +156,16 @@ UNION ALL
/* ✅ Devir satırı sadece Openingden */
SELECT
o.Cari_Kod,
d.CurrAccDescription,
@Carikod AS Cari_Kod,
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),
@@ -148,26 +174,23 @@ SELECT
'Devir',
'Devir Bakiyesi',
o.Para_Birimi,
obc.Para_Birimi,
CASE
WHEN o.Devir_Bakiyesi >= 0 THEN o.Devir_Bakiyesi
WHEN obc.Devir_Bakiyesi >= 0 THEN obc.Devir_Bakiyesi
ELSE 0
END,
CASE
WHEN o.Devir_Bakiyesi < 0 THEN ABS(o.Devir_Bakiyesi)
WHEN obc.Devir_Bakiyesi < 0 THEN ABS(obc.Devir_Bakiyesi)
ELSE 0
END,
o.Devir_Bakiyesi,
obc.Devir_Bakiyesi,
CAST(NULL AS varchar(32)) AS Parislemler
FROM Opening o
LEFT JOIN cdCurrAccDesc d
ON d.CurrAccCode = o.Cari_Kod
FROM OpeningByCurrency obc
ORDER BY