GO /****** Object: StoredProcedure [dbo].[sp_GetErtesitesek] Script Date: 2016.03.08. 13:05:47 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Kelemen Attila -- Create date: 2016. 03. 07. -- Description: Felhasználóhoz tartozó értesítések lekérdezése -- ============================================= CREATE PROCEDURE [dbo].[sp_GetErtesitesek] @userID int, @gondviseloID int, @date DateTime AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; --Ha gondviselőhöz kérdezzük le IF @gondviseloID > 0 SELECT DISTINCT T_ERTESITES.ID, T_ERTESITES.C_ERVENYESSEGKEZDETE Erv_kezd, FELERT.C_ERVENYESSEGVEGE Erv_veg, T_ERTESITES.C_LETREHOZASDATUM LetrehozasDatum, T_ERTESITES.C_SZINTIPUS Szin, T_ERTESITES.C_TIPUS Tipus, T_ERTESITES.C_TOROLHETO Torolheto, T_ERTESITES.C_UZENET Szoveg, FELERT.ID FGErtesitesID FROM T_ERTESITES LEFT JOIN T_GONDVISELOERTESITES FELERT on FELERT.C_ERTESITESID = T_ERTESITES.ID WHERE T_ERTESITES.TOROLT = 'F' AND T_ERTESITES.C_ERVENYESSEGKEZDETE <= @date AND (T_ERTESITES.C_GLOBALISERVENYESSEGVEGE IS NULL OR T_ERTESITES.C_GLOBALISERVENYESSEGVEGE >= @date) AND (((T_ERTESITES.C_GLOBALIS = 'T' AND NOT EXISTS (select 1 from T_GONDVISELOERTESITES where TOROLT = 'F' AND (C_ERVENYESSEGVEGE < @date) AND C_ERTESITESID = T_ERTESITES.ID AND C_GONDVISELOID = @gondviseloID) ) ) OR (T_ERTESITES.C_GLOBALIS = 'F' AND FELERT.TOROLT = 'F' AND (FELERT.C_ERVENYESSEGVEGE IS NULL OR FELERT.C_ERVENYESSEGVEGE >= @date) AND FELERT.C_GONDVISELOID = @gondviseloID)) ORDER BY T_ERTESITES.C_LETREHOZASDATUM DESC ELSE SELECT DISTINCT T_ERTESITES.ID, T_ERTESITES.C_ERVENYESSEGKEZDETE Erv_kezd, FELERT.C_ERVENYESSEGVEGE Erv_veg, T_ERTESITES.C_LETREHOZASDATUM LetrehozasDatum, T_ERTESITES.C_SZINTIPUS Szin, T_ERTESITES.C_TIPUS Tipus, T_ERTESITES.C_TOROLHETO Torolheto, T_ERTESITES.C_UZENET Szoveg, FELERT.ID FGErtesitesID FROM T_ERTESITES LEFT JOIN T_FELHASZNALOERTESITES FELERT on FELERT.C_ERTESITESID = T_ERTESITES.ID WHERE T_ERTESITES.TOROLT = 'F' AND T_ERTESITES.C_ERVENYESSEGKEZDETE <= @date AND (T_ERTESITES.C_GLOBALISERVENYESSEGVEGE IS NULL OR T_ERTESITES.C_GLOBALISERVENYESSEGVEGE >= @date) AND (((T_ERTESITES.C_GLOBALIS = 'T' AND NOT EXISTS (select 1 from T_FELHASZNALOERTESITES where TOROLT = 'F' AND (C_ERVENYESSEGVEGE < @date) AND C_ERTESITESID = T_ERTESITES.ID AND C_FELHASZNALOID = @userID) ) ) OR (T_ERTESITES.C_GLOBALIS = 'F' AND FELERT.TOROLT = 'F' AND (FELERT.C_ERVENYESSEGVEGE IS NULL OR FELERT.C_ERVENYESSEGVEGE >= @date) AND FELERT.C_FELHASZNALOID = @userID)) ORDER BY T_ERTESITES.C_LETREHOZASDATUM DESC END