DROP PROCEDURE IF EXISTS uspGetOsztalyTanulokGondviselok GO CREATE PROCEDURE uspGetOsztalyTanulokGondviselok @pFelhasznaloId INT ,@pIntezmenyId INT = null ,@pTanevId INT = null ,@pDatum DATE ,@pOsztalyId INT = null ,@pEllatottKoznevelesiFeladatId INT = null ,@pIsSzuperOsztalyfonok CHAR(1) ,@pIsEvfolyamfelelos CHAR(1) AS BEGIN SET NOCOUNT ON; SELECT gondviselo.ID Id ,tcs.C_TANULOID AS TanuloId ,tanulo.C_NYOMTATASINEV TanuloNeve ,ocs.ID OsztalyCsoportId ,ocs.C_NEV TanuloOsztalya ,gondviselo.C_NEV GondviseloNeve ,fb.C_BEJELENTKEZESINEV GondviseloBejelentkezesiNev ,rokfok.C_NAME RokonsagiFoka ,email.C_EMAILCIM Email ,email.C_ALAPERTELMEZETT IsAlapertelmezettEmail ,telefon.C_TELEFONSZAM TelefonSzam ,telefon.C_ALAPERTELMEZETT IsAlapertelmezettTelefonSzam ,gondviselo.C_ISTORVENYESKEPVISELO IsTorvenyesKepviselo ,IIF(gondviselo.C_ISCSOKKENTETTGONDVISELO = 'T', 'F', 'T') IsBovitettJogosultsag ,fb.C_UTOLSOBELEPES UtolsoBelepes ,fb.C_UTOLSOBELEPESMOBIL UtolsoBelepesMobil FROM T_OSZTALY_OSSZES osztaly INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = osztaly.ID AND ocs.TOROLT = 'F' INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = osztaly.ID AND tcs.TOROLT = 'F' INNER JOIN T_FELHASZNALO_OSSZES tanulo ON tanulo.ID = tcs.C_TANULOID AND tanulo.TOROLT = 'F' INNER JOIN T_GONDVISELO_OSSZES gondviselo ON gondviselo.C_TANULOID = tanulo.ID AND gondviselo.TOROLT = 'F' INNER JOIN T_DICTIONARYITEMBASE_OSSZES rokfok ON rokfok.ID = gondviselo.C_ROKONSAGFOKA AND rokfok.C_TANEVID = gondviselo.C_TANEVID AND rokfok.TOROLT = 'F' LEFT JOIN T_FELHASZNALOBELEPES_OSSZES fb ON fb.C_GONDVISELOID = gondviselo.ID AND fb.TOROLT = 'F' OUTER APPLY (SELECT TOP 1 C_EMAILCIM, C_ALAPERTELMEZETT FROM T_EMAIL_OSSZES e WHERE e.C_GONDVISELOID = gondviselo.ID AND e.TOROLT = 'F' ORDER BY C_ALAPERTELMEZETT DESC, ID) email OUTER APPLY (SELECT TOP 1 C_TELEFONSZAM, C_ALAPERTELMEZETT FROM T_TELEFON_OSSZES t WHERE t.C_GONDVISELOID = gondviselo.ID AND t.TOROLT = 'F' ORDER BY C_ALAPERTELMEZETT DESC, ID) telefon WHERE (osztaly.C_OSZTALYFONOKID = @pFelhasznaloId OR @pIsSzuperOsztalyfonok = 'T' OR @pIsEvfolyamfelelos ='T') AND (@pOsztalyId IS NULL OR osztaly.ID = @pOsztalyId) AND (@pEllatottKoznevelesiFeladatId IS NULL OR ocs.C_FELADATKATEGORIAID = @pEllatottKoznevelesiFeladatId) AND tcs.C_BELEPESDATUM <= @pDatum AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @pDatum) AND osztaly.C_ALTANEVID = @pTanevId AND osztaly.C_ALINTEZMENYID = @pIntezmenyId AND osztaly.TOROLT= 'F' END GO