init
This commit is contained in:
@@ -0,0 +1,693 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_ExportEsl_A03T01_1]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_ExportEsl_A03T01_1]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_ExportEsl_A03T01_1]
|
||||
@tanevId INT,
|
||||
@intezmenyId INT,
|
||||
@feladatEllatasiHelyId INT,
|
||||
@isFelevi INT = 0
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
--Táblák deklarálása
|
||||
DECLARE @tmpA03T01 TABLE (Leiras nvarchar(max), [1307] nvarchar(max), [1308] nvarchar(max), [1309] nvarchar(max), [1310] nvarchar(max), [1311] nvarchar(max), [1312] nvarchar(max), [1313] nvarchar(max), [1314] nvarchar(max), [6471] nvarchar(max), [6474] nvarchar(max), [6477] nvarchar(max), [6478] nvarchar(max), Osszesen int, Lany int, Rendez int)
|
||||
DECLARE @TanuloErtekeles TABLE (Id int, Tanulo int, Ertekeles int, Tipus int)
|
||||
DECLARE @FHhozTartozoTanulok TABLE (TanuloId int, Evfolyam int, Neme int, TanuloNev nvarchar(max), OktatasiAzonosito nvarchar(max), TanuloOsztalyNev nvarchar(255), IsKozepesMiatt int, IsRontasMiatt int)
|
||||
DECLARE @KetFeltetelTanulok TABLE (TanuloId int, Evfolyam int, Neme int, TanuloNev nvarchar(max), OktatasiAzonosito nvarchar(max), TanuloOsztalyNev nvarchar(255), IsHianyzasMiatt int, IsKiemeltMiatt int, IsGyermekVedelemMiatt int, IsAltalanosIskolaMiatt int)
|
||||
--Dátumok deklarásása
|
||||
DECLARE @FelevKezdete DATE = (SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE tr
|
||||
WHERE C_NAPTIPUSA=1394
|
||||
AND C_TANEVID=@tanevid
|
||||
AND C_INTEZMENYID=@intezmenyid
|
||||
AND TOROLT='F')
|
||||
DECLARE @FelevVege DATE = (SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE tr
|
||||
WHERE C_NAPTIPUSA=1400
|
||||
AND C_TANEVID=@tanevid
|
||||
AND C_INTEZMENYID=@intezmenyid
|
||||
AND TOROLT='F')
|
||||
|
||||
INSERT INTO @FHhozTartozoTanulok (TanuloId, Evfolyam, Neme, TanuloNev, OktatasiAzonosito, TanuloOsztalyNev, IsKozepesMiatt, IsRontasMiatt)
|
||||
SELECT
|
||||
tanulok.TanuloId
|
||||
,tanulok.Evfolyam
|
||||
,tanulok.Neme
|
||||
,tanulok.TanuloNev
|
||||
,tanulok.OktatasiAzonosito
|
||||
,tanulok.TanuloOsztalyNev
|
||||
,tanulok.IsKozepesMiatt
|
||||
,tanulok.IsRontasMiatt
|
||||
FROM fnGetLemorzsolodottTanulokByFelhely(@feladatEllatasiHelyId, @tanevId, @isFelevi) AS tanulok
|
||||
INSERT INTO @TanuloErtekeles
|
||||
SELECT
|
||||
ID
|
||||
,C_TANULOID
|
||||
,C_ERTEKELESOSZTALYZATID
|
||||
,C_TIPUSID
|
||||
FROM T_TANULOERTEKELES te
|
||||
INNER JOIN @FHhozTartozoTanulok fht ON fht.TanuloId=te.C_TANULOID
|
||||
WHERE TOROLT='F'
|
||||
AND C_TANEVID=@tanevId
|
||||
/* !!! a03t01 !!! */
|
||||
-- 1. félév értékelésnél, minősítésnél....átlag<@FelHelyTipusKozepes
|
||||
----------------------------------------------------------------------
|
||||
-- 1
|
||||
----------------------------------------------------------------------
|
||||
--Szum
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @OsszesOsszesLany int = (SELECT COUNT(DISTINCT TanuloId)
|
||||
FROM @FHhozTartozoTanulok fh
|
||||
WHERE fh.Neme = 5)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'Osszesen'
|
||||
,*
|
||||
,0
|
||||
,0
|
||||
,-1 AS Rendez
|
||||
FROM (SELECT DISTINCT
|
||||
LEFT(Tanulo, LEN(Tanulo) -1) AS Tanulo
|
||||
,Evfolyam
|
||||
FROM @FHhozTartozoTanulok fh
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @FHhozTartozoTanulok a
|
||||
WHERE TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito AND a.Evfolyam = fh.Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- 2
|
||||
----------------------------------------------------------------------
|
||||
--Szum lány
|
||||
----------------------------------------------------------------------
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'Lany'
|
||||
,pvt.*
|
||||
,0
|
||||
,ISNULL(@OsszesOsszesLany, 0)
|
||||
,0 AS Rendez
|
||||
FROM (SELECT DISTINCT
|
||||
LEFT(Tanulo, LEN(Tanulo) -1) AS Tanulo
|
||||
,fh.Evfolyam
|
||||
FROM @FHhozTartozoTanulok fh
|
||||
CROSS APPLY (
|
||||
SELECT TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @FHhozTartozoTanulok
|
||||
WHERE fh.Evfolyam = Evfolyam
|
||||
AND Neme = 5
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 3
|
||||
----------------------------------------------------------------------
|
||||
-- Összes rontott
|
||||
----------------------------------------------------------------------
|
||||
declare @Osszes3atlagalattLany int=(SELECT COUNT(1)
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
WHERE fht.Neme=5
|
||||
AND IsKozepesMiatt = 1)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'AFelevErtekelesenelMinositesenelATanuloEgyTizedesjegyigSzamitottTanulmanyiAtlagaAMagatartasEsSzorgalomErtekelesetMinositesetNemBeleszamitvaNemEriElKozepes3Szintet'
|
||||
,pvt.*
|
||||
,0
|
||||
,ISNULL(@Osszes3atlagalattLany, 0)
|
||||
,1 AS Rendez
|
||||
FROM (SELECT
|
||||
LEFT(Tanulo, LEN(Tanulo) -1) AS Tanulo
|
||||
,fh.Evfolyam
|
||||
FROM @FHhozTartozoTanulok fh
|
||||
CROSS APPLY (
|
||||
SELECT TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @FHhozTartozoTanulok
|
||||
WHERE fh.Evfolyam = Evfolyam
|
||||
AND IsKozepesMiatt = 1
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
DECLARE @OsszesrontottLany int=(SELECT COUNT(1)
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
WHERE fht.Neme=5
|
||||
AND IsRontasMiatt = 1)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'AzEvVegiJegyekAlapjanAFeleviJegyekhezKepestLegalabb11NyiAtlagotRontoTanulokSzama'
|
||||
,pvt.*
|
||||
,0
|
||||
,@OsszesrontottLany
|
||||
,1 AS Rendez
|
||||
FROM (SELECT
|
||||
LEFT(Tanulo, LEN(Tanulo) -1) AS Tanulo
|
||||
,fh.Evfolyam
|
||||
FROM @FHhozTartozoTanulok fh
|
||||
CROSS APPLY (
|
||||
SELECT TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @FHhozTartozoTanulok
|
||||
WHERE fh.Evfolyam = Evfolyam
|
||||
AND IsRontasMiatt = 1
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 4
|
||||
----------------------------------------------------------------------
|
||||
-- egy, vagy több tantárgyból elégtelen osztályzat
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @ElegtelenFeleviLany INT=(SELECT COUNT(DISTINCT fht.TanuloId)
|
||||
FROM @TanuloErtekeles te
|
||||
INNER JOIN @FHhozTartozoTanulok fht ON fht.TanuloId=te.Tanulo
|
||||
AND fht.Neme = 5
|
||||
WHERE te.Tipus = 1519
|
||||
AND te.Ertekeles = 1501)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'AFelevErtekelesenelMinositesenelATanuloEgyVagyTobbTantargybolElegtelen1OsztalyzatotKapott'
|
||||
,pvt.*
|
||||
,0
|
||||
,@ElegtelenFeleviLany
|
||||
,2 AS Rendez
|
||||
FROM (SELECT DISTINCT
|
||||
LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo
|
||||
,fht.Evfolyam
|
||||
FROM @TanuloErtekeles te
|
||||
INNER JOIN @FHhozTartozoTanulok fht ON fht.TanuloId=te.Tanulo
|
||||
CROSS APPLY (
|
||||
SELECT TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @FHhozTartozoTanulok
|
||||
WHERE fht.Evfolyam = Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
WHERE te.Tipus=1519
|
||||
AND te.Ertekeles=1501
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 5
|
||||
----------------------------------------------------------------------
|
||||
-- félév, magatartás, 2
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @OsszesFeleviRosszMagatartasLany int = (SELECT COUNT(DISTINCT fht.TanuloId)
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN @TanuloErtekeles te ON te.Tanulo=fht.TanuloId
|
||||
INNER JOIN T_TANULOERTEKELES tanuloErtekeles ON tanuloErtekeles.ID=te.ID
|
||||
AND tanuloErtekeles.C_MAGATARTASERTEKID=1558
|
||||
AND fht.Neme=5)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'AFelevMagatartasanakErtekelesenelMinositesenelATanuloRossz2ErtekelestKapott'
|
||||
,pvt.*
|
||||
,0
|
||||
,@OsszesFeleviRosszMagatartasLany
|
||||
,3 AS Rendez
|
||||
FROM (SELECT
|
||||
LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo
|
||||
,fht.Evfolyam AS Evfolyam
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN @TanuloErtekeles te ON te.Tanulo=fht.TanuloId
|
||||
INNER JOIN T_TANULOERTEKELES tanuloErtekeles ON tanuloErtekeles.ID=te.ID
|
||||
AND tanuloErtekeles.C_MAGATARTASERTEKID=1558
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @FHhozTartozoTanulok a
|
||||
where TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito AND a.Evfolyam = fht.Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 6
|
||||
----------------------------------------------------------------------
|
||||
-- félév, szorgalom, 2
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @OsszesFeleviRosszSzorgalomLany int =(SELECT COUNT(DISTINCT fht.TanuloId)
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN @TanuloErtekeles te ON te.Tanulo=fht.TanuloId
|
||||
INNER JOIN T_TANULOERTEKELES tanuloErtekeles ON tanuloErtekeles.ID=te.ID
|
||||
AND tanuloErtekeles.C_SZORGALOMERTEKID=1562
|
||||
AND fht.Neme=5)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'AFelevSzorgalmanakErtekelesenelMinositesenelATanuloHanyag2ErtekelestKapott'
|
||||
,pvt.*
|
||||
,0
|
||||
,@OsszesFeleviRosszSzorgalomLany
|
||||
,4 AS Rendez
|
||||
FROM (SELECT
|
||||
LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo
|
||||
,fht.Evfolyam Evfolyam
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN @TanuloErtekeles te ON te.Tanulo = fht.TanuloId
|
||||
INNER JOIN T_TANULOERTEKELES tanuloErtekeles ON tanuloErtekeles.ID=te.ID
|
||||
AND tanuloErtekeles.C_SZORGALOMERTEKID = 1562
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @FHhozTartozoTanulok a
|
||||
where TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito AND a.Evfolyam = fht.Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 7
|
||||
----------------------------------------------------------------------
|
||||
--adott évben évismétlés
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @OsszesEvismetloTanuloLany int = (SELECT COUNT(fht.TanuloId)
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_EVISMETLO='T'
|
||||
AND fht.TanuloId=t.ID
|
||||
AND fht.TanuloId=t.ID
|
||||
AND fht.Neme=5)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'AzAdottTanitasiEvbenEvismetlesreKotelezett'
|
||||
,pvt.*
|
||||
,0
|
||||
,@OsszesEvismetloTanuloLany
|
||||
,5 AS Rendez
|
||||
FROM (SELECT
|
||||
LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo
|
||||
,fht.Evfolyam AS Evfolyam
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_EVISMETLO='T'
|
||||
AND fht.TanuloId=t.ID
|
||||
AND fht.TanuloId=t.ID
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @FHhozTartozoTanulok a
|
||||
where TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito AND a.Evfolyam = fht.Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 8
|
||||
----------------------------------------------------------------------
|
||||
--Félévben 50 órát elérő igazolatlan hiányzás
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @Osszes50fFelettiIgazolatlanLany int = (SELECT COUNT(Tanulo)
|
||||
FROM (SELECT fht.Tanuloid AS Tanulo
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN @FHhozTartozoTanulok 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 BETWEEN @FelevKezdete
|
||||
AND @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 tm.C_TANEVID=@tanevId
|
||||
AND cs.ID IS NULL
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING COUNT(Tanuloid) > 50) a)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'AFelevbenATanulo50OratMeghaladoHianyzassalRendelkezik'
|
||||
,pvt.*
|
||||
,0
|
||||
,@Osszes50fFelettiIgazolatlanLany
|
||||
,6 AS Rendez
|
||||
FROM (SELECT LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo, Evfolyam
|
||||
FROM (SELECT
|
||||
fht.Tanuloid AS Tanulo
|
||||
,fht.TanuloNev
|
||||
,fht.OktatasiAzonosito
|
||||
,fht.Evfolyam
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN @FHhozTartozoTanulok 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 tm.C_TANEVID=@tanevId
|
||||
AND cs.ID IS NULL
|
||||
GROUP BY fht.TanuloId, fht.Evfolyam, fht.TanuloNev, fht.OktatasiAzonosito
|
||||
HAVING COUNT(Tanuloid) > 50) a
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @FHhozTartozoTanulok a
|
||||
where TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 9
|
||||
----------------------------------------------------------------------
|
||||
--Szülő kérésére magántanuló
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @OsszesSzuloMagantanuloLany int = (SELECT COUNT(fht.TanuloId)
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_MAGANTANULOSAGANAKOKA IN (663, 664)
|
||||
AND fht.TanuloId=t.ID
|
||||
AND fht.Neme=5)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'AFelevbenSzuloiKeresreMagantanulovaValtTanulo'
|
||||
,pvt.*
|
||||
,0
|
||||
,@OsszesSzuloMagantanuloLany
|
||||
,7 AS Rendez
|
||||
FROM (SELECT
|
||||
LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo
|
||||
,fht.Evfolyam AS Evfolyam
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_MAGANTANULOSAGANAKOKA IN (663, 664)
|
||||
AND fht.TanuloId=t.ID
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @FHhozTartozoTanulok a
|
||||
where TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito AND a.Evfolyam = fht.Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 10
|
||||
----------------------------------------------------------------------
|
||||
--Menekült, menedékjoggal rendelkező
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @OsszesMenedekjoggalRendLany int = (SELECT COUNT(fht.TanuloId)
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_MENEDEKJOGGALRENDELKEZO='T'
|
||||
AND fht.TanuloId=t.ID
|
||||
AND fht.Neme=5)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'AFelevbenMenekultOltalmazottMenedekesTanulokSzama'
|
||||
,pvt.*
|
||||
,0
|
||||
,@OsszesMenedekjoggalRendLany
|
||||
,8 AS Rendez
|
||||
FROM (SELECT
|
||||
LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo
|
||||
,fht.Evfolyam AS Evfolyam
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_MENEDEKJOGGALRENDELKEZO='T'
|
||||
AND fht.TanuloId=t.ID
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @FHhozTartozoTanulok a
|
||||
where TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito AND a.Evfolyam = fht.Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 11
|
||||
----------------------------------------------------------------------
|
||||
--Félévben veszélyeztetett tanulók száma
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @OsszesVeszelyeztettLany int = (SELECT COUNT(TanuloId)
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN T_TANULO t on t.ID=fht.TanuloId
|
||||
AND t.C_VESZELYEZTETETT='T'
|
||||
AND fht.Neme=5)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'AFelevbenVeszelyezeztetteValtTanulokSzama'
|
||||
,pvt.*
|
||||
,0
|
||||
,@OsszesVeszelyeztettLany
|
||||
,9 AS Rendez
|
||||
FROM (SELECT
|
||||
LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo
|
||||
,Evfolyam
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.ID=fht.TanuloId
|
||||
AND t.C_VESZELYEZTETETT='T'
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @FHhozTartozoTanulok a
|
||||
where TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito AND a.Evfolyam = fht.Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 12
|
||||
----------------------------------------------------------------------
|
||||
--ideiglenes hatállyal elhelyezett vagy nevelésbe vett tanulók
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @OsszesAllamigondozottLany int = (SELECT COUNT(fht.TanuloId)
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_ALLAMIGONDOZOTT='T'
|
||||
AND fht.TanuloId=t.ID
|
||||
AND fht.Neme=5)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'AFelevbenIdeiglenesHatallyalElhelyezettVagyNevelesbeVettTanulokSzama'
|
||||
,pvt.*
|
||||
,0
|
||||
,@OsszesAllamigondozottLany
|
||||
,10 AS Rendez
|
||||
FROM (SELECT
|
||||
LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo
|
||||
,fht.Evfolyam Evfolyam
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_ALLAMIGONDOZOTT='T'
|
||||
AND fht.TanuloId=t.ID
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @FHhozTartozoTanulok a
|
||||
where TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito AND a.Evfolyam = fht.Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 13
|
||||
----------------------------------------------------------------------
|
||||
--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_BEILLESZKEDESINEHEZSEG='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_FELADATELLATASIHELY fh ON fh.C_OKTATASINEVELESIFELADATTIPUS IN (1158,1178)
|
||||
AND fh.ID = @feladatEllatasiHelyId
|
||||
WHERE t.ID = ftt.TanuloId
|
||||
AND DATEDIFF(YEAR, t.C_SZULETESIDATUM, GETDATE()) >= 16) > 0, 1, 0) AS IsAltalanosIskolaMiatt
|
||||
FROM @FHhozTartozoTanulok ftt
|
||||
DELETE kt FROM @KetFeltetelTanulok kt WHERE (kt.IsHianyzasMiatt + kt.IsKiemeltMiatt + kt.IsGyermekVedelemMiatt + kt.IsAltalanosIskolaMiatt) < 2
|
||||
DECLARE @OsszesOsszeslanyMin2 int = (SELECT COUNT(1)
|
||||
FROM @KetFeltetelTanulok ft
|
||||
WHERE ft.Neme=5)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'KettoFeltetelTelejesuleseEsetenLemorzsolodassalVeszelyeztetettTanulo'
|
||||
,pvt.*
|
||||
,0
|
||||
,@OsszesOsszeslanyMin2
|
||||
,13 AS Rendez
|
||||
FROM (SELECT
|
||||
LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo
|
||||
,kt.Evfolyam
|
||||
FROM @KetFeltetelTanulok kt
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @KetFeltetelTanulok a
|
||||
where TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito AND a.Evfolyam = kt.Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 14
|
||||
----------------------------------------------------------------------
|
||||
--kettő feltétel esetén ... félévben 100 órát elért igazolt hiányzás
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @Osszes100IgazoltLany int = (SELECT COUNT(1)
|
||||
FROM @KetFeltetelTanulok kt
|
||||
WHERE kt.IsHianyzasMiatt = 1
|
||||
AND kt.Neme = 5)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'EbbolAFelevben100OratEleroIgazoltHianyzassalRendelkezoTanulokSzama'
|
||||
,pvt.*
|
||||
,0
|
||||
,@Osszes100IgazoltLany
|
||||
,14 AS Rendez
|
||||
FROM (SELECT DISTINCT
|
||||
LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo
|
||||
,kt.Evfolyam
|
||||
FROM @KetFeltetelTanulok kt
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @KetFeltetelTanulok a
|
||||
where TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito AND a.Evfolyam = kt.Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
WHERE kt.IsHianyzasMiatt = 1
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 15
|
||||
----------------------------------------------------------------------
|
||||
--kettő feltétel ... kiemelet figyelmet igénylő --sni, btmn, hh, 3h
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @OsszesSni2feltetelLany int = (SELECT COUNT(1)
|
||||
FROM @KetFeltetelTanulok kt
|
||||
WHERE kt.IsKiemeltMiatt = 1
|
||||
AND kt.Neme = 5)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'EbbolKiemeltFigyelmetIgenyloTanulokSzamaAKiemeltenTehetsegesTanulokKivetelevel'
|
||||
,pvt.*
|
||||
,0
|
||||
,@OsszesSni2feltetelLany
|
||||
,15 AS Rendez
|
||||
FROM (SELECT
|
||||
LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo
|
||||
,kt.Evfolyam
|
||||
FROM @KetFeltetelTanulok kt
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @KetFeltetelTanulok a
|
||||
where TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito AND a.Evfolyam = kt.Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
WHERE kt.IsKiemeltMiatt = 1
|
||||
UNION ALL
|
||||
SELECT NULL, NULL)a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 16
|
||||
----------------------------------------------------------------------
|
||||
--kettő feltétel ... --rendszeres gyermekvédelmi támogatás
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @OsszesRgyT2feltetelLany int = (SELECT COUNT(1)
|
||||
FROM @KetFeltetelTanulok kt
|
||||
WHERE kt.IsGyermekVedelemMiatt = 1
|
||||
AND kt.Neme = 5)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'EbbolRendszeresGyermekvedelmiKedvezmenybenReszesuloTanulokSzama'
|
||||
,pvt.*
|
||||
,0
|
||||
,@OsszesRgyT2feltetelLany
|
||||
,16 AS Rendez
|
||||
FROM (SELECT
|
||||
LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo
|
||||
,kt.Evfolyam
|
||||
FROM @KetFeltetelTanulok kt
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @KetFeltetelTanulok a
|
||||
where TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito AND a.Evfolyam = kt.Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
WHERE kt.IsGyermekVedelemMiatt = 1
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
----------------------------------------------------------------------
|
||||
-- 17
|
||||
----------------------------------------------------------------------
|
||||
--kettő feltétel ... alapfokú oktatásban 16
|
||||
----------------------------------------------------------------------
|
||||
DECLARE @OsszesAlapfoku16AlattLany int = (SELECT COUNT(1)
|
||||
FROM @KetFeltetelTanulok kt
|
||||
WHERE kt.IsAltalanosIskolaMiatt = 1
|
||||
AND kt.Neme = 5)
|
||||
INSERT INTO @tmpA03T01
|
||||
SELECT
|
||||
'EbbolAlapfokuOktatasbanBetoltotteA16Eletevet'
|
||||
,pvt.*
|
||||
,0
|
||||
,@OsszesAlapfoku16AlattLany
|
||||
,17 AS Rendez
|
||||
FROM (SELECT
|
||||
LEFT(d.Tanulo, LEN(d.Tanulo) -1) AS Tanulo
|
||||
,kt.Evfolyam AS Evfolyam
|
||||
FROM @KetFeltetelTanulok kt
|
||||
CROSS APPLY (
|
||||
SELECT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev + '¤'
|
||||
FROM @KetFeltetelTanulok a
|
||||
where TanuloNev = a.TanuloNev AND OktatasiAzonosito = a.OktatasiAzonosito AND a.Evfolyam = kt.Evfolyam
|
||||
FOR XML PATH('')) d (Tanulo)
|
||||
WHERE kt.IsAltalanosIskolaMiatt = 1
|
||||
UNION ALL
|
||||
SELECT NULL, NULL) a
|
||||
PIVOT (MAX(Tanulo) FOR Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478])) pvt
|
||||
-- a03t01
|
||||
SELECT
|
||||
Leiras
|
||||
,[1307] AS [5. Évfolyam]
|
||||
,[1308] AS [6. Évfolyam]
|
||||
,[1309] AS [7. Évfolyam]
|
||||
,[1310] AS [8. Évfolyam]
|
||||
,[1311] AS [9. Évfolyam]
|
||||
,[1312] AS [10. Évfolyam]
|
||||
,[1313] AS [11. Évfolyam]
|
||||
,[1314] AS [12. Évfolyam]
|
||||
,[6471] AS [KH 1. Évfolyam]
|
||||
,[6474] AS [KH 2. Évfolyam]
|
||||
,[6477] AS [SZH 1. Évfolyam]
|
||||
,[6478] AS [SZH 2. Évfolyam]
|
||||
,Osszesen AS [Összesen]
|
||||
,Lany AS [Lány]
|
||||
FROM @tmpA03T01
|
||||
ORDER BY Rendez
|
||||
END
|
||||
|
||||
GO
|
Reference in New Issue
Block a user