494 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			494 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS [dbo].[uspGetErtesitoNyomtatvany]
 | 
						|
GO
 | 
						|
 | 
						|
-- =====================================================================
 | 
						|
-- Description: értesítõ nyomtatvány (félévi, év végi, I. negyedévi...)
 | 
						|
-- =====================================================================
 | 
						|
CREATE PROCEDURE [dbo].[uspGetErtesitoNyomtatvany]
 | 
						|
   @pOsztalyId int
 | 
						|
  ,@pTanevId int
 | 
						|
  ,@pErtekelesTipus int
 | 
						|
  ,@pElmeletGyakorlat bit = 0
 | 
						|
  ,@pKesesTipus int = 1499
 | 
						|
  ,@pElmeletiOraPercben int = 45
 | 
						|
  ,@pGyakorlatiOraPercben int = 45
 | 
						|
  ,@pIskolaErdekuSzamit bit
 | 
						|
  ,@pIsKozossegiSzolgalat bit
 | 
						|
  ,@pTanuloId int	= NULL
 | 
						|
  ,@pIsMuveszetOktatasi bit = 0
 | 
						|
  ,@pIsShowTanuloiAtlag bit = 0
 | 
						|
  ,@tanitasiHetekSzamaVegzos int = 32
 | 
						|
  ,@tanitasiHetekSzamaNemVegzos int = 36
 | 
						|
  ,@isAltantargyBeszamitasa bit = 0
 | 
						|
  ,@nyomtatvanyNyelvEnum int = 0
 | 
						|
  ,@kiiratkozottTanulokMegjelenitese  bit = 1
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
  SET NOCOUNT ON;
 | 
						|
	
 | 
						|
  DECLARE 
 | 
						|
     @EsemenyTipus int
 | 
						|
    ,@IdoszakVegeTanevRendje int
 | 
						|
    ,@IdoszakVege date
 | 
						|
    ,@OsztalycsoportVezeto nvarchar(max)
 | 
						|
    ,@OsztalycsoportNev nvarchar(max)
 | 
						|
 | 
						|
 | 
						|
  SET @EsemenyTipus = 
 | 
						|
    CASE @pErtekelesTipus
 | 
						|
      WHEN 1519 THEN 1547 --félévi
 | 
						|
      WHEN 1520 THEN 1548 --év végi
 | 
						|
      WHEN 1522 THEN 1549 --I. negyedévi
 | 
						|
      WHEN 1524 THEN 1550 --II. negyedévi
 | 
						|
      WHEN 1523 THEN 1551 --III. negyedévi
 | 
						|
    END
 | 
						|
   
 | 
						|
  SET @IdoszakVegeTanevRendje = 
 | 
						|
    CASE @pErtekelesTipus
 | 
						|
      WHEN 1519 THEN 1400 --félévi
 | 
						|
      WHEN 1520 THEN 1395 --év végi
 | 
						|
      WHEN 1522 THEN 1403 --I. negyedévi
 | 
						|
      WHEN 1524  THEN 1400 --II. negyedévi
 | 
						|
      WHEN 1523 THEN 1404 --III. negyedévi
 | 
						|
    END
 | 
						|
 | 
						|
  CREATE TABLE #ErtekelesResult (
 | 
						|
     TanuloId int
 | 
						|
    ,TanuloCsoportId int
 | 
						|
    ,Targy nvarchar(max)
 | 
						|
    ,Jegyzet nvarchar(max)
 | 
						|
    ,Ertekeles nvarchar(max)
 | 
						|
    ,ErtekelesValue int
 | 
						|
    ,ErtekelesJegyzettel nvarchar(max)  
 | 
						|
    ,Oraszam float
 | 
						|
    ,RENDEZ1 int
 | 
						|
    ,RENDEZ2 nvarchar(max)
 | 
						|
    ,RENDEZ3 int
 | 
						|
    ,RENDEZ4 int
 | 
						|
    ,RENDEZ5 nvarchar(max)
 | 
						|
    /*nemzetiségi törzslaphoz kell*/
 | 
						|
    ,ErtekelesTemaIdegenNyelven nvarchar(max)
 | 
						|
    ,ErtekelesSzovegIdegenNyelven nvarchar(max)
 | 
						|
    ,ErtekelesValueIdegenNyelven nvarchar(max)
 | 
						|
    ,ErtekelesOsztalyzatIdegenNyelven nvarchar(max)
 | 
						|
    ,ErtekelesSzazalek nvarchar(max)
 | 
						|
    ,Jeloles nvarchar(max)
 | 
						|
    ,TantargyNevIdegenNyelven nvarchar(max)
 | 
						|
    /**/
 | 
						|
    ,INDEX IX_01 CLUSTERED (TanuloId, TanuloCsoportId)
 | 
						|
  )
 | 
						|
 | 
						|
  CREATE TABLE #MulasztasResult (
 | 
						|
     TanuloId int
 | 
						|
    ,TanuloCsoportId int
 | 
						|
    ,Igazolt int
 | 
						|
    ,Igazolatlan int
 | 
						|
    ,ElmeletIgazolt int
 | 
						|
    ,ElmeletIgazolatlan int
 | 
						|
    ,GyakorlatIgazolt int
 | 
						|
    ,GyakorlatIgazolatlan int
 | 
						|
    ,ElmeletOsszes int
 | 
						|
    ,GyakorlatOsszes int
 | 
						|
    ,Osszes int
 | 
						|
    ,INDEX IX_01 CLUSTERED (TanuloId, TanuloCsoportId)
 | 
						|
  )
 | 
						|
  
 | 
						|
  CREATE TABLE #TanuloResult (
 | 
						|
     TANULOID int
 | 
						|
    ,TanuloCsoportId int
 | 
						|
    ,BelepesDatum date
 | 
						|
    ,KilepesDatum date
 | 
						|
    ,TANULONEV nvarchar(max)
 | 
						|
    ,OKTATASIAZONOSITO nvarchar(max)
 | 
						|
    ,TORZSLAPSZAM nvarchar(max)
 | 
						|
    ,SZULHELY nvarchar(max)
 | 
						|
    ,SZULIDO nvarchar(max)
 | 
						|
    ,ANYJANEVE nvarchar(max)
 | 
						|
    ,PRIMARY KEY (TANULOID, TanuloCsoportId, BelepesDatum)
 | 
						|
  )
 | 
						|
 | 
						|
  SET @IdoszakVege = (SELECT TOP 1 ISNULL(C_DATUM, GETDATE()) FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = @IdoszakVegeTanevRendje AND C_TANEVID = @pTanevId AND TOROLT = 'F')
 | 
						|
  SET @OsztalycsoportNev = (SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyId)
 | 
						|
 | 
						|
  IF (@pIsMuveszetOktatasi = 0) BEGIN
 | 
						|
    SET @OsztalycsoportVezeto = (SELECT C_NYOMTATASINEV FROM T_OSZTALY_OSSZES Osztaly INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON Osztaly.C_OSZTALYFONOKID = felhasznalo.ID WHERE Osztaly.ID = @pOsztalyId)
 | 
						|
  END
 | 
						|
  ELSE BEGIN
 | 
						|
    SET @OsztalycsoportVezeto = (SELECT C_NYOMTATASINEV FROM T_CSOPORT_OSSZES Csoport INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON Csoport.C_CSOPORTVEZETOID = felhasznalo.ID WHERE Csoport.ID = @pOsztalyId)
 | 
						|
  END
 | 
						|
  
 | 
						|
     -- Fejléc
 | 
						|
  IF @pIsMuveszetOktatasi = 0 BEGIN
 | 
						|
    SELECT 
 | 
						|
       ia.C_NEV AS IntezmenyNeve
 | 
						|
      ,ia.C_VAROS AS IntezmenyVaros
 | 
						|
      ,dbo.fnGetDokumentumIntezmenyCime(@pTanevId) AS IntezmenyCime
 | 
						|
      ,ia.C_IGAZGATONEVE AS IntezmenyVezeto
 | 
						|
      ,ia.C_OMKOD AS OMKod
 | 
						|
      ,ia.C_TELEFONSZAM AS TELEFON
 | 
						|
      ,ia.C_EMAILCIM AS EMAILCIM
 | 
						|
      ,tv.C_NEV AS TANEV
 | 
						|
      ,ia.C_VAROS AS VAROS
 | 
						|
      ,ofo.C_NYOMTATASINEV AS OSZTALYFONOK
 | 
						|
      ,ofo.ID AS OsztalyFonokId
 | 
						|
      ,ocs.C_NEV AS OSZTALYNEV
 | 
						|
      ,@pOsztalyId AS OsztalyId
 | 
						|
      ,GETDATE() AS Datum
 | 
						|
      ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
 | 
						|
      ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
 | 
						|
      ,o.C_TANTERVID AS TantervId
 | 
						|
      ,ocs.C_KEPZESIFORMA AS KepzesiForma
 | 
						|
      ,o.C_AGAZAT AS Agazat
 | 
						|
      ,o.C_SZAKMACSOPORT AS SzakmaCsoport
 | 
						|
      ,o.C_SZAKKEPESITES AS Szakkepesites
 | 
						|
      ,o.C_RESZSZAKKEPESITES AS Reszszakkepesites
 | 
						|
      ,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
 | 
						|
      ,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
 | 
						|
      ,o.C_TECHNIKAIOSZTALY AS OJTechnikaiOsztaly
 | 
						|
      ,o.C_NEMZETISEGI AS OJNemzetisegi
 | 
						|
      ,o.C_KETTANNYELVU AS OJKettannyelvu
 | 
						|
      ,o.C_NYELVIELOKESZITO AS OJNyelviElokeszito
 | 
						|
      ,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI AS OJIsGyogypedagogiaiLogopediai
 | 
						|
      ,o.C_SPORT AS OJSportOsztaly
 | 
						|
      ,o.C_AJPROGRAM AS OJAranyJanosProgram
 | 
						|
    FROM T_OSZTALYCSOPORT_OSSZES ocs
 | 
						|
      INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON  ocs.C_TANEVID = ia.C_TANEVID and ocs.TOROLT = 'F'
 | 
						|
      INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.TOROLT = 'F'
 | 
						|
      LEFT JOIN T_FELHASZNALO_OSSZES ofo on ofo.ID = o.C_OSZTALYFONOKID
 | 
						|
      INNER JOIN T_TANEV_OSSZES tv ON tv.ID = ocs.C_TANEVID AND tv.TOROLT = 'F'
 | 
						|
    WHERE ia.TOROLT = 'F' 
 | 
						|
      AND tv.ID = @pTanevId
 | 
						|
      AND ocs.id = @pOsztalyId
 | 
						|
  END
 | 
						|
  ELSE BEGIN
 | 
						|
     SELECT 
 | 
						|
       T_INTEZMENYADATOK_OSSZES.C_NEV AS IntezmenyNeve
 | 
						|
      ,T_INTEZMENYADATOK_OSSZES.C_VAROS AS IntezmenyVaros
 | 
						|
      ,dbo.fnGetDokumentumIntezmenyCime(@pTanevId) AS IntezmenyCime
 | 
						|
      ,T_INTEZMENYADATOK_OSSZES.C_IGAZGATONEVE AS IntezmenyVezeto
 | 
						|
      ,T_INTEZMENYADATOK_OSSZES.C_OMKOD AS OMKod
 | 
						|
      ,T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM AS TELEFON
 | 
						|
      ,T_INTEZMENYADATOK_OSSZES.C_EMAILCIM AS EMAILCIM
 | 
						|
      ,T_TANEV_OSSZES.C_NEV AS TANEV
 | 
						|
      ,T_INTEZMENYADATOK_OSSZES.C_VAROS AS VAROS
 | 
						|
      ,ofo.C_NYOMTATASINEV AS CsoportVezeto
 | 
						|
      ,ofo.ID AS CsoportVezetoId
 | 
						|
      ,ocs.C_NEV AS OSZTALYNEV
 | 
						|
      ,@pOsztalyId AS CsoportId
 | 
						|
      ,GETDATE() AS Datum
 | 
						|
      ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
 | 
						|
      ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
 | 
						|
      ,o.C_TIPUSA AS CsoportTipusa
 | 
						|
      ,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
 | 
						|
      ,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
 | 
						|
    FROM T_INTEZMENYADATOK_OSSZES
 | 
						|
      INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id = @pOsztalyId and ocs.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID and ocs.C_TANEVID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and ocs.TOROLT = 'F'
 | 
						|
      INNER JOIN T_CSOPORT_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
 | 
						|
      LEFT JOIN T_FELHASZNALO_OSSZES ofo on ofo.ID = o.C_CSOPORTVEZETOID
 | 
						|
      INNER JOIN T_TANEV_OSSZES ON T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID AND T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID AND T_TANEV_OSSZES.TOROLT = 'F'
 | 
						|
    WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
 | 
						|
      AND T_TANEV_OSSZES.ID = @pTanevId
 | 
						|
  END
 | 
						|
  
 | 
						|
  --PRINT ' TANULÓK  ---------------------------------------------------------------'
 | 
						|
 | 
						|
  IF @pTanuloId IS NOT NULL BEGIN 
 | 
						|
    INSERT INTO #TanuloResult
 | 
						|
    SELECT 
 | 
						|
       dk.TanuloId 
 | 
						|
      ,dk.TanuloCsoportId
 | 
						|
      ,dk.BelepesDatum
 | 
						|
      ,dk.KilepesDatum
 | 
						|
      ,IIF(@nyomtatvanyNyelvEnum = 0, fh.C_NYOMTATASINEV, fh.C_UTONEV + ' ' + fh.C_VEZETEKNEV)
 | 
						|
      ,fh.C_OKTATASIAZONOSITO
 | 
						|
      ,dk.Torzslapszam
 | 
						|
      ,fh.C_SZULETESIHELY          
 | 
						|
      ,dbo.fnGetDokumentumDatumFormatum(fh.C_SZULETESIDATUM)         
 | 
						|
      ,fh.C_ANYJANEVE
 | 
						|
    FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') dk
 | 
						|
      INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.Id = dk.TanuloId
 | 
						|
    WHERE dk.TanuloId = @pTanuloId
 | 
						|
      AND (@kiiratkozottTanulokMegjelenitese = 1 OR (KilepesDatum IS NULL OR KilepesDatum >= @IdoszakVege))
 | 
						|
 | 
						|
    SELECT
 | 
						|
       TANULOID
 | 
						|
      ,TanuloCsoportId
 | 
						|
      ,BelepesDatum
 | 
						|
      ,KilepesDatum
 | 
						|
      ,TANULONEV
 | 
						|
      ,OKTATASIAZONOSITO
 | 
						|
      ,TORZSLAPSZAM
 | 
						|
      ,SZULHELY
 | 
						|
      ,SZULIDO
 | 
						|
      ,ANYJANEVE 
 | 
						|
      ,@OsztalycsoportNev AS Osztaly
 | 
						|
      ,@pOsztalyId AS OsztalyId
 | 
						|
      ,@OsztalycsoportVezeto AS Osztalyfonok
 | 
						|
    FROM #TanuloResult 
 | 
						|
    ORDER BY TANULONEV
 | 
						|
  END
 | 
						|
  ELSE BEGIN 
 | 
						|
    INSERT INTO #TanuloResult
 | 
						|
    SELECT 
 | 
						|
       dk.TanuloId 
 | 
						|
      ,dk.TanuloCsoportId
 | 
						|
      ,dk.BelepesDatum
 | 
						|
      ,dk.KilepesDatum
 | 
						|
      ,IIF(@nyomtatvanyNyelvEnum = 0, fh.C_NYOMTATASINEV, fh.C_UTONEV + ' ' + fh.C_VEZETEKNEV)
 | 
						|
      ,fh.C_OKTATASIAZONOSITO
 | 
						|
      ,dk.Torzslapszam
 | 
						|
      ,fh.C_SZULETESIHELY          
 | 
						|
      ,dbo.fnGetDokumentumDatumFormatum(fh.C_SZULETESIDATUM)         
 | 
						|
      ,fh.C_ANYJANEVE             
 | 
						|
    FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') dk
 | 
						|
      INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.Id = dk.TanuloId
 | 
						|
    WHERE @kiiratkozottTanulokMegjelenitese = 1 OR (KilepesDatum IS NULL OR KilepesDatum >= @IdoszakVege)
 | 
						|
 | 
						|
    SELECT
 | 
						|
       TANULOID
 | 
						|
      ,TanuloCsoportId
 | 
						|
      ,BelepesDatum
 | 
						|
      ,KilepesDatum
 | 
						|
      ,TANULONEV
 | 
						|
      ,OKTATASIAZONOSITO
 | 
						|
      ,TORZSLAPSZAM
 | 
						|
      ,SZULHELY
 | 
						|
      ,SZULIDO
 | 
						|
      ,ANYJANEVE
 | 
						|
      ,@OsztalycsoportNev AS Osztaly
 | 
						|
      ,@pOsztalyId AS OsztalyId
 | 
						|
      ,@OsztalycsoportVezeto AS Osztalyfonok
 | 
						|
    FROM #TanuloResult 
 | 
						|
    ORDER BY TANULONEV
 | 
						|
  
 | 
						|
  END 
 | 
						|
  
 | 
						|
  --PRINT ' ÉRTÉKELÉSEK  ---------------------------------------------------------------'
 | 
						|
 | 
						|
 | 
						|
  INSERT INTO #ErtekelesResult (
 | 
						|
     TanuloId 
 | 
						|
    ,TanuloCsoportId 
 | 
						|
    ,Targy
 | 
						|
    ,Jegyzet 
 | 
						|
    ,Ertekeles 
 | 
						|
    ,ErtekelesValue 
 | 
						|
    ,ErtekelesJegyzettel 
 | 
						|
    ,Oraszam 
 | 
						|
    ,RENDEZ1 
 | 
						|
    ,RENDEZ2 
 | 
						|
    ,RENDEZ3 
 | 
						|
    ,RENDEZ4 
 | 
						|
    ,RENDEZ5 
 | 
						|
    ,ErtekelesTemaIdegenNyelven
 | 
						|
    ,ErtekelesSzovegIdegenNyelven 
 | 
						|
    ,ErtekelesValueIdegenNyelven 
 | 
						|
    ,ErtekelesOsztalyzatIdegenNyelven 
 | 
						|
    ,ErtekelesSzazalek 
 | 
						|
    ,Jeloles 
 | 
						|
    ,TantargyNevIdegenNyelven 
 | 
						|
  ) EXEC sp_GetDokumentumErtekelesek
 | 
						|
     @osztalyId = @pOsztalyId
 | 
						|
    ,@tanevId = @pTanevId
 | 
						|
    ,@ertekelesTipus = @pErtekelesTipus
 | 
						|
    ,@isMuveszetOktatasi = @pIsMuveszetOktatasi
 | 
						|
    ,@tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos
 | 
						|
    ,@tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos
 | 
						|
    ,@isAltantargyBeszamitasa = @isAltantargyBeszamitasa
 | 
						|
    ,@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum
 | 
						|
    ,@idegenNyelvId	= 0
 | 
						|
 | 
						|
  SELECT 
 | 
						|
     ertekeles.TanuloId    
 | 
						|
    ,ertekeles.TanuloCsoportId  
 | 
						|
    ,Targy      
 | 
						|
    ,Jegyzet
 | 
						|
    ,Ertekeles
 | 
						|
    ,ErtekelesValue
 | 
						|
    ,ErtekelesJegyzettel        
 | 
						|
    ,Oraszam    
 | 
						|
    ,RENDEZ1
 | 
						|
    ,RENDEZ2
 | 
						|
    ,RENDEZ3
 | 
						|
    ,RENDEZ4
 | 
						|
    ,RENDEZ5
 | 
						|
    ,'' TanarNev
 | 
						|
  FROM #ErtekelesResult ertekeles
 | 
						|
    INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = ertekeles.TanuloId AND Tanulok.TanuloCsoportId = ertekeles.TanuloCsoportId
 | 
						|
  ORDER BY ertekeles.TanuloId, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
 | 
						|
  
 | 
						|
  IF(@pIsShowTanuloiAtlag = 1) BEGIN
 | 
						|
    PRINT 'Tanuló Átlaga'
 | 
						|
    SELECT
 | 
						|
       atlag.TanuloId          TanuloId
 | 
						|
      ,atlag.TanuloCsoportId
 | 
						|
      ,REPLACE(CAST(AVG(ErtekelesValue) AS DECIMAL(10,2)), '.', ',')    ErtekelesAtlag
 | 
						|
    FROM #ErtekelesResult atlag
 | 
						|
      INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = atlag.TanuloId AND Tanulok.TanuloCsoportId = atlag.TanuloCsoportId
 | 
						|
    GROUP BY atlag.TanuloId, atlag.TanuloCsoportId
 | 
						|
  END
 | 
						|
 
 | 
						|
  
 | 
						|
  --PRINT 'MULASZTÁSOK  ---------------------------------------------------------------'
 | 
						|
  INSERT INTO #MulasztasResult (
 | 
						|
     TanuloId 
 | 
						|
    ,TanuloCsoportId 
 | 
						|
    ,Igazolt 
 | 
						|
    ,Igazolatlan 
 | 
						|
    ,ElmeletIgazolt 
 | 
						|
    ,ElmeletIgazolatlan 
 | 
						|
    ,GyakorlatIgazolt 
 | 
						|
    ,GyakorlatIgazolatlan 
 | 
						|
    ,ElmeletOsszes 
 | 
						|
    ,GyakorlatOsszes 
 | 
						|
    ,Osszes   
 | 
						|
  ) EXEC sp_GetDokumentumMulasztasok
 | 
						|
     @osztalyId = @pOsztalyId
 | 
						|
    ,@tanevId = @pTanevId
 | 
						|
    ,@elmeletiOraPercben = @pElmeletiOraPercben
 | 
						|
    ,@gyakorlatiOraPercben = @pGyakorlatiOraPercben
 | 
						|
    ,@ertekelesTipus = @pErtekelesTipus
 | 
						|
    ,@iskolaErdekuSzamit = @pIskolaErdekuSzamit
 | 
						|
    ,@isMuveszetOktatasi = @pIsMuveszetOktatasi
 | 
						|
  
 | 
						|
  SELECT 
 | 
						|
     mu.TanuloId 
 | 
						|
    ,mu.TanuloCsoportId
 | 
						|
    ,Igazolt 
 | 
						|
    ,Igazolatlan 
 | 
						|
    ,ElmeletIgazolt 
 | 
						|
    ,ElmeletIgazolatlan 
 | 
						|
    ,GyakorlatIgazolt 
 | 
						|
    ,GyakorlatIgazolatlan 
 | 
						|
    ,ElmeletOsszes
 | 
						|
    ,GyakorlatOsszes
 | 
						|
    ,Osszes  
 | 
						|
  FROM #MulasztasResult mu
 | 
						|
    INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = mu.TanuloId AND Tanulok.TanuloCsoportId = mu.TanuloCsoportId
 | 
						|
  
 | 
						|
  --PRINT  'MENTESSÉGEK  ---------------------------------------------------------------'
 | 
						|
  SELECT 
 | 
						|
     Mentessegek.TanuloId  
 | 
						|
    ,Mentessegek.TanuloCsoportId
 | 
						|
    ,TantargyNev
 | 
						|
    ,MentessegOka
 | 
						|
  FROM fnGetDokumentumTanuloMentessegei(@pTanevId, @pOsztalyId, DEFAULT) Mentessegek
 | 
						|
    INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = Mentessegek.TanuloId AND Tanulok.TanuloCsoportId = Mentessegek.TanuloCsoportId
 | 
						|
 | 
						|
  --PRINT 'TANULÓ elérhetőségei  ---------------------------------------------------------------'
 | 
						|
  SELECT 
 | 
						|
     GondviseloNev  GondviseloNeve  
 | 
						|
    ,Gondviselo.TanuloId 
 | 
						|
  FROM fnGetDokumentumGondviselok (@pOsztalyId, @pTanevId, 'F', 'T') Gondviselo
 | 
						|
    INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = Gondviselo.TanuloId
 | 
						|
 | 
						|
  SELECT DISTINCT
 | 
						|
     TanuloTable.TanuloId AS tanuloID 
 | 
						|
    ,C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM AS CimText
 | 
						|
    ,cimTipus.C_NAME AS CimTipusa
 | 
						|
  FROM #TanuloResult TanuloTable 
 | 
						|
    INNER JOIN T_CIM_OSSZES cim ON cim.C_FELHASZNALOID = TanuloTable.TanuloId
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @pTanevId
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipus ON cim.C_CIMTIPUSA = cimTipus.ID AND cimTipus.C_TANEVID = @pTanevId
 | 
						|
  WHERE cim.TOROLT = 'F'
 | 
						|
    AND cim.C_GONDVISELOID IS NULL
 | 
						|
    AND cim.C_ALAPERTELMEZETT = 'T'
 | 
						|
    AND cim.C_TANEVID = @pTanevId
 | 
						|
 | 
						|
  --Tanuló összefüggő szakmai gyakorlat  
 | 
						|
  SELECT
 | 
						|
     SzakmaiGyakorlat.TanuloId
 | 
						|
    ,SzakmaiGyakorlat.TanuloCsoportId
 | 
						|
    ,isTeljesitett
 | 
						|
    ,Ertekeles
 | 
						|
    ,Megjegyzes
 | 
						|
    ,Datum
 | 
						|
  FROM fnGetDokumentumOsszefuggoSzakmaiGyakorlat(@pTanevId, @pOsztalyId) SzakmaiGyakorlat
 | 
						|
    INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = SzakmaiGyakorlat.TanuloId AND Tanulok.TanuloCsoportId = SzakmaiGyakorlat.TanuloCsoportId
 | 
						|
 | 
						|
  --PRINT 'Osztály adatok az iktatáshoz ---------------------------------------------------------------'
 | 
						|
  IF @pIsMuveszetOktatasi = 0 BEGIN
 | 
						|
    SELECT 
 | 
						|
       f.C_NYOMTATASINEV AS Osztalyfonok
 | 
						|
      ,f.ID AS OsztalyfonokId
 | 
						|
      ,ocs.C_NEV AS Osztalynev
 | 
						|
      ,@pOsztalyId AS OsztalyId
 | 
						|
      ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
 | 
						|
      ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
 | 
						|
      ,o.C_TANTERVID AS TantervId
 | 
						|
      ,ocs.C_KEPZESIFORMA AS KepzesiForma
 | 
						|
      ,o.C_AGAZAT AS Agazat
 | 
						|
      ,o.C_SZAKMACSOPORT AS SzakmaCsoport
 | 
						|
      ,o.C_SZAKKEPESITES AS Szakkepesites
 | 
						|
      ,o.C_RESZSZAKKEPESITES AS Reszszakkepesites
 | 
						|
      ,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
 | 
						|
      ,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
 | 
						|
      ,o.C_TECHNIKAIOSZTALY AS OJTechnikaiOsztaly
 | 
						|
      ,o.C_NEMZETISEGI AS OJNemzetisegi
 | 
						|
      ,o.C_KETTANNYELVU AS OJKettannyelvu
 | 
						|
      ,o.C_NYELVIELOKESZITO AS OJNyelviElokeszito
 | 
						|
      ,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI AS OJIsGyogypedagogiaiLogopediai
 | 
						|
      ,o.C_SPORT AS OJSportOsztaly
 | 
						|
      ,o.C_AJPROGRAM AS OJAranyJanosProgram
 | 
						|
    FROM T_OSZTALYCSOPORT_OSSZES ocs
 | 
						|
      INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.id
 | 
						|
      LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = o.C_OSZTALYFONOKID
 | 
						|
    WHERE ocs.ID = @pOsztalyId 
 | 
						|
      AND ocs.C_TANEVID = @pTanevId 
 | 
						|
      AND ocs.TOROLT = 'F';
 | 
						|
  END
 | 
						|
  ELSE BEGIN
 | 
						|
    SELECT 
 | 
						|
       f.C_NYOMTATASINEV AS CsoportVezeto
 | 
						|
      ,f.ID AS CsoportVezetoId
 | 
						|
      ,ocs.C_NEV AS OSZTALYNEV
 | 
						|
      ,@pOsztalyId AS CsoportId
 | 
						|
      ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
 | 
						|
      ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
 | 
						|
      ,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
 | 
						|
      ,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
 | 
						|
      ,cs.C_TIPUSA AS CsoportTipusa
 | 
						|
    FROM T_OSZTALYCSOPORT_OSSZES ocs
 | 
						|
      INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.id
 | 
						|
      LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = cs.C_CSOPORTVEZETOID
 | 
						|
    WHERE ocs.ID = @pOsztalyId 
 | 
						|
      AND ocs.C_TANEVID = @pTanevId 
 | 
						|
      AND ocs.TOROLT = 'F';
 | 
						|
  END
 | 
						|
 | 
						|
  --Bejegyzések
 | 
						|
  SELECT 
 | 
						|
     TanuloTable.TanuloId
 | 
						|
    ,TanuloTable.TanuloCsoportId
 | 
						|
    ,'A tanév során ' + CAST(SUM(Oraszam) AS nvarchar(max)) + ' óra közösségi szolgálatot teljesített.' AS  Bejegyzes
 | 
						|
  FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent (@pTanevId, @pOsztalyId, 0) bejegyzes
 | 
						|
    INNER JOIN #TanuloResult TanuloTable ON bejegyzes.TanuloId = TanuloTable.TanuloId AND bejegyzes.TanuloCsoportId = TanuloTable.TanuloCsoportId
 | 
						|
  WHERE @pIsKozossegiSzolgalat = 1
 | 
						|
