62 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('sp_GetDokumentumHelyettesitesekByDateInterval') IS NOT NULL BEGIN
 | 
						|
  DROP PROCEDURE sp_GetDokumentumHelyettesitesekByDateInterval
 | 
						|
END  
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE sp_GetDokumentumHelyettesitesekByDateInterval
 | 
						|
	@tanevId						INT,
 | 
						|
	@helyettesitesListaFormatumId	INT = 0, --0 helyettesitett, 1 helyettesito
 | 
						|
	@idoszakKezdete					DATE,
 | 
						|
	@idoszakVege					DATE
 | 
						|
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
  SET NOCOUNT ON;
 | 
						|
 | 
						|
SELECT 
 | 
						|
	 helyettesito.ID						HelyettesitoId
 | 
						|
	,helyettesitesett.ID					HelyettesitettId
 | 
						|
	,dbo.fnGetDokumentumDatumFormatum(hi.C_HELYETTESITESNAPJA)	HetNapja
 | 
						|
	,ISNULL(CONVERT(NVARCHAR(5), orarendiOra.C_ORASZAM) + '.', '')Oraszam
 | 
						|
	,helyettesito.C_NYOMTATASINEV			HelyettesitoNeve
 | 
						|
	,helyettesitesett.C_NYOMTATASINEV		HelyettesitettNeve
 | 
						|
	,ocs.C_NEV								OsztalyCsoportNev
 | 
						|
	,tantargy.C_NEV							TantargyNev
 | 
						|
	,terem.C_NEV							TeremNev
 | 
						|
	,HelyettesitesTipusa.C_NAME				HelyettesitesTipusa
 | 
						|
INTO #adatok
 | 
						|
FROM T_HELYETTESITESIIDOSZAK_OSSZES hi
 | 
						|
	LEFT JOIN T_ORARENDIORA_OSSZES orarendiOra ON orarendiOra.Id = hi.C_HELYETTESITETTORARENDID AND orarendiOra.TOROLT = 'F'
 | 
						|
	LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.Id = hi.C_HELYETTESTANAROKID AND helyettesito.TOROLT = 'F'
 | 
						|
	LEFT JOIN T_FELHASZNALO_OSSZES helyettesitesett ON helyettesitesett.ID = orarendiOra.C_TANARID AND helyettesitesett.TOROLT = 'F'
 | 
						|
	LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.Id = orarendiOra.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
 | 
						|
	LEFT JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = orarendiOra.C_TANTARGYID AND tantargy.TOROLT = 'F'
 | 
						|
	LEFT JOIN T_TEREM_OSSZES terem ON terem.Id = orarendiOra.C_TEREMID AND terem.TOROLT = 'F'
 | 
						|
	INNER JOIN T_DICTIONARYITEMBASE_OSSZES HelyettesitesTipusa ON HelyettesitesTipusa.ID = hi.C_HELYETTESITESTIPUS AND HelyettesitesTipusa.C_TANEVID = @tanevId
 | 
						|
WHERE
 | 
						|
	hi.TOROLT = 'F'	
 | 
						|
	AND hi.C_TANEVID = @tanevId	
 | 
						|
	AND hi.C_HELYETTESITESNAPJA BETWEEN @idoszakKezdete AND @idoszakVege
 | 
						|
ORDER BY dbo.fnGetDokumentumDatumFormatum(hi.C_HELYETTESITESNAPJA), orarendiOra.C_ORASZAM
 | 
						|
 | 
						|
SELECT DISTINCT HetNapja FROM #adatok
 | 
						|
 | 
						|
IF @helyettesitesListaFormatumId = 0
 | 
						|
BEGIN
 | 
						|
SELECT DISTINCT HelyettesitettId PedagogusId, HelyettesitettNeve PedagogusNev, HetNapja FROM #adatok ORDER BY HelyettesitettNeve
 | 
						|
SELECT * FROM #adatok ORDER BY HetNapja, Oraszam
 | 
						|
END
 | 
						|
ELSE
 | 
						|
BEGIN
 | 
						|
SELECT DISTINCT HelyettesitoId PedagogusId, HelyettesitoNeve PedagogusNev, HetNapja FROM #adatok ORDER BY HelyettesitoNeve
 | 
						|
SELECT * FROM #adatok ORDER BY HetNapja, Oraszam
 | 
						|
END
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
GO |