init
This commit is contained in:
+167
@@ -0,0 +1,167 @@
|
||||
IF OBJECT_ID('dbo.fnGetLemorzsolodottTanulokByFelhely') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetLemorzsolodottTanulokByFelhely
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
-- A Funkció visszaadja a lemorzsolódás szempontjából releváns tanulók listáját az adott feladatellátási helyre, évfolymaonként és nemenként, valamint hogy
|
||||
CREATE FUNCTION dbo.fnGetLemorzsolodottTanulokByFelhely (@feladatEllatasiHelyId INT, @tanevId INT, @isFelevi INT)
|
||||
RETURNS @retTable TABLE (
|
||||
TanuloId INT PRIMARY KEY,
|
||||
Evfolyam INT,
|
||||
Neme INT,
|
||||
IsKozepesMiatt INT,
|
||||
IsRontasMiatt INT
|
||||
)
|
||||
BEGIN
|
||||
|
||||
-- Használt temporary táblák elkészítése
|
||||
DECLARE @Evfolyamok TABLE
|
||||
(Id INT, Evfolyam INT)
|
||||
DECLARE @Osztalyzatok TABLE
|
||||
(Id INT, Ertek FLOAT)
|
||||
DECLARE @FHhozTartozoTanulok TABLE
|
||||
(TanuloId INT, Evfolyam INT, Neme INT)
|
||||
DECLARE @TanuloAtlagok TABLE
|
||||
(TanuloId INT, AktualisAtlag FLOAT, KorabbiAtlag FLOAT)
|
||||
DECLARE @KozepesAlattiTanulok TABLE
|
||||
(TanuloId INT)
|
||||
DECLARE @RontottTanulok TABLE
|
||||
(TanuloId INT)
|
||||
|
||||
-- Mi a "Közepes" értéke az adott feladatellátási helyen
|
||||
DECLARE @FelHelyTipusKozepes FLOAT = 3.0
|
||||
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'
|
||||
|
||||
-- Az elõzõ tanév ID-ja
|
||||
DECLARE @ElozoTanevId INT = 0
|
||||
SELECT @ElozoTanevId = ISNULL(elozotanev.ID,0)
|
||||
FROM T_TANEV_OSSZES akttanev
|
||||
INNER JOIN T_TANEV_OSSZES elozotanev ON elozotanev.C_INTEZMENYID = akttanev.C_INTEZMENYID AND elozotanev.TOROLT = 'F'
|
||||
WHERE akttanev.ID = @tanevId
|
||||
AND
|
||||
(
|
||||
(akttanev.C_NEV = '2017/2018' AND elozotanev.C_NEV = '2016/2017')
|
||||
OR
|
||||
(akttanev.C_NEV = '2018/2019' AND elozotanev.C_NEV = '2017/2018')
|
||||
OR
|
||||
(akttanev.C_NEV = '2019/2020' AND elozotanev.C_NEV = '2018/2019')
|
||||
OR
|
||||
(akttanev.C_NEV = '2020/2021' AND elozotanev.C_NEV = '2019/2020')
|
||||
OR
|
||||
(akttanev.C_NEV = '2021/2022' AND elozotanev.C_NEV = '2020/2021')
|
||||
OR
|
||||
(akttanev.C_NEV = '2022/2023' AND elozotanev.C_NEV = '2021/2022')
|
||||
)
|
||||
|
||||
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 @Evfolyamok
|
||||
SELECT ID, Evfolyam FROM (SELECT DISTINCT id, CASE
|
||||
WHEN ID IN (1307,1330,1334) THEN 1307 /* 5. évfolyam*/
|
||||
WHEN ID IN (1308) THEN 1308 /* 6. évfolyam*/
|
||||
WHEN ID IN (1309,1331,1335) THEN 1309 /* 7. évfolyam*/
|
||||
WHEN ID IN (1310,1324) THEN 1310 /* 8. évfolyam*/
|
||||
WHEN ID IN (1311,1316,1332,1333,3018,3019,3020) THEN 1311 /* 9. évfolyam*/
|
||||
WHEN ID IN (1312,1323) THEN 1312 /* 10. évfolyam*/
|
||||
WHEN ID IN (1313, 1317, 1325,3016 ) THEN 1313 /* 11. évfolyam*/
|
||||
WHEN id in (1314,1318,1326, 3017, 3021, 3022,1319, 1322)
|
||||
THEN 1314 /* 12. évfolyam*/
|
||||
WHEN ID IN (6471, 6472, 6483, 6475) THEN 6471 /* KH 1. évfolyam */
|
||||
WHEN ID IN (6474, 6476) THEN 6474 /* KH 2. évfolyam */
|
||||
WHEN ID IN (6477, 6479, 6481) THEN 6477 /* SzH 1. évfolyam */
|
||||
WHEN ID IN (6478, 6480, 6482) THEN 6478 /* SzH 2. évfolyam */
|
||||
ELSE NULL
|
||||
END AS Evfolyam
|
||||
FROM T_DICTIONARYITEMBASE
|
||||
WHERE C_TYPE = 'EvfolyamTipus' AND C_TANEVID = @tanevId) Evfolyamok
|
||||
WHERE Evfolyam IS NOT NULL
|
||||
|
||||
INSERT INTO @Osztalyzatok
|
||||
SELECT ID, CONVERT(FLOAT,C_VALUE)
|
||||
FROM T_DICTIONARYITEMBASE
|
||||
WHERE C_TYPE = 'OsztalyzatTipus' AND C_TANEVID = @tanevId
|
||||
|
||||
-- Egy adott FH-hoz tartozó tanulók kilistázása (évfolyamonként, nemenként)
|
||||
INSERT INTO @FHhozTartozoTanulok
|
||||
SELECT DISTINCT
|
||||
tcs.C_TANULOID,
|
||||
evf.Evfolyam,
|
||||
f.C_NEME
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.TOROLT = 'F' AND tcs.C_TANEVID = @tanevId
|
||||
AND tcs.C_BELEPESDATUM <= @BesorolasiDatum AND (tcs.C_KILEPESDATUM >= @BesorolasiDatum OR tcs.C_KILEPESDATUM IS NULL)
|
||||
INNER JOIN T_FELHASZNALO f ON f.id = tcs.C_TANULOID
|
||||
INNER JOIN @Evfolyamok evf ON evf.Id = ocs.C_EVFOLYAMTIPUSA
|
||||
WHERE
|
||||
ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId
|
||||
AND ocs.C_TANEVID = @tanevId
|
||||
|
||||
-- Visszatérési tábla számítása
|
||||
|
||||
|
||||
INSERT INTO @KozepesAlattiTanulok (TanuloId)
|
||||
SELECT DISTINCT
|
||||
fht.TanuloId
|
||||
FROM T_TANULOERTEKELES te
|
||||
INNER JOIN @Osztalyzatok o ON o.ID = te.C_ERTEKELESOSZTALYZATID
|
||||
INNER JOIN @FHhozTartozoTanulok fht ON fht.TanuloId = te.C_TANULOID
|
||||
WHERE
|
||||
te.C_TIPUSID = IIF(@isFelevi = 0,1520,1519)
|
||||
AND te.C_TANEVID = @tanevId
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING ROUND(AVG(o.Ertek),1) < @FelHelyTipusKozepes
|
||||
|
||||
|
||||
INSERT INTO @TanuloAtlagok (TanuloId, AktualisAtlag, KorabbiAtlag)
|
||||
SELECT
|
||||
fht.TanuloId,
|
||||
(
|
||||
SELECT ROUND(AVG(o.Ertek),1) FROM T_TANULOERTEKELES te
|
||||
INNER JOIN @Osztalyzatok o ON o.ID = te.C_ERTEKELESOSZTALYZATID
|
||||
WHERE te.C_TANULOID = tanulo.ID AND te.C_TIPUSID = IIF(@isFelevi = 0,1520,1519)
|
||||
),
|
||||
(
|
||||
SELECT ROUND(AVG(o.Ertek),1) FROM T_TANULOERTEKELES_OSSZES te
|
||||
INNER JOIN @Osztalyzatok o ON o.ID = te.C_ERTEKELESOSZTALYZATID
|
||||
WHERE te.C_TANULOID = extanulo.ID AND te.C_TIPUSID = IIF(@isFelevi = 0,1519,1520) AND te.TOROLT = 'F'
|
||||
)
|
||||
FROM
|
||||
@FHhozTartozoTanulok 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 = IIF(@isFelevi = 0,@tanevId,@ElozoTanevId) AND extanulo.TOROLT = 'F'
|
||||
WHERE (
|
||||
(@isFelevi = 1 AND tanulo.ID <> extanulo.ID)
|
||||
OR
|
||||
(@isFelevi = 0 AND tanulo.ID = extanulo.ID)
|
||||
)
|
||||
|
||||
INSERT INTO @RontottTanulok (TanuloId)
|
||||
SELECT DISTINCT
|
||||
fht.TanuloId
|
||||
FROM @FHhozTartozoTanulok fht
|
||||
INNER JOIN @TanuloAtlagok ta ON ta.TanuloId = fht.TanuloId
|
||||
WHERE (ta.AktualisAtlag+1.1) <= ta.KorabbiAtlag
|
||||
|
||||
INSERT INTO @retTable (TanuloId, Evfolyam, Neme, IsKozepesMiatt, IsRontasMiatt)
|
||||
SELECT fht.TanuloId, fht.Evfolyam, fht.Neme, IIF(kozepes.TanuloId IS NULL, 0, 1), IIF(rontott.TanuloId IS NULL, 0, 1)
|
||||
FROM @FHhozTartozoTanulok 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
|
||||
+394
@@ -0,0 +1,394 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetESL_A03T01_1]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetESL_A03T01_1]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetESL_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 (Id nvarchar(100), [1307] int, [1308] int, [1309] int, [1310] int, [1311] int, [1312] int, [1313] int, [1314] int, [6471] int, [6474] int, [6477] int, [6478] int, Osszesen int, Lany int, Rendez int)
|
||||
--declare @EvfolyamokTMP table (Id int, Evfolyam int)
|
||||
declare @TanuloErtekeles table (Id int, Tanulo int, Ertekeles int, Tipus int)
|
||||
declare @FeladatEllatasiHelyekIntezmenyhez table (FHId int, IntezmenyId int)
|
||||
declare @FHhozTartozoTanulok table (Evfolyam int, TanuloId int, Neme int, IsKozepesMiatt int, IsRontasMiatt int)
|
||||
declare @OsszesitettTanulok table (Tanulo int)
|
||||
declare @2feltetelTeljesulTanulok table (Tanulo 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')
|
||||
|
||||
DECLARE @FelHelyTipusKozepes FLOAT = 3.0
|
||||
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 @FHhozTartozoTanulok (TanuloId, Evfolyam, Neme, IsKozepesMiatt, IsRontasMiatt)
|
||||
SELECT tanulok.TanuloId, tanulok.Evfolyam, tanulok.Neme, 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
|
||||
|
||||
declare @Osszes3atlagalattLany int=(select count(1) from @FHhozTartozoTanulok fht
|
||||
where fht.Neme=5 AND IsKozepesMiatt = 1)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5578', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @Osszes3atlagalattLany, 1 Rendez
|
||||
from (select TanuloId, Evfolyam from @FHhozTartozoTanulok fht WHERE IsKozepesMiatt = 1 ) a
|
||||
PIVOT (count(TanuloId) for Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))pv
|
||||
|
||||
declare @OsszesrontottLany int=(select count(1) from @FHhozTartozoTanulok fht
|
||||
where fht.Neme=5 AND IsRontasMiatt = 1)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5365', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @OsszesrontottLany, 1 Rendez
|
||||
from (select TanuloId, Evfolyam from @FHhozTartozoTanulok fht WHERE IsRontasMiatt = 1 ) a
|
||||
PIVOT (count(TanuloId) for Evfolyam IN ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))pv
|
||||
|
||||
|
||||
--egy, vagy több tantárgyból elégtelen osztályzat
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.TanuloId from @TanuloErtekeles te
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo
|
||||
where te.Tipus=1519 and te.Ertekeles=1501
|
||||
|
||||
|
||||
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 '5579', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @ElegtelenFeleviLany, 2 Rendez from (select distinct fht.TanuloId, fht.Evfolyam from @TanuloErtekeles te
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo
|
||||
where te.Tipus=1519 and te.Ertekeles=1501
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 fht.TanuloId from @TanuloErtekeles te
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo
|
||||
where te.Tipus=1519 and te.Ertekeles=1501)is null)a
|
||||
pivot (count(TanuloId) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))pv
|
||||
|
||||
-- félév, magatartás, 2
|
||||
insert into @OsszesitettTanulok
|
||||
select 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
|
||||
|
||||
|
||||
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 '5580', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @OsszesFeleviRosszMagatartasLany, 3 Rendez from (select fht.TanuloId 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_MAGATARTASERTEKID=1558
|
||||
union
|
||||
select null, null where
|
||||
(select top 1 fht.TanuloId 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)is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
-- félév, sozrgalom, 2
|
||||
insert into @OsszesitettTanulok
|
||||
select 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
|
||||
|
||||
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 '5581', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @OsszesFeleviRosszSzorgalomLany, 4 Rendez from (select fht.TanuloId 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
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 fht.TanuloId Tanulo 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)is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
--adott évben évismétlés
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id
|
||||
|
||||
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 '5582', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @OsszesEvismetloTanuloLany, 5 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id
|
||||
union
|
||||
select null, null where (select top 1 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) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
--Félévben 50 órát elérő igazolatlan hiányzás
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.Tanuloid Tanulo 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 BETWEEN @FelevKezdete AND @FelevVege
|
||||
where tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId
|
||||
having count(Tanuloid)>50
|
||||
|
||||
declare @Osszes50fFelettiIgazolatlanLany int=(select count(Tanulo) from (select fht.Tanuloid 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
|
||||
where tm.C_IGAZOLT='F' and tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId
|
||||
having count(Tanuloid)>50)a)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5583',*,[1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @Osszes50fFelettiIgazolatlanLany, 6 Rendez from (select Tanulo, Evfolyam from (select fht.Tanuloid Tanulo, 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
|
||||
where tm.C_IGAZOLT='F' and tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId, fht.Evfolyam
|
||||
having count(Tanuloid)>50)a
|
||||
union
|
||||
select null, null where (select top 1 fht.Tanuloid 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 BETWEEN @FelevKezdete AND @FelevVege
|
||||
where tm.C_IGAZOLT='F' and tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId
|
||||
having count(Tanuloid)>50
|
||||
) is null
|
||||
)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
--Szülő kérésére magántanuló
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MAGANTANULOSAGANAKOKA in (663, 664) and fht.TanuloId=t.id
|
||||
|
||||
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 '5584', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @OsszesSzuloMagantanuloLany, 7 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MAGANTANULOSAGANAKOKA in (663, 664) and fht.TanuloId=t.id
|
||||
union
|
||||
select null, null where (select top 1 fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MAGANTANULOSAGANAKOKA in (663, 664) and fht.TanuloId=t.id) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
--Menekült, menedékjoggal rendelkező
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MENEDEKJOGGALRENDELKEZO='T'and fht.TanuloId=t.id
|
||||
|
||||
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 '5585', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @OsszesMenedekjoggalRendLany, 8 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MENEDEKJOGGALRENDELKEZO='T' and fht.TanuloId=t.id
|
||||
union
|
||||
select null, null where (select top 1 fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MENEDEKJOGGALRENDELKEZO='T' and fht.TanuloId=t.id) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
--Félévben veszélyeztetett tanulók száma
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.id=fht.TanuloId and t.C_VESZELYEZTETETT='T'
|
||||
|
||||
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 '5586', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @OsszesVeszelyeztettLany, 9 Rendez from (select TanuloId, Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.id=fht.TanuloId and t.C_VESZELYEZTETETT='T'
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.id=fht.TanuloId and t.C_VESZELYEZTETETT='T') is null)a
|
||||
pivot (count(TanuloId) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
--ideiglenes hatállyal elhelyezett vagy nevelésbe vett tanulók
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on fht.TanuloId=t.id and t.C_ALLAMIGONDOZOTT='T'
|
||||
|
||||
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 '5587', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @OsszesAllamigondozottLany, 10 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_ALLAMIGONDOZOTT='T' and fht.TanuloId=t.id
|
||||
union
|
||||
select null, null where (select top 1 fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_ALLAMIGONDOZOTT='T' and fht.TanuloId=t.id) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
--legalább 2 feltétel teljesül
|
||||
insert into @2feltetelTeljesulTanulok
|
||||
select Tanulo from @OsszesitettTanulok group by Tanulo having count(Tanulo)>=2
|
||||
|
||||
declare @OsszesOsszeslanyMin2 int=(select count(Tanulo) from @2feltetelTeljesulTanulok kt
|
||||
inner join @FHhozTartozoTanulok ft on ft.TanuloId=kt.Tanulo and ft.Neme=5)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5588', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @OsszesOsszeslanyMin2, 11 Rendez from (select Tanulo, fht.Evfolyam from @2feltetelTeljesulTanulok kt
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
|
||||
union
|
||||
select null,null
|
||||
where (select top 1 Tanulo from @OsszesitettTanulok ot
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ot.Tanulo)is null ) a
|
||||
pivot (count (Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
|
||||
--Szum
|
||||
declare @OsszesOsszesLany int= (select count(distinct Tanulo) from @OsszesitettTanulok ot
|
||||
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo and fh.Neme=5)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5025', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @OsszesOsszesLany, -1 Rendez from (select distinct Tanulo, Evfolyam from @OsszesitettTanulok ot
|
||||
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 Tanulo from @OsszesitettTanulok ot
|
||||
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo ) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
--Szum lány
|
||||
insert into @tmpA03T01
|
||||
select '4952', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], null, 0 Rendez from (select distinct Tanulo, Evfolyam from @OsszesitettTanulok ot
|
||||
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo and fh.Neme=5
|
||||
union
|
||||
select null, null where (select top 1 Tanulo from @OsszesitettTanulok ot
|
||||
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo and fh.Neme=5) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
--kettő feltétel esetén ... félévben 100 órát elért hiányzás
|
||||
declare @Osszes100IgazoltLany int = (select count(Tanulo) from (select distinct fht.Tanuloid Tanulo from T_TANULOMULASZTAS tm
|
||||
inner join @2feltetelTeljesulTanulok kt on kt.Tanulo=tm.C_ORATANULOIID
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo 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
|
||||
where tm.C_IGAZOLT='T' and tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId, fht.Evfolyam
|
||||
having count(Tanuloid)>=100)a)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5589', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @Osszes100IgazoltLany, 12 Rendez from (select distinct fht.Tanuloid Tanulo, fht.Evfolyam from T_TANULOMULASZTAS tm
|
||||
inner join @2feltetelTeljesulTanulok kt on kt.Tanulo=tm.C_ORATANULOIID
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
|
||||
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
|
||||
where tm.C_IGAZOLT='T' and tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId, fht.Evfolyam
|
||||
having count(Tanuloid)>=100
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 fht.Tanuloid Tanulo from T_TANULOMULASZTAS tm
|
||||
inner join @2feltetelTeljesulTanulok kt on kt.Tanulo=tm.C_ORATANULOIID
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
|
||||
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
|
||||
where tm.C_IGAZOLT='T' and tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId, fht.Evfolyam
|
||||
having count(Tanuloid)>=100) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
--kettő feltétel ... kiemelet fogyelmet igénylő --sni
|
||||
declare @OsszesSni2feltetelLany int = (select count(Tanulo) from (select kt.Tanulo Tanulo from @2feltetelTeljesulTanulok kt
|
||||
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_SAJATOSNEVELESU='T'
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo and fht.Neme=5
|
||||
)a)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5590', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314]+[6471]+[6474]+[6477]+[6478], @OsszesSni2feltetelLany, 13 Rendez from (select kt.Tanulo, fht.Evfolyam from @2feltetelTeljesulTanulok kt
|
||||
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_SAJATOSNEVELESU='T'
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 kt.Tanulo from @2feltetelTeljesulTanulok kt
|
||||
inner join t_tanulo t on t.ID=kt.Tanulo and (t.C_SAJATOSNEVELESU='T' OR t.C_BEILLESZKEDESINEHEZSEG='T' OR t.C_HATRANYOSHELYZETU IN (1122, 1123))
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
--kettő feltétel ... kiemelet fogyelmet igénylő --rendszeres gyermekvédelmi
|
||||
declare @OsszesRgyT2feltetelLany int = (select count(Tanulo) from (select kt.Tanulo Tanulo from @2feltetelTeljesulTanulok kt
|
||||
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_RENDSZERESGYERMEKVEDELMIKEDV is not null
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo and fht.Neme=5
|
||||
)a)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5591', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesRgyT2feltetelLany, 14 Rendez from (select kt.Tanulo, fht.Evfolyam from @2feltetelTeljesulTanulok kt
|
||||
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_RENDSZERESGYERMEKVEDELMIKEDV is not null
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 kt.Tanulo from @2feltetelTeljesulTanulok kt
|
||||
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_RENDSZERESGYERMEKVEDELMIKEDV is not null
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
--kettő feltétel ... alapfokú oktatásban 16
|
||||
declare @OsszesAlapfoku16AlattLany int =(select count(fht.TanuloId) from @2feltetelTeljesulTanulok ketfeltetel
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1307,1308,1309,1310) and fht.Neme=5
|
||||
inner join (select f.id Tanuloid,
|
||||
case
|
||||
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE()), f.C_SZULETESIDATUM) < GETDATE() THEN DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE())
|
||||
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM,GETDATE()) - 1
|
||||
end as Eletkor from t_felhasznalo f
|
||||
) szulido on szulido.TanuloId=ketfeltetel.Tanulo
|
||||
where szulido.Eletkor>15)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5592', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesAlapfoku16AlattLany, 14 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @2feltetelTeljesulTanulok ketfeltetel
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1307,1308,1309,1310)
|
||||
inner join (select f.id Tanuloid,
|
||||
case
|
||||
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE()), f.C_SZULETESIDATUM) < GETDATE() THEN DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE())
|
||||
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM,GETDATE()) - 1
|
||||
end as Eletkor from t_felhasznalo f
|
||||
) szulido on szulido.TanuloId=ketfeltetel.Tanulo
|
||||
where szulido.Eletkor>15
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 fht.TanuloId Tanulo from @2feltetelTeljesulTanulok ketfeltetel
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1307,1308,1309,1310)
|
||||
inner join (select f.id Tanuloid,
|
||||
case
|
||||
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE()), f.C_SZULETESIDATUM) < GETDATE() THEN DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE())
|
||||
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM,GETDATE()) - 1
|
||||
end as Eletkor from t_felhasznalo f
|
||||
) szulido on szulido.TanuloId=ketfeltetel.Tanulo
|
||||
where szulido.Eletkor>15) is null
|
||||
)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
-- a03t01
|
||||
select Id, [1307] 'Evfolyam5', [1308] 'Evfolyam6', [1309] 'Evfolyam7', [1310] 'Evfolyam8', [1311] 'Evfolyam9', [1312] 'Evfolyam10', [1313] 'Evfolyam11', [1314] 'Evfolyam12', [6471] 'KH1', [6474] 'KH2', [6477] 'SzH1', [6478] 'SzH2', Osszesen, Lany from @tmpA03T01
|
||||
order by Rendez
|
||||
|
||||
END
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetESL_A03T02_1]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetESL_A03T02_1]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetESL_A03T02_1]
|
||||
@tanevId int,
|
||||
@intezmenyId int,
|
||||
@feladatEllatasiHelyId int,
|
||||
@isFelevi int = 0
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Táblák deklarálása
|
||||
|
||||
DECLARE @TanuloErtekeles TABLE (Id INT, Tanulo INT, Tantargy INT)
|
||||
DECLARE @FHhozTartozoTanulok TABLE (TanuloId INT, Evfolyam INT, Neme INT)
|
||||
DECLARE @Targyak TABLE (Tantargy INT)
|
||||
|
||||
INSERT INTO @FHhozTartozoTanulok (TanuloId, Evfolyam, Neme)
|
||||
SELECT tanulok.TanuloId, tanulok.Evfolyam, tanulok.Neme FROM fnGetLemorzsolodottTanulokByFelhely(@feladatEllatasiHelyId, @tanevId, @isFelevi) as tanulok
|
||||
|
||||
--Dátumok deklarásása
|
||||
declare @kezdet int,
|
||||
@veg int,
|
||||
@felev int
|
||||
|
||||
select top 1 @kezdet= iif(getdate()<=C_DATUM,1394,1400), --első félév
|
||||
@veg= iif(getdate()<=C_DATUM,1400,1395) --második félév
|
||||
from t_tanevrendje tr where c_naptipusa=1400 and c_tanevId=@tanevId and c_intezmenyId=@intezmenyId and torolt='F'
|
||||
|
||||
DECLARE @FelevKezdete DATE = (select top 1 c_datum from t_tanevrendje tr where c_naptipusa=@kezdet 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=@veg and c_tanevid=@tanevid and c_intezmenyid=@intezmenyid and torolt='F')
|
||||
|
||||
--csak az egyes félévi jegyek
|
||||
INSERT INTO @TanuloErtekeles
|
||||
select te.Id, C_tanuloid, t.c_targykategoria from T_TANULOERTEKELES te
|
||||
inner join t_tantargy t on t.id=te.c_tantargyid
|
||||
INNER JOIN @FHhozTartozoTanulok fht on fht.TanuloId=te.C_TANULOID
|
||||
where te.torolt='F' and te.C_TANEVID=@tanevId and te.C_ERTEKELESOSZTALYZATID=1501 and te.c_tipusid = IIF(@isFelevi = 0,1520,1519)
|
||||
|
||||
insert into @Targyak (Tantargy)
|
||||
select distinct id from T_DICTIONARYITEMBASE where id in (1202,1203,1204,1209,1200,1210,1198,1215,1219,1220,1221,1223,1224,1230,1232,1235,1240,1239,1242)
|
||||
|
||||
-- !!!!!!!! --
|
||||
select TargyNev.C_NAME Id, isnull(piv.[1307],0) 'Evfolyam5', isnull(piv.[1308],0) 'Evfolyam6', isnull(piv.[1309],0) 'Evfolyam7', isnull(piv.[1310],0) 'Evfolyam8',
|
||||
isnull(piv.[1311],0) 'Evfolyam9', isnull(piv.[1312],0) 'Evfolyam10', isnull(piv.[1313],0) 'Evfolyam11', isnull(piv.[1314],0) 'Evfolyam12',
|
||||
isnull(piv.[6471],0) 'KH1', isnull(piv.[6474],0) 'KH2', isnull(piv.[6477],0) 'SzH1', isnull(piv.[6478],0) 'SzH2',
|
||||
isnull(Osszes.OsszesTanulo,0) Osszesen, isnull(OsszesLany.OsszesTanulo,0) Lany
|
||||
from @Targyak Targyak
|
||||
left join (
|
||||
select * from (select distinct Tanulo, Evfolyam, case
|
||||
when Tantargy in (1202) then 1202 --angol
|
||||
when Tantargy in (1203) then 1203 --német
|
||||
when Tantargy in (1204) then 1204 --francia
|
||||
when Tantargy in (1205,1206,1207,1208,1209) then 1209 --egyéb nyelv
|
||||
when Tantargy in (1200) then 1200 --nemzetiségi
|
||||
when Tantargy in (1210) then 1210 --matek
|
||||
when Tantargy in (1198) then 1198 -- magyar nyelv és irodalom
|
||||
when Tantargy in (1215) then 1215 --történelem és társadalmi...
|
||||
when Tantargy in (1219) then 1219 --fizika
|
||||
when Tantargy in (1220) then 1220 --kémia
|
||||
when Tantargy in (1221) then 1221 --biológia
|
||||
when Tantargy in (1223) then 1223 --földrajz
|
||||
when Tantargy in (1224) then 1224 --ének-zene
|
||||
when Tantargy in (1229,1230) then 1230 --számítástechika, informatika
|
||||
when Tantargy in (1232) then 1232 --technika
|
||||
when Tantargy in (1235) then 1235 --testnevelés
|
||||
when Tantargy in (1240) then 1240 --szakmai gyakorlat
|
||||
when Tantargy in (1239) then 1239 --szakmai elmélet
|
||||
else 1242 --egyéb
|
||||
end Tantargy
|
||||
from @TanuloErtekeles te
|
||||
inner join @FHhozTartozoTanulok fh on fh.TanuloId=te.Tanulo and fh.Evfolyam in (1307,1308,1309,1310, 1311, 1312, 1313, 1314, 6471, 6474, 6477, 6478))a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
) piv on piv.Tantargy=Targyak.Tantargy
|
||||
left join (select count(distinct Tanulo) OsszesTanulo, Tantargy from @TanuloErtekeles group by Tantargy) Osszes on Osszes.Tantargy=Targyak.Tantargy
|
||||
left join (select count(distinct Tanulo) OsszesTanulo, Tantargy from (select Tanulo, Tantargy from @TanuloErtekeles te inner join @FHhozTartozoTanulok ft on te.Tanulo=ft.TanuloId and ft.Neme=5) a group by Tantargy) OsszesLany on OsszesLany.Tantargy=Targyak.Tantargy
|
||||
inner join T_DICTIONARYITEMBASE TargyNev on TargyNev.Id=Targyak.Tantargy
|
||||
|
||||
END
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
IF OBJECT_ID('[DBO].[sp_GetESL_A03T03_1]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [DBO].[sp_GetESL_A03T03_1]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [DBO].[sp_GetESL_A03T03_1]
|
||||
@tanevId int,
|
||||
@intezmenyId int,
|
||||
@feladatEllatasiHelyId int,
|
||||
@isFelevi int = 0
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Táblák deklarálása
|
||||
declare @Dictionary table (Id int, Name nvarchar(max), Value int, Tipus nvarchar(max))
|
||||
declare @Evfolyamok table (Id int, Evfolyam int)
|
||||
declare @TanuloErtekeles table (Id int, Tanulo int, Ertekeles int, Tipus int)
|
||||
declare @FeladatEllatasiHelyekIntezmenyhez table (FHId int, IntezmenyId int)
|
||||
declare @FHhozTartozoTanulok table (Intezmeny int, FH int, Evfolyam int, TanuloId int, Neme int)
|
||||
|
||||
--Dátumok deklarásása
|
||||
declare @kezdet int,
|
||||
@veg int,
|
||||
@felev int
|
||||
|
||||
select top 1 @kezdet= iif(getdate()<=C_DATUM,1394,1400), --első félév
|
||||
@veg= iif(getdate()<=C_DATUM,1400,1395) --második félév
|
||||
from t_tanevrendje tr where c_naptipusa=1400 and c_tanevId=@tanevId and c_intezmenyId=@intezmenyId and torolt='F'
|
||||
|
||||
DECLARE @FelevKezdete DATE = (select top 1 c_datum from t_tanevrendje tr where c_naptipusa=@kezdet 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=@veg and c_tanevid=@tanevid and c_intezmenyid=@intezmenyid and torolt='F')
|
||||
|
||||
INSERT INTO @FHhozTartozoTanulok (TanuloId, Evfolyam, Neme)
|
||||
SELECT tanulok.TanuloId, tanulok.Evfolyam, tanulok.Neme FROM fnGetLemorzsolodottTanulokByFelhely(@feladatEllatasiHelyId, @tanevId, @isFelevi) as tanulok
|
||||
|
||||
--adott évben évismétlés
|
||||
declare @OsszesEvismetloTanulo int =(select count(fht.TanuloId) from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_EVISMETLO='T' and fht.TanuloId=t.id AND @isFelevi = 0)
|
||||
|
||||
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 AND @isFelevi = 0)
|
||||
|
||||
select 5582 as 'Id', [1307] 'Evfolyam5', [1308] 'Evfolyam6', [1309] 'Evfolyam7', [1310] 'Evfolyam8', [1311] 'Evfolyam9', [1312] 'Evfolyam10', [1313] 'Evfolyam11', [1314] 'Evfolyam12', [6471] 'KH1', [6474] 'KH2', [6477] 'SzH1', [6478] 'SzH2', @OsszesEvismetloTanulo 'Osszesen', @OsszesEvismetloTanuloLany 'Lany'
|
||||
from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id AND @isFelevi = 0
|
||||
union
|
||||
select null, null where (select top 1 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) is null AND @isFelevi = 0)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
END
|
||||
|
||||
Reference in New Issue
Block a user