kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170327110702_Init/Stored procedures/sp_GetErtesitesek.sql
2024-03-13 00:33:46 +01:00

79 lines
2.8 KiB
Transact-SQL

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