172 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			172 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
IF OBJECT_ID('[dbo].[sp_GetTanuloszerzodes]') IS NOT NULL 
 | 
						|
BEGIN
 | 
						|
  DROP PROCEDURE [dbo].[sp_GetTanuloszerzodes]
 | 
						|
END  
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetTanuloszerzodes]
 | 
						|
	@pIntezmenyId	INT,
 | 
						|
	@pTanevId	    INT,
 | 
						|
	@pTanuloIdXML	XML
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
 | 
						|
	SET NOCOUNT ON;
 | 
						|
     
 | 
						|
  DECLARE @Tanulok TABLE(Id int PRIMARY KEY)
 | 
						|
  INSERT INTO @Tanulok(Id)
 | 
						|
  SELECT Data FROM fnConvertXmlIntListToTable(@pTanuloIdXML, 'a', 'b')
 | 
						|
  
 | 
						|
/*TANULO*/
 | 
						|
SELECT DISTINCT
 | 
						|
	t.ID							tanuloId
 | 
						|
	,f.C_NYILVANTARTASISZAM			AS torzslapSzam
 | 
						|
	,f.C_OKTATASIAZONOSITO		    AS oktAzon
 | 
						|
	,f.C_TAJSZAM				    AS tajSzam
 | 
						|
	,f.C_ANYJANEVE				    AS anyjaNeve
 | 
						|
	,f.C_SZULETESIHELY			    AS szulHely
 | 
						|
	,dbo.fnGetDokumentumDatumFormatum(f.C_SZULETESIDATUM)        AS szulIdo
 | 
						|
	,tt.C_NEV					    AS kepzes
 | 
						|
	,f.C_NYOMTATASINEV			    AS tanuloNeve
 | 
						|
	,f.C_SZULETESINEV				AS szuletesiNev
 | 
						|
	,d.C_NAME					    AS allampolgarsaga
 | 
						|
	,ISNULL(Cim.C_OSSZETETTCIM, '')	AS	tanuloCimText
 | 
						|
	,ISNULL(Email.C_EMAILCIM, '')		AS	tanuloEmailCim
 | 
						|
	,ISNULL(Telefon.C_TELEFONSZAM, '')	AS	tanuloTelefonszam
 | 
						|
	,IIF(t.C_SZAKKEPESITESSZAMA IS NOT NULL, 'van, '
 | 
						|
	+ 'OKJ száma: ............., megnevezése:   ', 'nincs')		 AS okj
 | 
						|
  FROM T_TANULO_OSSZES t
 | 
						|
  INNER JOIN @Tanulok Tanulok ON t.ID = Tanulok.Id
 | 
						|
  LEFT JOIN T_CIM_OSSZES Cim ON 
 | 
						|
				Cim.C_FELHASZNALOID = t.ID
 | 
						|
			AND Cim.C_INTEZMENYID = @pIntezmenyId
 | 
						|
			AND Cim.C_TANEVID = @pTanevId
 | 
						|
			AND Cim.TOROLT = 'F'
 | 
						|
			AND Cim.C_ALAPERTELMEZETT = 'T'
 | 
						|
			AND Cim.C_GONDVISELOID IS NULL
 | 
						|
	LEFT JOIN
 | 
						|
		T_EMAIL_OSSZES Email ON
 | 
						|
				Email.C_FELHASZNALOID = t.ID
 | 
						|
			AND Email.C_INTEZMENYID = @pIntezmenyId
 | 
						|
			AND Email.C_TANEVID = @pTanevId
 | 
						|
			AND Email.TOROLT = 'F'
 | 
						|
			AND Email.C_ALAPERTELMEZETT = 'T'
 | 
						|
	LEFT JOIN
 | 
						|
		T_TELEFON_OSSZES Telefon ON
 | 
						|
				Telefon.C_FELHASZNALOID = t.ID
 | 
						|
			AND Telefon.C_INTEZMENYID = @pIntezmenyId
 | 
						|
			AND Telefon.C_TANEVID = @pTanevId
 | 
						|
			AND Telefon.TOROLT = 'F'
 | 
						|
			AND Telefon.C_ALAPERTELMEZETT= 'T'
 | 
						|
    INNER JOIN T_TANTERV_OSSZES tt ON 
 | 
						|
				tt.ID = t.C_TANTERVID 
 | 
						|
			AND tt.TOROLT ='F'
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES f ON 
 | 
						|
				f.ID = t.ID 
 | 
						|
			AND f.TOROLT = 'F'
 | 
						|
	INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON 
 | 
						|
				d.id=f.C_ALLAMPOLGARSAGA 
 | 
						|
			AND d.C_TANEVID = f.C_TANEVID
 | 
						|
			AND d.C_INTEZMENYID = f.C_INTEZMENYID
 | 
						|
  
 | 
						|
    
 | 
						|
  /*GONDVISELO*/
 | 
						|
  SELECT
 | 
						|
    Tanulok.Id										 tanuloId
 | 
						|
	,Gondviselo.C_NEV	  				             GondviseloNeve
 | 
						|
	,ISNULL(Email.C_EMAILCIM, '') 					 gondviseloEmailCim
 | 
						|
	,ISNULL(Telefon.C_TELEFONSZAM, '') 				 gondviseloTelefonszam
 | 
						|
    ,ISNULL(Cim.C_OSSZETETTCIM, '') 		         gondviseloCimText
 | 
						|
  FROM @Tanulok Tanulok
 | 
						|
	LEFT JOIN T_GONDVISELO_OSSZES Gondviselo ON 
 | 
						|
				Gondviselo.C_TANULOID = Tanulok.Id
 | 
						|
		AND Gondviselo.C_INTEZMENYID = @pIntezmenyId
 | 
						|
		AND Gondviselo.C_TANEVID = @pTanevId
 | 
						|
		AND Gondviselo.TOROLT = 'F'
 | 
						|
		AND Gondviselo.C_ISTORVENYESKEPVISELO = 'T'
 | 
						|
	LEFT JOIN T_FELHASZNALOBELEPES_OSSZES Felhasznalo ON
 | 
						|
				Felhasznalo.C_GONDVISELOID = Gondviselo.ID
 | 
						|
			AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
 | 
						|
			AND Felhasznalo.C_TANEVID = @pTanevId
 | 
						|
			AND Felhasznalo.TOROLT = 'F'
 | 
						|
	LEFT JOIN T_EMAIL_OSSZES Email ON
 | 
						|
				Email.C_GONDVISELOID = Gondviselo.ID
 | 
						|
			AND Email.C_INTEZMENYID = @pIntezmenyId
 | 
						|
			AND Email.C_TANEVID = @pTanevId
 | 
						|
			AND Email.TOROLT = 'F'
 | 
						|
	LEFT JOIN T_TELEFON_OSSZES Telefon ON
 | 
						|
				Telefon.C_GONDVISELOID = Gondviselo.ID
 | 
						|
			AND Telefon.C_INTEZMENYID = @pIntezmenyId
 | 
						|
			AND Telefon.C_TANEVID = @pTanevId
 | 
						|
			AND Telefon.TOROLT = 'F'
 | 
						|
  LEFT JOIN T_CIM_OSSZES Cim ON 
 | 
						|
				Cim.C_GONDVISELOID = Gondviselo.ID
 | 
						|
			AND Cim.C_INTEZMENYID = @pIntezmenyId
 | 
						|
			AND Cim.C_TANEVID = @pTanevId
 | 
						|
			AND Cim.TOROLT = 'F'
 | 
						|
		
 | 
						|
 | 
						|
