DROP PROCEDURE IF EXISTS uspGetGondviselokElerhetosegeiExport GO CREATE PROCEDURE uspGetGondviselokElerhetosegeiExport ( @pTanevId int ,@pFeladatKategoriaId int = NULL--7553 ,@pDatum datetime = NULL ,@pTanuloNeve nvarchar(255) = NULL ,@pNeme int = NULL ,@pSzuletesiIdoKezdet datetime = NULL ,@pSzuletesiIdoVeg datetime = NULL ,@pAnyjaNeve nvarchar(64) = NULL ,@pSzuletesiHely nvarchar(50) = NULL ,@pOktatasiAzonosito nvarchar(20) = NULL ,@pSNI char(1) = NULL ,@pBTM char(1) = NULL ,@pHatranyosHelyzetId int = NULL ,@pTorolt char(1) = 'F' ,@pOsztalybaSoroltTantervNelkul bit = NULL ,@pOsztalyCsoportId int = NULL ,@pVegzosEvfolyam char(1) = NULL ,@pFeladatellatasiHelyId int = NULL ,@pEvfolyamTipusaId int = NULL ,@pAktiv bit = NULL ,@pMuveszetiAgId int = NULL ,@pShowId bit = NULL ,@pTanterviJellegId int = NULL ) AS BEGIN SET NOCOUNT ON; DECLARE @sql nvarchar(max) = '' DECLARE @Magyarorszagmegnevezes NVARCHAR(20) = (SELECT dib_MO.C_NAME FROM T_DICTIONARYITEMBASE_OSSZES dib_MO WHERE dib_MO.ID = 765 AND dib_MO.C_TANEVID = @pTanevId AND dib_MO.TOROLT = 'F' ) SET @sql += ' SELECT fh.C_ELOTAG AS Elotag ,fh.C_VEZETEKNEV AS Vezeteknev ,fh.C_UTONEV As Utonev ,fh.C_OKTATASIAZONOSITO AS OktAzon ,x.OsztalyNev AS OsztalyOk ,g.C_NEV AS GondvNev ,dib_rfok.C_NAME AS RokFok ,fh.C_ANYJANEVE AS TanuloAnyjaNev ,fh.C_SZULETESIHELY AS TanuloSzulHely ,CONVERT(nvarchar(25), fh.C_SZULETESIDATUM, 102) AS TanuloSzulDatum ,tel.C_TELEFONSZAM AS Telefon ,e.C_EMAILCIM AS Email ,CONCAT(ISNULL(dib_cim.C_NAME,'''+@Magyarorszagmegnevezes+''') + '', '',cim.C_IRANYITOSZAM,'' ''+cim.C_VAROS+'','','' ''+cim.C_KOZTERULET,'' ''+cim.C_KOZTERULETJELLEGENEV,'' ''+cim.C_HAZSZAM,'' ''+cim.C_EMELET+''. emelet'','' ''+cim.C_AJTO+''. ajtó'') AS Cim ,ISNULL(dib_all.C_NAME,'''+@Magyarorszagmegnevezes+''') AS All_orsz ,c_all.C_IRANYITOSZAM AS All_irsz ,c_all.C_VAROS AS All_varos ,c_all.C_KOZTERULET AS All_ktnev ,c_all.C_KOZTERULETJELLEGENEV AS All_ktjell ,c_all.C_HAZSZAM AS All_hazszam ,c_all.C_EMELET AS All_emelet ,c_all.C_AJTO AS All_ajto ,ISNULL(dib_ide.C_NAME,'''+@Magyarorszagmegnevezes+''') AS Ide_orsz ,c_ide.C_IRANYITOSZAM AS Ide_irsz ,c_ide.C_VAROS AS Ide_varos ,c_ide.C_KOZTERULET AS Ide_ktnev ,c_ide.C_KOZTERULETJELLEGENEV AS Ide_ktjell ,c_ide.C_HAZSZAM AS Ide_hazszam ,c_ide.C_EMELET AS Ide_emelet ,c_ide.C_AJTO AS Ide_ajto ,ISNULL(dib_tart.C_NAME,'''+@Magyarorszagmegnevezes+''') AS Tart_orsz ,c_tart.C_IRANYITOSZAM AS Tart_irsz ,c_tart.C_VAROS AS Tart_varos ,c_tart.C_KOZTERULET AS Tart_ktnev ,c_tart.C_KOZTERULETJELLEGENEV AS Tart_ktjell ,c_tart.C_HAZSZAM AS Tart_hazszam ,c_tart.C_EMELET AS Tart_emelet ,c_tart.C_AJTO AS Tart_ajto ,ISNULL(dib_na.C_NAME,'''+@Magyarorszagmegnevezes+''') AS Na_orsz ,c_na.C_IRANYITOSZAM AS Na_irsz ,c_na.C_VAROS AS Na_varos ,c_na.C_KOZTERULET AS Na_ktnev ,c_na.C_KOZTERULETJELLEGENEV AS Na_ktjell ,c_na.C_HAZSZAM AS Na_hazszam ,c_na.C_EMELET AS Na_emelet ,c_na.C_AJTO AS Na_ajto ' + IIF(@pShowId = 1,N',fh.ID AS FelhasznaloId ',N'') SET @sql += N' FROM T_TANULO_OSSZES t INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = t.ID CROSS APPLY fnGetTanuloOsztalyString (fh.ID, @pDatum, @pFeladatKategoriaId, 1, default, NULL) x LEFT JOIN T_GONDVISELO_OSSZES g ON g.TOROLT = ''F'' AND fh.ID = g.C_TANULOID LEFT JOIN T_CIM_OSSZES c_all ON c_all.TOROLT = ''F'' AND c_all.C_GONDVISELOID = g.ID AND c_all.C_FELHASZNALOID = fh.ID AND c_all.C_CIMTIPUSA = 907 LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dib_all ON dib_all.ID = c_all.C_ORSZAG AND dib_all.C_TANEVID = c_all.C_TANEVID AND dib_all.TOROLT = ''F'' LEFT JOIN T_CIM_OSSZES c_tart ON c_tart.TOROLT = ''F'' AND c_tart.C_GONDVISELOID = g.ID AND c_tart.C_FELHASZNALOID = fh.ID AND c_tart.C_CIMTIPUSA = 909 LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dib_tart ON dib_tart.ID = c_tart.C_ORSZAG AND dib_tart.C_TANEVID = c_tart.C_TANEVID AND dib_tart.TOROLT = ''F'' LEFT JOIN T_CIM_OSSZES c_ide ON c_ide.TOROLT = ''F'' AND c_ide.C_GONDVISELOID = g.ID AND c_ide.C_FELHASZNALOID = fh.ID AND c_ide.C_CIMTIPUSA = 908 LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dib_ide ON dib_ide.ID = c_ide.C_ORSZAG AND dib_ide.C_TANEVID = c_ide.C_TANEVID AND dib_ide.TOROLT = ''F'' LEFT JOIN T_CIM_OSSZES c_na ON c_na.TOROLT = ''F'' AND c_na.C_GONDVISELOID = g.ID AND c_na.C_FELHASZNALOID = fh.ID AND c_na.C_CIMTIPUSA = 906 LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dib_na ON dib_na.ID = c_na.C_ORSZAG AND dib_na.C_TANEVID = c_na.C_TANEVID AND dib_na.TOROLT = ''F'' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dib_rfok ON dib_rfok.TOROLT = ''F'' AND g.C_ROKONSAGFOKA = dib_rfok.ID AND dib_rfok.C_TANEVID = @pTanevId LEFT JOIN T_TELEFON_OSSZES tel ON tel.TOROLT = ''F'' AND tel.C_GONDVISELOID = g.ID AND tel.TOROLT = ''F'' AND tel.C_FELHASZNALOID = fh.ID AND tel.C_ALAPERTELMEZETT = ''T'' LEFT JOIN T_EMAIL_OSSZES e ON e.TOROLT = ''F'' AND e.C_GONDVISELOID = g.ID AND e.TOROLT = ''F'' AND e.C_FELHASZNALOID = fh.ID AND e.C_ALAPERTELMEZETT = ''T'' LEFT JOIN T_CIM_OSSZES cim ON cim.C_FELHASZNALOID = fh.ID AND cim.C_GONDVISELOID = g.ID AND cim.TOROLT=''F'' AND cim.C_ALAPERTELMEZETT = ''T'' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dib_cim ON dib_cim.ID = cim.C_ORSZAG AND dib_cim.C_TANEVID = cim.C_TANEVID AND dib_cim.TOROLT = ''F''' SET @sql += N' WHERE t.C_ALTANEVID = @pTanevId AND t.TOROLT = @pTorolt AND fh.TOROLT = @pTorolt AND x.Osztalynev IS NOT NULL' + IIF(@pTanuloNeve IS NULL, N'', N' AND fh.C_NYOMTATASINEV LIKE CONCAT(''%'',@pTanuloNeve,''%'')') + IIF(@pNeme IS NULL, N'', N' AND fh.C_NEME = @pNeme') + IIF(@pSzuletesiIdoKezdet IS NULL, N'', N' AND fh.C_SZULETESIDATUM >= @pSzuletesiIdoKezdet') + IIF(@pSzuletesiIdoVeg IS NULL, N'', N' AND fh.C_SZULETESIDATUM <= @pSzuletesiIdoVeg') + IIF(@pAnyjaNeve IS NULL, N'', N' AND fh.C_ANYJANEVE LIKE CONCAT(''%'',@pAnyjaNeve,''%'')') + IIF(@pSzuletesiHely IS NULL, N'', N' AND fh.C_SZULETESIHELY LIKE CONCAT(''%'',@pSzuletesiHely,''%'')') + IIF(@pOktatasiAzonosito IS NULL, N'', N' AND fh.C_OKTATASIAZONOSITO LIKE CONCAT(''%'',@pOktatasiAzonosito,''%'')') + IIF(@pSNI IS NULL, N'', N' AND t.C_SAJATOSNEVELESU = @pSNI') + IIF(@pBTM IS NULL, N'', N' AND t.C_BTMPROBLEMAS = @pBTM') + IIF(@pHatranyosHelyzetId IS NULL, N'', N' AND t.C_HATRANYOSHELYZETU = @pHatranyosHelyzetId') + IIF(@pOsztalyCsoportId IS NULL AND @pVegzosEvfolyam IS NULL AND @pEvfolyamTipusaId IS NULL AND @pFeladatellatasiHelyId IS NULL AND @pMuveszetiAgId IS NULL AND @pAktiv IS NULL AND @pOsztalybaSoroltTantervNelkul IS NULL AND @pTanterviJellegId IS NULL, N'',N' AND EXISTS ( SELECT 1 FROM T_TANULOCSOPORT_OSSZES tcs INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.Id = tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT=''F'' INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT=''F'' WHERE tcs.TOROLT = ''F'' AND tcs.C_KILEPESDATUM IS NULL AND tcs.C_TANEVID = @pTanevId AND tcs.C_TANULOID = fh.ID' + IIF(@pOsztalyCsoportId IS NULL,N'',N' AND ocs.ID = @pOsztalyCsoportId') + IIF(@pVegzosEvfolyam IS NULL,N'',N' AND ocs.C_VEGZOSEVFOLYAM = @pVegzosEvfolyam') + IIF(@pEvfolyamTipusaId IS NULL,N'',N' AND ocs.C_EVFOLYAMTIPUSA = @pEvfolyamTipusaId') + IIF(@pFeladatellatasiHelyId IS NULL,N'',N' AND ocs.C_FELADATELLATASIHELYID = @pFeladatellatasiHelyId') + IIF(@pAktiv = 1,N' AND ocs.ID IS NOT NULL',N'') + IIF(@pMuveszetiAgId IS NULL,N'',N' AND ocs.C_MUVESZETIAGID = @pMuveszetiAgId') + IIF(@pTanterviJellegId IS NULL,N'',N' AND tta.C_TANTERVIJELLEGID = @pTanterviJellegId') + ') ') SET @sql += N' ORDER BY fh.C_VEZETEKNEV, fh.C_UTONEV' EXEC sp_executesql @sql, N' @pTanevId int ,@pFeladatKategoriaId int ,@pDatum datetime ,@pTanuloNeve nvarchar(255) ,@pNeme int ,@pSzuletesiIdoKezdet datetime ,@pSzuletesiIdoVeg datetime ,@pAnyjaNeve nvarchar(64) ,@pSzuletesiHely nvarchar(50) ,@pOktatasiAzonosito nvarchar(20) ,@pSNI char(1) ,@pBTM char(1) ,@pHatranyosHelyzetId int ,@pTorolt char(1) -- ocs ,@pOsztalybaSoroltTantervNelkul bit ,@pOsztalyCsoportId int ,@pVegzosEvfolyam char(1) ,@pFeladatellatasiHelyId int ,@pEvfolyamTipusaId int ,@pAktiv bit ,@pMuveszetiAgId int ,@pTanterviJellegId int ' ,@pTanevId = @pTanevId ,@pFeladatKategoriaId = @pFeladatKategoriaId ,@pDatum = @pDatum ,@pTanuloNeve = @pTanuloNeve ,@pNeme = @pNeme ,@pSzuletesiIdoKezdet = @pSzuletesiIdoKezdet ,@pSzuletesiIdoVeg = @pSzuletesiIdoVeg ,@pAnyjaNeve = @pAnyjaNeve ,@pSzuletesiHely = @pSzuletesiHely ,@pOktatasiAzonosito = @pOktatasiAzonosito ,@pSNI = @pSNI ,@pBTM = @pBTM ,@pHatranyosHelyzetId = @pHatranyosHelyzetId ,@pTorolt = @pTorolt ,@pOsztalybaSoroltTantervNelkul = @pOsztalybaSoroltTantervNelkul ,@pOsztalyCsoportId = @pOsztalyCsoportId ,@pVegzosEvfolyam = @pVegzosEvfolyam ,@pFeladatellatasiHelyId = @pFeladatellatasiHelyId ,@pEvfolyamTipusaId = @pEvfolyamTipusaId ,@pAktiv = @pAktiv ,@pMuveszetiAgId = @pMuveszetiAgId ,@pTanterviJellegId = @pTanterviJellegId END GO