158 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			158 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS [dbo].[sp_GetHaladasiNaploAdatok]
 | 
						|
GO
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetHaladasiNaploAdatok]
 | 
						|
	@tanevID int,
 | 
						|
	@osztalyID int = null,
 | 
						|
	@tanarID int = null
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
DECLARE @cTantargyId  INT = 0
 | 
						|
DECLARE @cOsztalyCsoportId INT = 0
 | 
						|
DECLARE @cTanarId INT = 0
 | 
						|
DECLARE @foglalkozasNev VARCHAR(255)
 | 
						|
 
 | 
						|
	SET NOCOUNT ON;
 | 
						|
	SELECT DISTINCT
 | 
						|
	 ocs.C_NEV + ' - ' + tt.C_NEV AS Nev
 | 
						|
    ,tn.C_TANTARGYID
 | 
						|
    ,tn.C_OSZTALYCSOPORTID
 | 
						|
    ,tn.C_INTEZMENYID
 | 
						|
    ,tn.C_TANARID AS C_TANARID
 | 
						|
    ,IIF(f.ID IS NULL,'F','T') AS VanTTF
 | 
						|
	INTO #Foglalkozasok
 | 
						|
	FROM T_TANITASIORA_OSSZES tn
 | 
						|
    LEFT JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANTARGYID = tn.C_TANTARGYID AND f.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID AND f.C_TANARID = tn.C_TANARID AND f.TOROLT = 'F'
 | 
						|
    INNER JOIN T_OSZTALYCSOPORT_OSSZES OCS on OCS.ID = tn.C_OSZTALYCSOPORTID and OCS.TOROLT = 'F' AND OCS.C_FELADATKATEGORIAID = (SELECT t.C_DEFAULTFELADATKATEGORIAID FROM T_TANEV_OSSZES t WHERE t.ID = OCS.C_TANEVID)
 | 
						|
	  LEFT  JOIN T_CSOPORTOK_OSZTALYOK cso on cso.C_CSOPORTOKID = ocs.ID
 | 
						|
	  INNER JOIN T_TANTARGY_OSSZES tt on tt.ID = tn.C_TANTARGYID and tt.TOROLT = 'F' 
 | 
						|
	WHERE tn.TOROLT = 'F'
 | 
						|
	  AND tn.C_TANEVID = @tanevID
 | 
						|
	  AND (
 | 
						|
		((@osztalyID IS NOT NULL) AND (ocs.ID = @osztalyID OR cso.C_OSZTALYOKID = @osztalyID))
 | 
						|
		OR
 | 
						|
		((@tanarID IS NOT NULL) AND tn.C_TANARID = @tanarID)
 | 
						|
		)
 | 
						|
  ORDER BY VanTTF DESC, Nev ASC
 | 
						|
	SELECT 
 | 
						|
		  IIF(fog.VanTTF = 'F','Egyedi-','')+Nev+' - '+felh.C_NYOMTATASINEV Nev,
 | 
						|
      fog.VanTTF 
 | 
						|
	FROM #Foglalkozasok fog
 | 
						|
		INNER JOIN T_FELHASZNALO_OSSZES felh on fog.C_TANARID=felh.ID
 | 
						|
  ORDER BY fog.VanTTF DESC, Nev ASC
 | 
						|
  
 | 
						|
  DECLARE @sorszamTable TABLE (
 | 
						|
     tanitasiOraId int-- PRIMARY KEY
 | 
						|
    ,evesOraszam int
 | 
						|
    ,foglalkozasId int
 | 
						|
  )  
 | 
						|
  
 | 
						|
  INSERT INTO @sorszamTable (tanitasiOraId, evesOraszam)
 | 
						|
  SELECT s.Id, s.EvesSorszam 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 C_TANTARGYID, C_OSZTALYCSOPORTID, C_TANARID FROM #Foglalkozasok 
 | 
						|
      
 | 
						|
  OPEN foglalkozasCursor
 | 
						|
  FETCH NEXT FROM foglalkozasCursor into @cTantargyId, @cOsztalyCsoportId, @cTanarId
 | 
						|
  
 | 
						|
  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
 | 
						|
			,ISNULL(tn.C_HAZIFELADAT,hf.C_FELADATSZOVEGE) 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
 | 
						|
			,tn.C_KIPORA KIPOra
 | 
						|
			,tn.C_VEKOP73317 VEKOP73317
 | 
						|
			,tn.C_KAPORA KAPOra
 | 
						|
			,tn.C_BONTOTT Bontott
 | 
						|
			,tn.C_MULTIKULTURALISORA Multikulturalis
 | 
						|
			,tn.C_EFOP32317 EFOP32317
 | 
						|
			,tn.C_KOMPLEXORA Komplexora
 | 
						|
			,tn.C_GINOP623 GINOP623
 | 
						|
			,tn.C_EFOP31716 EFOP31716
 | 
						|
			,tn.C_EFOP33717 EFOP33717
 | 
						|
			,tn.C_TIOP1111212012001 TIOP1111212012001
 | 
						|
		FROM T_TANITASIORA_OSSZES tn
 | 
						|
      INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = tn.C_TANARID
 | 
						|
      LEFT  JOIN @sorszamTable s ON s.tanitasiOraId = tn.ID
 | 
						|
	  LEFT JOIN T_HAZIFELADATOK hf ON hf.C_TANITASIORAID = tn.ID
 | 
						|
    WHERE tn.TOROLT = 'F'
 | 
						|
			AND tn.C_TANEVID = @tanevID
 | 
						|
      AND tn.C_TANARID = @cTanarId
 | 
						|
      AND tn.C_TANTARGYID = @cTantargyId
 | 
						|
      AND tn.C_OSZTALYCSOPORTID = @cOsztalyCsoportId
 | 
						|
	ORDER BY FORMAT(tn.C_DATUM, 'yyyy.MM.dd.')	
 | 
						|
    
 | 
						|
    FETCH NEXT FROM foglalkozasCursor 
 | 
						|
    INTO @cTantargyId, @cOsztalyCsoportId, @cTanarId
 | 
						|
  END
 | 
						|
  
 | 
						|
  CLOSE foglalkozasCursor
 | 
						|
  DEALLOCATE foglalkozasCursor
 | 
						|
  
 | 
						|
  IF (SELECT COUNT(Nev) FROM #Foglalkozasok) = 0 BEGIN 
 | 
						|
    DECLARE @nincsAdat TABLE (
 | 
						|
	    OraSorszam int,
 | 
						|
    	TanarNev nvarchar(1),
 | 
						|
	    Tema nvarchar(1),
 | 
						|
	    Helyettesites int,
 | 
						|
	    Datum datetime,
 | 
						|
	    OraSzam int,
 | 
						|
	    Megjegyzes nvarchar(1),
 | 
						|
	    HaziFeladat nvarchar(1),
 | 
						|
	    TulOra char,
 | 
						|
	    TamopOra char,
 | 
						|
	    NemszakrendszeruOra char,
 | 
						|
    	IktOra char,
 | 
						|
	    NemzetisegiOra char,
 | 
						|
	    TestnevelesOra char,
 | 
						|
	    IprOra char,
 | 
						|
	    DifferencialtOra char,
 | 
						|
	    KooperativOra char,
 | 
						|
	    MeresOra char,
 | 
						|
	    DramaOra char,
 | 
						|
	    ParhuzamosOra char,
 | 
						|
	    TiopOra char,
 | 
						|
		KIPOra char,
 | 
						|
		VEKOP73317 char,
 | 
						|
		KAPOra char
 | 
						|
      )
 | 
						|
      SELECT * FROM @nincsAdat;
 | 
						|
  END
 | 
						|
 | 
						|
  DROP TABLE #Foglalkozasok
 | 
						|
END 
 | 
						|
 | 
						|
GO |