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