115 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
-- =============================================
 | 
						|
-- Author:		<Hoffmann Zsolt>
 | 
						|
-- Create date: <2016. 07. 26.>
 | 
						|
-- Description:	<Haladási napló>
 | 
						|
-- =============================================
 | 
						|
IF OBJECT_ID('sp_GetHaladasiNaploAdatok') IS NOT NULL BEGIN
 | 
						|
  DROP PROCEDURE sp_GetHaladasiNaploAdatok
 | 
						|
END
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetHaladasiNaploAdatok]
 | 
						|
	@tanevID int,
 | 
						|
	@osztalyID int
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
DECLARE @foglalkozasID  INT = 0
 | 
						|
DECLARE @foglalkozasNev VARCHAR(255)
 | 
						|
 
 | 
						|
	SET NOCOUNT ON;
 | 
						|
	SELECT DISTINCT
 | 
						|
	 f.id
 | 
						|
	 ,ocs.C_NEV + ' - ' + tt.C_NEV AS Nev
 | 
						|
    ,f.C_TANTARGYID
 | 
						|
    ,f.C_OSZTALYCSOPORTID
 | 
						|
    ,f.C_INTEZMENYID
 | 
						|
    ,ft.C_TANAROKID AS C_TANARID
 | 
						|
	INTO #Foglalkozasok
 | 
						|
	FROM T_FOGLALKOZAS_OSSZES f
 | 
						|
    INNER JOIN T_FOGLALKOZASOK_TANAROK ft	ON f.ID = ft.C_FOGLALKOZASOKID  
 | 
						|
    INNER JOIN T_OSZTALYCSOPORT_OSSZES OCS on OCS.ID = f.C_OSZTALYCSOPORTID and OCS.TOROLT = 'F'
 | 
						|
	  LEFT  JOIN T_CSOPORTOK_OSZTALYOK cso on cso.C_CSOPORTOKID = ocs.ID
 | 
						|
	  INNER JOIN T_TANTARGY_OSSZES tt on tt.ID = f.C_TANTARGYID and tt.TOROLT = 'F' 
 | 
						|
	WHERE f.TOROLT = 'F'
 | 
						|
	  AND f.C_TANEVID = @tanevID
 | 
						|
	  AND (ocs.ID = @osztalyID OR cso.C_OSZTALYOKID = @osztalyID)
 | 
						|
 | 
						|
	SELECT 
 | 
						|
		fog.ID
 | 
						|
		, Nev+' - '+felh.C_NYOMTATASINEV Nev 
 | 
						|
	FROM #Foglalkozasok fog
 | 
						|
		INNER JOIN T_FELHASZNALO_OSSZES felh on fog.C_TANARID=felh.ID
 | 
						|
 | 
						|
  DECLARE @sorszamTable TABLE (
 | 
						|
     tanitasiOraId int-- PRIMARY KEY
 | 
						|
    ,evesOraszam int
 | 
						|
    ,foglalkozasId int
 | 
						|
  )  
 | 
						|
  
 | 
						|
  INSERT INTO @sorszamTable (tanitasiOraId, evesOraszam, foglalkozasId)
 | 
						|
  SELECT s.Id, s.EvesSorszam, f.ID FROM #Foglalkozasok f
 | 
						|
  CROSS APPLY dbo.fnGetEvesOraszamLista(
 | 
						|
     f.C_TANTARGYID
 | 
						|
    ,f.C_OSZTALYCSOPORTID
 | 
						|
    ,f.C_TANARID
 | 
						|
    ,GETDATE() 
 | 
						|
    ,f.C_INTEZMENYID
 | 
						|
    ,@tanevID
 | 
						|
  ) s
 | 
						|
 
 | 
						|
  
 | 
						|
  DECLARE foglalkozasCursor CURSOR FOR 
 | 
						|
  SELECT ID FROM #Foglalkozasok 
 | 
						|
      
 | 
						|
  OPEN foglalkozasCursor
 | 
						|
  FETCH NEXT FROM foglalkozasCursor into @foglalkozasId
 | 
						|
  
 | 
						|
  WHILE @@FETCH_STATUS = 0 BEGIN 
 | 
						|
		SELECT DISTINCT
 | 
						|
			CASE
 | 
						|
			  WHEN tn.C_MEGTARTOTT = 'T' THEN s.evesOraszam  -- tn.C_ORAEVESSORSZAM
 | 
						|
			  ELSE '-'
 | 
						|
			 END AS OraSorszam
 | 
						|
			,fh.C_NYOMTATASINEV TanarNev
 | 
						|
			,tn.C_TEMA Tema
 | 
						|
			,CASE
 | 
						|
			  WHEN tn.C_HELYETTESITOTANARID IS NULL THEN ''
 | 
						|
			  ELSE 'H'
 | 
						|
			 END AS Helyettesites
 | 
						|
			,FORMAT(tn.C_DATUM, 'yyyy.MM.dd.') Datum
 | 
						|
			,tn.C_ORASZAM OraSzam
 | 
						|
			,tn.C_MEGJEGYZES Megjegyzes
 | 
						|
			,tn.C_HAZIFELADAT HaziFeladat
 | 
						|
			,tn.C_TULORA TulOra
 | 
						|
			,tn.C_TAMOPORA TamopOra
 | 
						|
			,tn.C_NEMSZAKRENDSZERUORA NemszakrendszeruOra
 | 
						|
			,tn.C_IKTTANORA IktOra
 | 
						|
			,tn.C_NEMZETISEGIORA NemzetisegiOra
 | 
						|
			,tn.C_MINDENNAPOSTESTNEVELES TestnevelesOra
 | 
						|
			,tn.C_IPRTANORA IprOra
 | 
						|
			,tn.C_DIFFERENCIALT DifferencialtOra
 | 
						|
			,tn.C_KOOPERATIV KooperativOra
 | 
						|
			,tn.C_MERES MeresOra
 | 
						|
			,tn.C_DRAMA DramaOra
 | 
						|
			,tn.C_PARHUZAMOSORA ParhuzamosOra
 | 
						|
			,tn.C_TIOP12 TiopOra
 | 
						|
		FROM T_TANITASIORA_OSSZES tn
 | 
						|
			INNER JOIN T_ORAK_TANAROK ot ON ot.C_ORAKID = tn.ID
 | 
						|
      INNER JOIN T_FELHASZNALO fh ON fh.ID = ot.C_TANAROKID
 | 
						|
      LEFT  JOIN @sorszamTable s ON s.tanitasiOraId = tn.ID
 | 
						|
    WHERE tn.TOROLT = 'F'
 | 
						|
			AND tn.C_TANEVID = @tanevID
 | 
						|
			AND tn.C_FOGLALKOZASID = @foglalkozasID
 | 
						|
	ORDER BY FORMAT(tn.C_DATUM, 'yyyy.MM.dd.')	
 | 
						|
    
 | 
						|
    FETCH NEXT FROM foglalkozasCursor 
 | 
						|
    INTO @foglalkozasId
 | 
						|
  END
 | 
						|
  
 | 
						|
  CLOSE foglalkozasCursor
 | 
						|
  DEALLOCATE foglalkozasCursor
 | 
						|
 | 
						|
  DROP TABLE #Foglalkozasok
 | 
						|
END 
 | 
						|
 | 
						|
GO |