init
This commit is contained in:
@@ -0,0 +1,673 @@
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_Nyomtatvany_Excel_IdoszakiTanuloStatisztika]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_Nyomtatvany_Excel_IdoszakiTanuloStatisztika]
|
||||
@pTanevId int,
|
||||
@pIntezmenyId int,
|
||||
@pErtekelestipusaId int,
|
||||
@pLezaroNaptipusId int,
|
||||
@pTanevrendjeTanevKezdeteNaptipusId int = 1394,
|
||||
@pMulasztasTipusIdKeses int = 1499,
|
||||
@pMulasztasTipusIdHianyzas int = 1500,
|
||||
@pAtsoroltTanuloAdatok int = 1,
|
||||
@pElmeletgyakorlat bit = 0
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
--Const
|
||||
DECLARE @ElsoFelveVege int = 1400
|
||||
DECLARE @IneVege int = 1403
|
||||
DECLARE @IIIneVege int = 1404
|
||||
DECLARE @UtolsoTanitasiNap int = 1395
|
||||
DECLARE @VegzosUtolsoTanitasiNap int = 1402
|
||||
|
||||
DECLARE @iskolaErdekuParam int = 1683
|
||||
DECLARE @iskolaErdekuSzamit bit = dbo.fnGetRendszerbeallitasEnumBool(@iskolaErdekuParam, @pIntezmenyId, @pTanevId)
|
||||
|
||||
CREATE TABLE #osztalyok(
|
||||
OsztalyId int PRIMARY KEY
|
||||
,OsztalyNev nvarchar(255)
|
||||
,Keresztfeleves char(1)
|
||||
,VegzosEvfolyam char(1)
|
||||
,KezdeteNaptipus int
|
||||
,VegeNaptipus int
|
||||
,IdoszakKezdete datetime
|
||||
,IdoszakVege datetime
|
||||
)
|
||||
CREATE TABLE #osztalyTanulok (
|
||||
TANULOID nvarchar(20) PRIMARY KEY
|
||||
,OSZTALYID int
|
||||
,TANULONEV nvarchar(255)
|
||||
,OKTATASIAZONOSITO nvarchar(20)
|
||||
,OSZTALYNEV nvarchar(255)
|
||||
,BELEPESDATUM DATE
|
||||
,KILEPESDATUM DATE
|
||||
)
|
||||
CREATE TABLE #tantargyak (
|
||||
TANTARGYID int
|
||||
,TANTARGY_NEV nvarchar(255)
|
||||
,TARGYKATEGORIA_NEV nvarchar(250)
|
||||
,TARGYKATEGORIA_SORSZAM int
|
||||
,C_FOTARGYE char(1)
|
||||
,C_ALTANTARGYKENTNYOMTATVANYBAN char(1)
|
||||
)
|
||||
CREATE TABLE #szurtMulasztas (
|
||||
TIPUS_CHAR char(1)
|
||||
,C_TIPUS int
|
||||
,C_IGAZOLT char(1)
|
||||
,TANULOID nvarchar(20)
|
||||
,C_GYAKORLATI char(1)
|
||||
,KESESPERC int
|
||||
,MULASZTASOK_SZAMA int
|
||||
)
|
||||
CREATE TABLE #szurtErtekeles (
|
||||
TANULOID int
|
||||
,OsztalyId int
|
||||
,ErtekelesSzoveg nvarchar(max)
|
||||
,ERTEKELES nvarchar(250)
|
||||
,ERTEKELES_SZOVEG_MEGJEGYZES nvarchar(4000)
|
||||
,C_ERTEKELESDATUM DATETIME
|
||||
,TANTARGYID int
|
||||
,TANTARGY_NEV nvarchar(255)
|
||||
,TARGYKATEGORIA_NEV nvarchar(255)
|
||||
,TARGYKATEGORIA_SORSZAM int
|
||||
,T_TANTARGY_C_FOTARGYE char(1)
|
||||
,T_TANTARGY_C_ALTANTARGYKENTNYOMTATVANYBAN char(1)
|
||||
,C_OSZTALYCSOPORTID int
|
||||
,ErtekelesSzovegRovidNev nvarchar(40)
|
||||
,ErtekelesSzazalek nvarchar(4)
|
||||
,ErtekelesOsztalyzatValue int
|
||||
,ErtekelesOsztalyzatId int
|
||||
,ErtekelesTema nvarchar(2000)
|
||||
,INDEX CI_szurtErtekeles_Ertekeles CLUSTERED(
|
||||
ERTEKELES
|
||||
)
|
||||
)
|
||||
CREATE TABLE #szurtMulasztasRes (
|
||||
TIPUS_CHAR char(1)
|
||||
,C_TIPUS int
|
||||
,C_IGAZOLT char(1)
|
||||
,TANULOID nvarchar(20)
|
||||
,KESESPERC int
|
||||
,KESESORA int
|
||||
,MULASZTASOK_SZAMA int
|
||||
,C_GYAKORLATI char(1)
|
||||
)
|
||||
CREATE TABLE #szurtMulasztasOsszesRes (
|
||||
C_IGAZOLT char(1)
|
||||
,TANULOID nvarchar(20)
|
||||
,MULASZTASOK_SZAMA int
|
||||
,C_GYAKORLATI char(1)
|
||||
)
|
||||
CREATE TABLE #tempMulasztas (
|
||||
ID int IDENTITY(1,1) PRIMARY KEY
|
||||
,TIPUS_CHAR char(1)
|
||||
,TIPUS int
|
||||
,IGAZOLT char(1)
|
||||
,TANULOID int
|
||||
,GYAKORLATI char(1)
|
||||
,KESESPERC int
|
||||
,MULASZTASOK_SZAMA int
|
||||
,OSZTALYCSOPORTID int
|
||||
,DATUM datetime
|
||||
)
|
||||
CREATE TABLE #csopTip (
|
||||
ID int primary key
|
||||
)
|
||||
CREATE TABLE #HozottMulasztas (
|
||||
OsztalyId_TanuloID nvarchar(20)
|
||||
,HozottIgazolt int
|
||||
,HozottIgazolatlan int
|
||||
)
|
||||
CREATE TABLE #kapcsolodoOcsID (
|
||||
OsztalyId int
|
||||
,KapcsId int
|
||||
,INDEX KapcsOcs CLUSTERED(
|
||||
OsztalyId,Kapcsid
|
||||
)
|
||||
)
|
||||
CREATE TABLE #tempOsztalyErtekelesek(
|
||||
Datum datetime
|
||||
,ErtekelesSzoveg nvarchar(max)
|
||||
,ErtekelesSzovegRovidNev nvarchar(40)
|
||||
,ErtekelesOsztalyzatValue int
|
||||
,ErtekelesOsztalyzatId int
|
||||
,ErtekelesSzazalek nvarchar(4)
|
||||
,MagatartasOsztalyzatValue int
|
||||
,MagatartasSzovegRovidNev nvarchar(500)
|
||||
,MagatartasErtek nvarchar(500)
|
||||
,MagatartasErtekOsztalyzatkent int
|
||||
,SzorgalomOsztalyzatValue int
|
||||
,SzorgalomSzovegRovidNev nvarchar(255)
|
||||
,SzorgalomErtek nvarchar(255)
|
||||
,SzorgalomErtekOsztalyzatkent int
|
||||
,TanuloId int
|
||||
,OsztalyCsoportId int
|
||||
,TantargyId int
|
||||
,TantargyNevZarojellel nvarchar(255)
|
||||
,TargyKategoriaId int
|
||||
,FotargyE char(1)
|
||||
,Altantargy char(1)
|
||||
,ErtekelesTema nvarchar(2000)
|
||||
,OsztalyId int
|
||||
,INDEX IDX_tmpOsztalyErtekelesek_TantargyNull CLUSTERED (
|
||||
TantargyId
|
||||
)
|
||||
)
|
||||
|
||||
INSERT INTO #csopTip(ID)
|
||||
SELECT Id FROM fnGetDokumentumOsztalyVagyTanoraiCsoport (@pTanevId)
|
||||
|
||||
INSERT INTO #osztalyok(
|
||||
OsztalyId
|
||||
,OsztalyNev
|
||||
,Keresztfeleves
|
||||
,VegzosEvfolyam
|
||||
)
|
||||
SELECT
|
||||
ocs.ID AS OSZTALYID
|
||||
,ocs.C_NEV AS NEV
|
||||
,ocs.C_KERESZTFELEVES AS KERESZTFELEVES
|
||||
,ocs.C_VEGZOSEVFOLYAM AS VEGZOSEVFOLYAM
|
||||
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dib ON dib.ID = ocs.C_EVFOLYAMTIPUSA
|
||||
AND dib.TOROLT = 'F'
|
||||
AND dib.C_TANEVID = ocs.C_TANEVID
|
||||
AND dib.C_TYPE = 'EvfolyamTipus'
|
||||
WHERE ocs.TOROLT = 'F'
|
||||
AND ocs.C_TANEVID = @pTanevId
|
||||
AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
|
||||
INSERT INTO #kapcsolodoOcsID (OsztalyId,KapcsId)
|
||||
SELECT
|
||||
OsztalyId
|
||||
,Kapcs.ID
|
||||
FROM #osztalyok o
|
||||
CROSS APPLY fnGetDokumentumKapcsolodoOsztalycsoportok(o.OsztalyId, @pTanevId, 0) Kapcs
|
||||
|
||||
INSERT INTO #tantargyak (
|
||||
TANTARGYID
|
||||
,TANTARGY_NEV
|
||||
,TARGYKATEGORIA_NEV
|
||||
,TARGYKATEGORIA_SORSZAM
|
||||
,C_FOTARGYE
|
||||
,C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
) SELECT
|
||||
tgy.ID AS TANTARGYID
|
||||
,ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) AS TANTARGY_NEV
|
||||
,dib.C_NAME AS TARGYKATEGORIA_NEV
|
||||
,dib.C_VALUE AS TARGYKATEGORIA_SORSZAM
|
||||
,tgy.C_FOTARGYE
|
||||
,tgy.C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
FROM T_TANTARGY_OSSZES AS tgy
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS dib ON dib.ID = tgy.C_TARGYKATEGORIA AND dib.C_TANEVID = tgy.C_TANEVID
|
||||
AND dib.TOROLT = 'F'
|
||||
WHERE tgy.TOROLT = 'F'
|
||||
AND tgy.C_TANEVID = @pTanevId
|
||||
DECLARE @sql nvarchar(max)=N''
|
||||
|
||||
INSERT INTO #tempMulasztas(
|
||||
TIPUS_CHAR
|
||||
,TIPUS
|
||||
,IGAZOLT
|
||||
,TANULOID
|
||||
,GYAKORLATI
|
||||
,KESESPERC
|
||||
,MULASZTASOK_SZAMA
|
||||
,OSZTALYCSOPORTID
|
||||
,DATUM
|
||||
)
|
||||
SELECT
|
||||
IIF(C_TIPUS = @pMulasztasTipusIdKeses, 'K', 'H')
|
||||
,tm.C_TIPUS
|
||||
,tm.C_IGAZOLT
|
||||
,tm.C_ORATANULOIID
|
||||
,tgy.C_GYAKORLATI
|
||||
,SUM(tm.C_KESESPERCBEN)
|
||||
,COUNT(tm.ID) AS MULASZTASOK_SZAMA
|
||||
,tao.C_OSZTALYCSOPORTID
|
||||
,tao.C_DATUM
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.ID = tm.C_TANITASIORAKID
|
||||
AND tao.TOROLT = 'F'
|
||||
AND tao.C_MEGTARTOTT = 'T'
|
||||
AND tao.C_TANEVID = tm.C_TANEVID
|
||||
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = tao.C_TANTARGYID AND tgy.TOROLT='F'
|
||||
INNER JOIN #csopTip csop ON csop.ID=tao.C_OSZTALYCSOPORTID
|
||||
WHERE tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
AND tm.TOROLT = 'F' AND tm.C_IGAZOLT IS NOT NULL
|
||||
AND tm.C_TANEVID = @pTanevId
|
||||
AND (@iskolaErdekuSzamit = 1 OR ISNULL(C_IGAZOLASTIPUSA,0)<>1533)
|
||||
GROUP BY C_TIPUS, C_IGAZOLT, C_ORATANULOIID, C_GYAKORLATI, tao.C_OSZTALYCSOPORTID, C_DATUM
|
||||
|
||||
UPDATE #osztalyok SET
|
||||
KezdeteNaptipus =
|
||||
IIF(KeresztFeleves = 'F', @pTanevrendjeTanevKezdeteNaptipusId,
|
||||
CASE
|
||||
WHEN @pLezaroNaptipusId = @ElsoFelveVege THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @pTanevrendjeTanevKezdeteNaptipusId
|
||||
WHEN @pLezaroNaptipusId = @IneVege THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @IIIneVege THEN @pTanevrendjeTanevKezdeteNaptipusId
|
||||
END),
|
||||
VegeNaptipus =
|
||||
IIF(KeresztFeleves = 'F', IIF(VegzosEvfolyam = 'T' AND @pLezaroNaptipusId = @UtolsoTanitasiNap, @VegzosUtolsoTanitasiNap, @pLezaroNaptipusId),
|
||||
CASE
|
||||
WHEN @pLezaroNaptipusId = @ElsoFelveVege THEN @UtolsoTanitasiNap
|
||||
WHEN @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @IneVege THEN @IIIneVege
|
||||
WHEN @pLezaroNaptipusId = @IIIneVege THEN @IneVege
|
||||
END)
|
||||
|
||||
UPDATE #osztalyok SET
|
||||
IdoszakKezdete = ISNULL(
|
||||
(SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = KezdeteNaptipus AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = OsztalyId)
|
||||
ORDER BY C_OSZTALYCSOPORTID DESC),
|
||||
(SELECT TOP 1 C_KEZDONAP FROM T_TANEV_OSSZES WHERE ID = @pTanevId)),
|
||||
IdoszakVege =
|
||||
ISNULL(
|
||||
(SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = VegeNaptipus AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = OsztalyId)
|
||||
ORDER BY C_OSZTALYCSOPORTID DESC),GETDATE())
|
||||
|
||||
INSERT INTO #osztalyTanulok (
|
||||
TANULOID
|
||||
,OSZTALYID
|
||||
,TANULONEV
|
||||
,OKTATASIAZONOSITO
|
||||
,OSZTALYNEV
|
||||
,BELEPESDATUM
|
||||
,KILEPESDATUM
|
||||
)
|
||||
SELECT DISTINCT
|
||||
CAST(tcs.C_OSZTALYCSOPORTID AS nvarchar) + '_' + CAST(fh.ID AS nvarchar) AS TANULOID
|
||||
,tcs.C_OSZTALYCSOPORTID AS OSZTALYID
|
||||
,fh.C_NYOMTATASINEV
|
||||
,fh.C_OKTATASIAZONOSITO
|
||||
,o.OsztalyNev
|
||||
,tcs.C_BELEPESDATUM
|
||||
,tcs.C_KILEPESDATUM
|
||||
FROM T_FELHASZNALO_OSSZES AS fh
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = fh.ID AND tcs.TOROLT='F'
|
||||
INNER JOIN #osztalyok o ON o.OsztalyId = tcs.C_OSZTALYCSOPORTID
|
||||
WHERE tcs.C_BELEPESDATUM < o.IdoszakVege AND (o.Keresztfeleves = 'F' OR tcs.C_BELEPESDATUM >= o.IdoszakKezdete)
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= o.IdoszakVege)
|
||||
AND fh.TOROLT = 'F'
|
||||
|
||||
INSERT INTO #tempOsztalyErtekelesek (
|
||||
Datum
|
||||
,ErtekelesSzoveg
|
||||
,ErtekelesSzovegRovidNev
|
||||
,ErtekelesOsztalyzatValue
|
||||
,ErtekelesOsztalyzatId
|
||||
,ErtekelesSzazalek
|
||||
,MagatartasOsztalyzatValue
|
||||
,MagatartasSzovegRovidNev
|
||||
,MagatartasErtek
|
||||
,MagatartasErtekOsztalyzatkent
|
||||
,SzorgalomOsztalyzatValue
|
||||
,SzorgalomSzovegRovidNev
|
||||
,SzorgalomErtek
|
||||
,SzorgalomErtekOsztalyzatkent
|
||||
,TanuloId
|
||||
,OsztalyCsoportId
|
||||
,TantargyId
|
||||
,TantargyNevZarojellel
|
||||
,TargyKategoriaId
|
||||
,FotargyE
|
||||
,Altantargy
|
||||
,ErtekelesTema
|
||||
,OsztalyId
|
||||
)
|
||||
SELECT
|
||||
te.C_DATUM as Datum
|
||||
,te.C_ERTEKELESSZOVEG as ErtekelesSzoveg
|
||||
,te.C_ERTEKELESSZOVEGROVIDNEV as ErtekelesSzovegRovidNev
|
||||
,ertekelesOsztalyzat.C_VALUE as ErtekelesOsztalyzatValue
|
||||
,te.C_ERTEKELESOSZTALYZATID as ErtekelesOsztalyzatId
|
||||
,CONVERT(NVARCHAR(3), te.C_ERTEKELESSZAZALEK)+'%' as ErtekelesSzazalek
|
||||
,magatartasOsztalyzat.C_VALUE as MagatartasOsztalyzatValue
|
||||
,te.C_MAGATARTASSZOVEGROVIDNEV as MagatartasSzovegRovidNev
|
||||
,magatartasErtek.C_NAME as MagatartasErtek
|
||||
,magatartasErtek.C_VALUE + 1 as MagatartasErtekOsztalyzatkent
|
||||
,szorgalomOsztalyzat.C_VALUE as SzorgalomOsztalyzatValue
|
||||
,te.C_SZORGALOMSZOVEGROVIDNEV as SzorgalomSzovegRovidNev
|
||||
,szorgalomErtek.C_NAME as SzorgalomErtek
|
||||
,szorgalomErtek.C_VALUE + 1 as SzorgalomErtekOsztalyzatkent
|
||||
,te.C_TANULOID as TanuloId
|
||||
,te.C_OSZTALYCSOPORTID as OsztalyCsoportId
|
||||
,te.C_TANTARGYID as TantargyId
|
||||
,IIF(tgy.C_NEV <> tgy.C_NEVNYOMTATVANYBAN AND tgy.C_NEVNYOMTATVANYBAN IS NOT NULL, tgy.C_NEVNYOMTATVANYBAN +' (' + tgy.C_NEV + ')', tgy.C_NEV) as TantargyNevZarojellel
|
||||
,tgy.C_TARGYKATEGORIA as TargyKategoriaId
|
||||
,tgy.C_FOTARGYE as FotargyE
|
||||
,tgy.C_ALTANTARGYKENTNYOMTATVANYBAN as Altantargy
|
||||
,te.C_ERTEKELESTEMA as ErtekelesTema
|
||||
,o.OsztalyId
|
||||
FROM T_TANULOERTEKELES_OSSZES te
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = te.C_TANULOID
|
||||
AND tcs.C_BELEPESDATUM <= te.C_DATUM
|
||||
AND (tcs.C_KILEPESDATUM >= te.C_DATUM OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcsErt ON tcsErt.C_TANULOID = te.C_TANULOID
|
||||
AND tcsErt.C_OSZTALYCSOPORTID = te.C_OSZTALYCSOPORTID
|
||||
AND tcsErt.C_BELEPESDATUM <= te.C_DATUM
|
||||
AND (tcsErt.C_KILEPESDATUM >= te.C_DATUM OR tcsErt.C_KILEPESDATUM IS NULL)
|
||||
AND tcsErt.TOROLT = 'F'
|
||||
AND tcsErt.C_TANEVID = @pTanevId
|
||||
INNER JOIN #osztalyok o ON o.OsztalyId = tcs.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANTARGY_OSSZES tgy ON tgy.Id = te.C_TANTARGYID AND tgy.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ertekelesOsztalyzat ON ertekelesOsztalyzat.ID = te.C_ERTEKELESOSZTALYZATID
|
||||
AND ertekelesOsztalyzat.C_TANEVID = @pTanevId AND ertekelesOsztalyzat.TOROLT='F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magatartasOsztalyzat ON magatartasOsztalyzat.ID = te.C_MAGATARTASOSZTALYZATID
|
||||
AND magatartasOsztalyzat.C_TANEVID = @pTanevId AND magatartasOsztalyzat.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgalomOsztalyzat ON szorgalomOsztalyzat.ID = te.C_SZORGALOMOSZTALYZATID --OsztalyzatTipus
|
||||
AND szorgalomOsztalyzat.C_TANEVID = @pTanevId AND szorgalomOsztalyzat.TOROLT='F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magatartasErtek ON magatartasErtek.ID = te.C_MAGATARTASERTEKID
|
||||
AND magatartasErtek.C_TANEVID = @pTanevId AND magatartasErtek.TOROLT='F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgalomErtek ON szorgalomErtek.ID = te.C_SZORGALOMERTEKID
|
||||
AND szorgalomErtek.C_TANEVID = @pTanevId AND szorgalomErtek.TOROLT='F'
|
||||
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.TOROLT='F' AND cs.ID = tcsErt.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN #csopTip csoptip ON csoptip.ID = cs.ID
|
||||
WHERE te.C_TANEVID = @pTanevId
|
||||
AND te.TOROLT = 'F'
|
||||
AND C_TIPUSID = @pErtekelestipusaId
|
||||
AND (@pAtsoroltTanuloAdatok = 1 OR (te.C_OSZTALYCSOPORTID IN(SELECT KapcsId FROM #kapcsolodoOcsID WHERE OsztalyId = o.OsztalyId)))
|
||||
AND (cs.ID IS NULL OR csoptip.Id IS NOT NULL)
|
||||
AND (ISNULL(tgy.C_TARGYKATEGORIA,0) <> 1248) --Osztályfőnöki, élet- és pályatervezés
|
||||
|
||||
INSERT INTO #szurtErtekeles (
|
||||
TanuloId
|
||||
,OsztalyId
|
||||
,ErtekelesSzoveg
|
||||
,ErtekelesSzovegRovidNev
|
||||
,ErtekelesSzazalek
|
||||
,ErtekelesOsztalyzatValue
|
||||
,ErtekelesOsztalyzatId
|
||||
,ErtekelesTema
|
||||
,C_ERTEKELESDATUM
|
||||
,TANTARGYID
|
||||
,TANTARGY_NEV
|
||||
,TARGYKATEGORIA_NEV
|
||||
,TARGYKATEGORIA_SORSZAM
|
||||
,T_TANTARGY_C_FOTARGYE
|
||||
,T_TANTARGY_C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
,C_OSZTALYCSOPORTID
|
||||
)
|
||||
SELECT
|
||||
TanuloId
|
||||
,OsztalyId
|
||||
,ErtekelesSzoveg
|
||||
,ErtekelesSzovegRovidNev
|
||||
,ErtekelesSzazalek
|
||||
,ErtekelesOsztalyzatValue
|
||||
,ErtekelesOsztalyzatId
|
||||
,ErtekelesTema
|
||||
,Datum
|
||||
,TantargyId
|
||||
,TantargyNevZarojellel
|
||||
,dib.C_NAME
|
||||
,dib.C_VALUE
|
||||
,FotargyE
|
||||
,Altantargy
|
||||
,OsztalyCsoportId
|
||||
FROM #tempOsztalyErtekelesek AS ert
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS dib ON dib.ID = ert.TargyKategoriaId AND dib.C_TANEVID = @pTanevId AND dib.TOROLT='F'
|
||||
WHERE TantargyId IS NOT NULL AND (FotargyE = 'T' OR Altantargy = 'T')
|
||||
|
||||
--MULASZTÁS
|
||||
INSERT INTO #HozottMulasztas (
|
||||
OsztalyId_TanuloID
|
||||
,HozottIgazolt
|
||||
,HozottIgazolatlan
|
||||
)
|
||||
SELECT
|
||||
CAST(o.ID AS nvarchar) + '_' + CAST(tcs.C_TANULOID AS nvarchar)
|
||||
,SUM(IIF(tcs.C_BELEPESDATUM < o2.IdoszakVege,ISNULL(tta.C_HOZOTTIGAZOLTHIANYZAS,0),0))
|
||||
,SUM(IIF(tcs.C_BELEPESDATUM < o2.IdoszakVege,ISNULL(tta.C_HOZOTTIGAZOLATLANHIANYZAS,0),0))
|
||||
FROM T_OSZTALY_OSSZES o
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID= o.ID AND ocs.TOROLT = 'F'
|
||||
LEFT JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND ocs.C_TANEVID = @pTanevId AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.C_TANEVID = @pTanevId AND tta.TOROLT = 'F'
|
||||
INNER JOIN #osztalyok o2 ON o2.OsztalyId = o.ID
|
||||
WHERE C_ALTANEVID = @pTanevId AND o.TOROLT = 'F'
|
||||
GROUP BY tcs.C_TANULOID, o.ID
|
||||
|
||||
INSERT INTO #szurtMulasztas (
|
||||
TIPUS_CHAR
|
||||
,C_TIPUS
|
||||
,C_IGAZOLT
|
||||
,TANULOID
|
||||
,C_GYAKORLATI
|
||||
,KESESPERC
|
||||
,MULASZTASOK_SZAMA
|
||||
)
|
||||
SELECT
|
||||
TIPUS_CHAR
|
||||
,TIPUS
|
||||
,IGAZOLT
|
||||
,CAST(o.OsztalyId AS nvarchar(10)) + '_' + CAST(TanuloMulasztas.TANULOID AS nvarchar(10))
|
||||
,GYAKORLATI
|
||||
,SUM(KESESPERC)
|
||||
,SUM(MULASZTASOK_SZAMA)
|
||||
FROM #tempMulasztas AS TanuloMulasztas
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = TanuloMulasztas.TANULOID AND tcs.TOROLT='F' AND tcs.C_OSZTALYCSOPORTID = TanuloMulasztas.OSZTALYCSOPORTID AND tcs.TOROLT='F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcso ON tcso.C_TANULOID = tcs.C_TANULOID AND tcso.TOROLT='F'
|
||||
AND tcso.C_BELEPESDATUM <= DATUM
|
||||
AND (tcso.C_KILEPESDATUM IS NULL OR tcso.C_KILEPESDATUM >= DATUM)
|
||||
INNER JOIN #osztalyok o ON o.OsztalyId = tcso.C_OSZTALYCSOPORTID
|
||||
WHERE tcs.C_BELEPESDATUM <= DATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= DATUM)
|
||||
AND (IIF(@pAtsoroltTanuloAdatok > 0, 1, 0) = 1 OR (OSZTALYCSOPORTID IN (SELECT KapcsId FROM #kapcsolodoOcsID WHERE OsztalyId = o.OsztalyId)))
|
||||
AND (o.IdoszakKezdete IS NULL OR DATUM >= o.IdoszakKezdete)
|
||||
AND (o.IdoszakVege IS NULL OR DATUM <= o.IdoszakVege)
|
||||
GROUP BY TIPUS_CHAR, TIPUS, IGAZOLT, GYAKORLATI, o.OsztalyId,TanuloMulasztas.TANULOID
|
||||
|
||||
IF @pElmeletgyakorlat=0
|
||||
BEGIN
|
||||
INSERT INTO #szurtMulasztasRes
|
||||
SELECT
|
||||
TIPUS_CHAR
|
||||
,C_TIPUS
|
||||
,C_IGAZOLT
|
||||
,TANULOID
|
||||
,SUM(KESESPERC) AS KESESPERC
|
||||
,SUM(KESESPERC)/45 AS KESESORA
|
||||
,SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA
|
||||
,'F'
|
||||
FROM #szurtMulasztas
|
||||
GROUP BY TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID
|
||||
ORDER BY TANULOID, C_TIPUS DESC, C_IGAZOLT DESC;
|
||||
|
||||
INSERT INTO #szurtMulasztasOsszesRes
|
||||
SELECT
|
||||
C_IGAZOLT
|
||||
,TANULOID
|
||||
,SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA
|
||||
,'F'
|
||||
FROM (
|
||||
SELECT
|
||||
C_IGAZOLT
|
||||
,TANULOID
|
||||
,SUM(KESESPERC)/45 AS MULASZTASOK_SZAMA
|
||||
FROM #szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'K'
|
||||
GROUP BY TIPUS_CHAR, C_IGAZOLT, TANULOID
|
||||
UNION ALL
|
||||
SELECT
|
||||
C_IGAZOLT
|
||||
,TANULOID
|
||||
,SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA
|
||||
FROM #szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'H'
|
||||
GROUP BY TIPUS_CHAR, C_IGAZOLT, TANULOID
|
||||
) AS KM
|
||||
GROUP BY C_IGAZOLT, TANULOID
|
||||
ORDER BY TANULOID, C_IGAZOLT DESC;
|
||||
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO #szurtMulasztasRes
|
||||
SELECT
|
||||
TIPUS_CHAR
|
||||
,C_TIPUS
|
||||
,C_IGAZOLT
|
||||
,TANULOID
|
||||
,KESESPERC
|
||||
,KESESPERC/45 AS KESESORA
|
||||
,MULASZTASOK_SZAMA
|
||||
,C_GYAKORLATI
|
||||
FROM #szurtMulasztas
|
||||
ORDER BY TANULOID, C_TIPUS DESC, C_IGAZOLT DESC;
|
||||
|
||||
INSERT INTO #szurtMulasztasOsszesRes
|
||||
SELECT
|
||||
C_IGAZOLT
|
||||
,TANULOID
|
||||
,SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA
|
||||
,C_GYAKORLATI
|
||||
FROM (
|
||||
SELECT
|
||||
C_IGAZOLT
|
||||
,TANULOID
|
||||
,KESESPERC/45 AS MULASZTASOK_SZAMA
|
||||
,C_GYAKORLATI
|
||||
FROM #szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'K'
|
||||
UNION ALL
|
||||
SELECT
|
||||
C_IGAZOLT
|
||||
,TANULOID
|
||||
,MULASZTASOK_SZAMA
|
||||
,C_GYAKORLATI
|
||||
FROM #szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'H'
|
||||
) AS KM
|
||||
GROUP BY C_IGAZOLT, TANULOID, C_GYAKORLATI
|
||||
ORDER BY TANULOID, C_IGAZOLT DESC;
|
||||
END
|
||||
|
||||
UPDATE szm SET
|
||||
MULASZTASOK_SZAMA = ISNULL(MULASZTASOK_SZAMA,0) +
|
||||
CASE
|
||||
WHEN szm.TIPUS_CHAR = 'H' AND szm.C_IGAZOLT = 'T' AND szm.C_GYAKORLATI = 'F'
|
||||
THEN ISNULL(hm.HozottIgazolt,0)
|
||||
WHEN szm.TIPUS_CHAR = 'H' AND szm.C_IGAZOLT = 'F' AND szm.C_GYAKORLATI = 'F'
|
||||
THEN ISNULL(hm.HozottIgazolatlan,0)
|
||||
ELSE 0
|
||||
END
|
||||
FROM #szurtMulasztasRes szm
|
||||
INNER JOIN #HozottMulasztas hm ON hm.OsztalyId_TanuloID = szm.TANULOID
|
||||
|
||||
INSERT INTO #szurtMulasztasRes (
|
||||
TIPUS_CHAR
|
||||
,C_TIPUS
|
||||
,C_IGAZOLT
|
||||
,TANULOID
|
||||
,MULASZTASOK_SZAMA
|
||||
,C_GYAKORLATI
|
||||
)
|
||||
SELECT
|
||||
'H'
|
||||
,@pMulasztasTipusIdHianyzas
|
||||
,'T'
|
||||
,hm.OsztalyId_TanuloID
|
||||
,ISNULL(hm.HozottIgazolt,0)
|
||||
,'F'
|
||||
FROM #HozottMulasztas hm
|
||||
LEFT JOIN #szurtMulasztasRes szm ON szm.TANULOID = hm.OsztalyId_TanuloID
|
||||
WHERE szm.TANULOID IS NULL
|
||||
|
||||
INSERT INTO #szurtMulasztasRes (
|
||||
TIPUS_CHAR
|
||||
,C_TIPUS
|
||||
,C_IGAZOLT
|
||||
,TANULOID
|
||||
,MULASZTASOK_SZAMA
|
||||
,C_GYAKORLATI
|
||||
)
|
||||
SELECT
|
||||
'H'
|
||||
,@pMulasztasTipusIdHianyzas
|
||||
,'F'
|
||||
,hm.OsztalyId_TanuloID
|
||||
,ISNULL(hm.HozottIgazolatlan,0)
|
||||
,'F'
|
||||
FROM #HozottMulasztas hm
|
||||
LEFT JOIN #szurtMulasztasRes szm ON szm.TANULOID = hm.OsztalyId_TanuloID
|
||||
WHERE (szm.TANULOID IS NULL OR NOT EXISTS (SELECT TOP 1 TANULOID FROM #szurtMulasztasRes szm2 WHERE szm2.TANULOID = hm.OsztalyId_TanuloID AND szm2.C_IGAZOLT='F' AND szm2.TIPUS_CHAR = 'H' AND szm2.C_GYAKORLATI = 'F') )
|
||||
|
||||
SELECT DISTINCT
|
||||
TANULOID
|
||||
,TANULONEV
|
||||
,OKTATASIAZONOSITO
|
||||
,OSZTALYNEV
|
||||
,FORMAT(BELEPESDATUM, 'yyyy.MM.dd', 'hu-HU') + ' - ' + ISNULL (FORMAT(KILEPESDATUM, 'yyyy.MM.dd', 'hu-HU'), '') AS BESOROLASA
|
||||
,OSZTALYID
|
||||
FROM #osztalyTanulok
|
||||
ORDER BY OSZTALYNEV, TANULONEV;
|
||||
|
||||
SELECT
|
||||
TANTARGYID
|
||||
,TANTARGY_NEV
|
||||
,TARGYKATEGORIA_SORSZAM
|
||||
FROM #tantargyak
|
||||
ORDER BY TARGYKATEGORIA_SORSZAM, TANTARGY_NEV;
|
||||
|
||||
SELECT
|
||||
ROW_NUMBER() OVER(ORDER BY TanuloId) AS T_TANULOERTEKELES_ID
|
||||
,CAST(OsztalyId AS nvarchar(10)) + '_' + CAST(TanuloId AS nvarchar(10)) AS TANULOID
|
||||
,COALESCE(CAST(ErtekelesOsztalyzatValue AS nvarchar(2)),
|
||||
IIF(ErtekelesSzoveg IS NOT NULL, CASE WHEN ErtekelesSzovegRovidNev IN ('1', '2', '3', '4', '5') THEN 'Sz' ELSE ErtekelesSzovegRovidNev END, NULL),
|
||||
ErtekelesSzazalek) AS ERTEKELES
|
||||
,COALESCE(ErtekelesSzoveg, ErtekelesTema, '') as ERTEKELES_SZOVEG_MEGJEGYZES
|
||||
,C_ERTEKELESDATUM
|
||||
,TANTARGYID
|
||||
,TANTARGY_NEV
|
||||
,TARGYKATEGORIA_NEV
|
||||
,TARGYKATEGORIA_SORSZAM
|
||||
,T_TANTARGY_C_FOTARGYE
|
||||
,T_TANTARGY_C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
,C_OSZTALYCSOPORTID
|
||||
FROM #szurtErtekeles
|
||||
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY TanuloId) AS ID
|
||||
,CAST(szurtMagSzorg.Osztalyid AS nvarchar(10)) + '_' + CAST(TanuloId AS nvarchar(10)) AS TANULOID
|
||||
,COALESCE(CAST(MagatartasOsztalyzatValue AS nvarchar(2)), CAST(MagatartasErtekOsztalyzatkent AS nvarchar(2)), MagatartasSzovegRovidNev) AS MagatartasOsztalyzat
|
||||
,MagatartasErtek
|
||||
,COALESCE(CAST(SzorgalomOsztalyzatValue AS nvarchar(2)), CAST(SzorgalomErtekOsztalyzatkent AS nvarchar(2)), SzorgalomSzovegRovidNev) AS SzorgalomOsztalyzat
|
||||
,SzorgalomErtek
|
||||
,ErtekelesSzoveg AS C_ERTEKELESSZOVEG
|
||||
,Datum AS C_ERTEKELESDATUM
|
||||
,'F' AS TOROLT
|
||||
FROM #tempOsztalyErtekelesek AS szurtMagSzorg
|
||||
WHERE TantargyId IS NULL
|
||||
|
||||
SELECT * FROM #szurtMulasztasRes
|
||||
|
||||
SELECT * FROM #szurtMulasztasOsszesRes
|
||||
|
||||
|
||||
SELECT TanuloIdWithOsztalyId as TANULOID, [D] AS Dicseret, [K] AS Kituno
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(OsztalyId AS nvarchar(10)) + '_' + CAST(TanuloId AS nvarchar(10)) as TanuloIdWithOsztalyId
|
||||
,ROW_NUMBER() OVER (ORDER BY TanuloId) as Tanuloertekeles_Id
|
||||
,LEFT(COALESCE(ErtekelesSzoveg, ErtekelesTema, ''), 1) AS Szoveg
|
||||
FROM #szurtErtekeles
|
||||
WHERE
|
||||
ErtekelesOsztalyzatId = 1505
|
||||
AND LTRIM(RTRIM(COALESCE(ErtekelesSzoveg, ErtekelesTema, ''))) IN ( 'Dicséret', 'Kitűnő' )
|
||||
) AS s
|
||||
PIVOT(COUNT(Tanuloertekeles_Id) FOR Szoveg IN ([D], [K])) piv
|
||||
ORDER BY TanuloIdWithOsztalyId
|
||||
|
||||
END
|
||||
GO
|
Reference in New Issue
Block a user