Files
kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170502093031_KRETA_1025_2/sp_GetErtesitesAltEsMulAdatok.sql
2024-03-13 00:33:46 +01:00

168 lines
6.8 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
CREATE PROCEDURE [dbo].[sp_GetErtesitesAltEsMulAdatok]
@osztalyId int,
@tanevId int,
@tankoteles nvarchar(1)
AS
BEGIN
SET NOCOUNT ON;
--Mulasztasok
DECLARE @Mulasztasok TABLE (
TanuloId INT
,Igazolt INT
,Igazolatlan INT
,ElmeletIgazolt INT
,ElmeletIgazolatlan INT
,GyakorlatIgazolt INT
,GyakorlatIgazolatlan INT
,Osszes INT
)
INSERT INTO @Mulasztasok
EXEC sp_GetDokumentumMulasztasok
@osztalyId = @osztalyId,
@tanevId = @tanevId,
@elmeletGyakorlat = 0,
@kesesTipus = 1499,
@elmeletiOraPercben = 45,
@gyakorlatiOraPercben = 60,
@ertekelesTipus = 1520 --évvégi
--Tanulói adatok
SELECT
tanulo.ID,
tanulo.C_NYOMTATASINEV TANULONEV,
tanulo.C_ANYJANEVE ANYJANEVE,
tanulo.C_SZULETESIHELY SZULETESIHELY,
tanulo.C_SZULETESIDATUM SZULETESIDATUM,
tanulo.C_NYILVANTARTASISZAM TorzslapSzam,
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(mulasztas.Igazolt,0) IGAZOLT,
ISNULL(mulasztas.Igazolatlan,0) IGAZOLATLAN
FROM T_TANULOCSOPORT_OSSZES
LEFT JOIN T_FELHASZNALO_OSSZES tanulo on tanulo.ID = T_TANULOCSOPORT_OSSZES.C_TANULOID AND tanulo.TOROLT = 'F'
LEFT JOIN T_TANULO_OSSZES on T_TANULO_OSSZES.ID = tanulo.ID AND T_TANULO_OSSZES.TOROLT = 'F'
LEFT JOIN T_OSZTALYCSOPORT_OSSZES on T_OSZTALYCSOPORT_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID AND T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
LEFT 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 JOIN T_OSZTALY_OSSZES on T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID AND T_OSZTALY_OSSZES.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES osztf on osztf.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID AND osztf.TOROLT = 'F'
LEFT 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 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 JOIN @Mulasztasok mulasztas on mulasztas.TanuloId = tanulo.ID --Mulasztások
LEFT JOIN -- Gondviselő adatok
(
SELECT
T_GONDVISELO_OSSZES.ID,
T_GONDVISELO_OSSZES.C_TANULOID Tanulo,
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.Tanulo = 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 DISTINCT
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 JOIN T_TANTARGY_OSSZES on T_TANTARGY_OSSZES.ID = T_TANITASIORA_OSSZES.C_TANTARGYID and T_TANTARGY_OSSZES.TOROLT = 'F'
LEFT JOIN T_TANULOCSOPORT_OSSZES on T_TANULOCSOPORT_OSSZES.C_TANULOID = T_TANULOMULASZTAS_OSSZES.C_ORATANULOIID and T_TANULOCSOPORT_OSSZES.TOROLT = 'F'
LEFT JOIN T_OSZTALYCSOPORT_OSSZES on T_OSZTALYCSOPORT_OSSZES.ID = T_TANITASIORA_OSSZES.C_OSZTALYCSOPORTID
WHERE
T_TANULOMULASZTAS_OSSZES.C_TIPUS IN (1499, 1500)
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