/*INTEZMENYADATOK*/
 | 
						|
  SELECT DISTINCT
 | 
						|
    INTEZMENY.C_INTEZMENYID                           intezmenyId
 | 
						|
    ,INTEZMENY.C_NEV                                  Nev
 | 
						|
    ,INTEZMENY.C_IGAZGATONEVE                         IgazgatoNev
 | 
						|
    ,dbo.fnGetDokumentumIntezmenyCime (@pTanevId)     IntezmenyCim
 | 
						|
  	,INTEZMENY.C_TELEFONSZAM                          IntezmenyTelefonszam
 | 
						|
    ,INTEZMENY.C_EMAILCIM                             IntezmenyEmail
 | 
						|
    ,INTEZMENY.C_OMKOD                                OktAzon
 | 
						|
    ,TANEV.C_NEV
 | 
						|
  INTO #IntemenyAdatok
 | 
						|
  FROM T_TANEV_OSSZES TANEV
 | 
						|
    INNER JOIN T_INTEZMENYADATOK_OSSZES INTEZMENY ON TANEV.ID = INTEZMENY.C_TANEVID 
 | 
						|
  WHERE 
 | 
						|
    TANEV.ID = @pTanevId
 | 
						|
   AND INTEZMENY.C_INTEZMENYID = @pIntezmenyId
 | 
						|
  
 | 
						|
    
 | 
						|
 /*TAGINTEZMENYADATOK*/
 | 
						|
