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