﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

DROP PROCEDURE IF EXISTS [dbo].[uspGetAllSchemaBejelentettSzamonkeresNotification]
GO

CREATE PROCEDURE [dbo].[uspGetAllSchemaBejelentettSzamonkeresNotification]
AS
BEGIN
    DECLARE  @EgyszerreKikuldendoOrahozTartozoBejelentettSzamonkeresErtesitesekSzama INT = 10
    SELECT DISTINCT * FROM
    (SELECT
    DENSE_RANK() OVER (ORDER BY  szk.C_SZAMONKERESDATUMA, szk.ID) rn
        ,t.ID TanuloId
        ,f.C_IDPEGYEDIAZONOSITO IdpUniqueId
        ,szk.ID SzamonkeresId
        ,f.C_NYOMTATASINEV TanuloNev
        ,tt.C_NEV TantargyNev
        ,i.C_AZONOSITO IntezmenyAzonosito
        ,szk.C_SZAMONKERESDATUMA SzamonkeresDatuma
        ,szk.C_SZAMONKERESMODID SzamonkeresModId
        ,tanev.ID TanevId
    FROM T_SZAMONKERESELOREJELZES szk
        INNER JOIN T_ORARENDIORA oo ON oo.C_ORARENDIORAGROUPID = szk.C_ORARENDIORAGROUPID AND szk.C_SZAMONKERESDATUMA >= oo.C_ORAERVENYESSEGKEZDETE AND szk.C_SZAMONKERESDATUMA <= oo.C_ORAERVENYESSEGVEGE AND oo.TOROLT= 'F'
        INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.Id = oo.C_OSZTALYCSOPORTID AND ocs.TOROLT= 'F'
        INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = oo.C_OSZTALYCSOPORTID AND (tcs.C_BELEPESDATUM <= szk.C_SZAMONKERESDATUMA AND (tcs.C_KILEPESDATUM > szk.C_SZAMONKERESDATUMA OR tcs.C_KILEPESDATUM IS NULL)) AND tcs.TOROLT= 'F'
        INNER JOIN T_TANULO t ON t.ID = tcs.C_TANULOID AND t.TOROLT= 'F'
        INNER JOIN T_FELHASZNALO f ON f.ID = t.ID AND f.TOROLT= 'F'
        INNER JOIN T_TANTARGY tt ON tt.ID = oo.C_TANTARGYID AND tt.TOROLT= 'F'
        INNER JOIN T_INTEZMENY i ON i.ID = szk.C_INTEZMENYID AND i.TOROLT= 'F'
        INNER JOIN T_TANEV tanev ON tanev.ID = szk.C_TANEVID AND tanev.C_AKTIV = 'T' AND tanev.TOROLT = 'F'
    WHERE
        szk.C_ISERTESITESELKULDVE = 'F'
        AND szk.TOROLT = 'F') x WHERE rn <= @EgyszerreKikuldendoOrahozTartozoBejelentettSzamonkeresErtesitesekSzama
END
GO