259 lines
No EOL
8.6 KiB
Transact-SQL
259 lines
No EOL
8.6 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS dbo.uspGetUzenofuzetErtekelolap
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[uspGetUzenofuzetErtekelolap]
|
|
@osztalyId int
|
|
,@tanevId int
|
|
,@intezmenyId int
|
|
,@osztalyzatTipusTypeID int = 44
|
|
,@magatartasErtekelesTipusTypeID int = 50
|
|
,@szorgalomErtekelesTipusTypeID int = 51
|
|
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
|
|
,o.C_AGAZATUJSZKTTIPUSID AS UjSzktAgazat
|
|
,o.C_SZAKMATIPUSID AS UjSzktSzakma
|
|
,o.C_SZAKMAIRANYTIPUSID AS UjSzktSzakmairany
|
|
,o.C_TANULMANYITERULETNKTTIPUSID AS NktTanulmanyiTerulet
|
|
,o.C_SZAKKEPESITESNKTTIPUSID AS NktSzakkepesites
|
|
,o.C_SZAKIRANYNKTTIPUSID AS NktSzakirany
|
|
,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
|
|
,RENDEZ0
|
|
,RENDEZ1
|
|
,RENDEZ2
|
|
,RENDEZ3
|
|
,RENDEZ4
|
|
,RENDEZ5
|
|
INTO #ErtekelesekTemp
|
|
FROM fnGetDokumentumErtekelesekOsztalyonkent (@tanevId, @osztalyId, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, @osztalyzatTipusTypeID, @magatartasErtekelesTipusTypeID, @szorgalomErtekelesTipusTypeID)
|
|
|
|
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
|
|
,RENDEZ0 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
|
|
,@osztalyzatTipusTypeID = @osztalyzatTipusTypeID
|
|
,@magatartasErtekelesTipusTypeID = @magatartasErtekelesTipusTypeID
|
|
,@szorgalomErtekelesTipusTypeID = @szorgalomErtekelesTipusTypeID
|
|
|
|
/*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, LOWER(ISNULL(ErtekelesSzovegRovidNev, '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 |