--    AND ((@IdoszakVegeTanevRendje = 1395) OR (IntervallumVege <= @IdoszakVege OR @IdoszakVege BETWEEN IntervallumKezdete AND IntervallumVege))
 | 
						|
  GROUP BY TanuloTable.TanuloId, TanuloTable.TanuloCsoportId
 | 
						|
 | 
						|
  UNION 
 | 
						|
 | 
						|
  SELECT  
 | 
						|
     bejegyzes.TanuloId AS TanuloId
 | 
						|
     ,TanuloCsoportId
 | 
						|
     ,Tartalom AS Bejegyzes
 | 
						|
  FROM fnGetDokumentumTanulokFeljegyzesei(@pTanevId, @pOsztalyId, 0) bejegyzes
 | 
						|
    INNER JOIN #TanuloResult TanuloTable ON bejegyzes.TanuloId = TanuloTable.TanuloId
 | 
						|
  WHERE Tipusa IN (1546, @EsemenyTipus)
 | 
						|
    AND BelepesDatum <= Datum
 | 
						|
    AND (KilepesDatum IS NULL OR KilepesDatum > Datum) 
 | 
						|
 | 
						|
  -- Zaradekok
 | 
						|
    SELECT  
 | 
						|
       Hatarozatok.TanuloId
 | 
						|
      ,Hatarozatok.TanuloCsoportId
 | 
						|
      ,Bejegyzes AS VegZaradek
 | 
						|
    FROM fnGetDokumentumTanuloZaradekai(@pTanevId, @pOsztalyId, 1, 0) Hatarozatok
 | 
						|
      INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = Hatarozatok.TanuloId AND Tanulok.TanuloCsoportId = Hatarozatok.TanuloCsoportId
 | 
						|
    WHERE @pErtekelesTipus IN (1519, 1520)
 | 
						|
  
 | 
						|
END
 | 
						|
GO
 | 
						|
 |