247 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			247 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS dbo.sp_GetUzenofuzetErtekelolap
 | 
						|
DROP PROCEDURE IF EXISTS dbo.uspGetUzenofuzetErtekelolap
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[uspGetUzenofuzetErtekelolap]
 | 
						|
   @osztalyId INT
 | 
						|
  ,@tanevId   INT
 | 
						|
  ,@intezmenyId    INT
 | 
						|
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
  SET NOCOUNT ON;
 | 
						|
 | 
						|
  CREATE TABLE #szovegesTemp (
 | 
						|
     TanuloId int
 | 
						|
    ,TanuloCsoportId int 
 | 
						|
    ,Honap nvarchar(100)
 | 
						|
    ,Tantargy nvarchar(510)
 | 
						|
    ,Ertekeles nvarchar(MAX)
 | 
						|
    ,Tipus nvarchar(500)
 | 
						|
    ,RogzitesDatum datetime
 | 
						|
    ,RendezHonap int
 | 
						|
  )
 | 
						|
 | 
						|
	--Intézmény, tanév
 | 
						|
  SELECT 
 | 
						|
     T_INTEZMENYADATOK_OSSZES.C_NEV				IntezmenyNeve
 | 
						|
    ,T_INTEZMENYADATOK_OSSZES.C_VAROS				IntezmenyVaros
 | 
						|
    ,dbo.fnGetDokumentumIntezmenyCime(@tanevId)	IntezmenyCime
 | 
						|
    ,T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM		TELEFON
 | 
						|
    ,T_INTEZMENYADATOK_OSSZES.C_EMAILCIM			EMAILCIM
 | 
						|
    ,T_INTEZMENYADATOK_OSSZES.C_OMKOD				IntezmenyOMKod
 | 
						|
    ,T_INTEZMENYADATOK_OSSZES.C_IGAZGATONEVE		Intezmenyvezeto 
 | 
						|
    ,(SELECT C_OSZTALYFONOKID FROM T_OSZTALY_OSSZES WHERE T_OSZTALY_OSSZES.ID = @osztalyId AND T_OSZTALY_OSSZES.C_ALTANEVID = @tanevId AND T_OSZTALY_OSSZES.TOROLT = 'F') PartnerID
 | 
						|
    ,T_TANEV_OSSZES.C_NEV							TANEV
 | 
						|
    ,@osztalyId AS  OsztalyId
 | 
						|
  FROM T_INTEZMENYADATOK_OSSZES
 | 
						|
    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 = @tanevId
 | 
						|
 | 
						|
  --Osztály, évfolyam
 | 
						|
  SELECT 
 | 
						|
     ocs.C_NEV
 | 
						|
    ,ocs.C_EVFOLYAMTIPUSA
 | 
						|
    ,f.C_NYOMTATASINEV Osztalyfonok
 | 
						|
    ,ocs.ID  AS  OsztalyId
 | 
						|
    ,f.ID AS  OsztalyfonokId
 | 
						|
    ,ocs.C_EVFOLYAMTIPUSA		EvfolyamTipusa
 | 
						|
    ,ocs.C_FELADATELLATASIHELYID FeladatEllatasiHelyId
 | 
						|
    ,o.C_TANTERVID			TantervId
 | 
						|
    ,ocs.C_KEPZESIFORMA		KepzesiForma
 | 
						|
    ,o.C_AGAZAT				Agazat
 | 
						|
    ,o.C_SZAKMACSOPORT		SzakmaCsoport
 | 
						|
    ,o.C_SZAKKEPESITES		Szakkepesites
 | 
						|
    ,o.C_RESZSZAKKEPESITES	Reszszakkepesites
 | 
						|
    ,ocs.C_KERESZTFELEVES	OJCSJKeresztfeleves
 | 
						|
    ,ocs.C_VEGZOSEVFOLYAM	CSJVegzosEvfolyamu
 | 
						|
    ,ocs.C_ISTECHNIKAI	OJTechnikaiOsztaly
 | 
						|
    ,o.C_NEMZETISEGI		OJNemzetisegi
 | 
						|
    ,o.C_KETTANNYELVU		OJKettannyelvu
 | 
						|
    ,o.C_NYELVIELOKESZITO	OJNyelviElokeszito
 | 
						|
    ,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI			OJIsGyogypedagogiaiLogopediai
 | 
						|
    ,o.C_SPORT				OJSportOsztaly
 | 
						|
    ,o.C_AJPROGRAM			OJAranyJanosProgram
 | 
						|
  FROM T_OSZTALYCSOPORT_OSSZES AS ocs
 | 
						|
    INNER JOIN T_OSZTALY_OSSZES AS o ON ocs.id = o.ID
 | 
						|
    LEFT JOIN T_FELHASZNALO_OSSZES AS f ON f.id = o.c_osztalyfonokid
 | 
						|
  WHERE ocs.TOROLT='F' 
 | 
						|
    AND ocs.ID = @osztalyId
 | 
						|
    AND ocs.C_TANEVID = @tanevId
 | 
						|
	
 | 
						|
  --Tanuló adatai
 | 
						|
  SELECT 
 | 
						|
     TanuloId						Id
 | 
						|
    ,TanuloCsoportId				TanuloCsoportId
 | 
						|
    ,OsztalyTanuloi.BelepesDatum	BelepesDatum
 | 
						|
    ,OsztalyTanuloi.KilepesDatum	KilepesDatum
 | 
						|
  INTO #studentsWithTanuloCsoport
 | 
						|
  FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi
 | 
						|
 | 
						|
  SELECT 
 | 
						|
     T_FELHASZNALO_OSSZES.ID						TanuloId
 | 
						|
    ,TanuloCsoportId
 | 
						|
    ,T_FELHASZNALO_OSSZES.C_NYOMTATASINEV		TANULONEV
 | 
						|
    ,T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO	OKTATASIAZONOSITO
 | 
						|
    ,@osztalyId AS  OsztalyId
 | 
						|
  FROM T_FELHASZNALO_OSSZES
 | 
						|
    INNER JOIN #studentsWithTanuloCsoport Tanulok ON Tanulok.Id = T_FELHASZNALO_OSSZES.Id
 | 
						|
  ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
 | 
						|
	
 | 
						|
  SELECT 
 | 
						|
     Datum
 | 
						|
    ,RogzitesDatum
 | 
						|
    ,TipusId
 | 
						|
    ,ErtekelesSzoveg
 | 
						|
    ,ErtekelesSzovegFormazott
 | 
						|
    ,ErtekelesSzovegRovidNev
 | 
						|
    ,ErtekelesOsztalyzatId
 | 
						|
    ,ErtekelesOsztalyzatValue
 | 
						|
    ,ErtekelesOsztalyzatNev
 | 
						|
    ,ErtekelesSzazalek
 | 
						|
    ,MagatartasOsztalyzatId
 | 
						|
    ,MagatartasOsztalyzatNev
 | 
						|
    ,MagatartasSzoveg
 | 
						|
    ,MagatartasSzovegRovidNev
 | 
						|
    ,MagatartasErtekId
 | 
						|
    ,MagatartasErtek
 | 
						|
    ,SzorgalomOsztalyzatId
 | 
						|
    ,SzorgalomOsztalyzatNev
 | 
						|
    ,SzorgalomSzoveg
 | 
						|
    ,SzorgalomSzovegRovidNev
 | 
						|
    ,SzorgalomErtekId
 | 
						|
    ,SzorgalomErtek
 | 
						|
    ,TanuloId
 | 
						|
    ,TanuloCsoportId
 | 
						|
    ,OsztalyCsoportId
 | 
						|
    ,TantargyId
 | 
						|
    ,TantargyNevZarojellel
 | 
						|
    ,TantargyNev
 | 
						|
    ,TantargyNevNyomtatvanyban
 | 
						|
    ,TargyKategoriaId
 | 
						|
    ,FotargyE
 | 
						|
    ,FotargyId
 | 
						|
    ,Altantargy
 | 
						|
    ,ErtekelesTema
 | 
						|
    ,Jeloles
 | 
						|
    ,JelolesAndErtekelesTema 
 | 
						|
    ,isMagatartasSzorgalom
 | 
						|
    ,RENDEZ1 
 | 
						|
    ,RENDEZ2
 | 
						|
    ,RENDEZ3
 | 
						|
    ,RENDEZ4
 | 
						|
    ,RENDEZ5
 | 
						|
  INTO #ErtekelesekTemp
 | 
						|
  FROM fnGetDokumentumErtekelesekOsztalyonkent (@tanevId, @osztalyId, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT)
 | 
						|
 | 
						|
  CREATE TABLE #Tantargyak(
 | 
						|
     ID					INT
 | 
						|
    ,C_FOTARGYID		INT
 | 
						|
    ,C_NEV				NVARCHAR(255) COLLATE DATABASE_DEFAULT
 | 
						|
    ,C_NEVNYOMTATVANYBAN	NVARCHAR(255) COLLATE DATABASE_DEFAULT
 | 
						|
    ,C_TARGYKATEGORIA 	INT
 | 
						|
    ,c_tanuloid int
 | 
						|
    ,c_tanulocsoportid  int
 | 
						|
    ,RENDEZ1 int
 | 
						|
    ,RENDEZ2 nvarchar(255) COLLATE DATABASE_DEFAULT
 | 
						|
    ,RENDEZ3 int
 | 
						|
    ,RENDEZ4 int
 | 
						|
    ,RENDEZ5 nvarchar(255) COLLATE DATABASE_DEFAULT
 | 
						|
    ,C_INTEZMENYID	 	INT
 | 
						|
    ,C_TANEVID 			INT
 | 
						|
  );
 | 
						|
  EXEC uspGetDokumentumErtekelesekIdoszakonkent
 | 
						|
     @tanevId	= @tanevId
 | 
						|
    ,@osztalyCsoportId = @osztalyId
 | 
						|
    ,@ertekelesTipusa = NULL
 | 
						|
    ,@csakTanorai = 1
 | 
						|
    ,@csakKivalasztottOsztalyCsoport = 0
 | 
						|
    ,@atsoroltTanuloErtekelesek = 0
 | 
						|
    ,@fuggolegesTantargyak = 0
 | 
						|
    ,@isMegjegyzesMegjelenjen = 0
 | 
						|
    ,@intezmenyId = @intezmenyId
 | 
						|
 | 
						|
  /*Szöveges minősítések*/
 | 
						|
  INSERT INTO #szovegesTemp
 | 
						|
  SELECT
 | 
						|
     a.tanuloId
 | 
						|
    ,a.TanuloCsoportId
 | 
						|
    ,a.Honap
 | 
						|
    ,a.Tantargy
 | 
						|
    ,a.Ertekeles
 | 
						|
    ,a.Tipus
 | 
						|
    ,a.RogzitesDatum
 | 
						|
    ,a.RendezHonap
 | 
						|
  FROM (
 | 
						|
    SELECT
 | 
						|
       s.Id tanuloId
 | 
						|
      ,s.TanuloCsoportId
 | 
						|
      ,szoveges.Honap
 | 
						|
      ,szoveges.Tantargy
 | 
						|
      ,szoveges.Ertekeles
 | 
						|
      ,szoveges.Tipus
 | 
						|
      ,szoveges.RendezHonap
 | 
						|
      ,szoveges.RogzitesDatum
 | 
						|
    FROM #studentsWithTanuloCsoport s
 | 
						|
      INNER JOIN (
 | 
						|
        SELECT
 | 
						|
           TanuloId tanuloId
 | 
						|
          ,TanuloCsoportId
 | 
						|
          ,'[' + CONVERT(nvarchar (max), DATEPART(MONTH, Datum)) + '. hónap]' AS Honap
 | 
						|
          ,IIF(TantargyNev <> TantargyNevNyomtatvanyban AND TantargyNevNyomtatvanyban IS NOT NULL, TantargyNevNyomtatvanyban + ' (' + TantargyNev + ')', TantargyNev) AS Tantargy
 | 
						|
          ,IIF(Jeloles IS NOT NULL AND TipusId = 1518, 'sz' + Jeloles + '     ', '') + ErtekelesSzovegFormazott + ISNULL(' *' + ErtekelesTema, '')			Ertekeles
 | 
						|
          ,ErtekelesTipusDictionary.C_NAME AS Tipus
 | 
						|
          ,CASE
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 1 THEN 5
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 2 THEN 6
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 3 THEN 7
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 4 THEN 8
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 5 THEN 9
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 6 THEN 10
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 7 THEN 11
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 8 THEN 12
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 9 THEN  1
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 10 THEN 2
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 11 THEN 3
 | 
						|
            WHEN DATEPART(MONTH, Datum) = 12 THEN 4
 | 
						|
          END AS RendezHonap
 | 
						|
          ,RogzitesDatum
 | 
						|
        FROM #ErtekelesekTemp ErtekelesTemp
 | 
						|
          INNER JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTemp.TipusId
 | 
						|
            AND ErtekelesTipusDictionary.C_TANEVID = @tanevId
 | 
						|
        WHERE ErtekelesSzoveg IS NOT NULL
 | 
						|
      ) szoveges ON szoveges.TANULOID = s.Id
 | 
						|
        AND s.TanuloCsoportId = szoveges.TanuloCsoportId
 | 
						|
  ) a
 | 
						|
 | 
						|
  SELECT DISTINCT
 | 
						|
     kulso.TanuloId
 | 
						|
    ,kulso.TanuloCsoportId
 | 
						|
    ,kulso.Honap
 | 
						|
    ,kulso.Tantargy
 | 
						|
    ,STUFF(((
 | 
						|
      SELECT 
 | 
						|
        '<br>|' + belso.Ertekeles
 | 
						|
      FROM #szovegesTemp belso
 | 
						|
      WHERE kulso.TanuloId = belso.TanuloId
 | 
						|
        AND kulso.TanuloCsoportId = belso.TanuloCsoportId
 | 
						|
        AND kulso.Honap = belso.Honap
 | 
						|
        AND kulso.Tantargy = belso.Tantargy
 | 
						|
        AND kulso.Tipus = belso.Tipus
 | 
						|
      ORDER BY
 | 
						|
         belso.RendezHonap ASC
 | 
						|
        ,belso.Tantargy ASC
 | 
						|
        ,belso.RogzitesDatum ASC
 | 
						|
      FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'))
 | 
						|
      ,1
 | 
						|
      ,5
 | 
						|
      ,'') AS Ertekeles
 | 
						|
    ,kulso.Tipus
 | 
						|
  FROM #szovegesTemp kulso
 | 
						|
 | 
						|
  DROP TABLE #studentsWithTanuloCsoport
 | 
						|
  DROP TABLE #Tantargyak
 | 
						|
END
 | 
						|
 | 
						|
GO |