-- =================================================================================================== -- Description: -- =================================================================================================== DROP PROCEDURE IF EXISTS [dbo].[sp_GetFaliujsagBejegyzesek] GO CREATE PROCEDURE [dbo].[sp_GetFaliujsagBejegyzesek] @pUserId int ,@pDate datetime ,@pEsemenyTipusFaliujsagBejegyzes int ,@pFeladatKategoriaId int AS BEGIN SET NOCOUNT ON; SELECT y.ID AS ID ,y.Erv_kezd AS Erv_kezd ,y.Erv_vege AS Erv_vege ,y.Cim AS Cim ,y.Szoveg AS Szoveg ,y.SzovegWeb AS SzovegWeb ,fh.C_NYOMTATASINEV AS Bejegyzo ,fh.C_PROFILKEP AS ProfilKep ,IIF(ma.C_VEZETOIORASZAMOK = 6571, ma.C_MUNKAKORTIPUSA, ISNULL(ma.C_VEZETOIORASZAMOK, 6331)) AS Munkakor ,y.C_MINDENKINEK FROM ( SELECT tes.ID AS ID ,tes.C_KEZDETE AS Erv_kezd ,tes.C_VEGE AS Erv_vege ,tes.C_TARGY AS Cim ,tes.C_TARTALOM AS Szoveg ,tes.C_TARTALOMWEB AS SzovegWeb ,tes.C_FELJEGYZOID ,tes.C_MINDENKINEK FROM T_TANULOESEMENY tes INNER JOIN T_OSZTALYCSOPORT_TANULOESEMENY ocstes ON ocstes.C_TANULOESEMENYID = tes.ID INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = ocstes.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL) INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = @pUserId AND tcs.C_BELEPESDATUM <= @pDate AND (tcs.C_KILEPESDATUM >= @pDate OR tcs.C_KILEPESDATUM IS NULL) AND tcs.TOROLT = 'F' LEFT JOIN T_TANULO_TANULOESEMENY ttes ON tes.ID = ttes.C_TANULOESEMENYID WHERE tes.C_KEZDETE <= @pDate AND (tes.C_VEGE IS NULL OR tes.C_VEGE >= @pDate) AND tes.TOROLT = 'F' AND (tes.C_FALIUJSAGMEGJELENES = 'T' OR tes.C_TIPUS = @pEsemenyTipusFaliujsagBejegyzes) AND (ttes.C_TANULOID IS NULL OR ttes.C_TANULOID = @pUserId) UNION SELECT tes.ID AS ID ,tes.C_KEZDETE AS Erv_kezd ,tes.C_VEGE AS Erv_vege ,tes.C_TARGY AS Cim ,tes.C_TARTALOM AS Szoveg ,tes.C_TARTALOMWEB AS SzovegWeb ,tes.C_FELJEGYZOID ,tes.C_MINDENKINEK FROM T_TANULOESEMENY tes INNER JOIN T_TANULO_TANULOESEMENY ttes ON tes.ID = ttes.C_TANULOESEMENYID WHERE tes.C_MINDENKINEK = 'T' AND tes.C_KEZDETE <= @pDate AND (tes.C_VEGE IS NULL OR tes.C_VEGE >= @pDate) AND tes.TOROLT = 'F' AND (tes.C_FALIUJSAGMEGJELENES = 'T' OR tes.C_TIPUS = @pEsemenyTipusFaliujsagBejegyzes) AND ttes.C_TANULOID = @pUserId ) y INNER JOIN T_FELHASZNALO fh ON y.C_FELJEGYZOID = fh.ID AND fh.TOROLT = 'F' LEFT JOIN T_MUNKAUGYIADATOK ma ON ma.C_ALKALMAZOTTID = fh.ID AND ma.TOROLT = 'F' ORDER BY y.Erv_kezd DESC, y.ID DESC END GO