kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/uspGetDokumentumTanuloZaradekai.sql
2024-03-13 00:33:46 +01:00

51 lines
2.3 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS dbo.uspGetDokumentumTanuloZaradekai
GO
CREATE PROCEDURE dbo.uspGetDokumentumTanuloZaradekai
@tanevId int
,@osztalyId int
,@zaradekTipusId int = null --csak kisorolási 1, csak évközi 2, mindkettõ null
,@idegenNyelvId int
,@dokumentumTipusId int --osztalynapló 1, törzslap 2, értesítõ 3
,@nyomtatvanyNyelvEnum int = 0
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@sql nvarchar (max)
,@zaradekTipusSql nvarchar (max) = IIF(@zaradekTipusId = 1, ' AND zaradek.C_ISKIVAGYATSOROLASIZARADEK = ''T''', IIF(@zaradekTipusId = 2, ' AND zaradek.C_ISKIVAGYATSOROLASIZARADEK = ''F''', ''))
,@dokumentumTipusSql nvarchar (max) = IIF(@dokumentumTipusId = 1, ' AND C_ISOSZTALYNAPLOBANMEGJELENIK = ''T''', IIF(@dokumentumTipusId = 2, ' AND C_ISTORZSLAPONMEGJELENIK = ''T''', IIF(@dokumentumTipusId = 3, ' AND C_ISBIZONYITVANYBANMEGJELENIK = ''T''', '')))
SET @sql = N'
SELECT DISTINCT
tcs.C_TANULOID AS TanuloId
,tcs.ID AS TanuloCsoportId
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(zaradek.C_KELTEZESDATUMA), FORMAT(zaradek.C_KELTEZESDATUMA, ''dd. MM. yyyy'')) AS KeltezesDatuma
,zaradek.C_KELTEZESHELYE AS KeltezesHelye
,zaradek.C_SZOVEG AS Bejegyzes
,' + IIF(@idegenNyelvId > 0, 'zaradekNyelv.C_SZOVEG AS BejegyzesIdegenNyelven', ''''' AS BejegyzesIdegenNyelven')
SET @sql += N'
FROM T_TANULOCSOPORT_OSSZES tcs
LEFT JOIN T_ZARADEK_OSSZES zaradek ON tcs.ID = zaradek.C_TANULOCSOPORTID AND zaradek.TOROLT = ''F'' AND zaradek.C_TANEVID = @tanevId
' + IIF(@idegenNyelvId > 0, 'LEFT JOIN T_ZARADEKNYELV_OSSZES zaradekNyelv ON zaradekNyelv.C_ZARADEKID = zaradek.ID AND zaradekNyelv.C_NYELVID = @idegenNyelvId AND zaradekNyelv.TOROLT = ''F'' AND zaradekNyelv.C_TANEVID = @tanevId', '')
SET @sql += N'
WHERE
tcs.C_OSZTALYCSOPORTID = @osztalyId
AND tcs.C_TANEVID = @tanevId
AND tcs.TOROLT = ''F'''
+ @zaradekTipusSql
+ @dokumentumTipusSql
EXEC sp_executesql @sql, N'
@tanevId int
,@osztalyId int
,@idegenNyelvId int
,@nyomtatvanyNyelvEnum int'
,@tanevId = @tanevId
,@osztalyId = @osztalyId
,@idegenNyelvId = @idegenNyelvId
,@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum
END
GO