Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -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 Opening’den */
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user