kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20180110121726_OM_141/OM_141.sql
2024-03-13 00:33:46 +01:00

78 lines
No EOL
2.4 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetFaliujsagBejegyzesek]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetFaliujsagBejegyzesek]
END
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
T_TANULOESEMENY.ID ID
,T_TANULOESEMENY.C_KEZDETE Erv_kezd
,T_TANULOESEMENY.C_TARGY Cim
,T_TANULOESEMENY.C_TARTALOM Szoveg
,T_FELHASZNALO.C_NYOMTATASINEV Bejegyzo
,T_FELHASZNALO.C_PROFILKEP ProfilKep
,Statusz.StatuszId Munkakor
FROM
T_TANULOESEMENY
INNER JOIN
T_FELHASZNALO ON
T_TANULOESEMENY.C_FELJEGYZOID = T_FELHASZNALO.ID
LEFT JOIN
(SELECT
C_ALKALMAZOTTID userId
,MAX(T_MUNKAUGYIADATOK.C_MUNKAKORTIPUSA) StatuszId
FROM
T_MUNKAUGYIADATOK
WHERE
T_MUNKAUGYIADATOK.TOROLT = 'F'
GROUP BY
C_ALKALMAZOTTID) Statusz ON
Statusz.userId = T_FELHASZNALO.ID
LEFT JOIN
T_TANULO_TANULOESEMENY ON
T_TANULO_TANULOESEMENY.C_TANULOID = @pUserId
AND T_TANULO_TANULOESEMENY.C_TANULOESEMENYID = T_TANULOESEMENY.ID
LEFT JOIN
T_OSZTALYCSOPORT_TANULOESEMENY ON
T_OSZTALYCSOPORT_TANULOESEMENY.C_OSZTALYCSOPORTID IN
(SELECT
C_OSZTALYCSOPORTID
FROM
T_TANULOCSOPORT
WHERE
T_TANULOCSOPORT.C_TANULOID = @pUserId
AND T_TANULOCSOPORT.C_BELEPESDATUM <= @pDate
AND (T_TANULOCSOPORT.C_KILEPESDATUM >= @pDate OR T_TANULOCSOPORT.C_KILEPESDATUM IS NULL))
AND T_OSZTALYCSOPORT_TANULOESEMENY.C_TANULOESEMENYID = T_TANULOESEMENY.ID
WHERE
(T_TANULOESEMENY.C_MINDENKINEK = 'T' OR T_OSZTALYCSOPORT_TANULOESEMENY.C_OSZTALYCSOPORTID IS NOT NULL OR T_TANULO_TANULOESEMENY.C_TANULOID = @pUserId)
AND T_TANULOESEMENY.C_KEZDETE <= @pDate
AND (T_TANULOESEMENY.C_VEGE IS NULL OR T_TANULOESEMENY.C_VEGE >= @pDate)
AND T_TANULOESEMENY.TOROLT = 'F'
AND (T_TANULOESEMENY.C_FALIUJSAGMEGJELENES = 'T' AND T_TANULO_TANULOESEMENY.C_TANULOID = @pUserId OR T_TANULOESEMENY.C_TIPUS = @pEsemenyTipusFaliujsagBejegyzes)
END
GO