DROP PROCEDURE IF EXISTS uspGetIskolalatogatasiIgazolas GO CREATE PROCEDURE uspGetIskolalatogatasiIgazolas @osztalyId int ,@tanevId int ,@pDatum date ,@pIsSzakkepzoIntezmeny bit ,@pNappaliRendszeruIskolaiOktatasId int ,@pFelnottoktatasNappaliRendszeruId int ,@pFelnottkepzesesJogviszonyId int = NULL ,@pTanuloiJogviszonyId int AS BEGIN SET NOCOUNT ON; -- fejléc SELECT IntezmenyAdatok.C_NEV AS IntezmenyNeve ,IntezmenyAdatok.C_IGAZGATONEVE AS IGAZGATONEVE ,IntezmenyAdatok.C_VAROS AS IntezmenyVaros ,IntezmenyAdatok.C_OMKOD AS OmAzonosito ,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS IntezmenyCime ,C_OSZTALYFONOKID AS PartnerID ,KepzesTipus.C_NAME AS KepzesForma ,Tanev.C_NEV AS TANEV ,ocs.C_NEV AS Osztaly ,ocs.ID AS OsztalyId ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId ,ocs.C_KEPZESIFORMA AS KepzesiForma ,Osztaly.C_OSZTALYFONOKID AS OsztalyFonokId ,Osztaly.C_TANTERVID AS TantervId ,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves ,ocs.C_ISTECHNIKAI AS OJTechnikaiOsztaly ,Osztaly.C_NEMZETISEGI AS OJNemzetisegi ,Osztaly.C_KETTANNYELVU AS OJKettannyelvu ,Osztaly.C_NYELVIELOKESZITO AS OJNyelviElokeszito ,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI AS OJIsGyogypedagogiaiLogopediai ,Osztaly.C_SPORT AS OJSportOsztaly ,Osztaly.C_AJPROGRAM AS OJAranyJanosProgram ,Osztaly.C_SZAKMACSOPORT AS SzakmaCsoport ,Osztaly.C_AGAZAT AS Agazat ,Osztaly.C_SZAKKEPESITES AS Szakkepesites ,Osztaly.C_RESZSZAKKEPESITES AS Reszszakkepesites ,Osztaly.C_AGAZATUJSZKTTIPUSID AS UjSzktAgazat ,Osztaly.C_SZAKMATIPUSID AS UjSzktSzakma ,Osztaly.C_SZAKMAIRANYTIPUSID AS UjSzktSzakmairany ,Osztaly.C_TANULMANYITERULETNKTTIPUSID AS NktTanulmanyiTerulet ,Osztaly.C_SZAKKEPESITESNKTTIPUSID AS NktSzakkepesites ,Osztaly.C_SZAKIRANYNKTTIPUSID AS NktSzakirany FROM T_INTEZMENYADATOK_OSSZES IntezmenyAdatok INNER JOIN T_TANEV_OSSZES Tanev ON Tanev.ID = IntezmenyAdatok.C_TANEVID AND Tanev.TOROLT = 'F' INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = @osztalyId AND ocs.C_TANEVID = IntezmenyAdatok.C_TANEVID AND ocs.TOROLT = 'F' INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.C_ALTANEVID = IntezmenyAdatok.C_TANEVID AND Osztaly.ID = ocs.ID AND Osztaly.TOROLT = 'F' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES KepzesTipus ON KepzesTipus.ID = ocs.C_KEPZESIFORMA AND KepzesTipus.C_TANEVID = IntezmenyAdatok.C_TANEVID AND KepzesTipus.TOROLT = 'F' WHERE IntezmenyAdatok.TOROLT = 'F' AND IntezmenyAdatok.C_TANEVID = @tanevId -- tanulók SELECT Felhasznalo.C_NYOMTATASINEV AS TanuloNev ,Felhasznalo.C_OKTATASIAZONOSITO AS OktatasiAzonosito ,dbo.fnGetDokumentumDatumFormatum(Felhasznalo.C_SZULETESIDATUM) AS SzuletesiIdo ,Felhasznalo.C_SZULETESIHELY AS SzuletesiHely ,Felhasznalo.C_ANYJANEVE AS AnyjaNeve ,dbo.fnGetDokumentumDatumFormatum(TanugyiAdatok.C_NYILVANTARTASKEZDETE) AS JogviszonyKezdete ,dbo.fnGetDokumentumDatumFormatum(TanugyiAdatok.C_JOGVISZONYVARHATOBEFEJEZESE) AS JogviszonyVarhatoBefejezese ,dbo.fnGetDokumentumDatumFormatum(TanuloCsoport.C_KILEPESDATUM) AS KilepesDatum ,IIF(TanuloCsoport.C_KILEPESDATUM IS NOT NULL AND TanuloCsoport.C_KILEPESDATUM <= @pDatum, 'T', 'F') AS IsKilepett ,Felhasznalo.ID AS TanuloId ,ocs.ID AS OsztalyId ,ocs.C_NEV AS Osztaly ,IIF(@pIsSzakkepzoIntezmeny = 1, KepzesTipusTanuloTanugyiAdatok.C_NAME, KepzesTipusOsztaly.C_NAME) AS KepzesForma FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') s INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.Id = s.TanuloId INNER JOIN T_TANEV_OSSZES t on t.ID = Felhasznalo.C_TANEVID AND t.TOROLT = 'F' INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.c_tanuloid = s.TanuloId AND TanuloCsoport.ID = s.TanuloCsoportId AND TanuloCsoport.TOROLT = 'F' AND TanuloCsoport.C_TANEVID = @tanevId AND TanuloCsoport.C_OSZTALYCSOPORTID = @osztalyId AND TanuloCsoport.C_BELEPESDATUM <= @pDatum AND (@pFelnottkepzesesJogviszonyId IS NULL OR (TanuloCsoport.C_JOGVISZONYTIPUSID IS NULL OR TanuloCsoport.C_JOGVISZONYTIPUSID <> @pFelnottkepzesesJogviszonyId)) INNER JOIN T_TANULOTANUGYIADATOK_OSSZES TanugyiAdatok ON TanugyiAdatok.C_TANULOCSOPORTID = TanuloCsoport.Id AND TanugyiAdatok.TOROLT = 'F' AND TanugyiAdatok.C_TANEVID = @tanevId INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID AND Osztaly.TOROLT = 'F' AND Osztaly.C_ALTANEVID = TanuloCsoport.C_TANEVID INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = TanuloCsoport.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F' AND ocs.C_TANEVID = TanuloCsoport.C_TANEVID LEFT JOIN T_DICTIONARYITEMBASE_OSSZES KepzesTipusOsztaly ON KepzesTipusOsztaly.ID = ocs.C_KEPZESIFORMA AND KepzesTipusOsztaly.C_TANEVID = ocs.C_TANEVID AND KepzesTipusOsztaly.TOROLT = 'F' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES KepzesTipusTanuloTanugyiAdatok ON KepzesTipusTanuloTanugyiAdatok.ID = TanugyiAdatok.C_TANTERVIJELLEGID AND KepzesTipusTanuloTanugyiAdatok.C_TANEVID = TanugyiAdatok.C_TANEVID AND KepzesTipusTanuloTanugyiAdatok.TOROLT = 'F' WHERE @pIsSzakkepzoIntezmeny = 0 OR ( @pIsSzakkepzoIntezmeny = 1 AND ( TanuloCsoport.C_JOGVISZONYTIPUSID = @pTanuloiJogviszonyId OR ( TanuloCsoport.C_JOGVISZONYTIPUSID IS NULL AND KepzesTipusTanuloTanugyiAdatok.ID IN (@pNappaliRendszeruIskolaiOktatasId, @pFelnottoktatasNappaliRendszeruId) ) ) OR t.C_SORSZAM <= 40 ) ORDER BY Felhasznalo.C_NYOMTATASINEV END GO