78 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
-- ===================================================================================================
 | 
						|
-- Description:  <Felhasználóhoz tartozó faliújságbejegyzések és tanévrendje események lekérdezése>
 | 
						|
-- ===================================================================================================
 | 
						|
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, y.ID DESC
 | 
						|
 | 
						|
END
 | 
						|
GO
 |