159 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			159 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS dbo.sp_GetTanulokTantargyMulasztasokReszletezese
 | 
						|
DROP PROCEDURE IF EXISTS dbo.uspGetTanulokTantargyMulasztasokReszletezese
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[uspGetTanulokTantargyMulasztasokReszletezese]
 | 
						|
   @pOsztalyId int
 | 
						|
  ,@pTanevId int
 | 
						|
  ,@pIskolaErdekuSzamit bit
 | 
						|
 | 
						|
AS BEGIN
 | 
						|
  SET NOCOUNT ON;
 | 
						|
 | 
						|
  CREATE TABLE #MulasztasOsztalyonkent(
 | 
						|
     TantargyId int
 | 
						|
    ,Tipusa int
 | 
						|
    ,IgazolasTipusa int
 | 
						|
    ,OsztalyCsoportId int
 | 
						|
    ,TanuloId int
 | 
						|
    ,TantargyNev nvarchar(1000)
 | 
						|
    ,OsztalyCsoportNev nvarchar(510)
 | 
						|
    ,Igazolt char(1)
 | 
						|
    ,KesesPercben int
 | 
						|
    ,Datum date
 | 
						|
    ,OraszamWithOrakezdeteVege nvarchar(50)
 | 
						|
	  ,RENDEZ1 INT
 | 
						|
	  ,RENDEZ2 NVARCHAR(510)
 | 
						|
	  ,RENDEZ3 INT
 | 
						|
	  ,RENDEZ4 INT
 | 
						|
	  ,RENDEZ5 NVARCHAR(510)
 | 
						|
  )
 | 
						|
 | 
						|
  INSERT INTO #MulasztasOsztalyonkent(
 | 
						|
     TantargyId
 | 
						|
    ,Tipusa
 | 
						|
    ,IgazolasTipusa
 | 
						|
    ,OsztalyCsoportId
 | 
						|
    ,TanuloID
 | 
						|
    ,TantargyNev
 | 
						|
    ,OsztalyCsoportNev
 | 
						|
    ,Igazolt
 | 
						|
    ,KesesPercben
 | 
						|
    ,Datum
 | 
						|
    ,OraszamWithOrakezdeteVege
 | 
						|
	  ,RENDEZ1
 | 
						|
	  ,RENDEZ2
 | 
						|
	  ,RENDEZ3
 | 
						|
	  ,RENDEZ4
 | 
						|
	  ,RENDEZ5
 | 
						|
  ) SELECT
 | 
						|
     TantargyId
 | 
						|
    ,Tipusa
 | 
						|
    ,IgazolasTipusa
 | 
						|
    ,OsztalyCsoportId
 | 
						|
    ,TanuloID
 | 
						|
    ,TantargyNev
 | 
						|
    ,OsztalyCsoportNev
 | 
						|
    ,Igazolt
 | 
						|
    ,KesesPercben
 | 
						|
    ,Datum
 | 
						|
    ,OraszamWithOrakezdeteVege
 | 
						|
    ,RENDEZ1
 | 
						|
    ,RENDEZ2
 | 
						|
    ,RENDEZ3
 | 
						|
    ,RENDEZ4
 | 
						|
    ,RENDEZ5
 | 
						|
  FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes (@pTanevId, @pOsztalyId, @pIskolaErdekuSzamit, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT)
 | 
						|
 | 
						|
  /*FEJLEC*/
 | 
						|
  SELECT
 | 
						|
     IntezmenyAdat.C_NEV as IntezmenyNeve
 | 
						|
    ,IntezmenyAdat.C_OMKOD as IntezmenyOMKod
 | 
						|
    ,IntezmenyAdat.C_IGAZGATONEVE IntezmenyVezeto
 | 
						|
    ,dbo.fnGetDokumentumIntezmenyCime(@pTanevId) as IntezmenyCime
 | 
						|
    ,IntezmenyAdat.C_VAROS as IntezmenyVaros
 | 
						|
    ,(SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyId) as OsztalyCsoportNev
 | 
						|
    ,@pOsztalyId as OsztalyId
 | 
						|
    ,ofo.C_NYOMTATASINEV as OsztalyfonokNev
 | 
						|
  FROM T_INTEZMENYADATOK_OSSZES IntezmenyAdat
 | 
						|
    INNER JOIN T_OSZTALY_OSSZES AS o ON o.ID = @pOsztalyId AND o.TOROLT='F'
 | 
						|
    LEFT JOIN T_FELHASZNALO_OSSZES AS ofo ON ofo.ID = o.C_OSZTALYFONOKID AND ofo.TOROLT='F'
 | 
						|
  WHERE INTEZMENYADAT.C_TANEVID = @pTanevId AND IntezmenyAdat.TOROLT='F'
 | 
						|
 | 
						|
  /*TANULOK*/
 | 
						|
  SELECT
 | 
						|
     TanuloId
 | 
						|
    ,Felhasznalo.C_NYOMTATASINEV as TanuloNev
 | 
						|
    ,@pOsztalyId as OsztalyCsoportId
 | 
						|
    ,Felhasznalo.C_OKTATASIAZONOSITO as TanuloOktAzon
 | 
						|
  FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') Tanulok
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Tanulok.TanuloId AND Felhasznalo.TOROLT='F'
 | 
						|
  ORDER BY Felhasznalo.C_NYOMTATASINEV
 | 
						|
 | 
						|
  /*MULASZTOTT TANTARGY*/
 | 
						|
  SELECT DISTINCT
 | 
						|
     TanuloId
 | 
						|
    ,TantargyId
 | 
						|
    ,TantargyNev as TantargyNev
 | 
						|
    ,COUNT(1) as COUNT
 | 
						|
	  ,RENDEZ1
 | 
						|
	  ,RENDEZ2
 | 
						|
	  ,RENDEZ3
 | 
						|
	  ,RENDEZ4
 | 
						|
	  ,RENDEZ5
 | 
						|
  FROM #MulasztasOsztalyonkent MulasztasokOsztalyonkent
 | 
						|
    INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.ID = MulasztasokOsztalyonkent.TantargyId AND Tantargy.TOROLT='F'
 | 
						|
  GROUP BY TanuloId, TantargyId, TantargyNev, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
 | 
						|
  ORDER BY TanuloId, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
 | 
						|
 | 
						|
  SELECT
 | 
						|
     TanuloId
 | 
						|
    ,OsztalyCsoportId
 | 
						|
    ,OsztalyCsoportNev as OsztalyCsoportNev
 | 
						|
    ,CASE
 | 
						|
      WHEN Igazolt = 'T' THEN 'Igen'
 | 
						|
      WHEN Igazolt = 'F' THEN 'Nem'
 | 
						|
      ELSE ''
 | 
						|
     END as Igazolt
 | 
						|
    ,MulasztasTipus.C_NAME as Tipusa
 | 
						|
    ,IgazolasTipus.C_NAME as IgazolasTipusa
 | 
						|
    ,KesesPercben as Keses
 | 
						|
    ,Datum as Datum
 | 
						|
    ,OraszamWithOrakezdeteVege as Oraszam
 | 
						|
    ,TantargyId
 | 
						|
    ,Felhasznalo.C_NYOMTATASINEV as OsztalyfonokNev
 | 
						|
  FROM #MulasztasOsztalyonkent MulasztasokOsztalyonkent
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES MulasztasTipus ON MulasztasokOsztalyonkent.Tipusa = MulasztasTipus.ID AND MulasztasTipus.C_TANEVID = @pTanevId AND MulasztasTipus.TOROLT='F'
 | 
						|
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES IgazolasTipus ON MulasztasokOsztalyonkent.IgazolasTipusa = IgazolasTipus.ID AND IgazolasTipus.C_TANEVID = @pTanevId AND IgazolasTipus.TOROLT='F'
 | 
						|
    LEFT JOIN T_OSZTALY_OSSZES Osztaly ON MulasztasokOsztalyonkent.OsztalyCsoportId = Osztaly.ID AND Osztaly.TOROLT='F'
 | 
						|
    LEFT JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Osztaly.C_OSZTALYFONOKID = Felhasznalo.ID AND Felhasznalo.TOROLT='F'
 | 
						|
  ORDER BY Datum, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
 | 
						|
 | 
						|
  SELECT
 | 
						|
     o.ID as OsztalyId
 | 
						|
    ,ocs.C_EVFOLYAMTIPUSA as EvfolyamTipusa
 | 
						|
    ,ocs.C_FELADATELLATASIHELYID as FeladatEllatasiHelyId
 | 
						|
    ,ocs.C_KEPZESIFORMA as KepzesiForma
 | 
						|
    ,o.C_OSZTALYFONOKID as OsztalyfonokId
 | 
						|
    ,o.C_TANTERVID as TantervId
 | 
						|
    ,o.C_SZAKMACSOPORT as SzakmaCsoport
 | 
						|
    ,o.C_AGAZAT as Agazat
 | 
						|
    ,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
 | 
						|
    ,o.C_LOGOPEDIAI as OJLogopediai
 | 
						|
    ,o.C_SPORT as OJSportOsztaly
 | 
						|
    ,o.C_AJPROGRAM as OJAranyJanosProgram
 | 
						|
    ,o.C_GYOGYPEDAGOGIAI as OJGyogypedagogiai
 | 
						|
  FROM T_OSZTALY_OSSZES as o
 | 
						|
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
 | 
						|
  WHERE o.ID = @pOsztalyId AND o.TOROLT='F'
 | 
						|
END
 | 
						|
GO
 | 
						|
 |