/* Megszámolja, hogy az egyes típusú értesítésekből hány darab volt, az elmúlt 24 órában*/ DROP PROCEDURE IF EXISTS uspGetNapiOsszefoglaloErtesites GO CREATE PROCEDURE [dbo].[uspGetNapiOsszefoglaloErtesites] @pTanuloId int = null ,@pTanuloIdp uniqueIdentifier = null AS BEGIN SET NOCOUNT ON; DECLARE @DATUM DATETIME SET @DATUM = DATEADD(dd, -1, GETDATE()) IF (@pTanuloId is null) BEGIN SELECT @pTanuloId = ID FROM T_Felhasznalo WHERE C_IDPEgyediAzonosito = @pTanuloIdp END CREATE TABLE #NapiErtesitesek ( ErtesitesTipusa nvarchar(100) ,ErtesitesekSzama int ); INSERT INTO #NapiErtesitesek SELECT 'Ertekelesek', COUNT(1) FROM T_TANULOERTEKELES te WHERE te.TOROLT = 'F' AND te.CREATED >= @DATUM AND te.C_TANULOID = @pTanuloId INSERT INTO #NapiErtesitesek SELECT 'Mulasztasok', COUNT(1) FROM T_TANULOMULASZTAS mul WHERE mul.TOROLT = 'F' AND mul.C_TIPUS IN (1499, 1500) AND mul.C_ORATANULOIID = @pTanuloId AND mul.CREATED >= @DATUM INSERT INTO #NapiErtesitesek SELECT 'Feljegyzesek', COUNT(1) FROM T_TANULOESEMENY tes INNER JOIN T_TANULO_TANULOESEMENY ttes ON tes.ID = ttes.C_TANULOESEMENYID WHERE tes.C_TIPUS != 5483 AND (tes.C_MEGJEGYZES <> 'Rendszerüzenet' OR tes.C_MEGJEGYZES is NULL) AND tes.TOROLT = 'F' AND ttes.C_TANULOID = @pTanuloId AND tes.CREATED >= @DATUM INSERT INTO #NapiErtesitesek SELECT 'HaziFeladatok', COUNT(1) FROM T_DKT_FELADAT hf INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = hf.C_OSZTALYCSOPORTID AND ((tcs.C_BELEPESDATUM <= hf.C_BEADASHATARIDO AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > hf.C_BEADASHATARIDO)) OR hf.C_BEADASHATARIDO IS NULL) AND tcs.C_BELEPESDATUM < GETDATE() AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE()) AND tcs.TOROLT = 'F' WHERE hf.TOROLT = 'F' AND tcs.C_TANULOID = @pTanuloId AND (hf.C_LATHATOSAGIDOPONT IS NOT NULL AND CAST(hf.C_LATHATOSAGIDOPONT AS DATE) <= DATEADD(hh, -7, GETDATE())) AND hf.CREATED >= @DATUM INSERT INTO #NapiErtesitesek SELECT 'Uzenetek', count(1) FROM T_TANULOESEMENY tes INNER JOIN T_FELHASZNALO fh ON fh.ID = tes.C_FELJEGYZOID AND fh.TOROLT = 'F' INNER JOIN T_TANULO_TANULOESEMENY tte ON tte.C_TANULOESEMENYID = tes.ID WHERE fh.C_NYOMTATASINEV = 'Rendszerüzenet' AND tes.C_TIPUS = 5482 AND tes.TOROLT = 'F' AND EXISTS (SELECT 1 FROM T_TANULO_TANULOESEMENY ttes WHERE tes.ID = ttes.C_TANULOESEMENYID) AND GETDATE() BETWEEN tes.C_KEZDETE AND tes.C_VEGE AND tes.CREATED >= @DATUM AND tte.C_TANULOID = @pTanuloId INSERT INTO #NapiErtesitesek SELECT 'BejelentettSzamonkeresek',COUNT(*) 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_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' WHERE tcs.C_TANULOID = @pTanuloId AND szk.TOROLT = 'F' AND szk.CREATED >= @DATUM SELECT * FROM #NapiErtesitesek END GO