SELECT DISTINCT
 | 
						|
  TAGINTEZMENY.C_INTEZMENYID                                      intezmenyId
 | 
						|
  ,TAGINTEZMENY.C_NEV                                          AS TagintezmenyNev                    
 | 
						|
  ,TAGINTEZMENY.C_IRANYITOSZAM + ' ' + TAGINTEZMENY.C_VAROS + ', ' 
 | 
						|
  + TAGINTEZMENY.C_KOZTERULETNEV + ' ' +  TAGINTEZMENY.C_HAZSZAM  
 | 
						|
  + ISNULL(', ' + TAGINTEZMENY.C_EMELET + '. EMELET', '') 
 | 
						|
  + ISNULL(', ' + TAGINTEZMENY.C_AJTO + '. AJTÓ', '')           AS TagintezmenyCim
 | 
						|
  INTO #TagintezmenyAdatok
 | 
						|
FROM T_TANEV_OSSZES TANEV 
 | 
						|
  INNER JOIN T_INTEZMENY_OSSZES INTEZEMNY ON TANEV.C_INTEZMENYID = INTEZEMNY.ID
 | 
						|
  INNER JOIN T_MUKODESIHELY_OSSZES TAGINTEZMENY ON TAGINTEZMENY.C_INTEZMENYID = INTEZEMNY.ID 
 | 
						|
WHERE 
 | 
						|
    TANEV.ID = @pTanevId
 | 
						|
AND TAGINTEZMENY.C_INTEZMENYID = @pIntezmenyId
 | 
						|
 | 
						|
   
 | 
						|
/*==============INTÉZMÉNY/TAGINTÉZMÉNY==================*/   
 | 
						|
   
 | 
						|
  SELECT DISTINCT 
 | 
						|
  *   
 | 
						|
  FROM #IntemenyAdatok intezmeny
 | 
						|
  INNER JOIN #TagintezmenyAdatok tagintezmeny ON intezmeny.intezmenyId = tagintezmeny.intezmenyId
 | 
						|
   
 | 
						|
   
 | 
						|
/*BESOROLAS*/
 | 
						|
SELECT DISTINCT
 | 
						|
  TANCSOP.C_TANULOID                                 tanuloId 
 | 
						|
  ,OKTATASINEVELESIFELADAT.C_NAME                    FeladatEllatasiHely
 | 
						|
  ,MUNKAREND.C_NAME                                  NappaliRend
 | 
						|
  ,EVFOLYAM.C_NAME_1                                 Evfolyam
 | 
						|
FROM T_TANULOCSOPORT_OSSZES TANCSOP
 | 
						|
  INNER JOIN @Tanulok Tanulok ON TANCSOP.C_TANULOID = Tanulok.Id
 | 
						|
  INNER JOIN T_OSZTALY_OSSZES OSZTALY ON OSZTALY.ID = TANCSOP.C_OSZTALYCSOPORTID
 | 
						|
  INNER JOIN T_OSZTALYCSOPORT_OSSZES OSZTALYCSOP ON OSZTALYCSOP.ID = OSZTALY.ID
 | 
						|
  INNER JOIN T_FELADATELLATASIHELY_OSSZES ON T_FELADATELLATASIHELY_OSSZES.ID = OSZTALYCSOP.C_FELADATELLATASIHELYID AND T_FELADATELLATASIHELY_OSSZES.C_TANEVID = OSZTALYCSOP.C_TANEVID AND T_FELADATELLATASIHELY_OSSZES.C_INTEZMENYID = @pIntezmenyId
 | 
						|
  INNER JOIN T_DICTIONARYITEMBASE_OSSZES  MUNKAREND ON OSZTALY.C_KEPZESIFORMA = MUNKAREND.ID AND MUNKAREND.C_TANEVID = OSZTALYCSOP.C_TANEVID AND MUNKAREND.TOROLT = 'F'
 | 
						|
  INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS OKTATASINEVELESIFELADAT ON T_FELADATELLATASIHELY_OSSZES.C_OKTATASINEVELESIFELADATTIPUS = OKTATASINEVELESIFELADAT.ID AND OKTATASINEVELESIFELADAT.C_TANEVID = T_FELADATELLATASIHELY_OSSZES.C_TANEVID AND OKTATASINEVELESIFELADAT.TOROLT = 'F'
 | 
						|
  INNER JOIN T_DICTIONARYITEMBASE_OSSZES EVFOLYAM ON EVFOLYAM.ID = OSZTALYCSOP.C_EVFOLYAMTIPUSA
 | 
						|
WHERE
 | 
						|
      OSZTALYCSOP.C_TANEVID = @pTanevId
 | 
						|
  AND OSZTALYCSOP.C_INTEZMENYID = @pIntezmenyId
 | 
						|
  AND TANCSOP.TOROLT = 'F'
 | 
						|
  AND TANCSOP.C_TANEVID = @pTanevId
 | 
						|
 | 
						|
END |