kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170327110702_Init/Stored procedures/sp_GetErtesitesAltEsMulAdatok.sql
2024-03-13 00:33:46 +01:00

164 lines
No EOL
7.6 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('sp_GetErtesitesAltEsMulAdatok') IS NOT NULL BEGIN
DROP PROCEDURE [sp_GetErtesitesAltEsMulAdatok]
END
GO
-- =============================================
-- Author: Hoffmann Zsolt
-- Create date: 2016.04.05.
-- Description: Tanulói jegyek részletezése
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetErtesitesAltEsMulAdatok]
@OsztalyId int,
@TanevId int,
@Tankoteles nvarchar(1)
AS
BEGIN
SET NOCOUNT ON;
--Tanulói adatok
select
tanulo.ID,
tanulo.C_NYOMTATASINEV TANULONEV,
tanulo.C_ANYJANEVE ANYJANEVE,
tanulo.C_SZULETESIHELY SZULETESIHELY,
tanulo.C_SZULETESIDATUM SZULETESIDATUM,
AllandoLakcim.IranyitoSzam1,
AllandoLakcim.Varos1,
AllandoLakcim.Kozterulet1,
AllandoLakcim.KozteruletJellege1,
AllandoLakcim.Hazszam1,
AllandoLakcim.Emelet1,
AllandoLakcim.Ajto1,
TartozkodasiHely.IranyitoSzam2,
TartozkodasiHely.Varos2,
TartozkodasiHely.Kozterulet2,
TartozkodasiHely.KozteruletJellege2,
TartozkodasiHely.Hazszam2,
TartozkodasiHely.Emelet2,
TartozkodasiHely.Ajto2,
GONDVISELO.GondvNeve,
GONDVISELO.GondvTelefon,
GONDVISELO.GondvCim,
T_INTEZMENYADATOK_OSSZES.C_IGAZGATONEVE as INT_IGAZGATO_NEV,
T_INTEZMENYADATOK_OSSZES.C_NEV as INT_NEV,
T_INTEZMENYADATOK_OSSZES.C_OMKOD as INT_OMKOD,
T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM as INT_IRSZAM,
T_INTEZMENYADATOK_OSSZES.C_VAROS as INT_VAROS,
T_INTEZMENYADATOK_OSSZES.C_CIME as INT_CIM,
T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM + ' ' + T_INTEZMENYADATOK_OSSZES.C_VAROS + ' ' + T_INTEZMENYADATOK_OSSZES.C_CIME as INT_TELJES_CIM,
T_OSZTALYCSOPORT_OSSZES.C_NEV as OSZTALYCSOPORT_NEV,
osztf.C_VEZETEKNEV + ' ' + osztf.C_UTONEV as OSZTFO_NEV,
isnull(Igazolt.ORASZAM,0) IGAZOLT,
isnull(Igazolatlan.ORASZAM,0) IGAZOLATLAN
from T_TANULOCSOPORT_OSSZES
left outer join T_FELHASZNALO_OSSZES tanulo on tanulo.ID = T_TANULOCSOPORT_OSSZES.C_TANULOID and tanulo.TOROLT = 'F'
left outer join T_TANULO_OSSZES on T_TANULO_OSSZES.ID = tanulo.ID and T_TANULO_OSSZES.TOROLT = 'F'
left outer join T_OSZTALYCSOPORT_OSSZES on T_OSZTALYCSOPORT_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID and T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
left outer join T_INTEZMENYADATOK_OSSZES on T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID = T_TANULOCSOPORT_OSSZES.C_INTEZMENYID and T_INTEZMENYADATOK_OSSZES.C_TANEVID = T_TANULOCSOPORT_OSSZES.C_TANEVID and T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
left outer join T_OSZTALY_OSSZES on T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID and T_OSZTALY_OSSZES.TOROLT = 'F'
left outer join T_FELHASZNALO_OSSZES osztf on osztf.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID and osztf.TOROLT = 'F'
left outer join --Állandó lakcím
(select
T_CIM_OSSZES.C_FELHASZNALOID TanuloID,
T_CIM_OSSZES.C_IRANYITOSZAM IranyitoSzam1,
T_CIM_OSSZES.C_VAROS Varos1,
T_CIM_OSSZES.C_KOZTERULET Kozterulet1,
T_CIM_OSSZES.C_KOZTERULETJELLEGE KozteruletJellege1,
T_CIM_OSSZES.C_HAZSZAM Hazszam1,
T_CIM_OSSZES.C_EMELET Emelet1,
T_CIM_OSSZES.C_AJTO Ajto1
from T_CIM_OSSZES where T_CIM_OSSZES.TOROLT = 'F' and T_CIM_OSSZES.C_CIMTIPUSA = 907) AllandoLakcim on AllandoLakcim.TanuloID = tanulo.ID
left outer join -- Tartózkodási hely
(select
T_CIM_OSSZES.C_FELHASZNALOID TanuloID,
T_CIM_OSSZES.C_IRANYITOSZAM IranyitoSzam2,
T_CIM_OSSZES.C_VAROS Varos2,
T_CIM_OSSZES.C_KOZTERULET Kozterulet2,
T_CIM_OSSZES.C_KOZTERULETJELLEGE KozteruletJellege2,
T_CIM_OSSZES.C_HAZSZAM Hazszam2,
T_CIM_OSSZES.C_EMELET Emelet2,
T_CIM_OSSZES.C_AJTO Ajto2
from T_CIM_OSSZES where T_CIM_OSSZES.TOROLT = 'F' and T_CIM_OSSZES.C_CIMTIPUSA = 909) TartozkodasiHely on TartozkodasiHely.TanuloID = tanulo.ID
left outer join --Összes igazolt mulasztás
(
SELECT MULASZT.C_ORATANULOIID Tanulo, 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 != 1498
GROUP BY MULASZT.C_ORATANULOIID
) Igazolt on Igazolt.Tanulo = Tanulo.ID
left outer join -- Összes igazolatlan mulasztás
(
SELECT MULASZT.C_ORATANULOIID Tanulo, 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 != 1498
GROUP BY MULASZT.C_ORATANULOIID
) Igazolatlan on Igazolatlan.Tanulo = Tanulo.ID
left outer join -- Gondviselő adatok
(
select
T_GONDVISELO_OSSZES.ID,
T_GONDVISELO_OSSZES.C_TANULOID GondvTanulo,
T_GONDVISELO_OSSZES.C_NEV GondvNeve,
isnull(T_TELEFON_OSSZES.C_TELEFONSZAM,'') GondvTelefon,
isnull(T_CIM_OSSZES.C_OSSZETETTCIM,'') GondvCim
from T_GONDVISELO_OSSZES
left join T_TELEFON_OSSZES on T_TELEFON_OSSZES.C_GONDVISELOID = T_GONDVISELO_OSSZES.ID and T_TELEFON_OSSZES.TOROLT = 'F'
left join T_CIM_OSSZES on T_CIM_OSSZES.C_GONDVISELOID = T_GONDVISELO_OSSZES.ID and T_CIM_OSSZES.TOROLT = 'F'
where
T_GONDVISELO_OSSZES.TOROLT = 'F'
) GONDVISELO on GONDVISELO.GondvTanulo = T_TANULO_OSSZES.ID
where
T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID = @OsztalyId and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE()) and
T_TANULOCSOPORT_OSSZES.TOROLT = 'F' and
T_TANULO_OSSZES.C_TANKOTELEZETT = @Tankoteles and
T_TANULOCSOPORT_OSSZES.C_TANEVID = @TanevId
order by tanulo.C_NYOMTATASINEV
--Mulasztások részletezése
select
T_TANULOMULASZTAS_OSSZES.C_ORATANULOIID Tanulo,
T_TANITASIORA_OSSZES.C_DATUM Datum,
T_TANITASIORA_OSSZES.C_ORASZAM Oraszam,
T_TANULOMULASZTAS_OSSZES.C_TIPUS Tipus,
T_TANULOMULASZTAS_OSSZES.C_KESESPERCBEN KesesPerc,
T_OSZTALYCSOPORT_OSSZES.C_NEV OsztNev,
T_TANTARGY_OSSZES.C_NEV Tantargy
from T_TANULOMULASZTAS_OSSZES
inner join T_TANITASIORA_OSSZES on T_TANITASIORA_OSSZES.ID = T_TANULOMULASZTAS_OSSZES.C_TANITASIORAKID and T_TANITASIORA_OSSZES.TOROLT= 'F'
left outer join T_TANTARGY_OSSZES on T_TANTARGY_OSSZES.ID = T_TANITASIORA_OSSZES.C_TANTARGYID and T_TANTARGY_OSSZES.TOROLT = 'F'
left outer join T_TANULOCSOPORT_OSSZES on T_TANULOCSOPORT_OSSZES.C_TANULOID = T_TANULOMULASZTAS_OSSZES.C_ORATANULOIID and T_TANULOCSOPORT_OSSZES.TOROLT = 'F'
left outer join T_OSZTALYCSOPORT_OSSZES on T_OSZTALYCSOPORT_OSSZES.ID = T_TANITASIORA_OSSZES.C_OSZTALYCSOPORTID
where T_TANULOMULASZTAS_OSSZES.C_TIPUS != 1498 and
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()) and
T_TANULOMULASZTAS_OSSZES.C_ORATANULOIID in (SELECT C_TANULOID FROM T_TANULOCSOPORT_OSSZES WHERE C_OSZTALYCSOPORTID=@OSZTALYID AND TOROLT='F') and
T_TANULOMULASZTAS_OSSZES.C_IGAZOLT = 'F' and
T_TANULOMULASZTAS_OSSZES.TOROLT = 'F' and
T_TANULOMULASZTAS_OSSZES.C_TANEVID = @TanevId
order by T_TANULOMULASZTAS_OSSZES.C_ORATANULOIID, T_TANITASIORA_OSSZES.C_DATUM
END
GO