477 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			477 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS sp_GetTorzslap
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE sp_GetTorzslap
 | 
						|
   @osztalyId int
 | 
						|
  ,@tanevId int
 | 
						|
  ,@ertekelesTipus int
 | 
						|
  ,@kesesTipus int
 | 
						|
  ,@elmeletiOraPercben int = 45
 | 
						|
  ,@gyakorlatiOraPercben int = 45
 | 
						|
  ,@iskolaErdekuSzamit bit
 | 
						|
  ,@nyomtatvanyNyelvEnum int
 | 
						|
  ,@isKozossegiSzolgalat bit
 | 
						|
  ,@tanitasiHetekSzamaVegzos int
 | 
						|
  ,@tanitasiHetekSzamaNemVegzos int
 | 
						|
  ,@isAltantargyBeszamitasa bit
 | 
						|
  ,@isMuveszetOktatasi bit = 0
 | 
						|
AS
 | 
						|
BEGIN  
 | 
						|
  SET NOCOUNT ON;
 | 
						|
 CREATE TABLE #Student (
 | 
						|
     TanuloId int
 | 
						|
    ,NaploSorszam int
 | 
						|
    ,TorzslapSzam  nvarchar(500)
 | 
						|
    ,TanuloCsoportId int
 | 
						|
    ,BelepesDatum datetime
 | 
						|
    ,KilepesDatum datetime
 | 
						|
    ,Agazat nvarchar(250)
 | 
						|
    ,Szakkepesites nvarchar(250)
 | 
						|
    ,ReszSzakkepesites nvarchar(250)
 | 
						|
    ,SzakmaCsoport  nvarchar(250)
 | 
						|
    ,OsztalyId INT
 | 
						|
    ,RowNum int
 | 
						|
    ,INDEX IX_01 CLUSTERED (TanuloId)
 | 
						|
  )
 | 
						|
 | 
						|
  INSERT INTO #Student (
 | 
						|
     TanuloId
 | 
						|
    ,NaploSorszam
 | 
						|
    ,TorzslapSzam
 | 
						|
    ,TanuloCsoportId
 | 
						|
    ,BelepesDatum
 | 
						|
    ,KilepesDatum
 | 
						|
    ,Agazat
 | 
						|
    ,Szakkepesites
 | 
						|
    ,ReszSzakkepesites
 | 
						|
    ,SzakmaCsoport
 | 
						|
    ,OsztalyId
 | 
						|
    ,RowNum
 | 
						|
  ) SELECT 
 | 
						|
     OsztalyTanuloi.TanuloId AS TanuloId
 | 
						|
    ,OsztalyTanuloi.NaploSorszam AS NaploSorszam
 | 
						|
    ,OsztalyTanuloi.TorzslapSzam AS TorzslapSzam  
 | 
						|
    ,OsztalyTanuloi.TanuloCsoportId AS TanuloCsoportId
 | 
						|
    ,OsztalyTanuloi.BelepesDatum AS BelepesDatum
 | 
						|
    ,OsztalyTanuloi.KilepesDatum AS KilepesDatum
 | 
						|
    ,Agazat.C_NAME AS Agazat
 | 
						|
    ,IIF(Szakkep.ID = 5527, '', Szakkep.C_NAME + '(szakképesítés)') AS Szakkepesites
 | 
						|
    ,IIF(ReszSzakkep.ID = 6108, '', ReszSzakkep.C_NAME + '(részszakképesítés)') AS ReszSzakkepesites
 | 
						|
    ,SzakmaCsop.C_NAME AS SzakmaCsoport
 | 
						|
    ,@osztalyId AS OsztalyId
 | 
						|
    ,ROW_NUMBER() OVER(ORDER BY LEN(TorzslapSzam), TorzslapSzam) AS RowNum
 | 
						|
  FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi
 | 
						|
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Agazat ON Agazat.ID = OsztalyTanuloi.AgazatId AND Agazat.C_TANEVID = @tanevId
 | 
						|
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Szakkep ON Szakkep.ID = OsztalyTanuloi.SzakkepesitesId AND Szakkep.C_TANEVID = @tanevId
 | 
						|
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ReszSzakkep ON ReszSzakkep.ID = OsztalyTanuloi.ReszSzakkepeitesId AND ReszSzakkep.C_TANEVID = @tanevId
 | 
						|
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES SzakmaCsop ON SzakmaCsop.ID = OsztalyTanuloi.SzakmaCsoportId AND SzakmaCsop.C_TANEVID = @tanevId
 | 
						|
  
 | 
						|
  DECLARE @minTorzslapszam nvarchar(500) = (
 | 
						|
    SELECT TOP (1) TorzslapSzam 
 | 
						|
    FROM #Student 
 | 
						|
    ORDER BY RowNum ASC
 | 
						|
  )
 | 
						|
  
 | 
						|
  DECLARE @maxTorzslapszam nvarchar(500) = (
 | 
						|
    SELECT TOP (1) TorzslapSzam 
 | 
						|
    FROM #Student 
 | 
						|
    ORDER BY RowNum DESC
 | 
						|
  )  
 | 
						|
 
 | 
						|
  --Intézmény, tanév
 | 
						|
  IF @isMuveszetOktatasi = 0 BEGIN
 | 
						|
    SELECT DISTINCT 
 | 
						|
       OsztalyCsoport.C_NEV AS OsztalyNev
 | 
						|
      ,Osztaly.C_OSZTALYNAPLOLEIRASA AS OsztalyMegjegyzes
 | 
						|
      ,Osztaly.C_OSZTALYFONOKID AS PartnerID
 | 
						|
      ,IIF(@nyomtatvanyNyelvEnum = 0, ofo.C_NYOMTATASINEV, ofo.C_UTONEV + ' ' + ofo.C_VEZETEKNEV) AS Osztalyfonok
 | 
						|
      ,i.C_IGAZGATONEVE AS IntezmenyVezeto
 | 
						|
      ,i.C_NEV AS IntezmenyNeve
 | 
						|
      ,i.C_VAROS AS IntezmenyVaros
 | 
						|
      ,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS IntezmenyCime
 | 
						|
      ,i.C_OMKOD AS IntezmenyOMKod
 | 
						|
      ,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(Osztaly.C_OSZTALYNAPLOMEGNYITASA), FORMAT(Osztaly.C_OSZTALYNAPLOMEGNYITASA, 'dd. MM. yyyy')) AS NaploMegnyitasanakDatuma
 | 
						|
      ,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(Osztaly.C_OSZTALYNAPLOZARASA), FORMAT(Osztaly.C_OSZTALYNAPLOZARASA, 'dd. MM. yyyy')) AS NaploZarasanakDatuma 
 | 
						|
      ,tanev.C_NEV AS Tanev
 | 
						|
      ,(SELECT COUNT(TanuloId) FROM #Student) AS TanuloSzam /*TODO:Tobb Osztaly Nem kell, mert egy adott osztályt kérdez le, ami paraméterként jön át *//*OM-1609*/
 | 
						|
      ,@minTorzslapszam AS MinNaploSorszam
 | 
						|
      ,@maxTorzslapszam AS MaxNaploSorszam
 | 
						|
      ,OsztalyCsoport.ID AS OsztalyId
 | 
						|
    FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport 
 | 
						|
      INNER JOIN T_OSZTALY_OSSZES Osztaly ON OsztalyCsoport.ID = Osztaly.ID AND Osztaly.TOROLT = 'F'
 | 
						|
      LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = Osztaly.C_OSZTALYFONOKID 
 | 
						|
      INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID = OsztalyCsoport.C_INTEZMENYID AND i.C_TANEVID = @tanevId
 | 
						|
      INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = i.C_TANEVID and tanev.TOROLT = 'F'
 | 
						|
    WHERE OsztalyCsoport.ID = @osztalyId 
 | 
						|
  END
 | 
						|
  ELSE
 | 
						|
  BEGIN
 | 
						|
    SELECT DISTINCT 
 | 
						|
       OsztalyCsoport.C_NEV AS OsztalyNev
 | 
						|
      ,csoport.C_CSOPORTNAPLOLEIRAS AS OsztalyMegjegyzes
 | 
						|
      ,csoport.C_CSOPORTVEZETOID AS PartnerID
 | 
						|
      ,IIF(@nyomtatvanyNyelvEnum = 0, ofo.C_NYOMTATASINEV, ofo.C_UTONEV + ' ' + ofo.C_VEZETEKNEV) AS Osztalyfonok
 | 
						|
      ,i.C_IGAZGATONEVE AS IntezmenyVezeto
 | 
						|
      ,i.C_NEV AS IntezmenyNeve
 | 
						|
      ,i.C_VAROS AS IntezmenyVaros
 | 
						|
      ,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS IntezmenyCime
 | 
						|
      ,i.C_OMKOD AS IntezmenyOMKod
 | 
						|
      ,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(csoport.C_CSOPORTNAPLOMEGNYITASA), FORMAT(csoport.C_CSOPORTNAPLOMEGNYITASA, 'dd. MM. yyyy')) AS NaploMegnyitasanakDatuma
 | 
						|
      ,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(csoport.C_CSOPORTNAPLOZARASA), FORMAT(csoport.C_CSOPORTNAPLOZARASA, 'dd. MM. yyyy')) AS NaploZarasanakDatuma 
 | 
						|
      ,tanev.C_NEV AS Tanev
 | 
						|
      ,(SELECT COUNT(TanuloId) FROM #Student) AS TanuloSzam
 | 
						|
      ,@minTorzslapszam AS MinNaploSorszam
 | 
						|
      ,@maxTorzslapszam AS MaxNaploSorszam
 | 
						|
      ,OsztalyCsoport.ID AS OsztalyId
 | 
						|
    FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport 
 | 
						|
      INNER JOIN T_CSOPORT_OSSZES csoport ON OsztalyCsoport.ID = csoport.ID AND csoport.TOROLT = 'F'
 | 
						|
      LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = csoport.C_CSOPORTVEZETOID 
 | 
						|
      INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID = OsztalyCsoport.C_INTEZMENYID AND i.C_TANEVID = @tanevId
 | 
						|
      INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = i.C_TANEVID and tanev.TOROLT = 'F'
 | 
						|
    WHERE OsztalyCsoport.ID = @osztalyId 
 | 
						|
  END
 | 
						|
 | 
						|
  --Osztály, évfolyam
 | 
						|
  SELECT 
 | 
						|
     OsztalyCsoport.C_NEV
 | 
						|
    ,ISNULL(EvfolyamTipusa.C_NAME_1, (SELECT C_NAME_1 FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TYPE = 'EvfolyamTipus' AND ID = 1296 AND C_TANEVID = 28)) AS C_EVFOLYAMTIPUSA_DNAME      -- Ha nincs évfolyam beállítva, akkor Na-t kell beírni
 | 
						|
    ,OsztalyCsoport.ID AS OsztalyId
 | 
						|
  FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
 | 
						|
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES EvfolyamTipusa ON EvfolyamTipusa.Id = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipusa.C_TANEVID = @tanevId
 | 
						|
  WHERE OsztalyCsoport.ID = @osztalyId
 | 
						|
  
 | 
						|
  
 | 
						|
  CREATE TABLE #TanuloAdatok (
 | 
						|
     TanuloId int 
 | 
						|
    ,Azonosito nvarchar(40)
 | 
						|
    ,Nev nvarchar(120)
 | 
						|
    ,SzuletesiDatum nvarchar(20)
 | 
						|
    ,SzuletesiHely nvarchar(50)
 | 
						|
    ,Allampolgarsag nvarchar(250)
 | 
						|
    ,AnyjaNeve nvarchar(64)
 | 
						|
    ,SzuletesiOrszag nvarchar(250)
 | 
						|
    ,TorzslapSzam nvarchar(500)
 | 
						|
    ,GondviseloNeve nvarchar(max)
 | 
						|
    ,NaploSorszam int
 | 
						|
    ,Nev2 nvarchar(255)
 | 
						|
    ,SajatosNevelesu char(1)
 | 
						|
    ,TanuloCsoportId int
 | 
						|
    ,BelepesDatum datetime
 | 
						|
    ,KilepesDatum datetime
 | 
						|
    ,Agazat nvarchar(250)
 | 
						|
    ,Szakkepesites nvarchar(250)
 | 
						|
    ,ReszSzakkepesites nvarchar(250)
 | 
						|
    ,SzakmaCsoport nvarchar(250)
 | 
						|
    ,OsztalyId INT
 | 
						|
  )
 | 
						|
  
 | 
						|
  --Tanuló adatok  
 | 
						|
  INSERT INTO #TanuloAdatok (
 | 
						|
     TanuloId
 | 
						|
    ,Azonosito
 | 
						|
    ,Nev
 | 
						|
    ,SzuletesiDatum
 | 
						|
    ,SzuletesiHely
 | 
						|
    ,Allampolgarsag
 | 
						|
    ,AnyjaNeve
 | 
						|
    ,SzuletesiOrszag
 | 
						|
    ,TorzslapSzam
 | 
						|
    ,GondviseloNeve
 | 
						|
    ,NaploSorszam
 | 
						|
    ,Nev2
 | 
						|
    ,SajatosNevelesu
 | 
						|
    ,TanuloCsoportId
 | 
						|
    ,BelepesDatum
 | 
						|
    ,KilepesDatum
 | 
						|
    ,Agazat
 | 
						|
    ,Szakkepesites
 | 
						|
    ,ReszSzakkepesites
 | 
						|
    ,SzakmaCsoport
 | 
						|
    ,OsztalyId
 | 
						|
  )  SELECT-- DISTINCT 
 | 
						|
     felhasznalo.ID AS TanuloId
 | 
						|
    ,felhasznalo.C_OKTATASIAZONOSITO AS Azonosito
 | 
						|
    ,IIF(@nyomtatvanyNyelvEnum = 0, felhasznalo.C_NYOMTATASINEV, felhasznalo.C_UTONEV + ' '  + felhasznalo.C_VEZETEKNEV) AS Nev
 | 
						|
    ,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(felhasznalo.C_SZULETESIDATUM), FORMAT(felhasznalo.C_SZULETESIDATUM, 'dd. MM. yyyy')) AS SzuletesiDatum
 | 
						|
    ,felhasznalo.C_SZULETESIHELY AS SzuletesiHely
 | 
						|
    ,IIF(@nyomtatvanyNyelvEnum = 0, LOWER(allampolgarsag.C_NAME), dbo.fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, felhasznalo.C_ALLAMPOLGARSAGA)) AS Allampolgarsag
 | 
						|
    ,IIF(@nyomtatvanyNyelvEnum = 0, C_ANYJANEVE, LTRIM(SUBSTRING(C_ANYJANEVE, C_ANYJANEVEELVALASZTO + 1 , LEN(C_ANYJANEVE) - C_ANYJANEVEELVALASZTO)) + ' ' + LTRIM(SUBSTRING(C_ANYJANEVE, 0, C_ANYJANEVEELVALASZTO + 1))) AS AnyjaNeve
 | 
						|
    ,IIF(@nyomtatvanyNyelvEnum = 0, szorszag.C_NAME, dbo.fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, felhasznalo.C_SZULETESIORSZAG)) AS SzuletesiOrszag
 | 
						|
    ,OsztalyTanuloi.TorzslapSzam AS TorzslapSzam
 | 
						|
    ,gondviselo.Gondviselok AS GondviseloNeve
 | 
						|
    ,OsztalyTanuloi.NaploSorszam AS NaploSorszam
 | 
						|
    ,felhasznalo.C_NYOMTATASINEV AS Nev2
 | 
						|
    ,Tanulo.C_SAJATOSNEVELESU AS SajatosNevelesu
 | 
						|
    ,OsztalyTanuloi.TanuloCsoportId AS TanuloCsoportId
 | 
						|
    ,OsztalyTanuloi.BelepesDatum AS BelepesDatum
 | 
						|
    ,OsztalyTanuloi.KilepesDatum AS KilepesDatum
 | 
						|
    ,OsztalyTanuloi.Agazat AS Agazat
 | 
						|
    ,OsztalyTanuloi.Szakkepesites AS Szakkepesites
 | 
						|
    ,OsztalyTanuloi.ReszSzakkepesites AS ReszSzakkepesites
 | 
						|
    ,OsztalyTanuloi.SzakmaCsoport AS SzakmaCsoport
 | 
						|
    ,OsztalyTanuloi.OsztalyId AS OsztalyId
 | 
						|
  FROM T_FELHASZNALO_OSSZES felhasznalo
 | 
						|
    INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = felhasznalo.Id
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES allampolgarsag ON allampolgarsag.ID = felhasznalo.C_ALLAMPOLGARSAGA AND allampolgarsag.C_TANEVID = @tanevId
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES szorszag ON szorszag.ID = felhasznalo.C_SZULETESIORSZAG AND szorszag.C_TANEVID = @tanevId
 | 
						|
    LEFT JOIN (
 | 
						|
      SELECT DISTINCT
 | 
						|
        g.TanuloId TanuloId
 | 
						|
        ,(SELECT GondviseloNev + IIF(@nyomtatvanyNyelvEnum = 0, N' (' + LOWER(d.C_NAME) + N')', N'') + NCHAR(10) 
 | 
						|
            FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') bg    
 | 
						|
              INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.ID = bg.RokonsagifokId AND d.C_TANEVID = @tanevId      
 | 
						|
            WHERE 
 | 
						|
              bg.TanuloId = g.TanuloId
 | 
						|
            FOR XML PATH('')) Gondviselok
 | 
						|
      FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') g
 | 
						|
      ) gondviselo on felhasznalo.ID = gondviselo.TanuloId
 | 
						|
    INNER JOIN #Student OsztalyTanuloi ON OsztalyTanuloi.TanuloId = felhasznalo.ID
 | 
						|
  WHERE 
 | 
						|
      felhasznalo.C_TANEVID = @tanevId
 | 
						|
  AND felhasznalo.TOROLT = 'F'
 | 
						|
  ORDER BY Nev
 | 
						|
 | 
						|
  SELECT 
 | 
						|
     TanuloId
 | 
						|
    ,Azonosito
 | 
						|
    ,Nev
 | 
						|
    ,SzuletesiDatum
 | 
						|
    ,SzuletesiHely
 | 
						|
    ,Allampolgarsag
 | 
						|
    ,Anyjaneve
 | 
						|
    ,SzuletesiOrszag
 | 
						|
    ,TorzslapSzam
 | 
						|
    ,GondviseloNeve
 | 
						|
    ,NaploSorszam
 | 
						|
    ,Nev2
 | 
						|
    ,SajatosNevelesu
 | 
						|
    ,TanuloCsoportId
 | 
						|
    ,BelepesDatum
 | 
						|
    ,KilepesDatum
 | 
						|
    ,Szakkepesites
 | 
						|
    ,ReszSzakkepesites
 | 
						|
    ,OsztalyId
 | 
						|
  FROM #TanuloAdatok 
 | 
						|
  ORDER BY LEN(TorzslapSzam), TorzslapSzam
 | 
						|
 | 
						|
  --Határozat
 | 
						|
  SELECT 
 | 
						|
     TanuloId
 | 
						|
    ,TanuloCsoportId
 | 
						|
    ,Bejegyzes
 | 
						|
  FROM fnGetDokumentumTanuloZaradekai(@tanevId, @osztalyId)
 | 
						|
 | 
						|
  --Egyéb bejegyzések 
 | 
						|
  SELECT 
 | 
						|
     bejegyzes.TanuloId AS TanuloId
 | 
						|
    ,s.TanuloCsoportId AS TanuloCsoportId
 | 
						|
    ,Tartalom AS Bejegyzes 
 | 
						|
    ,C_NAME AS Tipus_DNAME    
 | 
						|
    ,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(bejegyzes.Datum), FORMAT(bejegyzes.Datum, 'dd. MM. yyyy')) AS Datum
 | 
						|
  FROM fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId) bejegyzes
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = Tipusa AND C_TANEVID = @tanevId AND d.TOROLT = 'F'
 | 
						|
    INNER JOIN #Student s ON s.TanuloId = bejegyzes.TanuloId
 | 
						|
  WHERE Tipusa IN (1545, 1548, 1553) --KRETA-6062
 | 
						|
    AND BelepesDatum <= Datum
 | 
						|
    AND (KilepesDatum IS NULL OR KilepesDatum > Datum)
 | 
						|
  ORDER BY Datum
 | 
						|
 | 
						|
  -- MULASZTÁSOK
 | 
						|
  CREATE TABLE #Mulasztasok (
 | 
						|
     TanuloId int
 | 
						|
    ,TanuloCsoportId int
 | 
						|
    ,Igazolt int
 | 
						|
    ,Igazolatlan int
 | 
						|
    ,ElmeletIgazolt int
 | 
						|
    ,ElmeletIgazolatlan int
 | 
						|
    ,GyakorlatIgazolt int
 | 
						|
    ,GyakorlatIgazolatlan int
 | 
						|
    ,ElmeletOsszes int
 | 
						|
    ,GyakorlatOsszes int
 | 
						|
    ,Osszes int
 | 
						|
  )
 | 
						|
 | 
						|
  INSERT INTO #Mulasztasok (
 | 
						|
     TanuloId 
 | 
						|
    ,TanuloCsoportId 
 | 
						|
    ,Igazolt 
 | 
						|
    ,Igazolatlan 
 | 
						|
    ,ElmeletIgazolt 
 | 
						|
    ,ElmeletIgazolatlan 
 | 
						|
    ,GyakorlatIgazolt 
 | 
						|
    ,GyakorlatIgazolatlan 
 | 
						|
    ,ElmeletOsszes 
 | 
						|
    ,GyakorlatOsszes 
 | 
						|
    ,Osszes 
 | 
						|
  ) EXEC sp_GetDokumentumMulasztasok
 | 
						|
     @osztalyId = @osztalyId
 | 
						|
    ,@tanevId = @tanevId
 | 
						|
    ,@elmeletiOraPercben = @elmeletiOraPercben
 | 
						|
    ,@gyakorlatiOraPercben = @gyakorlatiOraPercben
 | 
						|
    ,@ertekelesTipus = @ertekelesTipus
 | 
						|
    ,@iskolaErdekuSzamit = @iskolaErdekuSzamit
 | 
						|
    ,@isMuveszetOktatasi = @isMuveszetOktatasi
 | 
						|
  
 | 
						|
  SELECT
 | 
						|
     TanuloTable.TanuloId 
 | 
						|
    ,TanuloTable.TanuloCsoportId
 | 
						|
    ,Igazolt 
 | 
						|
    ,Igazolatlan 
 | 
						|
    ,ElmeletIgazolt 
 | 
						|
    ,ElmeletIgazolatlan 
 | 
						|
    ,GyakorlatIgazolt 
 | 
						|
    ,GyakorlatIgazolatlan 
 | 
						|
    ,ElmeletOsszes
 | 
						|
    ,GyakorlatOsszes
 | 
						|
    ,Osszes  
 | 
						|
  FROM #Mulasztasok mulasztasok
 | 
						|
    INNER JOIN #Student TanuloTable ON mulasztasok.TanuloId = TanuloTable.TanuloId AND TanuloTable.TanuloCsoportId = mulasztasok.TanuloCsoportId
 | 
						|
 | 
						|
  -- ÉRTÉKELÉSEK
 | 
						|
  CREATE TABLE #Ertekelesek (
 | 
						|
     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)
 | 
						|
  )
 | 
						|
  
 | 
						|
  INSERT INTO #Ertekelesek
 | 
						|
  EXEC sp_GetDokumentumErtekelesek
 | 
						|
    @osztalyId = @osztalyId,
 | 
						|
    @tanevId = @tanevId,
 | 
						|
    @ertekelesTipus =@ertekelesTipus,
 | 
						|
    @nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum,
 | 
						|
    @tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos,
 | 
						|
    @tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos,
 | 
						|
    @isAltantargyBeszamitasa = @isAltantargyBeszamitasa,
 | 
						|
    @isMuveszetOktatasi = @isMuveszetOktatasi
 | 
						|
 | 
						|
  SELECT 
 | 
						|
     TanuloId    
 | 
						|
    ,TanuloCsoportId  
 | 
						|
    ,Targy    
 | 
						|
    ,Jegyzet
 | 
						|
    ,Ertekeles      
 | 
						|
    ,ErtekelesJegyzettel        
 | 
						|
    ,Oraszam    
 | 
						|
    ,RENDEZ1  RENDEZ
 | 
						|
  FROM #Ertekelesek
 | 
						|
  ORDER BY RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
 | 
						|
 | 
						|
  --Tanuló lista
 | 
						|
  SELECT 
 | 
						|
     Nev
 | 
						|
    ,NaploSorszam
 | 
						|
    ,TorzslapSzam 
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum (KilepesDatum) KilepesDatum
 | 
						|
    ,TanuloId
 | 
						|
    ,OsztalyId
 | 
						|
  FROM #TanuloAdatok
 | 
						|
  ORDER BY Nev
 | 
						|
 | 
						|
  --Közösségi szolgálat
 | 
						|
  SELECT DISTINCT
 | 
						|
     OsztalyTanuloi.TanuloId
 | 
						|
    ,OsztalyTanuloi.TanuloCsoportId
 | 
						|
    ,Datum AS Datum
 | 
						|
    ,ISNULL(' - ' + Megjegyzes, '') AS Megjegyzes
 | 
						|
    ,Oraszam
 | 
						|
    ,TeljesitesHelye
 | 
						|
    ,FeljegyzoNeve
 | 
						|
    ,Tipus
 | 
						|
    ,KozossegiSzolgalatId
 | 
						|
    ,IntervallumKezdete
 | 
						|
  FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent(@tanevId, @osztalyId) KozossegiSzolgalat
 | 
						|
    INNER JOIN #Student OsztalyTanuloi ON OsztalyTanuloi.TanuloId = KozossegiSzolgalat.TanuloId 
 | 
						|
  WHERE @isKozossegiSzolgalat = 1 /*TODO: javítani...*/
 | 
						|
  ORDER BY IntervallumKezdete
 | 
						|
 | 
						|
  --SNI
 | 
						|
  SELECT 
 | 
						|
     s.TanuloId AS TanuloId
 | 
						|
    ,s.TanuloCsoportId AS TanuloCsoportId
 | 
						|
    ,ISNULL(Tanulo.C_SNIKIALLITOINTEZMENY, '') AS SNIKiallitoIntezmeny
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_SNIOKMANYERVENYESSEGKEZDETE) AS SNIKezdete
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_SNIKONTROLLIDOPONT) AS SNIKontrolIdopont
 | 
						|
    ,ISNULL(Tanulo.C_ERTELMIFOGYATEKOSOKMANYSZAM + '(Értelmi fogyatékos okmányszám) ', '')
 | 
						|
    +ISNULL(Tanulo.C_LATASSERULTOKMANYSZAM + '(Látássérült okmányszám) ', '')            
 | 
						|
    +ISNULL(Tanulo.C_HALLASSERULTOKMANYSZAM + '(Hallássérült okmányszám) ', '')          
 | 
						|
    +ISNULL(Tanulo.C_BESZEDFOGYATEKOSOKMANYSZAM + '(Beszédfogyatékos okmányszám) ', '')    
 | 
						|
    +ISNULL(Tanulo.C_MOZGASSERULTOKMANYSZAM + '(Mozgáskorlátozott okmányszám) ', '')
 | 
						|
    +ISNULL(Tanulo.C_DISZGRAFIAOKMANYSZAM + '(Diszgráfia okmányszám) ', '')
 | 
						|
    +ISNULL(Tanulo.C_DISZKALKULIAOKMANYSZAM + '(Diszkalkulia okmányszám) ', '')
 | 
						|
    +ISNULL(Tanulo.C_DISZLEXIAOKMANYSZAM + '(Diszlexia okmányszám) ', '')  
 | 
						|
    +ISNULL(TANULO.C_VISELKEDESORGANIKUSOKMANYSZA + '(Viselkedés fejlődésének rendellenessége okmányszám) ', '')
 | 
						|
    +ISNULL(TANULO.C_VISELKEDESNEMORGANIKUSOKMANY + '(Viselkedés fejlődésének rendellenessége okmányszám) ', '')    
 | 
						|
    +ISNULL(TANULO.C_MEGISMEROORGANIKUSOKMANYSZAM + '(Megismerő funkciók rendellenessége okmányszám) ', '')    
 | 
						|
    +ISNULL(TANULO.C_MEGISMERONEMORGANIKUSOKMANYS + '(Megismerő funkciók rendellenessége okmányszám) ', '') AS SNIOkmanyszamok
 | 
						|
  FROM #Student s
 | 
						|
    INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id =  s.TanuloId
 | 
						|
  WHERE Tanulo.C_SAJATOSNEVELESU = 'T'
 | 
						|
 | 
						|
  --BTM
 | 
						|
  SELECT 
 | 
						|
     s.TanuloId AS TanuloId
 | 
						|
    ,s.TanuloCsoportId AS TanuloCsoportId
 | 
						|
    ,ISNULL(Tanulo.C_BTMKIALLITOINTEZMENY,'') AS BTMKiallitoIntezmeny
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_BTMOKMANYERVENYESSEGKEZDETE) AS BTMKezdete
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_BTMKONTROLLIDOPONT) AS BTMKontrolIdopont
 | 
						|
    ,ISNULL(Tanulo.C_BTMHATAROZATOKMANYSZAM + '(BTM határozat okmányszáma) ', '')            
 | 
						|
    +IIF(Tanulo.C_BEILLESZKEDESIPROBLEMAVALKUZ ='T', 'Beilleszkedési problémával küzd, ', '')          
 | 
						|
    +IIF(Tanulo.C_MAGATARTASIPROBLEMAVALKUZD ='T', 'Magatartási problémával küzd, ', '')    
 | 
						|
    +IIF(Tanulo.C_TANULASIPROBLEMAVALKUZD ='T', 'Tanulási problémával küzd -  ', '')
 | 
						|
    +IIF(Tanulo.C_TANULASIPROBLEMADISZGRAFIA ='T', 'Diszgráfia, ', '')
 | 
						|
    +IIF(Tanulo.C_TANULASIPROBLEMAVALKUZDDISZK ='T', 'Diszkalkulia, ', '')
 | 
						|
    +IIF(Tanulo.C_TANULASIPROBLEMAVALKUZDDISZL ='T', 'Diszlexia ', '') AS BTMOkmanyszamok
 | 
						|
  FROM #Student s
 | 
						|
    INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id =  s.TanuloId
 | 
						|
  WHERE Tanulo.C_BTMPROBLEMAS = 'T'
 | 
						|
 | 
						|
  --Tanuló felmentései
 | 
						|
  SELECT
 | 
						|
     TanuloId  
 | 
						|
    ,TanuloCsoportId
 | 
						|
    ,TantargyNevMentessegNelkul
 | 
						|
    ,MentessegOka
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(Kezdete)
 | 
						|
  FROM fnGetDokumentumTanuloMentessegei(@tanevId, @osztalyId, @nyomtatvanyNyelvEnum)
 | 
						|
 | 
						|
 | 
						|
  --Tanuló kzösségi szolgálat feljegzései
 | 
						|
   SELECT 
 | 
						|
     s.TanuloId AS TanuloId
 | 
						|
    ,s.TanuloCsoportId AS TanuloCsoportId
 | 
						|
    ,te.C_TARTALOM AS Bejegyzes 
 | 
						|
    ,d.C_NAME AS Tipus_DNAME    
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(te.C_ROGZITESDATUMA) AS Datum    
 | 
						|
  FROM T_TANULO_TANULOESEMENY tte
 | 
						|
    INNER JOIN #Student s ON s.TanuloId = tte.C_TANULOID
 | 
						|
    INNER JOIN T_TANULOESEMENY_OSSZES te on te.ID = tte.C_TANULOESEMENYID AND te.C_TANEVID = @tanevId
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = te.C_TIPUS AND d.C_TANEVID = @tanevId AND d.TOROLT = 'F'
 | 
						|
  WHERE te.TOROLT = 'F' AND te.C_TIPUS = 1546
 | 
						|
 | 
						|
  SELECT
 | 
						|
     Tanulok.TanuloId      TanuloId
 | 
						|
    ,Tanulok.TanuloCsoportId  TanuloCsoportId
 | 
						|
    ,C_TELJESITETT        isTeljesitett
 | 
						|
    ,Osztalyzat.C_VALUE      Ertekeles
 | 
						|
    ,'[' + C_MEGJEGYZES + ']'  Megjegyzes
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(OsszefuggoSzakGyak.C_TELJESITESDATUM)  Datum
 | 
						|
  FROM #Student Tanulok
 | 
						|
    INNER JOIN T_OSSZEFUGGOSZAKGYAK_OSSZES OsszefuggoSzakGyak ON OsszefuggoSzakGyak.C_TANULOID = Tanulok.TanuloId AND OsszefuggoSzakGyak.TOROLT = 'F' AND OsszefuggoSzakGyak.C_TANEVID  = @tanevid
 | 
						|
    LEFT JOIN T_TANULOERTEKELES_OSSZES Ertekeles ON Ertekeles.C_OSSZEFUGGOSZAKGYAKID = OsszefuggoSzakGyak.ID AND Ertekeles.TOROLT = 'F' AND Ertekeles.C_TANEVID = @tanevid
 | 
						|
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Osztalyzat ON Osztalyzat.ID = Ertekeles.C_ERTEKELESOSZTALYZATID AND Osztalyzat.C_TANEVID = Ertekeles.C_TANEVID AND Osztalyzat.C_INTEZMENYID = Ertekeles.C_INTEZMENYID
 | 
						|
  WHERE Tanulok.BelepesDatum <= OsszefuggoSzakGyak.C_TELJESITESDATUM 
 | 
						|
     AND (Tanulok.KilepesDatum  >= OsszefuggoSzakGyak.C_TELJESITESDATUM OR Tanulok.KilepesDatum IS NULL)     
 | 
						|
END 
 | 
						|
GO
 |