55 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS uspGetTanuloOsztalyCsoportjai
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE uspGetTanuloOsztalyCsoportjai
 | 
						|
   @pTanuloId int
 | 
						|
  ,@pTanevId int
 | 
						|
  ,@pIsAktiv bit
 | 
						|
  ,@pFeladatKategoriaId int
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
  DECLARE
 | 
						|
     @tanevNev nvarchar(30)
 | 
						|
    ,@sql nvarchar(max)
 | 
						|
 | 
						|
  SELECT @tanevNev = C_NEV
 | 
						|
  FROM T_TANEV
 | 
						|
  WHERE ID = @pTanevId
 | 
						|
 | 
						|
  SET @sql = N'
 | 
						|
  SELECT
 | 
						|
     tcs.ID
 | 
						|
    ,tcs.C_OSZTALYCSOPORTID OsztalyCsoportId
 | 
						|
    ,ocs.C_NEV Nev
 | 
						|
    ,ocs.C_EVFOLYAMTIPUSA EvfolyamTipus
 | 
						|
    ,ocs.C_FELADATKATEGORIAID FeladatKategoriaId
 | 
						|
    ,@tanevNev Tanev
 | 
						|
    ,tcs.C_BELEPESDATUM ErvKezd
 | 
						|
    ,tcs.C_KILEPESDATUM ErvVeg
 | 
						|
    ,cs.C_TIPUSA CsoportTipus
 | 
						|
    ,ob.C_NEV AS Osztalybontas
 | 
						|
    ,o.C_KEPZESIFORMA AS KepzesiForma
 | 
						|
    ,CASE WHEN o.ID IS NOT NULL THEN ''F'' ELSE ''T'' END AS IsCsoport
 | 
						|
  FROM T_TANULOCSOPORT_OSSZES tcs
 | 
						|
  INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL) AND ocs.TOROLT = ''F'' AND ocs.C_TANEVID = tcs.C_TANEVID
 | 
						|
    LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID AND cs.TOROLT = ''F'' AND cs.C_ALTANEVID = tcs.C_TANEVID
 | 
						|
    LEFT JOIN T_OSZTALYCSOPORT_OSSZES ob ON ob.ID = cs.C_OSZTALYBONTASID AND ob.TOROLT = ''F'' AND ob.C_TANEVID = tcs.C_TANEVID
 | 
						|
    LEFT JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.TOROLT = ''F'' AND o.C_ALTANEVID = tcs.C_TANEVID
 | 
						|
  WHERE tcs.TOROLT = ''F''  AND tcs.C_TANEVID = @tanevId
 | 
						|
    AND tcs.C_TANULOID = @tanuloId
 | 
						|
    ' + IIF(@pIsAktiv = 1, 'AND tcs.C_BELEPESDATUM < GETDATE() AND (tcs.C_KILEPESDATUM is null or tcs.C_KILEPESDATUM >= GETDATE())', '')
 | 
						|
 | 
						|
  EXEC sp_executesql @sql, N'
 | 
						|
     @tanuloId int
 | 
						|
    ,@tanevNev nvarchar(30)
 | 
						|
    ,@tanevId int
 | 
						|
    ,@pFeladatKategoriaId int'
 | 
						|
    ,@tanuloId = @pTanuloId
 | 
						|
    ,@tanevNev = @tanevNev
 | 
						|
    ,@tanevId = @pTanevId
 | 
						|
    ,@pFeladatKategoriaId = @pFeladatKategoriaId
 | 
						|
END
 | 
						|
GO
 | 
						|
 | 
						|
 |