503 lines
No EOL
27 KiB
Transact-SQL
503 lines
No EOL
27 KiB
Transact-SQL
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
IF OBJECT_ID('[dbo].[sp_GetFeleviErtesito]') IS NOT NULL
|
|
BEGIN
|
|
DROP PROCEDURE [dbo].[sp_GetFeleviErtesito]
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Description: Félévi értesítõ nyomtatvány.
|
|
-- =============================================
|
|
|
|
CREATE PROCEDURE sp_GetFeleviErtesito
|
|
@osztalyId int,
|
|
@TanevId int,
|
|
@ElmeletGyakorlat bit=0
|
|
AS
|
|
BEGIN
|
|
-- SET NOCOUNT ON added to prevent extra result sets from
|
|
-- interfering with SELECT statements.
|
|
SET NOCOUNT ON;
|
|
-- fejléc
|
|
SELECT T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve,
|
|
T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM IntezmenyIranyitoszam,
|
|
T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros,
|
|
T_INTEZMENYADATOK_OSSZES.C_CIME IntezmenyCime,
|
|
T_INTEZMENYADATOK_OSSZES.C_OMKOD OMKod,
|
|
T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON,
|
|
T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM,
|
|
T_TANEV_OSSZES.C_NEV TANEV,
|
|
(SELECT OFO.C_NYOMTATASINEV FROM T_OSZTALY_OSSZES
|
|
JOIN T_FELHASZNALO_OSSZES OFO
|
|
ON OFO.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID
|
|
WHERE T_OSZTALY_OSSZES.ID=@osztalyId
|
|
and T_OSZTALY_OSSZES.TOROLT = 'F') OSZTALYFONOK,
|
|
(SELECT to2.C_NEV FROM T_OSZTALYCSOPORT_OSSZES to2 WHERE ID = @osztalyId and TOROLT = 'F') OSZTALYNEV,
|
|
Getdate() Datum
|
|
FROM T_INTEZMENYADATOK_OSSZES
|
|
inner join T_TANEV_OSSZES
|
|
on T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID and T_TANEV_OSSZES.TOROLT = 'F'
|
|
WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
|
|
and T_TANEV_OSSZES.ID = @TanevId
|
|
|
|
|
|
-- TANULÓK
|
|
SELECT T_FELHASZNALO_OSSZES.ID TANULOID,
|
|
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV TANULONEV,
|
|
T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO OKTATASIAZONOSITO
|
|
FROM T_FELHASZNALO_OSSZES
|
|
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
|
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
|
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
|
ON TANCSOPORT.C_TANULOID = T_FELHASZNALO_OSSZES.ID
|
|
WHERE T_FELHASZNALO_OSSZES.TOROLT='F'
|
|
and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
|
|
and T_FELHASZNALO_OSSZES.C_TANEVID = @TanevId
|
|
ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
|
|
|
|
-- ÉRTÉKELÉSEK
|
|
SELECT ERTEKELES.C_TANULOID TANULOID,
|
|
'MAGATARTAS' TARGY,
|
|
ERT.C_NAME FELEVIERTEKELES,
|
|
ERT.C_NAME FELJEGYZES,
|
|
1 RENDEZ
|
|
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
|
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
|
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
|
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
|
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
|
|
LEFT JOIN (SELECT ID, C_MAGATARTAS MAGATARTAS FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT
|
|
ON OSZTALYZAT.ID = ERTEKELES.ID
|
|
LEFT JOIN ( SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE) ERT ON ERT.ID=OSZTALYZAT.MAGATARTAS
|
|
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
|
|
AND ERTEKELES.C_ERTEKELESTIPUSA = 1519
|
|
AND (OSZTALYZAT.MAGATARTAS IS NOT NULL OR (LEN(ERTEKELES.C_ERTEKELESSZOVEG)>0 and ERTEKELES.C_TANTARGYID is null) ) -- FÉLÉVES
|
|
AND ERTEKELES.C_TANEVID = @TanevId
|
|
AND ERTEKELES.TOROLT='F'
|
|
UNION ALL
|
|
|
|
SELECT ERTEKELES.C_TANULOID TANULOID,
|
|
'SZORGALOM' TARGY,
|
|
ERT.C_NAME FELEVIERTEKELES,
|
|
ERT.C_NAME FELJEGYZES,
|
|
2 RENDEZ
|
|
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
|
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
|
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
|
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
|
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
|
|
LEFT JOIN (SELECT ID, C_SZORGALOM SZORGALOM FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT
|
|
ON OSZTALYZAT.ID = ERTEKELES.ID
|
|
LEFT JOIN ( SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE) ERT ON ERT.ID=OSZTALYZAT.SZORGALOM
|
|
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
|
|
AND ERTEKELES.C_ERTEKELESTIPUSA = 1519
|
|
AND OSZTALYZAT.SZORGALOM IS NOT NULL -- FÉLÉVES
|
|
AND ERTEKELES.C_TANEVID = @TanevId
|
|
AND ERTEKELES.TOROLT='F'
|
|
UNION ALL
|
|
|
|
SELECT ERTEKELES.C_TANULOID TANULOID,
|
|
TARGY.TARGYNEV TARGY,
|
|
ERT.C_NAME+iif(ertekelesMegjegyzes.C_TEMA is null, '', +' * '+ertekelesMegjegyzes.C_TEMA) FELEVIERTEKELES,
|
|
ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES,
|
|
TARGY.KAT RENDEZ
|
|
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
|
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
|
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
|
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
|
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
|
|
JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT FROM T_TANTARGY_OSSZES where TOROLT = 'F') TARGY
|
|
ON TARGY.ID = ERTEKELES.C_TANTARGYID
|
|
LEFT JOIN ( SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE) ERT ON ERT.ID=ERTEKELES.C_OSZTALYZAT
|
|
left join T_OSZTALYZATERTEKELES ertekelesMegjegyzes on ertekelesMegjegyzes.ID=ertekeles.Id
|
|
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
|
|
AND TARGY.KAT != 1248 --Osztályfőnöki nem jelenítődik meg
|
|
AND ERTEKELES.C_ERTEKELESTIPUSA = 1519 -- FÉLÉVES
|
|
AND ERTEKELES.C_TANEVID = @TanevId
|
|
AND ERTEKELES.TOROLT='F'
|
|
ORDER BY TANULOID, RENDEZ
|
|
/*
|
|
SELECT ERTEKELES.C_TANULOID TANULOID,
|
|
'MAGATARTAS' TARGY,
|
|
d.C_NAME FELEVIERTEKELES,
|
|
d.C_NAME++iif(ertekeles.c_ertekelesszoveg is null, '', +' - '+ertekeles.c_ertekelesszoveg) FELJEGYZES,
|
|
1 Rendez
|
|
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
|
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
|
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
|
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
|
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
|
|
LEFT JOIN (SELECT ID, C_MAGATARTAS MAGATARTAS FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT
|
|
ON OSZTALYZAT.ID = ERTEKELES.ID
|
|
inner join (select distinct id, c_name from T_DICTIONARYITEMBASE) d on d.id=OSZTALYZAT.MAGATARTAS
|
|
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
|
|
AND ERTEKELES.C_ERTEKELESTIPUSA = 1519
|
|
AND OSZTALYZAT.MAGATARTAS IS NOT NULL -- FÉLÉVES
|
|
AND ERTEKELES.C_TANEVID = @TanevId
|
|
AND ERTEKELES.TOROLT='F'
|
|
UNION ALL
|
|
SELECT ERTEKELES.C_TANULOID TANULOID,
|
|
'SZORGALOM' TARGY,
|
|
d.C_NAME FELEVIERTEKELES,
|
|
ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES,
|
|
2 Rendez
|
|
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
|
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
|
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
|
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
|
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
|
|
LEFT JOIN (SELECT ID, C_SZORGALOM SZORGALOM FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT
|
|
ON OSZTALYZAT.ID = ERTEKELES.ID
|
|
inner join (select distinct id, c_name from T_DICTIONARYITEMBASE) d on d.id=OSZTALYZAT.szorgalom
|
|
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
|
|
AND ERTEKELES.C_ERTEKELESTIPUSA = 1519
|
|
AND OSZTALYZAT.SZORGALOM IS NOT NULL -- FÉLÉVES
|
|
AND ERTEKELES.C_TANEVID = @TanevId
|
|
AND ERTEKELES.TOROLT='F'
|
|
|
|
UNION ALL
|
|
|
|
|
|
SELECT ERTEKELES.C_TANULOID TANULOID,
|
|
TARGY.TARGYNEV TARGY,
|
|
d.C_NAME+iif(ertekelesMegjegyzes.C_TEMA is null, '', +' * '+ertekelesMegjegyzes.C_TEMA) FELEVIERTEKELES,
|
|
ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES,
|
|
TARGY.KAT Rendez
|
|
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
|
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
|
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
|
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
|
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
|
|
JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT FROM T_TANTARGY_OSSZES where TOROLT = 'F') TARGY
|
|
ON TARGY.ID = ERTEKELES.C_TANTARGYID
|
|
inner join (select distinct id, c_name from T_DICTIONARYITEMBASE) d on d.id=ERTEKELES.C_OSZTALYZAT
|
|
left join T_OSZTALYZATERTEKELES ertekelesMegjegyzes on ertekelesMegjegyzes.ID=ertekeles.Id
|
|
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
|
|
AND TARGY.KAT != 1248 --Osztályfőnöki nem jelenítődik meg
|
|
AND ERTEKELES.C_ERTEKELESTIPUSA = 1519 -- FÉLÉVES
|
|
AND ERTEKELES.C_TANEVID = @TanevId
|
|
AND ERTEKELES.TOROLT='F'
|
|
ORDER BY TANULOID, Rendez
|
|
*/
|
|
-- MULASZTÁSOK
|
|
|
|
declare @tanulok table (Tanulo int)
|
|
insert into @tanulok
|
|
select c_tanuloid from t_tanulocsoport where torolt='F' and c_osztalycsoportid=@osztalyId
|
|
|
|
|
|
|
|
|
|
IF @ElmeletGyakorlat=0
|
|
BEGIN
|
|
select * from (select Tanulok.Tanulo TanuloId, 'IGAZOLT' Tipus, isnull(Igazolt.Osszes, 0)+isnull(IgazoltElmeletKeses.Osszes, 0)+isnull(IgazoltGyakorlatKeses.Osszes, 0) Oraszam from @tanulok Tanulok
|
|
left join (
|
|
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
|
|
inner join T_TANITASIORA tao on tao.id=tm.C_TANITASIORAKID
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) Igazolt on Igazolt.Tanulo=Tanulok.Tanulo
|
|
|
|
left join (
|
|
select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
|
|
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) IgazoltElmeletKeses on IgazoltElmeletKeses.Tanulo=Tanulok.Tanulo
|
|
|
|
left join (
|
|
select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
|
|
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) IgazoltGyakorlatKeses on IgazoltGyakorlatKeses.Tanulo=Tanulok.Tanulo
|
|
|
|
|
|
union
|
|
|
|
|
|
select Tanulok.Tanulo TanuloId, 'IGAZOLATLAN' Tipus, isnull(Igazolatlan.Osszes, 0)+isnull(IgazolatlanElmeletKeses.Osszes, 0)+isnull(IgazolatlatGyakorlatKeses.Osszes, 0) Oraszam from @tanulok Tanulok
|
|
left join (
|
|
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
|
|
inner join T_TANITASIORA tao on tao.id=tm.C_TANITASIORAKID
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) Igazolatlan on Igazolatlan.Tanulo=Tanulok.Tanulo
|
|
|
|
left join (
|
|
select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
|
|
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) IgazolatlanElmeletKeses on IgazolatlanElmeletKeses.Tanulo=Tanulok.Tanulo
|
|
|
|
left join (
|
|
select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
|
|
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) IgazolatlatGyakorlatKeses on IgazolatlatGyakorlatKeses.Tanulo=Tanulok.Tanulo
|
|
) Ossz
|
|
ORDER BY TANULOID, TIPUS DESC
|
|
/*SELECT * FROM (
|
|
SELECT MULASZT.C_ORATANULOIID TANULOID,
|
|
'IGAZOLT' TIPUS,
|
|
COUNT(1) ORASZAM
|
|
FROM T_TANULOMULASZTAS_OSSZES MULASZT
|
|
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
|
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
|
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
|
ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID
|
|
WHERE MULASZT.TOROLT ='F'
|
|
AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
|
|
AND MULASZT.C_IGAZOLT = 'T'
|
|
AND MULASZT.C_TIPUS = 1500
|
|
AND MULASZT.C_TANEVID = @TanevId
|
|
GROUP BY MULASZT.C_ORATANULOIID
|
|
|
|
|
|
UNION
|
|
|
|
SELECT MULASZT.C_ORATANULOIID TANULOID,
|
|
'IGAZOLATLAN' TIPUS,
|
|
COUNT(1) ORASZAM
|
|
FROM T_TANULOMULASZTAS_OSSZES MULASZT
|
|
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
|
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
|
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
|
ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID
|
|
WHERE MULASZT.TOROLT ='F'
|
|
AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
|
|
AND MULASZT.C_IGAZOLT = 'F'
|
|
AND MULASZT.C_TIPUS = 1500
|
|
AND MULASZT.C_TANEVID = @TanevId
|
|
GROUP BY MULASZT.C_ORATANULOIID) ORAK
|
|
ORDER BY ORAK.TANULOID, ORAK.TIPUS DESC
|
|
*/
|
|
|
|
END
|
|
|
|
ELSE
|
|
|
|
BEGIN
|
|
select * from (select Elmeletgyakorlat.*, Elmelet.Elmelet, Gyakorlat.Gyakorlat from
|
|
(select Tanulok.Tanulo TanuloId, 'IGAZOLT' Tipus, isnull(Igazolt.Osszes, 0)+isnull(IgazoltElmeletKeses.Osszes, 0)+isnull(IgazoltGyakorlatKeses.Osszes, 0) Oraszam from @tanulok Tanulok
|
|
left join (
|
|
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
|
|
inner join T_TANITASIORA tao on tao.id=tm.C_TANITASIORAKID
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) Igazolt on Igazolt.Tanulo=Tanulok.Tanulo
|
|
|
|
left join (
|
|
select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
|
|
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) IgazoltElmeletKeses on IgazoltElmeletKeses.Tanulo=Tanulok.Tanulo
|
|
|
|
left join (
|
|
select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
|
|
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) IgazoltGyakorlatKeses on IgazoltGyakorlatKeses.Tanulo=Tanulok.Tanulo
|
|
|
|
|
|
union
|
|
|
|
|
|
select Tanulok.Tanulo TanuloId, 'IGAZOLATLAN' Tipus, isnull(Igazolatlan.Osszes, 0)+isnull(IgazolatlanElmeletKeses.Osszes, 0)+isnull(IgazolatlanGyakorlatKeses.Osszes, 0) Oraszam from @tanulok Tanulok
|
|
left join (
|
|
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
|
|
inner join T_TANITASIORA tao on tao.id=tm.C_TANITASIORAKID
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) Igazolatlan on Igazolatlan.Tanulo=Tanulok.Tanulo
|
|
|
|
left join (
|
|
select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
|
|
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) IgazolatlanElmeletKeses on IgazolatlanElmeletKeses.Tanulo=Tanulok.Tanulo
|
|
|
|
left join (
|
|
select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
|
|
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) IgazolatlanGyakorlatKeses on IgazolatlanGyakorlatKeses.Tanulo=Tanulok.Tanulo
|
|
)Elmeletgyakorlat
|
|
|
|
left join (
|
|
select Tanulok.Tanulo TanuloId, 'IGAZOLT' Tipus, isnull(Igazolt.Osszes, 0)+isnull(IgazoltElmeletKeses.Osszes,0) Elmelet from @tanulok Tanulok
|
|
left join (
|
|
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
|
|
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) Igazolt on Igazolt.Tanulo=Tanulok.Tanulo
|
|
|
|
left join (
|
|
select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
|
|
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) IgazoltElmeletKeses on IgazoltElmeletKeses.Tanulo=Tanulok.Tanulo
|
|
union
|
|
|
|
select Tanulok.Tanulo TanuloId, 'IGAZOLATLAN' Tipus, isnull(Igazolatlan.Osszes, 0)+isnull(IgazolatlanElmeletKeses.Osszes,0) Elmelet from @tanulok Tanulok
|
|
left join (
|
|
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
|
|
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) Igazolatlan on Igazolatlan.Tanulo=Tanulok.Tanulo
|
|
|
|
left join (
|
|
select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
|
|
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) IgazolatlanElmeletKeses on IgazolatlanElmeletKeses.Tanulo=Tanulok.Tanulo
|
|
|
|
|
|
)Elmelet on Elmelet.Tanuloid=Elmeletgyakorlat.TanuloId and Elmelet.Tipus=Elmeletgyakorlat.Tipus
|
|
|
|
|
|
|
|
left join (
|
|
select Tanulok.Tanulo TanuloId, 'IGAZOLT' Tipus, isnull(Igazolt.Osszes, 0)+isnull(IgazoltGyakorlatKeses.Osszes,0) Gyakorlat from @tanulok Tanulok
|
|
left join (
|
|
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
|
|
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) Igazolt on Igazolt.Tanulo=Tanulok.Tanulo
|
|
|
|
left join (
|
|
select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
|
|
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) IgazoltGyakorlatKeses on IgazoltGyakorlatKeses.Tanulo=Tanulok.Tanulo
|
|
union
|
|
|
|
select Tanulok.Tanulo TanuloId, 'IGAZOLATLAN' Tipus, isnull(Igazolatlan.Osszes, 0)+isnull(IgazolatlanGyakorlatKeses.Osszes,0) Elmelet from @tanulok Tanulok
|
|
left join (
|
|
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
|
|
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) Igazolatlan on Igazolatlan.Tanulo=Tanulok.Tanulo
|
|
|
|
left join (
|
|
select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm
|
|
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
|
|
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
|
|
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
|
|
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
|
|
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
|
|
group by c_oratanuloiid
|
|
) IgazolatlanGyakorlatKeses on IgazolatlanGyakorlatKeses.Tanulo=Tanulok.Tanulo
|
|
|
|
|
|
)Gyakorlat on Gyakorlat.Tanuloid=Elmeletgyakorlat.TanuloId and Gyakorlat.Tipus=Elmeletgyakorlat.Tipus
|
|
|
|
)Ossz
|
|
ORDER BY TANULOID, TIPUS DESC
|
|
|
|
END
|
|
|
|
-- TANTÁRGYI MENTESSÉGEK
|
|
SELECT distinct MENTESSEG.C_TANULOID TANULOID,
|
|
TARGY.TARGYNEV,
|
|
MENTESSEG.C_MENTESSEGOKA MENTESSEGOKA
|
|
FROM T_TANULOMENTESSEG_OSSZES MENTESSEG
|
|
JOIN (SELECT ID, C_NEV TARGYNEV FROM T_TANTARGY_OSSZES WHERE TOROLT='F') TARGY
|
|
ON TARGY.ID = MENTESSEG.C_TANTARGYID
|
|
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
|
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
|
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
|
ON TANCSOPORT.C_TANULOID = MENTESSEG.C_TANULOID
|
|
WHERE MENTESSEG.TOROLT = 'F'
|
|
AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
|
|
AND MENTESSEG.C_TANEVID = @TanevId
|
|
ORDER BY MENTESSEG.C_TANULOID, TARGY.TARGYNEV
|
|
|
|
-- BEJEGYZÉSEK
|
|
SELECT T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID,
|
|
C_TARTALOM BEJEGYZES,
|
|
C_TIPUS TIPUS
|
|
FROM T_TANULOESEMENY_OSSZES
|
|
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
|
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
|
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
|
ON TANCSOPORT.C_TANULOID = T_TANULOESEMENY_OSSZES.C_TANULOID
|
|
WHERE T_TANULOESEMENY_OSSZES.TOROLT='F'
|
|
AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
|
|
AND T_TANULOESEMENY_OSSZES.C_TIPUS = 1547
|
|
AND T_TANULOESEMENY_OSSZES.C_TIPUS != 1534
|
|
AND T_TANULOESEMENY_OSSZES.C_TANEVID = @TanevId
|
|
ORDER BY T_TANULOESEMENY_OSSZES.C_TANULOID
|
|
END
|
|
|
|
GO |