Files
kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20181018130116_KRETA_7187/sp_GetFaliujsagBejegyzesek.sql
2024-03-13 00:33:46 +01:00

54 lines
1.9 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFaliujsagBejegyzesek]
GO
-- =============================================
-- Description: <Felhasználóhoz tartozó faliújságbejegyzések és tanévrendje események lekérdezése>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetFaliujsagBejegyzesek]
@pUserId INT
,@pDate DATE
,@pEsemenyTipusFaliujsagBejegyzes INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT DISTINCT
te.ID ID
,te.C_KEZDETE Erv_kezd
,te.C_TARGY Cim
,te.C_TARTALOM Szoveg
,f.C_NYOMTATASINEV Bejegyzo
,f.C_PROFILKEP ProfilKep
,munka.ID Munkakor
FROM T_TANULOESEMENY te
INNER JOIN T_FELHASZNALO f ON te.C_FELJEGYZOID = f.ID AND f.TOROLT = 'F'
CROSS APPLY(SELECT TOP 1 ISNULL(d.ID, m.C_MUNKAKORTIPUSA) ID
FROM T_MUNKAUGYIADATOK m
LEFT JOIN T_DICTIONARYITEMBASE d ON m.C_VEZETOIORASZAMOK = d.ID AND d.C_NAME != 'Nincs'
WHERE m.TOROLT = 'F' AND m.C_ALKALMAZOTTID = f.ID
ORDER BY m.LASTCHANGED DESC) munka
LEFT JOIN T_TANULO_TANULOESEMENY tte ON te.ID = tte.C_TANULOESEMENYID AND tte.C_TANULOID = @pUserId
OUTER APPLY (SELECT TOP 1 tcs.ID
FROM T_TANULOCSOPORT tcs
WHERE tcs.TOROLT = 'F' AND tcs.C_TANULOID = @pUserId AND tcs.C_BELEPESDATUM <= @pDate AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= @pDate)
ORDER BY tcs.C_KILEPESDATUM DESC
) csoport
LEFT JOIN T_OSZTALYCSOPORT_TANULOESEMENY ote ON te.ID = tte.C_TANULOESEMENYID AND csoport.ID = ote.C_OSZTALYCSOPORTID
WHERE te.TOROLT = 'F' AND te.C_KEZDETE <= @pDate AND (te.C_VEGE IS NULL OR te.C_VEGE >= @pDate)
AND (te.C_MINDENKINEK = 'T' OR ote.C_OSZTALYCSOPORTID IS NOT NULL OR tte.C_TANULOID IS NOT NULL)
AND (te.C_FALIUJSAGMEGJELENES = 'T' AND tte.C_TANULOID IS NOT NULL OR te.C_TIPUS = @pEsemenyTipusFaliujsagBejegyzes)
ORDER BY te.C_KEZDETE DESC
END
GO