init
This commit is contained in:
@@ -0,0 +1,220 @@
|
||||
DROP FUNCTION IF EXISTS fnGetLemorzsolodottTanulokByFelhely
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [dbo].[fnGetLemorzsolodottTanulokByFelhely] (@feladatEllatasiHelyId int, @tanevId int, @isFelevi int)
|
||||
RETURNS @FHHozTartozoTanulok TABLE(
|
||||
TanuloId int
|
||||
,Evfolyam int
|
||||
,Neme int
|
||||
,TanuloNev nvarchar(510)
|
||||
,OktatasiAzonosito nvarchar(11)
|
||||
,OsztalyNev nvarchar(510)
|
||||
,OsztalyId int
|
||||
,KozepesMiatt bit
|
||||
,RontottMiatt bit
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @Tanulok TABLE(
|
||||
TanuloId int PRIMARY KEY
|
||||
,EvFolyam int
|
||||
,Neme int
|
||||
,NyomtatasiNev nvarchar(510)
|
||||
,OktatasiAzonosito nvarchar(11)
|
||||
,OsztalyNev nvarchar(510)
|
||||
,OsztalyId int
|
||||
)
|
||||
DECLARE @Osztalyzatok TABLE(
|
||||
Id int PRIMARY KEY
|
||||
,Ertek float
|
||||
)
|
||||
DECLARE @TanuloAtlagok TABLE(
|
||||
TanuloId int PRIMARY KEY
|
||||
,AktualisAtlag float
|
||||
,KorabbiAtlag float
|
||||
)
|
||||
DECLARE @KozepesAlattiTanulok TABLE(
|
||||
TanuloId int PRIMARY KEY
|
||||
)
|
||||
DECLARE @RontottTanulok TABLE(
|
||||
TanuloId int PRIMARY KEY
|
||||
)
|
||||
DECLARE @MuvCsoportTip TABLE(
|
||||
CsoptipId int PRIMARY KEY
|
||||
)
|
||||
DECLARE @EslTantargyak TABLE(
|
||||
TantargyId int PRIMARY KEY
|
||||
,TanevId int
|
||||
)
|
||||
-- Mi a "Közepes" értéke az adott feladatellátási helyen
|
||||
DECLARE @FelHelyTipusKozepes float = 3.0
|
||||
|
||||
DECLARE @ErtekelesTipus int = IIF(@isFelevi = 0,1520,1519)
|
||||
DECLARE @ExErtekelesTipus int = IIF(@ErtekelesTipus = 1520,1519,1520)
|
||||
|
||||
SELECT
|
||||
@FelHelyTipusKozepes = IIF(fh.C_OKTATASINEVELESIFELADATTIPUS IN (1160, 1161, 1162, 5435, 1176, 6463),2.5,3.0)
|
||||
FROM T_FELADATELLATASIHELY fh
|
||||
WHERE fh.ID = @feladatEllatasiHelyId AND fh.TOROLT='F'
|
||||
|
||||
INSERT INTO @MuvCsoportTip (CsoptipID)
|
||||
VALUES (1071),(1070),(1069),(1068),(1067),(6756),(6757),(6758),(6759),(6760),(6761) --művészeti csoporttípusok
|
||||
-- Az elõzõ tanév ID-ja
|
||||
DECLARE @ElozoTanevId int = 0
|
||||
|
||||
IF @IsFelevi = 0
|
||||
BEGIN
|
||||
SET @ElozoTanevId = @tanevId
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT @ElozoTanevId = ISNULL(elozotanev.ID,0)
|
||||
FROM T_TANEV akttanev
|
||||
INNER JOIN T_TANEV_OSSZES elozotanev ON elozotanev.TOROLT = 'F' AND elozotanev.C_SORSZAM = akttanev.C_SORSZAM-2
|
||||
AND elozotanev.C_INTEZMENYID = akttanev.C_INTEZMENYID
|
||||
WHERE akttanev.ID = @tanevId
|
||||
END
|
||||
|
||||
DECLARE @BesorolasiDatum DATE = (SELECT TOP 1 C_DATUM from T_TANEVRENDJE tr WHERE C_NAPTIPUSA = IIF(@isFelevi = 0,1395,1400) AND C_TANEVID = @tanevid AND TOROLT='F')
|
||||
|
||||
INSERT INTO @Osztalyzatok
|
||||
SELECT
|
||||
ID
|
||||
,CONVERT(float,C_VALUE)
|
||||
FROM T_DICTIONARYITEMBASE
|
||||
WHERE C_TYPE = 'OsztalyzatTipus' AND C_TANEVID = @tanevId AND TOROLT='F'
|
||||
|
||||
INSERT INTO @EslTantargyak (
|
||||
TantargyId
|
||||
,TanevId
|
||||
)
|
||||
SELECT
|
||||
tgy.ID
|
||||
,@tanevId
|
||||
FROM T_TANTARGY tgy
|
||||
WHERE (tgy.C_ALTANTARGYKENTNYOMTATVANYBAN='T' OR tgy.C_FOTARGYE='T')
|
||||
AND tgy.C_TANEVID = @tanevId AND tgy.TOROLT='F'
|
||||
AND tgy.C_ESLTANTARGYKATEGORIAID IS NOT NULL
|
||||
UNION
|
||||
SELECT
|
||||
tgy.ID
|
||||
,@ElozoTanevId
|
||||
FROM T_TANTARGY_OSSZES tgy
|
||||
WHERE (tgy.C_ALTANTARGYKENTNYOMTATVANYBAN='T' OR tgy.C_FOTARGYE='T')
|
||||
AND tgy.C_TANEVID = @ElozoTanevId AND tgy.TOROLT='F'
|
||||
AND tgy.C_ESLTANTARGYKATEGORIAID IS NOT NULL
|
||||
|
||||
|
||||
-- Egy adott FH-hoz tartozó tanulók kilistázása (évfolyamonként, nemenként) összevont osztályokkal együtt
|
||||
INSERT INTO @Tanulok /*TODO:Tobb Osztaly*//*OM-1582*/
|
||||
SELECT DISTINCT
|
||||
tcs.C_TANULOID
|
||||
,ISNULL(tta.C_TANULOEVFOLYAMTIPUSID,1307)
|
||||
,f.C_NEME
|
||||
,f.C_NYOMTATASINEV
|
||||
,f.C_OKTATASIAZONOSITO
|
||||
,ocs.C_NEV
|
||||
,ocs.ID
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID AND o.TOROLT='F'
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = o.ID AND tcs.TOROLT = 'F'
|
||||
AND @BesorolasiDatum BETWEEN tcs.C_BELEPESDATUM AND ISNULL(tcs.C_KILEPESDATUM,'22000101')
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F' /*Ha a tanuló összevont évfolyamú osztályba jár, de van megadva neki egyénileg évfolyam a tanügyi adataiban,*/
|
||||
INNER JOIN T_FELHASZNALO f ON f.ID = tcs.C_TANULOID AND f.TOROLT='F' /*akkor azt kell megjeleníteni*/
|
||||
WHERE ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId
|
||||
AND ocs.C_TANEVID = @tanevId AND ocs.C_KEPZESIFORMA = 1096
|
||||
AND C_EVFOLYAMTIPUSA IN (7366,6909,6912,6913,6908,6910,6911)
|
||||
AND ocs.TOROLT = 'F'
|
||||
UNION
|
||||
SELECT DISTINCT
|
||||
tcs.C_TANULOID
|
||||
,ocs.C_EVFOLYAMTIPUSA
|
||||
,f.C_NEME
|
||||
,f.C_NYOMTATASINEV
|
||||
,f.C_OKTATASIAZONOSITO
|
||||
,ocs.C_NEV
|
||||
,ocs.ID
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.TOROLT = 'F'
|
||||
AND @BesorolasiDatum BETWEEN tcs.C_BELEPESDATUM AND ISNULL(tcs.C_KILEPESDATUM,'22000101')
|
||||
INNER JOIN T_OSZTALY o ON o.id = tcs.C_OSZTALYCSOPORTID AND o.TOROLT='F'
|
||||
INNER JOIN T_FELHASZNALO f ON f.id = tcs.C_TANULOID AND f.TOROLT='F'
|
||||
WHERE ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId
|
||||
AND ocs.C_TANEVID = @tanevId AND ocs.C_KEPZESIFORMA = 1096
|
||||
AND C_EVFOLYAMTIPUSA NOT IN (7366,6909,6912,6913,6908,6910,6911)
|
||||
AND ocs.TOROLT = 'F'
|
||||
|
||||
DELETE FROM @Tanulok WHERE Evfolyam BETWEEN 1303 AND 1306 --1-4 évfolyamok nem kellenek
|
||||
-- Visszatérési tábla számítása
|
||||
|
||||
INSERT INTO @KozepesAlattiTanulok (TanuloId)
|
||||
SELECT DISTINCT
|
||||
fht.TanuloId
|
||||
FROM T_TANULOERTEKELES te
|
||||
INNER JOIN @EslTantargyak tgy ON tgy.TanevId = te.C_TANEVID AND tgy.TantargyId = te.C_TANTARGYID
|
||||
INNER JOIN @Osztalyzatok o ON o.ID = te.C_ERTEKELESOSZTALYZATID
|
||||
INNER JOIN @Tanulok fht ON fht.TanuloId = te.C_TANULOID
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID=te.C_OSZTALYCSOPORTID AND cs.TOROLT='F'
|
||||
WHERE te.C_TIPUSID = @ErtekelesTipus AND ISNULL(cs.C_TIPUSA,0) NOT IN(SELECT CsoptipID FROM @MuvCsoportTip) --alapf. műv okt csoportok osztályzatai nem kellenek
|
||||
AND te.TOROLT='F' AND te.C_TANEVID = @tanevId
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING ROUND(AVG(o.Ertek),2) < @FelHelyTipusKozepes
|
||||
|
||||
INSERT INTO @TanuloAtlagok (
|
||||
TanuloId
|
||||
,AktualisAtlag
|
||||
,KorabbiAtlag
|
||||
)
|
||||
SELECT
|
||||
fht.TanuloId
|
||||
,(
|
||||
SELECT
|
||||
ROUND(AVG(o.Ertek),2)
|
||||
FROM T_TANULOERTEKELES te
|
||||
INNER JOIN @Osztalyzatok o ON o.ID = te.C_ERTEKELESOSZTALYZATID
|
||||
INNER JOIN @EslTantargyak tgy ON tgy.Tantargyid = te.C_TANTARGYID AND tgy.TanevId = te.C_TANEVID
|
||||
WHERE te.C_TANULOID = tanulo.ID AND te.C_TIPUSID = @ErtekelesTipus AND te.TOROLT='F' AND te.C_TANEVID = tanulo.C_TANEVID
|
||||
AND NOT EXISTS(SELECT 1 FROM T_CSOPORT WHERE ID = te.C_OSZTALYCSOPORTID AND C_TIPUSA IN (SELECT CsoptipID FROM @MuvCsoportTip))
|
||||
) AktualisAtlag
|
||||
,(
|
||||
SELECT
|
||||
ROUND(AVG(o.Ertek),2)
|
||||
FROM T_TANULOERTEKELES_OSSZES te
|
||||
INNER JOIN @Osztalyzatok o ON o.ID = te.C_ERTEKELESOSZTALYZATID
|
||||
INNER JOIN @EslTantargyak tgy ON tgy.Tantargyid = te.C_TANTARGYID AND tgy.TanevId = te.C_TANEVID
|
||||
WHERE te.C_TANULOID = extanulo.ID AND te.C_TIPUSID = @ExErtekelesTipus AND te.TOROLT = 'F' AND te.C_TANEVID = extanulo.C_TANEVID
|
||||
AND NOT EXISTS(SELECT 1 FROM T_CSOPORT_OSSZES WHERE ID = te.C_OSZTALYCSOPORTID AND C_TIPUSA IN (SELECT CsoptipID FROM @MuvCsoportTip) AND TOROLT='F')
|
||||
) KorabbiAtlag
|
||||
FROM @Tanulok fht
|
||||
INNER JOIN T_FELHASZNALO tanulo ON tanulo.ID = fht.TanuloId
|
||||
INNER JOIN T_FELHASZNALO_OSSZES extanulo ON tanulo.C_OKTATASIAZONOSITO = extanulo.C_OKTATASIAZONOSITO
|
||||
AND extanulo.C_TANEVID = @ElozoTanevId AND extanulo.TOROLT = 'F'
|
||||
|
||||
INSERT INTO @RontottTanulok (TanuloId)
|
||||
SELECT DISTINCT
|
||||
fht.TanuloId
|
||||
FROM @Tanulok fht
|
||||
INNER JOIN @TanuloAtlagok ta ON ta.TanuloId = fht.TanuloId
|
||||
WHERE (ta.AktualisAtlag+1.1) <= ta.KorabbiAtlag
|
||||
|
||||
INSERT INTO @FhHozTartozoTanulok
|
||||
SELECT
|
||||
fht.TanuloId
|
||||
,fht.Evfolyam
|
||||
,fht.Neme
|
||||
,fht.NyomtatasiNev
|
||||
,fht.OktatasiAzonosito
|
||||
,fht.Osztalynev
|
||||
,fht.OsztalyId
|
||||
,IIF(kozepes.TanuloId IS NULL, 0, 1)
|
||||
,IIF(rontott.TanuloId IS NULL, 0, 1)
|
||||
FROM @Tanulok fht
|
||||
LEFT JOIN @KozepesAlattiTanulok kozepes ON kozepes.TanuloId = fht.TanuloId
|
||||
LEFT JOIN @RontottTanulok rontott ON rontott.TanuloId = fht.TanuloId
|
||||
WHERE (kozepes.TanuloId IS NOT NULL OR rontott.TanuloId IS NOT NULL)
|
||||
|
||||
RETURN
|
||||
|
||||
END
|
||||
GO
|
@@ -0,0 +1,620 @@
|
||||
DROP PROCEDURE IF EXISTS sp_ExportEsl_A03T01_1
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_ExportEsl_A03T01_1]
|
||||
@tanevId int
|
||||
,@feladatEllatasiHelyId int
|
||||
,@isFelevi int = 0
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
--Táblák deklarálása
|
||||
CREATE TABLE #Tanulok (
|
||||
TanuloNev nvarchar(1024)
|
||||
,Neme int
|
||||
,Evfolyam int
|
||||
,Kategoria nvarchar(500)
|
||||
)
|
||||
CREATE TABLE #TanulokOsszes (
|
||||
Kategoria nvarchar(500)
|
||||
,Osszes int
|
||||
,OsszesLany int
|
||||
)
|
||||
CREATE TABLE #TanuloErtekeles (
|
||||
Id int
|
||||
,Tanulo int
|
||||
,Ertekeles int
|
||||
,Tipus int
|
||||
)
|
||||
CREATE TABLE #ErintettTanulok (
|
||||
Evfolyam int
|
||||
,TanuloId int
|
||||
,Neme int
|
||||
,TanuloNev nvarchar(255)
|
||||
,Oktatasiazonosito nvarchar(11)
|
||||
,TanuloOsztalyNev nvarchar(255)
|
||||
,IsKozepesMiatt int
|
||||
,IsRontasMiatt int
|
||||
,TanuloOsztalyId int
|
||||
,INDEX IX_01 (TanuloId)
|
||||
)
|
||||
CREATE TABLE #KetFeltetelTanulok (
|
||||
TanuloId int
|
||||
,Evfolyam int
|
||||
,Neme int
|
||||
,TanuloNev nvarchar(510)
|
||||
,OktatasiAzonosito nvarchar(11)
|
||||
,TanuloOsztalyNev nvarchar(255)
|
||||
,IsHianyzasMiatt int
|
||||
,IsKiemeltMiatt int
|
||||
,IsGyermekVedelemMiatt int
|
||||
,IsAltalanosIskolaMiatt int
|
||||
)
|
||||
CREATE TABLE #Kategoria(
|
||||
KategoriaNev nvarchar(500)
|
||||
,Sorrend int
|
||||
)
|
||||
CREATE TABLE #IntezmenyEvfolyamok(
|
||||
ID int
|
||||
,EvfolyamNev nvarchar(510)
|
||||
)
|
||||
INSERT INTO #Kategoria( --Egyszerűbb így, hogy meglegyen minden kategória a végén, sorrenddel együtt, akkor is, ha nincs hozzá elem
|
||||
KategoriaNev
|
||||
,Sorrend
|
||||
) VALUES
|
||||
('Osszesen',1)
|
||||
,('Lany',2)
|
||||
,('AFelevErtekelesenelMinositesenelATanuloEgyTizedesjegyigSzamitottTanulmanyiAtlagaAMagatartasEsSzorgalomErtekelesetMinositesetNemBeleszamitvaNemEriElKozepes3Szintet',3)
|
||||
,('AzEvVegiJegyekAlapjanAFeleviJegyekhezKepestLegalabb11NyiAtlagotRontoTanulokSzama',4)
|
||||
,('AFelevErtekelesenelMinositesenelATanuloEgyVagyTobbTantargybolElegtelen1OsztalyzatotKapott',5)
|
||||
,('AFelevMagatartasanakErtekelesenelMinositesenelATanuloRossz2ErtekelestKapott',6)
|
||||
,('AFelevSzorgalmanakErtekelesenelMinositesenelATanuloHanyag2ErtekelestKapott',7)
|
||||
,('AzAdottTanitasiEvbenEvismetlesreKotelezett',8)
|
||||
,('AFelevbenATanulo50OratMeghaladoHianyzassalRendelkezik',9)
|
||||
,('AFelevbenSzuloiKeresreMagantanulovaValtTanulo',10)
|
||||
,('AFelevbenMenekultOltalmazottMenedekesTanulokSzama',11)
|
||||
,('AFelevbenVeszelyezeztetteValtTanulokSzama',12)
|
||||
,('AFelevbenIdeiglenesHatallyalElhelyezettVagyNevelesbeVettTanulokSzama',13)
|
||||
,('KettoFeltetelTelejesuleseEsetenLemorzsolodassalVeszelyeztetettTanulo',14)
|
||||
,('EbbolAFelevben100OratEleroIgazoltHianyzassalRendelkezoTanulokSzama',15)
|
||||
,('EbbolKiemeltFigyelmetIgenyloTanulokSzamaAKiemeltenTehetsegesTanulokKivetelevel',16)
|
||||
,('EbbolRendszeresGyermekvedelmiKedvezmenybenReszesuloTanulokSzama',17)
|
||||
,('EbbolAlapfokuOktatasbanBetoltotteA16Eletevet',18)
|
||||
|
||||
DECLARE @FelevKezdete DATETIME= (
|
||||
SELECT C_DATUM + IIF(@isFelevi = 1, 0, 1)
|
||||
FROM T_TANEVRENDJE_OSSZES tr
|
||||
WHERE C_NAPTIPUSA = IIF(@isFelevi = 1, 1394, 1400)
|
||||
AND C_TANEVID = @tanevid
|
||||
AND TOROLT = 'F'
|
||||
)
|
||||
|
||||
DECLARE @FelevVege DATETIME= (
|
||||
SELECT C_DATUM + 1
|
||||
FROM T_TANEVRENDJE tr
|
||||
WHERE C_NAPTIPUSA = IIF(@isFelevi = 1, 1400, 1395)
|
||||
AND C_TANEVID=@tanevid
|
||||
AND TOROLT='F')
|
||||
|
||||
DECLARE @ertekelesTipus int=IIF(@isFelevi=1,1519,1520)
|
||||
DECLARE @osszesDb int
|
||||
DECLARE @cols nvarchar(max)
|
||||
INSERT INTO #IntezmenyEvfolyamok(
|
||||
Id
|
||||
,Evfolyamnev
|
||||
)
|
||||
SELECT DISTINCT
|
||||
dib.ID
|
||||
,dib.C_NAME
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_DICTIONARYITEMBASE dib ON dib.ID=ocs.C_EVFOLYAMTIPUSA AND dib.ID NOT IN(1303,1304,1305,1306,7366)--1-4 évfolyamok és összevont osztály
|
||||
WHERE ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId
|
||||
|
||||
SET @cols =
|
||||
STUFF((SELECT ',' + QUOTENAME(Evfolyamnev)
|
||||
FROM #IntezmenyEvfolyamok
|
||||
ORDER BY ID
|
||||
FOR XML PATH('')),1,1,'')
|
||||
|
||||
INSERT INTO #ErintettTanulok (
|
||||
TanuloId
|
||||
,Evfolyam
|
||||
,Neme
|
||||
,TanuloNev
|
||||
,OktatasiAzonosito
|
||||
,TanuloOsztalyNev
|
||||
,TanuloOsztalyId
|
||||
,IsKozepesMiatt
|
||||
,IsRontasMiatt
|
||||
)
|
||||
SELECT * FROM fnGetLemorzsolodottTanulokByFelhely (@feladatEllatasiHelyId, @tanevId, @isFelevi)
|
||||
|
||||
INSERT INTO #TanuloErtekeles
|
||||
SELECT
|
||||
te.ID
|
||||
,C_TANULOID
|
||||
,C_ERTEKELESOSZTALYZATID
|
||||
,C_TIPUSID
|
||||
FROM T_TANULOERTEKELES te
|
||||
INNER JOIN #ErintettTanulok fht ON fht.TanuloId=te.C_TANULOID
|
||||
INNER JOIN T_TANTARGY tgy ON tgy.ID = te.C_TANTARGYID AND tgy.C_ESLTANTARGYKATEGORIAID IS NOT NULL
|
||||
WHERE te.C_TIPUSID=@ertekelesTipus
|
||||
|
||||
DECLARE @Kategoria nvarchar(500)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '1'
|
||||
----------------------------------------------------------------------
|
||||
-- Összes
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'Osszesen'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '2'
|
||||
----------------------------------------------------------------------
|
||||
-- Lány
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'Lany'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok
|
||||
WHERE Neme = 5
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '3'
|
||||
----------------------------------------------------------------------
|
||||
-- Összes rontott
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevErtekelesenelMinositesenelATanuloEgyTizedesjegyigSzamitottTanulmanyiAtlagaAMagatartasEsSzorgalomErtekelesetMinositesetNemBeleszamitvaNemEriElKozepes3Szintet'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok
|
||||
WHERE IsKozepesMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '4'
|
||||
----------------------------------------------------------------------
|
||||
-- Legalább 1.1-et rontott
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AzEvVegiJegyekAlapjanAFeleviJegyekhezKepestLegalabb11NyiAtlagotRontoTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok
|
||||
WHERE IsRontasMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '5'
|
||||
----------------------------------------------------------------------
|
||||
-- egy, vagy több tantárgyból elégtelen osztályzat
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevErtekelesenelMinositesenelATanuloEgyVagyTobbTantargybolElegtelen1OsztalyzatotKapott'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #TanuloErtekeles te
|
||||
INNER JOIN #ErintettTanulok fht ON fht.TanuloId=te.Tanulo
|
||||
WHERE te.Tipus = @ertekelesTipus AND te.Ertekeles = 1501
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '6'
|
||||
----------------------------------------------------------------------
|
||||
-- félév, magatartás, 2
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevMagatartasanakErtekelesenelMinositesenelATanuloRossz2ErtekelestKapott'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=fht.TanuloId AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_MAGATARTASERTEKID=1558 OR te.C_MAGATARTASOSZTALYZATID=1502)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '7'
|
||||
----------------------------------------------------------------------
|
||||
-- félév, szorgalom, 2
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevSzorgalmanakErtekelesenelMinositesenelATanuloHanyag2ErtekelestKapott'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=fht.TanuloId AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_SZORGALOMERTEKID = 1562 OR te.C_SZORGALOMOSZTALYZATID=1502) AND fht.Neme=5
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '8'
|
||||
----------------------------------------------------------------------
|
||||
-- adott évben évismétlés
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AzAdottTanitasiEvbenEvismetlesreKotelezett'
|
||||
IF @isFelevi = 0
|
||||
BEGIN
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN (
|
||||
SELECT COUNT(DISTINCT fht.TanuloId) db,fht.TanuloId
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN #TanuloErtekeles te ON te.Tanulo=fht.TanuloId AND te.Ertekeles=1501
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING COUNT(*)>=4) x ON x.TanuloId = fht.TanuloId
|
||||
END
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '9'
|
||||
----------------------------------------------------------------------
|
||||
-- Félévben 50 órát elérő igazolatlan hiányzás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenATanulo50OratMeghaladoHianyzassalRendelkezik'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN (
|
||||
SELECT fht.TanuloId AS Tanulo FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN #ErintettTanulok fht on fht.TanuloId=tm.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA tao on tao.ID=tm.C_TANITASIORAKID AND tao.C_DATUM >= @FelevKezdete AND tao.C_DATUM<@FelevVege
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = tao.C_OSZTALYCSOPORTID AND cs.C_TIPUSA NOT IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))
|
||||
WHERE tm.C_IGAZOLT='F' AND cs.ID IS NULL
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING COUNT(Tanuloid) > 50) x ON x.Tanulo = fht.TanuloId
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '10'
|
||||
----------------------------------------------------------------------
|
||||
-- Szülő kérésére magántanuló
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenSzuloiKeresreMagantanulovaValtTanulo'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_TANULOID=fht.TanuloId AND tcs.C_OSZTALYCSOPORTID=fht.TanuloOsztalyId
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tcs.ID=tta.C_TANULOCSOPORTID AND tta.C_MAGANTANULOSAGANAKOKAID IN (663, 664)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '11'
|
||||
----------------------------------------------------------------------
|
||||
-- Menekült, menedékjoggal rendelkező
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenMenekultOltalmazottMenedekesTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_MENEDEKJOGGALRENDELKEZO='T' AND fht.TanuloId=t.ID
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '12'
|
||||
----------------------------------------------------------------------
|
||||
-- Félévben veszélyeztetett tanulók száma
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenVeszelyezeztetteValtTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.ID=fht.TanuloId AND t.C_VESZELYEZTETETT='T'
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '13'
|
||||
----------------------------------------------------------------------
|
||||
-- ideiglenes hatállyal elhelyezett vagy nevelésbe vett tanulók
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenIdeiglenesHatallyalElhelyezettVagyNevelesbeVettTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_ALLAMIGONDOZOTT='T' AND fht.TanuloId=t.ID
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '14'
|
||||
----------------------------------------------------------------------
|
||||
-- legalább 2 feltétel teljesül
|
||||
----------------------------------------------------------------------
|
||||
|
||||
INSERT INTO #KetFeltetelTanulok
|
||||
SELECT DISTINCT
|
||||
ftt.TanuloId
|
||||
,ftt.Evfolyam
|
||||
,ftt.Neme
|
||||
,ftt.TanuloNev
|
||||
,ftt.OktatasiAzonosito
|
||||
,ftt.TanuloOsztalyNev
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANITASIORA tno ON tno.ID = tm.C_TANITASIORAKID AND tno.C_DATUM > @FelevKezdete AND tno.C_DATUM < @FelevVege
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = tno.C_OSZTALYCSOPORTID
|
||||
WHERE (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))) AND tm.C_IGAZOLT='T' AND tm.C_TIPUS = 1500 AND tm.C_ORATANULOIID = ftt.TanuloId) > 100, 1, 0) AS IsHianyzasMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULO t
|
||||
WHERE t.ID = ftt.TanuloId
|
||||
AND (t.C_SAJATOSNEVELESU='T' OR t.C_BTMPROBLEMAS='T' OR t.C_HATRANYOSHELYZETU IN (1122, 1123))) > 0, 1, 0) AS IsKiemeltMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULO t
|
||||
WHERE t.ID = ftt.TanuloId
|
||||
AND t.C_RENDSZERESGYERMEKVEDELMIKEDV IS NOT NULL) > 0, 1, 0) AS IsGyermekVedelemMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_FELHASZNALO t
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_TANULOID=t.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID=tcs.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.C_ISESL16EVESUTANBELEPETT = 'T'
|
||||
INNER JOIN T_FELADATELLATASIHELY fh ON fh.ID=ocs.C_FELADATELLATASIHELYID AND fh.C_OKTATASINEVELESIFELADATTIPUS IN (1158,1178)
|
||||
AND fh.ID = @feladatEllatasiHelyId
|
||||
WHERE t.ID = ftt.TanuloId) > 0, 1, 0) AS IsAltalanosIskolaMiatt
|
||||
FROM #ErintettTanulok ftt
|
||||
DELETE kt FROM #KetFeltetelTanulok kt WHERE (kt.IsHianyzasMiatt + kt.IsKiemeltMiatt + kt.IsGyermekVedelemMiatt + kt.IsAltalanosIskolaMiatt) < 2
|
||||
|
||||
SET @Kategoria = 'KettoFeltetelTelejesuleseEsetenLemorzsolodassalVeszelyeztetettTanulo'
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '15'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel esetén ... félévben 100 órát elért igazolt hiányzás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolAFelevben100OratEleroIgazoltHianyzassalRendelkezoTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,kt.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsHianyzasMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '16'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... kiemelet figyelmet igénylő --sni, btmn, hh, 3h
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolKiemeltFigyelmetIgenyloTanulokSzamaAKiemeltenTehetsegesTanulokKivetelevel'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,kt.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsKiemeltMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '17'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... --rendszeres gyermekvédelmi támogatás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolRendszeresGyermekvedelmiKedvezmenybenReszesuloTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,kt.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsGyermekVedelemMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '18'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... alapfokú oktatásban 16
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolAlapfokuOktatasbanBetoltotteA16Eletevet'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,kt.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsAltalanosIskolaMiatt = 1
|
||||
|
||||
INSERT INTO #TanulokOsszes(
|
||||
Kategoria
|
||||
,Osszes
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
Kategoria
|
||||
,COUNT(TanuloNev)
|
||||
,SUM(IIF(Neme = 5,1,0))
|
||||
FROM #Tanulok
|
||||
GROUP BY Kategoria
|
||||
|
||||
DECLARE @query nvarchar(max)
|
||||
set @query =
|
||||
'SELECT
|
||||
KategoriaNev
|
||||
,Sorrend
|
||||
,rn
|
||||
,' + @cols + '
|
||||
,Osszes
|
||||
,OsszesLany
|
||||
INTO #RetTable
|
||||
FROM (
|
||||
SELECT
|
||||
k.KategoriaNev
|
||||
,t.TanuloNev
|
||||
,ROW_NUMBER() OVER (PARTITION BY t.Kategoria,t.Evfolyam ORDER BY t.TanuloNev) rn
|
||||
,dib.C_NAME as Evfolyam
|
||||
,k.Sorrend
|
||||
,Ossz.Osszes
|
||||
,Ossz.OsszesLany
|
||||
FROM #Kategoria k
|
||||
LEFT JOIN #Tanulok t ON t.Kategoria = k.KategoriaNev
|
||||
LEFT JOIN T_DICTIONARYITEMBASE dib ON dib.ID = t.Evfolyam
|
||||
LEFT JOIN #TanulokOsszes ossz ON ossz.Kategoria = k.KategoriaNev
|
||||
) x
|
||||
PIVOT (
|
||||
MIN(TanuloNev)
|
||||
FOR Evfolyam IN (' + @cols + ')
|
||||
) p
|
||||
|
||||
SELECT
|
||||
KategoriaNev as Leiras
|
||||
,'+@cols+'
|
||||
,Osszes as Összesen
|
||||
,OsszesLany as Lány
|
||||
FROM #RetTable
|
||||
ORDER BY Sorrend,rn'
|
||||
|
||||
EXEC sp_executesql @query
|
||||
END
|
||||
GO
|
@@ -0,0 +1,847 @@
|
||||
DROP PROCEDURE IF EXISTS sp_GetESL_A03T01_1
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetESL_A03T01_1]
|
||||
@tanevId int
|
||||
,@feladatEllatasiHelyId int
|
||||
,@isFelevi int = 0 /* 1 - előző tanév végi és féléves; 0 - félévtől év végi */
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
CREATE TABLE #tmpRet(
|
||||
Kategoria nvarchar(250)
|
||||
,Evfolyam int
|
||||
,Darabszam int
|
||||
,Sorszam int
|
||||
)
|
||||
CREATE TABLE #tmpRetSum(
|
||||
Kategoria nvarchar(250)
|
||||
,Osszesen int
|
||||
,OsszesLany int
|
||||
)
|
||||
CREATE TABLE #KetFeltetelTanulok (
|
||||
Evfolyam int
|
||||
,TanuloId int
|
||||
,Neme int
|
||||
,IsHianyzasMiatt int
|
||||
,IsKiemeltMiatt int
|
||||
,IsGyermekVedelemMiatt int
|
||||
,IsAltalanosIskolaMiatt int
|
||||
,INDEX IX_01 (TanuloId)
|
||||
)
|
||||
CREATE TABLE #ErintettTanulok (
|
||||
Evfolyam int
|
||||
,TanuloId int
|
||||
,Neme int
|
||||
,TanuloNev nvarchar(255)
|
||||
,Oktatasiazonosito nvarchar(11)
|
||||
,TanuloOsztalyNev nvarchar(255)
|
||||
,IsKozepesMiatt int
|
||||
,IsRontasMiatt int
|
||||
,TanuloOsztalyId int
|
||||
,INDEX IX_01 (TanuloId)
|
||||
)
|
||||
CREATE TABLE #TanuloErtekeles (
|
||||
Id int
|
||||
,Tanulo int
|
||||
,Ertekeles int
|
||||
,Tipus int
|
||||
,INDEX IX_01 (Tanulo)
|
||||
)
|
||||
|
||||
DECLARE
|
||||
@FelevKezdete date
|
||||
,@FelevVege date
|
||||
,@ertekelesTipus int
|
||||
,@Kategoria nvarchar(250)
|
||||
,@OsszesLany int
|
||||
|
||||
SET @ertekelesTipus = IIF(@isFelevi = 1, 1519, 1520) /* féléves vagy tév végi jegy */
|
||||
|
||||
SET @FelevKezdete = (
|
||||
SELECT C_DATUM + IIF(@isFelevi = 1, 0, 1)
|
||||
FROM T_TANEVRENDJE tr
|
||||
WHERE C_NAPTIPUSA = IIF(@isFelevi = 1, 1394, 1400)
|
||||
AND tr.C_TANEVID = @tanevid AND tr.TOROLT='F')
|
||||
|
||||
SET @FelevVege = (
|
||||
SELECT C_DATUM + 1
|
||||
FROM T_TANEVRENDJE tr
|
||||
WHERE C_NAPTIPUSA = IIF(@isFelevi = 1, 1400, 1395)
|
||||
AND tr.C_TANEVID = @tanevid AND tr.TOROLT='F')
|
||||
|
||||
INSERT INTO #ErintettTanulok (
|
||||
TanuloId
|
||||
,Evfolyam
|
||||
,Neme
|
||||
,TanuloNev
|
||||
,OktatasiAzonosito
|
||||
,TanuloOsztalyNev
|
||||
,TanuloOsztalyId
|
||||
,IsKozepesMiatt
|
||||
,IsRontasMiatt
|
||||
)
|
||||
SELECT * FROM fnGetLemorzsolodottTanulokByFelhely (@feladatEllatasiHelyId, @tanevId, @isFelevi)
|
||||
|
||||
INSERT INTO #TanuloErtekeles
|
||||
SELECT
|
||||
te.ID
|
||||
,C_TANULOID
|
||||
,C_ERTEKELESOSZTALYZATID
|
||||
,C_TIPUSID
|
||||
FROM T_TANULOERTEKELES te
|
||||
INNER JOIN #ErintettTanulok fht ON fht.TanuloId=te.C_TANULOID
|
||||
INNER JOIN T_TANTARGY tgy ON tgy.ID = te.C_TANTARGYID AND (tgy.C_FOTARGYE = 'T' OR tgy.C_ALTANTARGYKENTNYOMTATVANYBAN='T')
|
||||
AND C_ESLTANTARGYKATEGORIAID IS NOT NULL AND tgy.TOROLT='F'
|
||||
WHERE te.C_TIPUSID=@ertekelesTipus AND te.TOROLT='F' AND te.C_TANEVID = @tanevId
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '1'
|
||||
----------------------------------------------------------------------
|
||||
-- Szum
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'Osszesen'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT TanuloId)
|
||||
FROM #ErintettTanulok fh
|
||||
WHERE fh.Neme = 5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT TanuloId)
|
||||
,1
|
||||
FROM #ErintettTanulok
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum(
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '2'
|
||||
----------------------------------------------------------------------
|
||||
-- Szum lány
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'Lany'
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT TanuloId)
|
||||
,2
|
||||
FROM #ErintettTanulok
|
||||
WHERE Neme = 5
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum(
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '3'
|
||||
----------------------------------------------------------------------
|
||||
-- Összes rontott
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevErtekelesenelMinositesenelATanuloEgyTizedesjegyigSzamitottTanulmanyiAtlagaAMagatartasEsSzorgalomErtekelesetMinositesetNemBeleszamitvaNemEriElKozepes3Szintet'
|
||||
SELECT @Osszeslany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
WHERE fht.Neme=5 AND IsKozepesMiatt = 1
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT TanuloId)
|
||||
,3
|
||||
FROM #ErintettTanulok
|
||||
WHERE IsKozepesMiatt = 1
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum(
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '4'
|
||||
----------------------------------------------------------------------
|
||||
-- Legalább 1.1-et rontott
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AzEvVegiJegyekAlapjanAFeleviJegyekhezKepestLegalabb11NyiAtlagotRontoTanulokSzama'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
WHERE fht.Neme=5 AND IsRontasMiatt = 1
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT TanuloId)
|
||||
,4
|
||||
FROM #ErintettTanulok
|
||||
WHERE IsRontasMiatt = 1
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum(
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '5'
|
||||
----------------------------------------------------------------------
|
||||
-- egy, vagy több tantárgyból elégtelen osztályzat
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevErtekelesenelMinositesenelATanuloEgyVagyTobbTantargybolElegtelen1OsztalyzatotKapott'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #TanuloErtekeles te
|
||||
INNER JOIN #ErintettTanulok fht ON fht.TanuloId=te.Tanulo AND fht.Neme = 5
|
||||
WHERE te.Tipus = @ertekelesTipus AND te.Ertekeles = 1501
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,5
|
||||
FROM #ErintettTanulok t
|
||||
INNER JOIN #TanuloErtekeles te ON te.Tanulo = t.TanuloId
|
||||
WHERE te.Tipus = @ertekelesTipus AND te.Ertekeles = 1501
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '6'
|
||||
----------------------------------------------------------------------
|
||||
-- félév, magatartás, 2
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevMagatartasanakErtekelesenelMinositesenelATanuloRossz2ErtekelestKapott'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=fht.TanuloId AND fht.Neme = 5 AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_MAGATARTASERTEKID=1558 OR te.C_MAGATARTASOSZTALYZATID=1502) AND te.C_TIPUSID = @ertekelesTipus
|
||||
AND te.TOROLT='F'
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,6
|
||||
FROM #ErintettTanulok t
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=t.TanuloId AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_MAGATARTASERTEKID=1558 OR te.C_MAGATARTASOSZTALYZATID=1502) AND te.C_TIPUSID = @ertekelesTipus
|
||||
AND te.TOROLT='F'
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '7'
|
||||
----------------------------------------------------------------------
|
||||
-- félév, szorgalom, 2
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevSzorgalmanakErtekelesenelMinositesenelATanuloHanyag2ErtekelestKapott'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=fht.TanuloId AND fht.Neme = 5 AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_SZORGALOMERTEKID = 1562 OR te.C_SZORGALOMOSZTALYZATID=1502)
|
||||
AND te.TOROLT='F' AND te.C_TIPUSID = @ertekelesTipus
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,7
|
||||
FROM #ErintettTanulok t
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=t.TanuloId AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_SZORGALOMERTEKID = 1562 OR te.C_SZORGALOMOSZTALYZATID=1502)
|
||||
AND te.TOROLT='F' AND te.C_TIPUSID = @ertekelesTipus
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '8'
|
||||
----------------------------------------------------------------------
|
||||
-- adott évben évismétlés
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AzAdottTanitasiEvbenEvismetlesreKotelezett'
|
||||
IF @isFelevi = 0
|
||||
BEGIN
|
||||
SET @OsszesLany = (
|
||||
SELECT SUM(x.db) FROM(
|
||||
SELECT COUNT(DISTINCT fht.TanuloId) db
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN #tanuloErtekeles te ON te.Tanulo=fht.TanuloId AND te.Ertekeles=1501
|
||||
WHERE fht.Neme=5
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING COUNT(*)>=4) x)
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT x.TanuloId)
|
||||
,8
|
||||
FROM(
|
||||
SELECT
|
||||
t.TanuloId
|
||||
,t.Evfolyam
|
||||
FROM #ErintettTanulok t
|
||||
INNER JOIN #tanuloErtekeles te ON te.Tanulo=t.TanuloId AND te.Ertekeles=1501
|
||||
GROUP BY t.TanuloId,t.Evfolyam
|
||||
HAVING COUNT(*)>=4) x
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
END
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '9'
|
||||
----------------------------------------------------------------------
|
||||
-- Félévben 50 órát elérő igazolatlan hiányzás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenATanulo50OratMeghaladoHianyzassalRendelkezik'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT Tanulo) FROM (
|
||||
SELECT
|
||||
fht.Tanuloid AS Tanulo
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN #ErintettTanulok fht on fht.TanuloId=tm.C_ORATANULOIID AND fht.Neme=5
|
||||
INNER JOIN T_TANITASIORA tao on tao.ID=tm.C_TANITASIORAKID AND tao.C_DATUM >= @FelevKezdete AND tao.C_DATUM < @FelevVege
|
||||
AND tao.TOROLT='F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = tao.C_OSZTALYCSOPORTID AND cs.C_TIPUSA NOT IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))
|
||||
AND cs.TOROLT='F'
|
||||
WHERE tm.C_IGAZOLT='F' AND cs.ID IS NULL AND tm.TOROLT='F'
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING COUNT(Tanuloid) > 50) a
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT x.TanuloId)
|
||||
,9
|
||||
FROM(
|
||||
SELECT
|
||||
fht.Tanuloid
|
||||
,fht.Evfolyam
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN #ErintettTanulok fht ON fht.TanuloId=tm.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA tao ON tao.ID=tm.C_TANITASIORAKID AND tao.C_DATUM >= @FelevKezdete AND tao.C_DATUM < @FelevVege
|
||||
AND tao.TOROLT='F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = tao.C_OSZTALYCSOPORTID
|
||||
AND cs.C_TIPUSA NOT IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))
|
||||
AND cs.TOROLT='F'
|
||||
WHERE tm.C_IGAZOLT='F' AND cs.ID IS NULL AND tm.TOROLT='F'
|
||||
GROUP BY fht.TanuloId, fht.Evfolyam
|
||||
HAVING COUNT(TanuloId) > 50) x
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '10'
|
||||
----------------------------------------------------------------------
|
||||
-- Szülő kérésére magántanuló
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenSzuloiKeresreMagantanulovaValtTanulo'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID=fht.TanuloOsztalyId AND tcs.C_TANULOID=fht.TanuloId
|
||||
AND tcs.TOROLT='F'
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID=tcs.ID AND tta.C_MAGANTANULOSAGANAKOKAID IN (663, 664)
|
||||
AND tta.TOROLT='F'
|
||||
WHERE fht.Neme=5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT fht.TanuloId)
|
||||
,10
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID=fht.TanuloOsztalyId AND tcs.C_TANULOID=fht.TanuloId
|
||||
AND tcs.TOROLT='F'
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID=tcs.ID AND tta.C_MAGANTANULOSAGANAKOKAID IN (663, 664)
|
||||
AND tta.TOROLT='F'
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '11'
|
||||
----------------------------------------------------------------------
|
||||
-- Menekült, menedékjoggal rendelkező
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenMenekultOltalmazottMenedekesTanulokSzama'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_MENEDEKJOGGALRENDELKEZO='T' AND fht.TanuloId=t.ID AND fht.Neme=5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT fht.TanuloId)
|
||||
,11
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_MENEDEKJOGGALRENDELKEZO='T' AND fht.TanuloId=t.ID
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '12'
|
||||
----------------------------------------------------------------------
|
||||
-- Félévben veszélyeztetett tanulók száma
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenVeszelyezeztetteValtTanulokSzama'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t on t.ID=fht.TanuloId AND t.C_VESZELYEZTETETT='T' AND fht.Neme=5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT fht.TanuloId)
|
||||
,12
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t on t.ID=fht.TanuloId AND t.C_VESZELYEZTETETT='T'
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '13'
|
||||
----------------------------------------------------------------------
|
||||
-- ideiglenes hatállyal elhelyezett vagy nevelésbe vett tanulók
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenIdeiglenesHatallyalElhelyezettVagyNevelesbeVettTanulokSzama'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_ALLAMIGONDOZOTT='T' AND fht.TanuloId=t.ID AND fht.Neme=5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT fht.TanuloId)
|
||||
,13
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_ALLAMIGONDOZOTT='T' AND fht.TanuloId=t.ID
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '14'
|
||||
----------------------------------------------------------------------
|
||||
-- legalább 2 feltétel teljesül
|
||||
----------------------------------------------------------------------
|
||||
-- Alapadatok
|
||||
|
||||
INSERT INTO #KetFeltetelTanulok
|
||||
SELECT DISTINCT
|
||||
ftt.Evfolyam
|
||||
,ftt.TanuloId
|
||||
,ftt.Neme
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANITASIORA tno ON tno.ID = tm.C_TANITASIORAKID
|
||||
AND tno.C_DATUM >= @FelevKezdete
|
||||
AND tno.C_DATUM < @FelevVege
|
||||
AND tno.TOROLT='F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = tno.C_OSZTALYCSOPORTID AND cs.TOROLT='F'
|
||||
WHERE (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)))
|
||||
AND tm.TOROLT='F'
|
||||
AND tm.C_IGAZOLT='T'
|
||||
AND tm.C_TIPUS = 1500
|
||||
AND tm.C_ORATANULOIID = ftt.TanuloId) > 100, 1, 0) AS IsHianyzasMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULO t
|
||||
WHERE t.ID = ftt.TanuloId
|
||||
AND (t.C_SAJATOSNEVELESU='T' OR t.C_BTMPROBLEMAS='T' OR t.C_HATRANYOSHELYZETU IN (1122, 1123))) > 0, 1, 0) AS IsKiemeltMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULO t
|
||||
WHERE t.ID = ftt.TanuloId
|
||||
AND t.C_RENDSZERESGYERMEKVEDELMIKEDV IS NOT NULL) > 0, 1, 0) AS IsGyermekVedelemMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_FELHASZNALO t
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_TANULOID=t.ID AND tcs.TOROLT='F'
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID=tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.C_ISESL16EVESUTANBELEPETT = 'T' AND tta.TOROLT='F'
|
||||
INNER JOIN T_FELADATELLATASIHELY fh ON fh.ID=ocs.C_FELADATELLATASIHELYID AND fh.C_OKTATASINEVELESIFELADATTIPUS IN (1158,1178)
|
||||
AND fh.ID = @feladatEllatasiHelyId AND fh.TOROLT='F'
|
||||
WHERE t.ID = ftt.TanuloId) > 0, 1, 0) AS IsAltalanosIskolaMiatt
|
||||
FROM #ErintettTanulok ftt
|
||||
|
||||
DELETE kt FROM #KetFeltetelTanulok kt WHERE (kt.IsHianyzasMiatt + kt.IsKiemeltMiatt + kt.IsGyermekVedelemMiatt + kt.IsAltalanosIskolaMiatt) < 2
|
||||
--Alapadatok vége
|
||||
|
||||
SET @Kategoria = 'KettoFeltetelTelejesuleseEsetenLemorzsolodassalVeszelyeztetettTanulo'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT ft.TanuloId)
|
||||
FROM #KetFeltetelTanulok ft
|
||||
WHERE ft.Neme=5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,14
|
||||
FROM #KetFeltetelTanulok t
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '15'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel esetén ... félévben 100 órát elért igazolt hiányzás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolAFelevben100OratEleroIgazoltHianyzassalRendelkezoTanulokSzama'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT kt.TanuloId)
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsHianyzasMiatt = 1 AND kt.Neme = 5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,15
|
||||
FROM #KetFeltetelTanulok t
|
||||
WHERE t.IsHianyzasMiatt = 1
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '16'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... kiemelet figyelmet igénylő --sni, btmn, hh, 3h
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolKiemeltFigyelmetIgenyloTanulokSzamaAKiemeltenTehetsegesTanulokKivetelevel'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT kt.TanuloId)
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsKiemeltMiatt = 1 AND kt.Neme = 5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,16
|
||||
FROM #KetFeltetelTanulok t
|
||||
WHERE t.IsKiemeltMiatt = 1
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '17'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... --rendszeres gyermekvédelmi támogatás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolRendszeresGyermekvedelmiKedvezmenybenReszesuloTanulokSzama'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT kt.TanuloId)
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsGyermekVedelemMiatt = 1 AND kt.Neme = 5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,17
|
||||
FROM #KetFeltetelTanulok t
|
||||
WHERE t.IsGyermekVedelemMiatt = 1
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '18'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... alapfokú oktatásban 16
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolAlapfokuOktatasbanBetoltotteA16Eletevet'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT kt.TanuloId)
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsAltalanosIskolaMiatt = 1 AND kt.Neme = 5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(t.TanuloId)
|
||||
,17
|
||||
FROM #KetFeltetelTanulok t
|
||||
WHERE t.IsAltalanosIskolaMiatt = 1
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- SELECT
|
||||
----------------------------------------------------------------------
|
||||
SELECT
|
||||
t.Kategoria
|
||||
,t.Evfolyam
|
||||
,ISNULL(t.Darabszam,0) as Darabszam
|
||||
,s.Osszesen
|
||||
,s.OsszesLany
|
||||
FROM #tmpRet t
|
||||
INNER JOIN #tmpRetSum s ON s.Kategoria = t.Kategoria
|
||||
ORDER BY t.Sorszam
|
||||
|
||||
END
|
||||
GO
|
@@ -0,0 +1,88 @@
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetESL_A03T02_1]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetESL_A03T02_1]
|
||||
@tanevId int
|
||||
,@feladatEllatasiHelyId int
|
||||
,@isFelevi int = 0
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
CREATE TABLE #TantargyiStat(
|
||||
Darabszam int
|
||||
,OsszesLany int
|
||||
,EslTgyKatId int
|
||||
,Evfolyam int
|
||||
,Sorrend int
|
||||
)
|
||||
|
||||
CREATE TABLE #ErintettTanulok (
|
||||
Evfolyam int
|
||||
,TanuloId int
|
||||
,Neme int
|
||||
,TanuloNev nvarchar(255)
|
||||
,Oktatasiazonosito nvarchar(11)
|
||||
,TanuloOsztalyNev nvarchar(255)
|
||||
,IsKozepesMiatt int
|
||||
,IsRontasMiatt int
|
||||
,TanuloOsztalyId int
|
||||
,INDEX IX_01 (TanuloId)
|
||||
)
|
||||
|
||||
DECLARE @ertekelesTipus int = IIF(@isFelevi = 0,1520,1519)
|
||||
|
||||
--1. érintett tanulók leválogatása
|
||||
INSERT INTO #ErintettTanulok (
|
||||
TanuloId
|
||||
,Evfolyam
|
||||
,Neme
|
||||
,TanuloNev
|
||||
,OktatasiAzonosito
|
||||
,TanuloOsztalyNev
|
||||
,TanuloOsztalyId
|
||||
,IsKozepesMiatt
|
||||
,IsRontasMiatt
|
||||
)
|
||||
SELECT * FROM fnGetLemorzsolodottTanulokByFelhely (@feladatEllatasiHelyId, @tanevId, @isFelevi)
|
||||
|
||||
INSERT INTO #TantargyiStat(
|
||||
Darabszam
|
||||
,OsszesLany
|
||||
,EslTgyKatId
|
||||
,Evfolyam
|
||||
,Sorrend
|
||||
)
|
||||
SELECT
|
||||
COUNT(te.C_TANULOID) as Osszes
|
||||
,SUM(IIF(fht.Neme=5,1,0)) as OsszesLany
|
||||
,eslTgyKat.ID
|
||||
,fht.Evfolyam
|
||||
,eslTgyKat.C_ORDER
|
||||
FROM T_TANULOERTEKELES te
|
||||
INNER JOIN T_TANTARGY tgy ON tgy.ID=te.C_TANTARGYID AND (tgy.C_FOTARGYE = 'T' OR tgy.C_ALTANTARGYKENTNYOMTATVANYBAN='T') AND tgy.TOROLT='F'
|
||||
INNER JOIN #ErintettTanulok fht on fht.TANULOID=te.C_TANULOID
|
||||
INNER JOIN T_DICTIONARYITEMBASE eslTgyKat ON eslTgyKat.ID = tgy.C_ESLTANTARGYKATEGORIAID AND eslTgyKat.C_TYPE = 'EslTantargyKategoria'
|
||||
AND eslTgykat.TOROLT='F' AND eslTgyKat.C_TANEVID = te.C_TANEVID
|
||||
WHERE te.C_ERTEKELESOSZTALYZATID = 1501 AND te.C_TIPUSID = @ertekelesTipus AND te.C_TANEVID = @tanevId AND te.TOROLT='F'
|
||||
GROUP BY eslTgyKat.ID,eslTgyKat.C_ORDER,fht.Evfolyam
|
||||
|
||||
SELECT
|
||||
SUM(Darabszam) as Osszes
|
||||
,SUM(OsszesLany) as OsszesLany
|
||||
,EslTgyKatId
|
||||
INTO #TantargyiStatSum
|
||||
FROM #TantargyiStat
|
||||
GROUP BY EslTgyKatId
|
||||
|
||||
SELECT
|
||||
tgy.eslTgyKatId
|
||||
,tgy.Evfolyam
|
||||
,tgy.Darabszam
|
||||
,s.Osszes
|
||||
,s.OsszesLany
|
||||
FROM #TantargyiStat tgy
|
||||
INNER JOIN #TantargyiStatSum s ON s.eslTgyKatId = tgy.eslTgyKatId
|
||||
ORDER BY tgy.Sorrend,tgy.Evfolyam
|
||||
|
||||
END
|
||||
GO
|
Reference in New Issue
Block a user