This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetAllOsztalyCsoport]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetAllOsztalyCsoport]
END
GO
-- =============================================
-- Description: <Oszt<7A>lyok/csoportok <20>s egy<67>b oszt<7A>lyok/csoportok>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetAllOsztalyCsoport]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @DefaultFeladatKategoriaId int = (SELECT tev.C_DEFAULTFELADATKATEGORIAID FROM T_TANEV tev WHERE C_AKTIV = 'T')
SELECT
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END NumberOrder,
CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END NumberAndTextOrder,
osztalyCsoport.ID ID,
osztalyCsoport.C_NEV Nev,
'1' Tipus,
NULL CsoportTipusa,
osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam,
0 OsztalyCsoportOrder
FROM
T_OSZTALY osztaly
INNER JOIN T_OSZTALYCSOPORT osztalyCsoport
ON osztaly.ID = osztalyCsoport.ID and osztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
WHERE
osztalyCsoport.TOROLT = 'F'
UNION ALL
SELECT
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END NumberOrder,
CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END NumberAndTextOrder,
osztalyCsoport.ID ID,
osztalyCsoport.C_NEV Nev,
'1' Tipus,
csoport.C_TIPUSA CsoportTipusa,
osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam,
1 OsztalyCsoportOrder
FROM
T_CSOPORT csoport
INNER JOIN T_OSZTALYCSOPORT osztalyCsoport
ON csoport.ID = osztalyCsoport.ID and osztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
WHERE
osztalyCsoport.TOROLT = 'F'
ORDER BY
OsztalyCsoportOrder, NumberOrder ASC, NumberAndTextOrder ASC, osztalyCsoport.C_NEV ASC
END

View File

@@ -0,0 +1,114 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetFogadooraInfo]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetFogadooraInfo]
END
GO
CREATE PROCEDURE [dbo].[sp_GetFogadooraInfo]
@alkalmazottId INT,
@tanevId INT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @DefaultFeladatKategoriaId int = (SELECT tev.C_DEFAULTFELADATKATEGORIAID FROM T_TANEV_OSSZES tev WHERE C_AKTIV = 'T' and tev.ID = @tanevId)
--fejl<EFBFBD>c
SELECT
i.C_NEV as intezmeny
,m.C_NEV as mukodesihely
,d.C_NAME as oktatasiNevelesiFeladatTipus
,ISNULL(i.C_VAROS + ', ', '') + FORMAT(GETDATE(), 'yyyy. MMMM dd.', 'hu-hu') AS kelt
FROM T_INTEZMENYADATOK_OSSZES i
INNER JOIN T_MUKODESIHELY_OSSZES m ON i.C_INTEZMENYID = m.C_INTEZMENYID AND m.TOROLT = 'F'
INNER JOIN T_FELADATELLATASIHELY_OSSZES f ON m.ID = f.C_MUKODESIHELYID AND f.TOROLT = 'F' AND f.C_TANEVID = @tanevId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.id = f.C_OKTATASINEVELESIFELADATTIPUS AND d.C_TANEVID = @tanevId
WHERE
i.C_TANEVID = @tanevId
--#tanulok
SELECT DISTINCT
tn.ID tanuloID
,tn.C_NYOMTATASINEV TanuloNeve
,tn.C_SZULETESIDATUM szulDat
INTO #Tanulok_tmp
FROM T_FOGLALKOZAS_OSSZES f
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON f.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID AND tcs.TOROLT = 'F'
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
WHERE
f.C_TANARID = @alkalmazottId
AND f.C_TANEVID=@TANEVID
AND f.TOROLT='F'
ORDER BY TanuloNeve
SELECT tanuloNeve
INTO #duplikatNevek
FROM #Tanulok_tmp
GROUP BY tanuloNeve
HAVING COUNT(tanuloNeve) > 1
SELECT tanuloID,
TanuloNeve + IIF(TanuloNeve IN (SELECT tanuloNeve FROM #duplikatNevek), ' - ('
+ (FORMAT(szulDat, 'yyyy.MM.dd') + ', '
+ dbo.fnGetDokumentumTanuloAktualisOsztaly (tanuloID) +')' ), '') TanuloNeve /*TODO:Tobb Osztaly*//*OM-1652*/
FROM #Tanulok_tmp
ORDER BY tanuloNeve
--tanuloinfo
SELECT e.ID, tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev, FORMAT(e.C_ERTEKELESDATUM, 'd', 'hu-hu') as ertekelesDatuma,
dt.C_NAME as ertekelesTipusa, dm.C_NAME as ertekelesModja, e.C_ERTEKELESSZOVEG as feljegyzes,
fh.C_NYOMTATASINEV as tanarNev, do.C_NAME as osztalyzat, ocs.ID as csoportID, ocs.C_NEV as csoportNev,
t.id as tantargyID, t.C_NEV as tantargyNev
FROM T_TANULOERTEKELES_OSSZES e
INNER JOIN T_OSZTALYZATERTEKELES_OSSZES oe ON e.ID = oe.ID
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = e.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID and e.C_TANTARGYID = t.ID
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = f.C_TANARID
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID AND tcs.TOROLT = 'F'
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA AND dt.C_TANEVID = @tanevId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON (dm.ID = oe.C_ERTEKELESMODJA AND DM.C_INTEZMENYID = OE.C_ALINTEZMENYID AND DM.C_TANEVID = OE.C_ALTANEVID)
INNER JOIN T_DICTIONARYITEMBASE_OSSZES do ON (do.ID = e.C_OSZTALYZAT AND Do.C_INTEZMENYID = E.C_INTEZMENYID AND Do.C_TANEVID = E.C_TANEVID)
WHERE
f.C_TANARID = @alkalmazottId
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
AND e.C_TANEVID=@tanevId
AND e.TOROLT='F'
UNION ALL
SELECT e.ID, tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev, FORMAT(e.C_ERTEKELESDATUM, 'd', 'hu-hu') as ertekelesDatuma,
dt.C_NAME as ertekelesTipusa, null as ertekelesModja, e.C_ERTEKELESSZOVEG as feljegyzes,
fh.C_NYOMTATASINEV as tanarNev, dm.C_NAME + ', ' + ds.C_NAME as osztalyzat, ocs.ID as csoportID, ocs.C_NEV as csoportNev,
t.id as tantargyID, t.C_NEV as tantargyNev
FROM T_TANULOERTEKELES_OSSZES e
INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES oe ON e.ID = oe.ID
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = e.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID and e.C_TANTARGYID = t.ID
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = f.C_TANARID
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID AND tcs.TOROLT = 'F'
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA AND dt.C_TANEVID = @tanevId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON dm.ID = oe.C_MAGATARTAS AND dm.C_TANEVID = @tanevId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ds ON ds.ID = oe.C_SZORGALOM AND ds.C_TANEVID = @tanevId
WHERE
f.C_TANARID = @alkalmazottId
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
AND e.C_TANEVID=@TANEVID
AND e.TOROLT='F'
END
GO

View File

@@ -0,0 +1,51 @@
-- =============================================
-- Description: Tanul<75>k gondvisel<65>inek bel<65>p<EFBFBD>si adatai
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetHozzatartozok]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetHozzatartozok]
END
GO
CREATE PROCEDURE [dbo].[sp_GetHozzatartozok]
@osztalyId int = null,
@intezmenyId int,
@tanevId int
AS
BEGIN
SET NOCOUNT ON;
declare @Hozzaferesek table (Osztaly nvarchar(max), OsztalyId int, Intezmeny nvarchar(max), TanuloNev nvarchar(max), Gondviselo nvarchar(max), Azonosito nvarchar(max), Jelszo nvarchar(max), Link nvarchar(max))
insert into @Hozzaferesek
select distinct Osztaly.Osztaly, Osztaly.Osztalyid, ia.c_nev Intezmeny, f.c_nyomtatasinev TanuloNev, g.c_nev Gondviselo, fb.c_bejelentkezesinev Azonosito, fb.c_jelszo Jelszo, 'https://'+lower(i.c_azonosito)+'.e-kreta.hu' as Link from t_gondviselo g
inner join t_tanulo t on t.id=g.c_tanuloid and t.c_alintezmenyid=@intezmenyid and t.c_altanevid=@tanevid
inner join t_felhasznalo f on f.id=t.id and f.torolt='F'
inner join t_felhasznalobelepes fb on fb.c_gondviseloid=g.id and fb.torolt='F' and fb.C_KOTELEZOVALTOZTATNI = 'T'
left join (select tcs.c_tanuloid TanuloId, ocs.c_nev as Osztaly, o.Id OsztalyId from t_tanulocsoport tcs /*TODO:Tobb Osztaly*//*OM-1592*/
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid and o.torolt='F' and o.c_alintezmenyid=@intezmenyid and o.c_altanevid=@tanevid
inner join t_osztalycsoport ocs on ocs.id=o.id and ocs.c_intezmenyid=@intezmenyid and ocs.c_tanevid=@tanevid
AND ocs.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV where ID = ocs.C_TANEVID)
where tcs.torolt='F' and tcs.c_intezmenyid=@intezmenyid and tcs.c_tanevid=@tanevId) Osztaly on Osztaly.Tanuloid=t.id
inner join t_intezmenyadatok ia on ia.c_intezmenyid=t.c_alintezmenyid and ia.c_tanevid=@tanevId and ia.torolt='F'
inner join t_intezmeny i on i.id=ia.c_intezmenyid and i.torolt='F'
where g.torolt='F'
order by TanuloNev
if @osztalyId is null
begin
select Osztaly, Intezmeny, TanuloNev, Gondviselo, Azonosito, Jelszo, Link from @Hozzaferesek
end
else
begin
select Osztaly, Intezmeny, TanuloNev, Gondviselo, Azonosito, Jelszo, Link from @Hozzaferesek where Osztalyid=@osztalyid
end
End
go

View File

@@ -0,0 +1,55 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetIgazolasInfo]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetIgazolasInfo]
END
GO
CREATE PROCEDURE [dbo].[sp_GetIgazolasInfo]
@pIgazolasId INT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @DefaultFeladatKategoriaId int = (SELECT tev.C_DEFAULTFELADATKATEGORIAID FROM T_TANEV tev WHERE C_AKTIV = 'T')
SELECT
igazolas.ID ID
,tanulo.ID TanuloId
,tanulo.C_NYOMTATASINEV Nev
,IIF(tanulo.C_NEVSORREND = 'T', --
tanulo.C_UTONEV + ' ' + tanulo.C_VEZETEKNEV, --
tanulo.C_VEZETEKNEV + ' ' + tanulo.C_UTONEV) NevElotagNelkul
,tanuloCsoport.C_OSZTALYCSOPORTID OsztalyCsoportId
,osztalyCsoport.C_NEV OsztalyCsoport
,igazolas.C_KEZDETE Kezdete
,igazolas.C_VEGE Vege
,igazolas.C_IGAZOLASTIPUSA IgazolasTipusa
,igazolas.C_MEGJEGYZES Megjegyzes
,igazolas.C_ROGZITESDATUMA RogzitesDatuma
,felhasznalo.C_NYOMTATASINEV Rogzito
,IIF(felhasznalo.C_NEVSORREND = 'T', --
felhasznalo.C_UTONEV + ' ' + felhasznalo.C_VEZETEKNEV, --
felhasznalo.C_VEZETEKNEV + ' ' + felhasznalo.C_UTONEV) RogzitoElotagNelkul
FROM T_IGAZOLAS igazolas
INNER JOIN T_FELHASZNALO felhasznalo ON felhasznalo.ID = igazolas.C_ROGZITOID
INNER JOIN T_FELHASZNALO tanulo ON tanulo.ID = igazolas.C_TANULOID
LEFT JOIN T_TANULOCSOPORT tanuloCsoport ON tanulocsoport.C_TANULOID = igazolas.C_TANULOID /*TODO:Tobb Osztaly*//*OM-1593*/
Left JOIN T_OSZTALYCSOPORT osztalyCsoport ON tanuloCsoport.C_OSZTALYCSOPORTID = osztalyCsoport.ID AND osztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
WHERE igazolas.ID = @pIgazolasId AND igazolas.Torolt='F' AND tanuloCsoport.C_BELEPESDATUM <= igazolas.C_KEZDETE
AND (tanuloCsoport.C_KILEPESDATUM > igazolas.C_KEZDETE OR tanuloCsoport.C_KILEPESDATUM IS NULL)
AND tanulocsoport.C_OSZTALYCSOPORTID IN (
SELECT
T_OSZTALY.ID
FROM T_OSZTALY
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId)
ORDER BY igazolas.ID DESC
END
GO

View File

@@ -0,0 +1,73 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetKozossegiJelentkezesLap]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetKozossegiJelentkezesLap]
END
GO
CREATE PROCEDURE [dbo].[sp_GetKozossegiJelentkezesLap]
@pIntezmenyId INT,
@pTanevId INT,
@pOsztalyId INT,
@pTanuloId INT
AS
BEGIN
SET NOCOUNT ON;
/*TANULO*/
SELECT DISTINCT
dbo.fnGetDokumentumDatumFormatum(f.C_SZULETESIDATUM) SzulIdo
,f.C_NYOMTATASINEV TanuloNeve
,f.C_SZULETESINEV SzuletesiNev
,osztaly.Osztaly Osztaly
FROM T_TANULO_OSSZES t
INNER JOIN T_TANTERV_OSSZES tt ON tt.ID = t.C_TANTERVID AND tt.TOROLT ='F'
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = t.ID AND f.TOROLT = 'F'
INNER JOIN T_TANULOCSOPORT_OSSZES tanuloCsoprot ON tanuloCsoprot.C_TANULOID = t.ID AND tanuloCsoprot.TOROLT = 'F'
INNER JOIN (SELECT /*TODO:Tobb Osztaly*//*OM-1596*/
tanuloCsoprot.c_tanuloid Tanulo
,osztalyCsoport.c_nev Osztaly
,tanuloCsoprot.c_kilepesdatum Kilepes
FROM
T_TANULOCSOPORT_OSSZES tanuloCsoprot
INNER JOIN
T_OSZTALY_OSSZES osztaly on osztaly.id=tanuloCsoprot.c_osztalycsoportid and osztaly.torolt='F'
INNER JOIN
T_OSZTALYCSOPORT_OSSZES osztalyCsoport on osztaly.id=osztalyCsoport.id AND osztalyCsoport.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV_OSSZES where ID = osztalyCsoport.C_TANEVID)
WHERE tanuloCsoprot.C_KILEPESDATUM IS NULL AND tanuloCsoprot.c_intezmenyid=@pIntezmenyId and tanuloCsoprot.c_tanevid=@pTanevId) osztaly ON osztaly.Tanulo=tanuloCsoprot.c_tanuloid AND tanuloCsoprot.TOROLT='F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.id=f.C_ALLAMPOLGARSAGA AND d.C_TANEVID = f.C_TANEVID AND d.C_INTEZMENYID = f.C_INTEZMENYID
WHERE
t.ID = @pTanuloId
/*INTEZMENYADATOK*/
SELECT DISTINCT
INTEZMENY.C_NEV IntezmenyNev
,INTEZMENY.C_IGAZGATONEVE IgazgatoNev
,dbo.fnGetDokumentumIntezmenyCime (@pTanevId) IntezmenyCim
,INTEZMENY.C_TELEFONSZAM IntezmenyTelefonszam
,INTEZMENY.C_EMAILCIM IntezmenyEmail
,INTEZMENY.C_OMKOD OktAzon
,TANEV.C_NEV Tanev
FROM T_TANEV_osszes TANEV
INNER JOIN T_INTEZMENYADATOK_OSSZES INTEZMENY ON TANEV.ID = INTEZMENY.C_TANEVID
WHERE
TANEV.ID = @pTanevId
/*GONDVISELO*/
SELECT
GondviseloNev GondviseloNeve
FROM fnGetDokumentumGondviselok (@pOsztalyId, @pTanevId, 'F', 'T')
WHERE
TanuloId = @pTanuloId
END
GO

View File

@@ -0,0 +1,67 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetNapkozisCsoportTanuloinakHaviMulasztasiOsszesitoje]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetNapkozisCsoportTanuloinakHaviMulasztasiOsszesitoje]
END
GO
CREATE PROCEDURE [dbo].[sp_GetNapkozisCsoportTanuloinakHaviMulasztasiOsszesitoje]
@tanevID int,
@intezmenyId int
AS
BEGIN
declare @honapok table(honap int, honapnev nvarchar(max));
insert into @honapok
select distinct d.c_value as Honap, d.c_name as Honap from t_dictionaryitembase d where c_type like 'honap%' order by d.c_value
declare @napkoziscsoportok table(csoport int, csoportNev nvarchar(max));
insert into @napkoziscsoportok
select distinct tcs.c_osztalycsoportid as Csoport, ocs.c_nev from t_csoport cs
inner join t_osztalycsoport ocs on ocs.id=cs.id AND ocs.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV where ID = ocs.C_TANEVID)
inner join t_tanulocsoport tcs on tcs.c_osztalycsoportid=ocs.id
where cs.c_tipusa=1035 and cs.c_altanevid=@tanevid and cs.c_alintezmenyid=@intezmenyid and cs.torolt='F'
--
DECLARE kurzorHonap CURSOR FOR
select Honap from @honapok
DECLARE @Honap int
DECLARE kurzorCsoport CURSOR FOR
select csoport from @napkoziscsoportok
DECLARE @Csoport int
OPEN kurzorHonap
FETCH NEXT FROM kurzorHonap INTO @Honap
WHILE @@FETCH_STATUS = 0 BEGIN
OPEN kurzorCsoport
FETCH NEXT FROM kurzorCsoport INTO @Csoport
WHILE @@FETCH_STATUS = 0 BEGIN
create table #tabla(COLUMN108 nvarchar(max), [1] int,[2] int,[3] int,[4] int,[5] int,[6] int,[7] int,[8] int,[9] int,[10] int,[11] int,[12] int,[13] int,[14] int,[15] int,[16] int,[17] int,[18] int,[19] int,[20] int,[21] int,[22] int,[23] int,[24] int,[25] int,[26] int,[27] int,[28] int,[29] int,[30] int,[31] int, COLUMN2672 int, COLUMN1910 int, COLUMN5197 int, COLUMN1786 int, COLUMN1787 int, COLUMN1788 int, COLUMN1789 int, COLUMN1911 int)
insert into #tabla
EXEC [dbo].[sp_GetNapkozisCsoportTanuloinakHaviMulasztasiOsszesitoje_1] @tanevID, @intezmenyId, @Csoport, @honap
SELECT * from #tabla
drop table #tabla
FETCH NEXT FROM kurzorCsoport INTO @Csoport
END
FETCH NEXT FROM kurzorHonap INTO @Honap
CLOSE kurzorCsoport
END
CLOSE kurzorHonap
DEALLOCATE kurzorCsoport
DEALLOCATE kurzorHonap
--
select honapnev from @honapok
select csoportnev from @napkoziscsoportok
END
GO

View File

@@ -0,0 +1,209 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('sp_GetOrarendKereszttabla_Pedagogus') IS NOT NULL BEGIN
DROP PROCEDURE sp_GetOrarendKereszttabla_Pedagogus
END
GO
CREATE PROCEDURE sp_GetOrarendKereszttabla_Pedagogus
@tanevId INT,
@aktivTanevId INT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @UtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA=1395 AND C_TANEVID=@tanevid AND TOROLT='F')
,@HetEleje DATE
,@HetVege DATE
IF (@tanevId = @AktivtanevId AND GETDATE() <= @UtolsoNap)
BEGIN
SET @HetEleje = (SELECT TOP 1 nh.C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE CONVERT(DATE, GETDATE())>=CONVERT(DATE, NH.C_HETKEZDONAPJA) AND CONVERT(DATE, GETDATE())<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) and nh.TOROLT='F' and nh.C_TANEVID=@tanevid)
SET @HetVege = (SELECT TOP 1 nh.C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE CONVERT(DATE, GETDATE())>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND CONVERT(DATE, GETDATE())<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) and nh.TOROLT='F' and nh.C_TANEVID=@tanevid)
END
ELSE
BEGIN
SET @HetEleje = (SELECT TOP 1 nh.C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNap>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNap<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) AND nh.TOROLT='F' AND nh.C_TANEVID=@tanevId)
SET @HetVege = (SELECT TOP 1 nh.C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNap>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNap<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) AND nh.TOROLT='F' AND nh.C_TANEVID=@tanevId)
END
CREATE TABLE #KapcsolodoCsoportok (OsztalyId INT, OsztalyCsoportId INT)
INSERT INTO #KapcsolodoCsoportok
SELECT DISTINCT
o.ID Osztaly
,k.ID KapcsolodoCsoport
FROM T_OSZTALY_OSSZES o
CROSS APPLY fnGetKapcsolodoOsztalycsoportokByDate(ID, @HetEleje, @HetVege) k
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV where ID = OsztalyCsoport.C_TANEVID)
WHERE
o.TOROLT = 'F'
AND o.C_ALTANEVID = @tanevId
DECLARE @PedagogushozKapcsolodoOsszesOrarendiora TABLE (OsztalyId INT, OsztalyCsoportId INT, OrarendiOraId INT, TantargyId INT, PedagogusId INT, TeremId INT, HetirendId INT, HetnapjaId INT, Oraszam INT, OraErvenyessegKezdete DATE, OraErvenyessegVege DATE)
INSERT INTO @PedagogushozKapcsolodoOsszesOrarendiora
SELECT
k.OsztalyId
,K.OsztalyCsoportId
,o.ID
,C_TANTARGYID
,C_TANARID
,C_TEREMID
,C_HETIREND
,C_HETNAPJA
,C_ORASZAM
,C_ORAERVENYESSEGKEZDETE
,C_ORAERVENYESSEGVEGE
FROM #KapcsolodoCsoportok k
LEFT JOIN T_ORARENDIORA_OSSZES o ON o.C_OSZTALYCSOPORTID = k.OsztalyCsoportId
WHERE
TOROLT = 'F'
CREATE TABLE #temp (PedagogusId INT, HetirendId INT, HetirendNev NVARCHAR(MAX), HetnapjaId INT, Oraszam INT, TantargyNev NVARCHAR(MAX), TeremNev NVARCHAR(MAX), OsztalyNev NVARCHAR(MAX))
INSERT INTO #temp
SELECT
OrarendiOra.PedagogusId PedagogusId
,OrarendiOra.HetirendId HetirendId
,hetirend.C_NAME HetirendNev
,OrarendiOra.HetnapjaId HetnapjaId
,OrarendiOra.Oraszam Oraszam
,ISNULL(Tantargy.C_NEVNYOMTATVANYBAN, Tantargy.C_NEV) TantargyNev
,Terem.C_NEV TeremNev
,ocs.C_NEV OsztalyNev
FROM @PedagogushozKapcsolodoOsszesOrarendiora OrarendiOra
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = OrarendiOra.TantargyId
INNER JOIN T_TEREM_OSSZES Terem ON Terem.Id = OrarendiOra.TeremId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES hetirend ON hetirend.Id = OrarendiOra.HetirendId AND hetirend.C_TANEVID = @tanevId
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.Id = OrarendiOrA.OsztalyCsoportId AND ocs.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV_OSSZES where ID = ocs.C_TANEVID)
WHERE
OrarendiOra.OraErvenyessegKezdete <= @Hetvege
AND OrarendiOra.OraErvenyessegVege >= @Heteleje
DECLARE @Hetirendek TABLE (Id INT)
INSERT INTO @Hetirendek
SELECT DISTINCT HetirendId FROM #temp
DECLARE @OsszesOra TABLE (PedagogusId INT, Hetirend INT, Nap INT, Oraszam INT)
INSERT INTO @OsszesOra
SELECT DISTINCT PedagogusId, oo.Id, Nap.Nap , OraSzam.OraSzam FROM @Hetirendek oo
CROSS JOIN (SELECT DISTINCT PedagogusId FROM #temp) Pedagogus(PedagogusId)
CROSS JOIN (SELECT DISTINCT Oraszam FROM #temp) OraSzam (OraSzam)
CROSS JOIN (VALUES (1408),(1409),(1410),(1411),(1412),(1413)) Nap (Nap)
DECLARE @TenylegesOra TABLE (PedagogusId INT, Nap INT, OraSzam INT, Foglalkozas NVARCHAR(MAX))
INSERT INTO @TenylegesOra
SELECT
PedagogusId
,HetnapjaId
,Oraszam
,STUFF((SELECT DISTINCT ', ' + CAST(bveg.TantargyNev+' (' +bveg.OsztalyNev+', ' + bveg.TeremNev +', ' +HetirendNev+')' AS VARCHAR(max))
FROM #temp bveg
WHERE
bveg.HetnapjaId=veg.HetnapjaId
AND bveg.Oraszam=veg.Oraszam
AND (bveg.HetirendId=HetirendId OR bveg.HetirendId=1554)
AND bveg.PedagogusId = veg.PedagogusId
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,2,' ') Foglalkozasok
FROM #temp veg
/*V<EFBFBD>gleges <20>rarend*/
CREATE TABLE #Orarend (PedagogusId INT, PedagogusNev NVARCHAR(MAX), Ora INT, Nap INT, Foglalkozas NVARCHAR(MAX))
INSERT INTO #Orarend
SELECT
OsszesOra.PedagogusId
,ped.C_NYOMTATASINEV
,OsszesOra.Oraszam
,OsszesOra.Nap
,TenylegesOra.Foglalkozas
FROM @OsszesOra OsszesOra
LEFT JOIN @TenylegesOra TenylegesOra ON OsszesOra.Nap=TenylegesOra.Nap AND OsszesOra.Oraszam=TenylegesOra.Oraszam AND TenylegesOra.PedagogusId = OsszesOra.PedagogusId
LEFT JOIN T_FELHASZNALO_OSSZES ped ON ped.ID = OsszesOra.PedagogusId
ORDER BY OsszesOra.Hetirend, OsszesOra.Nap, OsszesOra.Oraszam
--------------------------------------------------------------------------------------------------------------
CREATE TABLE #Napok (Nev NVARCHAR(MAX), Oraszam INT, Rendez INT)
INSERT INTO #Napok
SELECT DISTINCT
*
, CASE
WHEN nap = 'hetfo' THEN 1
WHEN nap = 'kedd' THEN 2
WHEN nap = 'szerda' THEN 3
WHEN nap = 'csutortok' THEN 4
WHEN nap = 'pentek' THEN 5
END
FROM (VALUES ('hetfo'), ('kedd'), ('szerda'), ('csutortok'), ('pentek')) AS napok(nap)
CROSS JOIN (SELECT DISTINCT Oraszam FROM #temp) OraSzam (OraSzam)
DECLARE @Oraszamok NVARCHAR(MAX),
@OraszamokAlias NVARCHAR(MAX)
SELECT @Oraszamok = ISNULL(@Oraszamok + ', ', '') + '[' + CAST(Oraszam AS NVARCHAR(MAX)) + ']'
FROM (SELECT DISTINCT Oraszam FROM #temp ) o
SELECT @OraszamokAlias = ISNULL(@OraszamokAlias + ', ', '') + Nev +'.' + '[' + CAST(Oraszam AS NVARCHAR(MAX)) + ']' FROM #Napok ORDER BY Rendez, Oraszam
DECLARE @sql NVARCHAR(MAX)
SET @sql = '
SELECT DISTINCT
f.C_NYOMTATASINEV PedagogusNev,
' + @OraszamokAlias + '
FROM (SELECT DISTINCT PedagogusId FROM #temp) k
INNER JOIN (
SELECT
PedagogusId
,'+ @Oraszamok +'
FROM #Orarend
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
WHERE Nap = 1408
) hetfo ON hetfo.PedagogusId = k.PedagogusId
INNER JOIN (
SELECT
PedagogusId
,'+ @Oraszamok +'
FROM #Orarend
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
WHERE Nap = 1409
) kedd ON kedd.PedagogusId = k.PedagogusId
INNER JOIN (
SELECT
PedagogusId
,'+ @Oraszamok +'
FROM #Orarend
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
WHERE Nap = 1410
) szerda ON szerda.PedagogusId = k.PedagogusId
INNER JOIN (
SELECT
PedagogusId
,'+ @Oraszamok +'
FROM #Orarend
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
WHERE Nap = 1411
) csutortok ON csutortok.PedagogusId = k.PedagogusId
INNER JOIN (
SELECT
PedagogusId
,'+ @Oraszamok +'
FROM #Orarend
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
WHERE Nap = 1412
) pentek ON pentek.PedagogusId = k.PedagogusId
INNER JOIN T_FELHASZNALO_OSSZES f ON f.Id = k.PedagogusId
ORDER BY C_NYOMTATASINEV
'
EXEC sp_executesql @sql
DROP TABLE #Napok
DROP TABLE #Orarend
DROP TABLE #KapcsolodoCsoportok
END
GO

View File

@@ -0,0 +1,148 @@
-- ================================
-- CREATED: 2017-02-17
-- CREATOR: Telek Ákos
-- ================================
--
-- A négy paraméter az alábbi:
-- • Tanár ID-ja
-- • Kellenek-e osztályok (ez szinte mindig igaz érték, azt állítja, hogy a lekérdezés a kapcsolódó osztályokat is include-olja)
-- • Kellenek-e csoportok (ez azt állítja, hogy a lekérdezés a kapcsolódó csoportokat is include-olja)
-- • Kellenek-e azok, amelyekben "csak" tanít, azaz nem ofő, vagy ilyesmi, hanem csak tanítja (ez pl osztályfőnöki funkcióknál, mulasztások kezelése hasonló esetekben hamis, azaz 0, de például feljegyzéseknél igaz).
-- Ahol át kell vezetni (zárójelben a három változó paraméter státusza):
-- • Tanári feladatok / Feljegyzések (1,1,1), Faliújság (1,1,1) illetve Tanított tanulók (1,1,1)
-- • Osztályfőnöki feladatok / Igazolások (1,1,0), Mulasztások kezelése (1,1,0), Naplóellenőrzés (1,0,0), Osztály tanulói (1,0,0)
-- • Dokumentumoknál, ha tanár nyitja meg, akkor szintén
--
-- Használata:
--
-- DECLARE @kapcsolodoOsztalyok TABLE (ID int)
-- INSERT INTO @kapcsolodoOsztalyok (ID)
-- EXEC sp_GetTanarKapcsolodoOsztalyai (150621, 1, 1, 1)
--
-- SELECT *
-- FROM T_TABLE t
-- INNER JOIN @kapcsolodoOsztalyok k ON t.C_OSZTALYCSOPORTID = k.ID
--
/*TODO:Tobb Osztaly*//*OM-1668*/
IF OBJECT_ID(N'dbo.sp_GetTanarKapcsolodoOsztalyai') IS NOT NULL BEGIN
DROP PROCEDURE dbo.sp_GetTanarKapcsolodoOsztalyai
END
GO
CREATE PROCEDURE dbo.sp_GetTanarKapcsolodoOsztalyai
@tanarId int
,@osztalyKell bit = 1
,@csoportKell bit = 1
,@tartottOraKell bit = 1
AS
BEGIN
DECLARE @sql nvarchar(max)
IF 1758 IN (SELECT C_SZEREPKORTIPUS FROM T_FELHASZNALO_SZEREPKOR INNER JOIN T_SZEREPKOR ON T_SZEREPKOR.ID = T_FELHASZNALO_SZEREPKOR.C_SZEREPKORID WHERE T_FELHASZNALO_SZEREPKOR.C_FELHASZNALOID = @tanarId) BEGIN
IF @osztalyKell = 1 BEGIN
SET @sql = N'
SELECT o.ID
FROM T_OSZTALY o
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV where ID = OsztalyCsoport.C_TANEVID)
WHERE o.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
AND o.TOROLT = ''F'''
END
IF @csoportKell = 1 BEGIN
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
SELECT cs.ID
FROM T_CSOPORT cs
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = cs.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV where ID = OsztalyCsoport.C_TANEVID)
WHERE cs.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
AND cs.TOROLT = ''F'''
END
END
ELSE BEGIN
IF (SELECT C_MUNKAKORTIPUSA FROM T_MUNKAUGYIADATOK WHERE C_ALKALMAZOTTID = @tanarId) IN (1762, 1763, 3027, 3028) BEGIN
IF @osztalyKell = 1 BEGIN
SET @sql = N'
SELECT o.ID
FROM T_OSZTALY o
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV where ID = OsztalyCsoport.C_TANEVID)
WHERE o.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
AND o.TOROLT = ''F'''
END
IF @csoportKell = 1 BEGIN
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
SELECT cs.ID
FROM T_CSOPORT cs
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = cs.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV where ID = OsztalyCsoport.C_TANEVID)
WHERE cs.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
AND cs.TOROLT = ''F'''
END
END
ELSE BEGIN
IF (SELECT C_VEZETOIORASZAMOK FROM T_MUNKAUGYIADATOK WHERE C_ALKALMAZOTTID = @tanarId) IN (6572, 6573, 6574) -- 6572 - Intézményvezető, 6573 - Tagintézmény-vezető, 6574 - Intézményegység-vezető
BEGIN
IF @osztalyKell = 1 BEGIN
SET @sql = N'
SELECT o.ID
FROM T_OSZTALY o
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV where ID = OsztalyCsoport.C_TANEVID)
WHERE o.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
AND o.TOROLT = ''F'''
END
IF @csoportKell = 1 BEGIN
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
SELECT cs.ID
FROM T_CSOPORT cs
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = cs.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV where ID = OsztalyCsoport.C_TANEVID)
WHERE cs.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
AND cs.TOROLT = ''F'''
END
END
ELSE BEGIN
IF @osztalyKell = 1 BEGIN
SET @sql = N'
SELECT ocs.ID
FROM T_OSZTALYCSOPORT ocs
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID
WHERE (o.C_OSZTALYFONOKID = @tanarId OR o.C_OFOHELYETTESID = @tanarId)
AND ocs.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV where ID = ocs.C_TANEVID)
AND ocs.TOROLT = ''F'''
END
IF @csoportKell = 1 BEGIN
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
SELECT ocs.ID
FROM T_OSZTALYCSOPORT ocs
INNER JOIN T_CSOPORT cs ON cs.ID = ocs.ID
WHERE cs.C_CSOPORTVEZETOID = @tanarId
AND ocs.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV where ID = ocs.C_TANEVID)
AND ocs.TOROLT = ''F'''
END
IF @tartottOraKell = 1 BEGIN
IF @osztalyKell = 1 BEGIN
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + 'UNION' + CHAR(13) + CHAR(10), '') + '
SELECT f.C_OSZTALYCSOPORTID
FROM T_FOGLALKOZAS f
INNER JOIN T_OSZTALY o ON o.id = f.C_OSZTALYCSOPORTID
WHERE f.C_TANARID = @tanarId
AND f.TOROLT = ''F''
AND o.TOROLT = ''F'''
END
IF @osztalyKell = 1 BEGIN
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + 'UNION' + CHAR(13) + CHAR(10), '') + '
SELECT f.C_OSZTALYCSOPORTID
FROM T_FOGLALKOZAS f
INNER JOIN T_CSOPORT cs ON cs.id = f.C_OSZTALYCSOPORTID
WHERE f.C_TANARID = @tanarId
AND f.TOROLT = ''F''
AND cs.TOROLT = ''F'''
END
END
END
END
END
EXEC sp_executesql @sql, N'@tanarId int', @tanarId
END
GO

View File

@@ -0,0 +1,321 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetTanoranKivuliNaplo]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetTanoranKivuliNaplo]
END
GO
CREATE PROCEDURE [dbo].[sp_GetTanoranKivuliNaplo]
@tanevId INT,
@intezmenyId INT,
@csoportId INT,
@iskolaErdekuSzamit BIT
AS
BEGIN
SET NOCOUNT ON;
--Fejlecoldal (Fejléc)
SELECT
ia.C_NEV IntezmenyNev
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) as IntezmenyCim
,ia.C_OMKOD OMKOD
,ia.C_IGAZGATONEVE IntezmenyVezeto
,ocs.C_NEV Csoport
,ISNULL(f.C_NYOMTATASINEV,'-') CsoportVezeto
,ISNULL(cs.C_CSOPORTNAPLOLEIRAS,'-') CsoportNaploLeiras
,dbo.fnGetDokumentumDatumFormatum(cs.C_CSOPORTNAPLOMEGNYITASA) Megnyitas
,ISNULL(dbo.fnGetDokumentumDatumFormatum(cs.C_CSOPORTNAPLOZARASA),'-') Lezaras
,t.C_NEV as Tanev
,cs.C_CSOPORTNAPLOLEIRAS Megjegyzes
FROM T_INTEZMENY_OSSZES i
INNER JOIN T_INTEZMENYADATOK_OSSZES ia on ia.C_INTEZMENYID=i.ID
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.C_INTEZMENYID=i.ID AND ocs.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV_OSSZES where ID = ocs.C_TANEVID)
INNER JOIN T_CSOPORT_OSSZES cs on cs.ID=ocs.ID
LEFT JOIN T_FELHASZNALO_OSSZES f on f.ID=cs.C_CSOPORTVEZETOID
INNER JOIN T_TANEV_OSSZES t on t.ID=ia.C_TANEVID
WHERE
ia.C_TANEVID = @tanevid
AND ocs.ID = @csoportId
CREATE TABLE #students (ID INT, Osztaly NVARCHAR(MAX))
INSERT INTO #students
SELECT
TanuloId
,dbo.fnGetDokumentumTanuloAktualisOsztaly(TanuloId) Osztaly /*TODO:Tobb Osztaly*//*OM-1650*/
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportId, 'T')
--Osztaly (Csoport tanulóinak osztályai)
SELECT
COUNT(Id) Tanulo
,Osztaly
FROM #students
GROUP BY Osztaly
--Napló
DECLARE @datum DATE = GETDATE()
CREATE TABLE #OraSorszam (TanitasioraId INT, OraSorszam NVARCHAR(100))
INSERT INTO #OraSorszam
EXEC sp_GetOraSorszamByOsztaly
@osztalyCsoportId = @csoportId,
@datum = @datum,
@intezmenyId = @intezmenyId,
@tanevId = @tanevId
DECLARE @letszam INT=(SELECT COUNT(tcs.C_TANULOID) FROM T_TANULOCSOPORT_OSSZES tcs WHERE tcs.C_OSZTALYCSOPORTID=@csoportId AND tcs.TOROLT='F')
SELECT
dbo.fnGetDokumentumDatumFormatum(tao.C_ORAKEZDETE) + CONVERT(VARCHAR(5), tao.C_ORAKEZDETE, 108) + '-' + CONVERT(VARCHAR(5), tao.C_ORAVEGE, 108) Datum
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN --
+ ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) TantargyNev
,tao.C_TANTARGYID TantargyId
,tao.C_MEGTARTOTT Megtartott
,IIF(C_MEGTARTOTT = 'F', 'Elmaradt', tao.C_TEMA) Tema
,@letszam-isnull(hianyzo.Hianyzok,0) Letszam
,IIF(C_MEGTARTOTT = 'F', '-', f.C_NYOMTATASINEV) Pedagogus
,Terem.C_NEV TeremNev
,isnull(Oraszam.OraSorszam + '.'
, '-') OraSorszam
INTO #megtartottOrak
FROM T_TANITASIORA_OSSZES tao
LEFT JOIN (SELECT tm.C_TANITASIORAKID Tanitasiora, COUNT(tm.C_ORATANULOIID) Hianyzok from T_TANULOMULASZTAS_OSSZES tm where tm.torolt='F' AND C_TIPUS IN (1499,1500) GROUP BY tm.C_TANITASIORAKID ) hianyzo on hianyzo.Tanitasiora=tao.ID
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = tao.C_ORATULAJDONOSID
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tao.C_TANTARGYID
LEFT JOIN T_TEREM_OSSZES Terem ON Terem.Id = tao.C_TEREMID
left JOIN #OraSorszam Oraszam ON Oraszam.TanitasioraId = tao.Id
WHERE
tao.C_OSZTALYCSOPORTID=@csoportId
AND tao.TOROLT='F'
ORDER BY tao.C_ORAKEZDETE
SELECT * FROM #megtartottOrak
/*TANULÓ adatai*/
SELECT DISTINCT
TanuloId
,OktAzon
,TajSzam
,AnyjaNeve
,SzulHely
,SzulIdo
,SocAdat
,Kepzes
,TanuloNeve
,Allampolgarsaga
,DiakIgazolvanySzam
,AktualisOsztaly Osztalya
FROM fnGetDokumentumTanulokAdatai(@tanevId, @csoportId)
ORDER BY TanuloNeve
/*TANULÓ elérhetőségei */
DECLARE @Gondviselok TABLE (TanuloId INT, GondviseloId INT)
INSERT INTO @Gondviselok
SELECT
TanuloId
,GondviseloId
FROM fnGetDokumentumGondviselok (@csoportId, @tanevId, 'F', 'T')
DECLARE @TanuloCimTable TABLE (FelhasznaloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX))
INSERT INTO @TanuloCimTable
SELECT DISTINCT
TanuloId
,STUFF((
SELECT DISTINCT CAST(Btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @csoportid) btemp
WHERE
temp.TanuloId = btemp.TanuloId
AND temp.CimTipusa = btemp.CimTipusa
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'')
,cimTipusa.C_NAME
FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @csoportid) temp
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa AND cimTipusa.C_TANEVID = @tanevId
DECLARE @GondViseloCimTable TABLE (GondviseloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX))
INSERT INTO @GondViseloCimTable
SELECT DISTINCT
GondviseloId
,STUFF((
SELECT DISTINCT CAST(btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @csoportid) btemp
WHERE
temp.GondviseloId = btemp.GondviseloId
AND temp.CimTipusa = btemp.CimTipusa
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'')
,cimTipusa.C_NAME
FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @csoportid) temp
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa AND cimTipusa.C_TANEVID = @tanevId
DECLARE @EmailCimTableTemp TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX), GondviseloId INT)
INSERT INTO @EmailCimTableTemp
SELECT
TanuloId
,C_EMAILCIM
,C_GONDVISELOID
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportId, 'T') tanulo
INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = TanuloId
WHERE
email.TOROLT = 'F'
AND email.C_TANEVID = @tanevId
AND LEN(C_EMAILCIM) > 0
UNION
SELECT
TanuloId
,C_EMAILCIM
,GondviseloId
FROM @Gondviselok
INNER JOIN T_EMAIL_OSSZES email ON email.C_GONDVISELOID = GondviseloId
WHERE
email.TOROLT = 'F'
AND email.C_TANEVID = @tanevId
AND LEN(C_EMAILCIM) > 0
DECLARE @EmailCimTanuloTable TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
INSERT INTO @EmailCimTanuloTable
SELECT DISTINCT
FelhasznaloId
,STUFF((
SELECT DISTINCT CAST(btemp.EmailCim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM @EmailCimTableTemp btemp
WHERE
temp.FelhasznaloId = btemp.FelhasznaloId
AND btemp.GondviseloId IS NULL
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') Email
FROM @EmailCimTableTemp temp
WHERE
GondviseloId IS NULL
DECLARE @EmailCimGondviseloTable TABLE (GondviseloId INT, EmailCim NVARCHAR(MAX))
INSERT INTO @EmailCimGondviseloTable
SELECT DISTINCT
GondviseloId
,STUFF((
SELECT DISTINCT CAST(btemp.EmailCim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM @EmailCimTableTemp btemp
WHERE
temp.GondviseloId = btemp.GondviseloId
AND btemp.GondviseloId IS NOT NULL
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') Email
FROM @EmailCimTableTemp temp
WHERE
GondviseloId IS NOT NULL
DECLARE @TelefonTableTemp TABLE (FelhasznaloId INT, Telefon NVARCHAR(MAX), GondviseloId INT)
INSERT INTO @TelefonTableTemp
SELECT
TanuloId
,C_TELEFONSZAM
,C_GONDVISELOID
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportId, 'T') tanulo
INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = TanuloId
WHERE
telefon.TOROLT = 'F'
AND telefon.C_TANEVID = @tanevId
AND LEN(telefon.C_TELEFONSZAM) > 0
UNION
SELECT
TanuloId
,C_TELEFONSZAM
,GondviseloId
FROM @Gondviselok gondviselo
INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_GONDVISELOID = GondviseloId
WHERE
telefon.TOROLT = 'F'
AND telefon.C_TANEVID = @tanevId
AND LEN(telefon.C_TELEFONSZAM) > 0
DECLARE @TanuloTelefonTable TABLE (FelhasznaloId INT, Telefon NVARCHAR(MAX))
INSERT INTO @TanuloTelefonTable
SELECT DISTINCT
FelhasznaloId
,STUFF((
SELECT DISTINCT CAST(btemp.Telefon AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM @TelefonTableTemp btemp
WHERE
temp.FelhasznaloId = btemp.FelhasznaloId
AND GondviseloId IS NULL
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'')
FROM @TelefonTableTemp temp
WHERE
GondviseloId IS NULL
DECLARE @GondviseloTelefonTable TABLE (GondviseloId INT, Telefon NVARCHAR(MAX))
INSERT INTO @GondviseloTelefonTable
SELECT DISTINCT
GondviseloId
,STUFF((
SELECT DISTINCT CAST(btemp.Telefon AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM @TelefonTableTemp btemp
WHERE
temp.GondviseloId = btemp.GondviseloId
AND temp.FelhasznaloId = btemp.FelhasznaloId
AND GondviseloId IS NOT NULL
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'')
FROM @TelefonTableTemp temp
WHERE
GondviseloId IS NOT NULL
SELECT
s.ID tanuloid
,cim.Cimtipusa cimtipus
,cim.Cim
,email.EmailCim email
,telefon.Telefon telefonszam
FROM #students s
LEFT JOIN @TanuloCimTable cim ON cim.FelhasznaloId = s.ID
LEFT JOIN @EmailCimTanuloTable email ON email.FelhasznaloId = s.ID
LEFT JOIN @TanuloTelefonTable telefon ON telefon.FelhasznaloId = s.ID
ORDER BY Cimtipusa
/*gondviselő elérhetőségei */
SELECT DISTINCT
Gondviselok.TanuloId
,Gondviselok.GondviseloNev + ' (' + RokonsagiFok.C_NAME + ')' C_NEV
,cim.Cimtipusa C_CIMTIPUSA
,cim.cim C_OSSZETETTCIM
,telefon.telefon C_TELEFONSZAM
,email.emailcim C_EMAILCIM
FROM fnGetDokumentumGondviselok (@csoportId, @tanevId, 'F', 'T') Gondviselok
INNER JOIN T_DICTIONARYITEMBASE_OSSZES RokonsagiFok ON RokonsagiFok.ID = Gondviselok.RokonsagifokId AND RokonsagiFok.C_TANEVID = @tanevId
LEFT JOIN @EmailCimGondviseloTable email ON email.GondviseloId = Gondviselok.GondviseloId
LEFT JOIN @GondviseloTelefonTable telefon ON telefon.GondviseloId = Gondviselok.GondviseloId
LEFT JOIN @GondViseloCimTable cim ON cim.GondviseloId = Gondviselok.GondviseloId
--Megtartott órák száma
SELECT
COUNT(TantargyId) TantargyOraszam
,Tantargynev TantargyNev
INTO #MegtartottOrakSzama
FROM #megtartottOrak
WHERE Megtartott = 'T'
GROUP BY TantargyId, TantargyNev
SELECT DISTINCT
SUM(tmp.TantargyOraszam) OsszesTantargySzam
,STUFF((
SELECT DISTINCT ', ' + btmp.TantargyNev + '(' + CAST(btmp.TantargyOraszam AS NVARCHAR(MAX)) + ')'
FROM #MegtartottOrakSzama btmp
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,2,'') Tantargyak
FROM #MegtartottOrakSzama tmp
END
GO

View File

@@ -0,0 +1,38 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetTanuloExport]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetTanuloExport]
END
GO
-- =============================================
-- Description: <>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetTanuloExport]
@tanevId int,
@intezmenyid int
AS
BEGIN
SET NOCOUNT ON;
SELECT f.C_NYOMTATASINEV 'Tanuló neve'
,f.C_OKTATASIAZONOSITO 'Tanuló oktatási azonosító'
,ocs.C_NEV 'Osztály / Csoport'
,CONVERT(varchar(20), tcs.C_BELEPESDATUM, 102) 'Besorolás dátum'
,CONVERT(varchar(20), tcs.C_KILEPESDATUM, 102) 'Kisorolás dátum'
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_FELHASZNALO_OSSZES f ON tcs.C_TANULOID=f.ID AND f.TOROLT = 'F' AND f.C_INTEZMENYID = @intezmenyid AND f.C_TANEVID = @tanevid
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND ocs.TOROLT = 'F' AND ocs.C_INTEZMENYID = @intezmenyid AND ocs.C_TANEVID = @tanevid
AND ocs.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV_OSSZES where ID = ocs.C_TANEVID)
WHERE tcs.TOROLT = 'F'
AND tcs.C_INTEZMENYID = @intezmenyid
AND tcs.C_TANEVID = @tanevid
ORDER BY f.C_NYOMTATASINEV
END
GO

View File

@@ -0,0 +1,74 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetTanuloGondviseloExportData]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetTanuloGondviseloExportData]
END
GO
-- =============================================
-- Description: <Gondviselők adatait adja vissza>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetTanuloGondviseloExportData]
@pTanevId INT
,@pIntezmenyId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @DefaultFeladatKategoriaId int = (SELECT tev.C_DEFAULTFELADATKATEGORIAID FROM T_TANEV_OSSZES tev WHERE C_AKTIV = 'T' and tev.ID = @pTanevId)
SELECT DISTINCT
tanulo.ID TanuloId
,felhasznalo.C_NYOMTATASINEV TanuloNeve
,felhasznalo.C_OKTATASIAZONOSITO OktatasiAzonosito
,osztcsop.C_NEV TanuloOsztalya /*TODO:Tobb Osztaly*//*OM-1604*/
,gondviselo.ID GondviseloId
,gondviselo.C_NEV GondviseloNeve
,gondviselo.C_ROKONSAGFOKA GondviseloRokonsagifoka
,telefon.C_TELEFONSZAM GondviseloTelefonszama
,email.C_EMAILCIM GondviseloEmailcime
,tancsop.C_KILEPESDATUM KilepesDatuma
FROM
T_TANULO_OSSZES tanulo
LEFT JOIN
T_GONDVISELO_OSSZES gondviselo ON gondviselo.C_TANULOID = tanulo.ID
LEFT JOIN
T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tanulo.ID
LEFT JOIN
T_TANULOCSOPORT_OSSZES tancsop ON tancsop.C_TANULOID = tanulo.ID
LEFT JOIN
T_OSZTALYCSOPORT_OSSZES osztcsop ON osztcsop.ID = tancsop.C_OSZTALYCSOPORTID AND osztcsop.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
LEFT JOIN
T_TELEFON_OSSZES telefon ON telefon.C_GONDVISELOID = gondviselo.ID
LEFT JOIN
T_EMAIL_OSSZES email ON email.C_GONDVISELOID = gondviselo.ID
WHERE
(gondviselo.ID IS NULL OR gondviselo.ID IN (SELECT ID FROM T_GONDVISELO_OSSZES WHERE T_GONDVISELO_OSSZES.TOROLT='F'))
AND felhasznalo.TOROLT ='F'
AND (tancsop.C_OSZTALYCSOPORTID IS NULL OR tancsop.C_OSZTALYCSOPORTID IN (
SELECT
T_OSZTALY_OSSZES.ID
FROM
T_OSZTALY_OSSZES
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY_OSSZES.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
WHERE
T_OSZTALY_OSSZES.TOROLT='F'
)
)
AND tanulo.C_ALTANEVID = @pTanevId
AND tanulo.C_ALINTEZMENYID = @pIntezmenyId
ORDER BY
felhasznalo.C_NYOMTATASINEV
END
GO

View File

@@ -0,0 +1,221 @@
IF OBJECT_ID('[dbo].[sp_GetTanuloiAdatlapAdatok]') IS NOT NULL BEGIN
DROP PROCEDURE [dbo].[sp_GetTanuloiAdatlapAdatok]
END
GO
CREATE PROCEDURE [dbo].[sp_GetTanuloiAdatlapAdatok]
@osztCsopID int,
@TanevId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @DefaultFeladatKategoriaId int = (SELECT tev.C_DEFAULTFELADATKATEGORIAID FROM T_TANEV_OSSZES tev WHERE C_AKTIV = 'T' and tev.ID = @TanevId)
--Fejléc
SELECT
T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve,
T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros,
dbo.fnGetDokumentumIntezmenyCime(@tanevId) 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 T_OSZTALY_OSSZES.C_OSZTALYFONOKID
FROM T_OSZTALY_OSSZES
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY_OSSZES.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
WHERE T_OSZTALY_OSSZES.ID=@osztCsopID and T_OSZTALY_OSSZES.TOROLT = 'F') PartnerID,
(SELECT OFO.C_NYOMTATASINEV
FROM T_OSZTALY_OSSZES
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY_OSSZES.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
INNER JOIN T_FELHASZNALO_OSSZES OFO
ON OFO.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID and OFO.TOROLT = 'F'
WHERE T_OSZTALY_OSSZES.ID=@osztCsopID and T_OSZTALY_OSSZES.TOROLT = 'F') OSZTALYFONOK,
(SELECT to2.C_NEV FROM T_OSZTALYCSOPORT_OSSZES to2
WHERE ID = @osztCsopID and to2.TOROLT = 'F'
AND to2.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId) OSZTALYNEV
FROM T_INTEZMENYADATOK_OSSZES
INNER JOIN T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and T_TANEV_OSSZES.TOROLT = 'F'
WHERE
T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
AND T_INTEZMENYADATOK_OSSZES.C_TANEVID = @TanevId
DECLARE @EmailCimTableTemp TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
INSERT INTO @EmailCimTableTemp
SELECT
TanuloId
,C_EMAILCIM
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulo
INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = TanuloId
WHERE
email.TOROLT = 'F'
AND email.C_TANEVID = @TanevId
AND LEN(C_EMAILCIM) > 0
DECLARE @EmailCimTable TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
INSERT INTO @EmailCimTable
SELECT DISTINCT
FelhasznaloId
,STUFF((
SELECT DISTINCT CAST(Btemp.EmailCim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM @EmailCimTableTemp btemp
WHERE
temp.FelhasznaloId = btemp.FelhasznaloId
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') Email
FROM @EmailCimTableTemp temp
DECLARE @TelefonszamTableTemp TABLE (FelhasznaloId INT, Telefonszam NVARCHAR(MAX))
INSERT INTO @TelefonszamTableTemp
SELECT
TanuloId
,C_TELEFONSZAM
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulo
INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = TanuloId
WHERE
telefon.TOROLT = 'F'
AND telefon.C_TANEVID = @TanevId
AND LEN(C_TELEFONSZAM) > 0
DECLARE @TelefonszamTable TABLE (FelhasznaloId INT, Telefonszam NVARCHAR(MAX))
INSERT INTO @TelefonszamTable
SELECT DISTINCT
FelhasznaloId
,STUFF((
SELECT DISTINCT CAST(Btemp.Telefonszam AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM @TelefonszamTableTemp btemp
WHERE
temp.FelhasznaloId = btemp.FelhasznaloId
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') Telefonszam
FROM @TelefonszamTableTemp temp
DECLARE @TanuloCimTable TABLE (FelhasznaloId INT, Cim NVARCHAR(MAX), Cimtipusa INT)
INSERT INTO @TanuloCimTable
SELECT DISTINCT
TanuloId
,STUFF((
SELECT CAST(Btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM fnGetDokumentumTanuloOrGondviseloCim(0, @tanevId, @osztCsopID) btemp
WHERE
temp.TanuloId = btemp.TanuloId
AND temp.CimTipusa = btemp.CimTipusa
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') Cim
,temp.CimTipusa
FROM fnGetDokumentumTanuloOrGondviseloCim(0, @tanevId, @osztCsopID) temp
DECLARE @GondviselokTableTemp TABLE (FelhasznaloId INT, Gondviselo NVARCHAR(MAX))
INSERT INTO @GondviselokTableTemp
SELECT
Gondviselo.TanuloId TanuloId
,Gondviselo.GondviseloNev + ISNULL('('+rokonsagiFoka.C_NAME+')', '') Gondviselo
FROM fnGetDokumentumGondviselok (@osztCsopID, @tanevId, 'F', 'T') Gondviselo
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES rokonsagiFoka ON Gondviselo.RokonsagifokId = rokonsagiFoka.ID AND rokonsagiFoka.C_TANEVID = @TanevId
DECLARE @GondviselokTable TABLE(FelhasznaloId INT, Gondviselo NVARCHAR(MAX))
INSERT INTO @GondviselokTable
SELECT DISTINCT
FelhasznaloId
,STUFF((
SELECT ', ' + btemp.Gondviselo
FROM @GondviselokTableTemp btemp
WHERE
temp.FelhasznaloId = btemp.FelhasznaloId
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,2,'') Gondviselo
FROM @GondviselokTableTemp temp
--Tanulók Adatai
SELECT DISTINCT
T_TANULO_OSSZES.C_BEIRASINAPLOSORSZAM,
tanulok.NaploSorszam NaploSorszam,
tanulok.TorzslapSzam TorzslapSzam,
T_TANEV_OSSZES.C_NEV TANEV,
T_OSZTALYCSOPORT_OSSZES.C_NEV OSZTALYNEV,
T_OSZTALY_OSSZES.C_KEPZESIFORMA Kepzesiforma,
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV NEV,
gondviselo.Gondviselo GONDVISELO,
T_FELHASZNALO_OSSZES.C_SZULETESINEV SZULETESINEV,
T_FELHASZNALO_OSSZES.C_ANYJANEVE ANYJANEVE,
T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO,
T_FELHASZNALO_OSSZES.C_SZULETESIHELY,
T_FELHASZNALO_OSSZES.C_SZULETESIORSZAG Szuletesiorszag,
FORMAT(T_FELHASZNALO_OSSZES.C_SZULETESIDATUM, 'yyyy.MM.dd.') C_SZULETESIDATUM,
T_FELHASZNALO_OSSZES.C_ALLAMPOLGARSAGA Allampolgarsag,
T_FELHASZNALO_OSSZES.C_ANYANYELVE Anyanyelv,
T_FELHASZNALO_OSSZES.C_NYILVANTARTASKEZDETE,
T_TANULO_OSSZES.C_TANKOTELEZETT Tankotelezett,
T_TANULO_OSSZES.C_TANKOTELEZETTSEGVEGE,
T_TANULO_OSSZES.C_JOGVISZONYVARHATOBEFEJEZESE,
T_TANULO_OSSZES.C_DIAKIGAZOLVANYSZAM,
T_TANULO_OSSZES.C_DIAKIGAZOLVANYKELTE,
T_TANULO_OSSZES.C_BANKSZAMLASZAM,
AllandoLakcim.Cim,
TartozkodasiHely.CIM TartozkodasiHely,
telefon.Telefonszam C_TELEFONSZAM,
email.EmailCim C_EMAILCIM,
T_TANULO_OSSZES.C_BEJARO Bejaro,
T_TANULO_OSSZES.C_SZAKMAIGYAKORLATON Szakmaigyak,
T_TANULO_OSSZES.C_VENDEG Vendeg,
T_TANULO_OSSZES.C_JOGVISZONYATSZUNETELTETO Jogviszonyszunetelteto,
T_TANULO_OSSZES.C_MAGANTANULO Magantanulo,
T_TANULO_OSSZES.C_MAGANTANULOSAGANAKOKA,
T_TANULO_OSSZES.C_MAGANTANULOSAGKEZDETE,
T_TANULO_OSSZES.C_SZAKKEPESITESSZAMA,
T_TANULO_OSSZES.C_TANULOIJOGVISZONYOSELTARTOTT,
T_TANULO_OSSZES.C_TOBBGYERMEKIGAZOLASSZAMA,
T_TANULO_OSSZES.C_EVISMETLO Evismetlo,
T_TANULO_OSSZES.C_SZOCIALISTAMOGATAS Szoctam,
T_TANULO_OSSZES.C_HATRANYOSHELYZETU,
T_TANULO_OSSZES.C_VESZELYEZTETETT Veszelyeztetett,
T_TANULO_OSSZES.C_HALMOZOTTANFOGYATEKOS Halmfogyatekos,
T_TANULO_OSSZES.C_ETKEZESIKEDVEZMENY,
T_TANULO_OSSZES.C_TERITESIDIJATFIZETO Teriteses,
T_TANULO_OSSZES.C_TANDIJATFIZETO Tandijas,
T_TANULO_OSSZES.C_INGYENESTANKONVYELLATASA,
T_TANULO_OSSZES.C_TANULOSZERZODESES Tanszerzodeses,
T_TANULO_OSSZES.C_POLGARISZERZODESES Polgszerzodeses,
T_TANULO_OSSZES.C_RENDSZERESGYERMEKVEDELMIKEDV,
T_TANULO_OSSZES.C_ALLAMIGONDOZOTT Allamigond,
T_TANULO_OSSZES.C_KOLLEGIUMIELLATASOS Kollegiumi,
T_TANULO_OSSZES.C_TARTOSGYOGYKEZELESSZAMA,
T_TANULO_OSSZES.C_SAJATOSNEVELESU Sajatosnevelesu,
T_TANULO_OSSZES.C_SNILETSZAMSULY,
T_TANULO_OSSZES.C_SNIKIALLITOINTEZMENY,
FORMAT(T_TANULO_OSSZES.C_SNIOKMANYERVENYESSEGKEZDETE, 'yyyy.MM.dd.') C_SNIOKMANYERVENYESSEGKEZDETE,
T_TANULO_OSSZES.C_BTMPROBLEMAS Btmproblemas,
T_TANULO_OSSZES.C_BTMLETSZAMSULY,
T_TANULO_OSSZES.C_BTMHATAROZATOKMANYSZAM,
FORMAT(T_TANULO_OSSZES.C_BTMOKMANYERVENYESSEGKEZDETE, 'yyyy.MM.dd.') C_BTMOKMANYERVENYESSEGKEZDETE,
T_TANULO_OSSZES.C_BTMKIALLITOINTEZMENY,
T_TANULO_OSSZES.C_ELSOINTEZMENYOMKOD,
T_FELHASZNALO_OSSZES.C_IGAZOLVANYSZAM,
igazolvanyTipusa.C_NAME AS IgazolvanyTipusa
--megjegyzés
FROM T_FELHASZNALO_OSSZES
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulok ON tanulok.TanuloId = T_FELHASZNALO_OSSZES.Id
INNER JOIN T_TANULO_OSSZES on T_TANULO_OSSZES.ID = T_FELHASZNALO_OSSZES.ID
INNER JOIN T_TANULOCSOPORT_OSSZES on T_TANULOCSOPORT_OSSZES.C_TANULOID = T_FELHASZNALO_OSSZES.ID
LEFT JOIN T_OSZTALYCSOPORT_OSSZES on T_OSZTALYCSOPORT_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID AND T_OSZTALYCSOPORT_OSSZES.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId /*TODO:Tobb Osztaly*//*OM-1662*/
INNER JOIN T_OSZTALY_OSSZES on T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID
LEFT JOIN T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.C_TANEVID
LEFT JOIN @TelefonszamTable telefon on telefon.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
LEFT JOIN @EmailCimTable email on email.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
LEFT JOIN @GondviselokTable gondviselo on gondviselo.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES igazolvanyTipusa ON T_FELHASZNALO_OSSZES.C_IGAZOLVANYTIPUSA = igazolvanyTipusa.ID AND igazolvanyTipusa.C_TANEVID = @TanevId
LEFT JOIN @TanuloCimTable AllandoLakcim ON AllandoLakcim.FelhasznaloId = T_FELHASZNALO_OSSZES.ID AND AllandoLakcim.Cimtipusa = 907
LEFT JOIN @TanuloCimTable TartozkodasiHely ON TartozkodasiHely.FelhasznaloId = T_FELHASZNALO_OSSZES.ID AND TartozkodasiHely.Cimtipusa = 909
WHERE
T_FELHASZNALO_OSSZES.TOROLT = 'F'
AND T_TANEV_OSSZES.TOROLT = 'F'
AND T_TANULOCSOPORT_OSSZES.TOROLT = 'F'
AND T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
END
GO

View File

@@ -0,0 +1,125 @@
-- =============================================
-- Description: <El<45>szedj<64>k a tanul<75> alap adatait>
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetTanuloiAlapadatok]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetTanuloiAlapadatok]
END
GO
CREATE PROCEDURE [dbo].[sp_GetTanuloiAlapadatok]
@pTanuloId INT
,@pTanevId INT
,@pIntezmenyId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
SET NOCOUNT ON;
--Tanul<EFBFBD> aktu<EFBFBD>lis oszt<EFBFBD>ly<EFBFBD>nak ID-je /*TODO:Tobb Osztaly*//*OM-1605*/
DECLARE @osztalyId INT
SELECT TOP 1
@osztalyId = OsztalyCsoport.ID
FROM
T_TANULOCSOPORT_OSSZES TanuloCsoport
INNER JOIN
T_OSZTALY_OSSZES Osztaly ON
TanuloCsoport.C_OSZTALYCSOPORTID = Osztaly.ID
INNER JOIN
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
OsztalyCsoport.ID = Osztaly.ID
AND OsztalyCsoport.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV_OSSZES where ID = OsztalyCsoport.C_TANEVID)
WHERE
C_TANULOID = @pTanuloId
AND TanuloCsoport.TOROLT = 'F'
AND C_BELEPESDATUM < GETDATE()
AND (C_KILEPESDATUM IS NULL OR C_KILEPESDATUM > GETDATE())
--NOTE: 0. t<EFBFBD>bla - Alapadatok
SELECT
Felhasznalo.C_OKTATASIAZONOSITO OktatasiAzonosito
,Felhasznalo.C_ANYJANEVE AnyjaNeve
,ISNULL(TanuloCsoport.C_TORZSLAPSZAM,'') Torzslapszam
,ISNULL(TanuloCsoport.C_NAPLOSORSZAM,'') Naplosorszam
FROM
T_TANULO_OSSZES Tanulo
INNER JOIN
T_FELHASZNALO_OSSZES Felhasznalo ON
Felhasznalo.ID = Tanulo.ID
AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
AND Felhasznalo.C_TANEVID = @pTanevId
AND Felhasznalo.TOROLT = 'F'
LEFT JOIN
T_TANULOCSOPORT_OSSZES TanuloCsoport ON
TanuloCsoport.C_TANULOID = Tanulo.ID
AND TanuloCsoport.C_OSZTALYCSOPORTID = @osztalyId
AND TanuloCsoport.C_INTEZMENYID = @pIntezmenyId
AND TanuloCsoport.C_TANEVID = @pTanevId
AND TanuloCsoport.TOROLT = 'F'
WHERE
Tanulo.ID = @pTanuloId
AND Tanulo.TOROLT = 'F'
--NOTE: 1. t<EFBFBD>bla - C<EFBFBD>mek
SELECT
Cim.C_IRANYITOSZAM + ', ' + --
Cim.C_VAROS + ', ' + --
Cim.C_KOZTERULET + ' ' + --
KozteruletJelleg.C_NAME + ' ' + --
ISNULL(Cim.C_HAZSZAM, '') CimText
,CimTipus.C_NAME CimTipus
,Cim.C_CIMTIPUSA CimTipusId
FROM
T_CIM_OSSZES Cim
INNER JOIN
T_DICTIONARYITEMBASE_OSSZES KozteruletJelleg ON
KozteruletJelleg.ID = Cim.C_KOZTERULETJELLEGE
AND KozteruletJelleg.C_INTEZMENYID = @pIntezmenyId
AND KozteruletJelleg.C_TANEVID = @pTanevId
AND KozteruletJelleg.TOROLT = 'F'
INNER JOIN
T_DICTIONARYITEMBASE_OSSZES CimTipus ON
CimTipus.ID = Cim.C_CIMTIPUSA
AND CimTipus.C_INTEZMENYID = @pIntezmenyId
AND CimTipus.C_TANEVID = @pTanevId
AND CimTipus.TOROLT = 'F'
WHERE
Cim.C_FELHASZNALOID = @pTanuloId
AND Cim.C_GONDVISELOID IS NULL
AND Cim.C_INTEZMENYID = @pIntezmenyId
AND Cim.C_TANEVID = @pTanevId
AND Cim.TOROLT = 'F'
--NOTE: 2. t<EFBFBD>bla - Email c<EFBFBD>mek
SELECT
Email.C_EMAILCIM EmailCim
FROM
T_EMAIL_OSSZES Email
WHERE
Email.C_FELHASZNALOID = @pTanuloId
AND Email.C_INTEZMENYID = @pIntezmenyId
AND Email.C_TANEVID = @pTanevId
AND Email.TOROLT = 'F'
--NOTE: 3. t<EFBFBD>bla - Telefonsz<EFBFBD>mok
SELECT
Telefon.C_TELEFONSZAM Telefonszam
FROM
T_TELEFON_OSSZES Telefon
WHERE
Telefon.C_FELHASZNALOID = @pTanuloId
AND Telefon.C_INTEZMENYID = @pIntezmenyId
AND Telefon.C_TANEVID = @pTanevId
AND Telefon.TOROLT = 'F'
END
GO

View File

@@ -0,0 +1,173 @@
IF OBJECT_ID('[dbo].[sp_GetTanuloszerzodes]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetTanuloszerzodes]
END
GO
CREATE PROCEDURE [dbo].[sp_GetTanuloszerzodes]
@pIntezmenyId INT,
@pTanevId INT,
@pTanuloIdXML XML
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Tanulok TABLE(Id int PRIMARY KEY)
INSERT INTO @Tanulok(Id)
SELECT Data FROM fnConvertXmlIntListToTable(@pTanuloIdXML, 'a', 'b')
/*TANULO*/
SELECT DISTINCT
t.ID tanuloId
,f.C_NYILVANTARTASISZAM AS torzslapSzam
,f.C_OKTATASIAZONOSITO AS oktAzon
,f.C_TAJSZAM AS tajSzam
,f.C_ANYJANEVE AS anyjaNeve
,f.C_SZULETESIHELY AS szulHely
,dbo.fnGetDokumentumDatumFormatum(f.C_SZULETESIDATUM) AS szulIdo
,tt.C_NEV AS kepzes
,f.C_NYOMTATASINEV AS tanuloNeve
,f.C_SZULETESINEV AS szuletesiNev
,d.C_NAME AS allampolgarsaga
,ISNULL(Cim.C_OSSZETETTCIM, '') AS tanuloCimText
,ISNULL(Email.C_EMAILCIM, '') AS tanuloEmailCim
,ISNULL(Telefon.C_TELEFONSZAM, '') AS tanuloTelefonszam
,IIF(t.C_SZAKKEPESITESSZAMA IS NOT NULL, 'van, '
+ 'OKJ száma: ............., megnevezése: ', 'nincs') AS okj
FROM T_TANULO_OSSZES t
INNER JOIN @Tanulok Tanulok ON t.ID = Tanulok.Id
LEFT JOIN T_CIM_OSSZES Cim ON
Cim.C_FELHASZNALOID = t.ID
AND Cim.C_INTEZMENYID = @pIntezmenyId
AND Cim.C_TANEVID = @pTanevId
AND Cim.TOROLT = 'F'
AND Cim.C_ALAPERTELMEZETT = 'T'
AND Cim.C_GONDVISELOID IS NULL
LEFT JOIN
T_EMAIL_OSSZES Email ON
Email.C_FELHASZNALOID = t.ID
AND Email.C_INTEZMENYID = @pIntezmenyId
AND Email.C_TANEVID = @pTanevId
AND Email.TOROLT = 'F'
AND Email.C_ALAPERTELMEZETT = 'T'
LEFT JOIN
T_TELEFON_OSSZES Telefon ON
Telefon.C_FELHASZNALOID = t.ID
AND Telefon.C_INTEZMENYID = @pIntezmenyId
AND Telefon.C_TANEVID = @pTanevId
AND Telefon.TOROLT = 'F'
AND Telefon.C_ALAPERTELMEZETT= 'T'
INNER JOIN T_TANTERV_OSSZES tt ON
tt.ID = t.C_TANTERVID
AND tt.TOROLT ='F'
INNER JOIN T_FELHASZNALO_OSSZES f ON
f.ID = t.ID
AND f.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON
d.id=f.C_ALLAMPOLGARSAGA
AND d.C_TANEVID = f.C_TANEVID
AND d.C_INTEZMENYID = f.C_INTEZMENYID
/*GONDVISELO*/
SELECT
Tanulok.Id tanuloId
,Gondviselo.C_NEV GondviseloNeve
,ISNULL(Email.C_EMAILCIM, '') gondviseloEmailCim
,ISNULL(Telefon.C_TELEFONSZAM, '') gondviseloTelefonszam
,ISNULL(Cim.C_OSSZETETTCIM, '') gondviseloCimText
FROM @Tanulok Tanulok
INNER JOIN T_GONDVISELO_OSSZES Gondviselo ON
Gondviselo.C_TANULOID = Tanulok.Id
AND Gondviselo.C_INTEZMENYID = @pIntezmenyId
AND Gondviselo.C_TANEVID = @pTanevId
AND Gondviselo.TOROLT = 'F'
AND Gondviselo.C_ISTORVENYESKEPVISELO = 'T'
AND Gondviselo.C_ISCSOKKENTETTGONDVISELO = 'F'
INNER JOIN T_FELHASZNALOBELEPES_OSSZES Felhasznalo ON
Felhasznalo.C_GONDVISELOID = Gondviselo.ID
AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
AND Felhasznalo.C_TANEVID = @pTanevId
AND Felhasznalo.TOROLT = 'F'
LEFT JOIN T_EMAIL_OSSZES Email ON
Email.C_GONDVISELOID = Gondviselo.ID
AND Email.C_INTEZMENYID = @pIntezmenyId
AND Email.C_TANEVID = @pTanevId
AND Email.TOROLT = 'F'
LEFT JOIN T_TELEFON_OSSZES Telefon ON
Telefon.C_GONDVISELOID = Gondviselo.ID
AND Telefon.C_INTEZMENYID = @pIntezmenyId
AND Telefon.C_TANEVID = @pTanevId
AND Telefon.TOROLT = 'F'
LEFT JOIN T_CIM_OSSZES Cim ON
Cim.C_GONDVISELOID = Gondviselo.ID
AND Cim.C_INTEZMENYID = @pIntezmenyId
AND Cim.C_TANEVID = @pTanevId
AND Cim.TOROLT = 'F'
/*INTEZMENYADATOK*/
SELECT DISTINCT
INTEZMENY.C_INTEZMENYID intezmenyId
,INTEZMENY.C_NEV Nev
,INTEZMENY.C_IGAZGATONEVE IgazgatoNev
,dbo.fnGetDokumentumIntezmenyCime (@pTanevId) IntezmenyCim
,INTEZMENY.C_TELEFONSZAM IntezmenyTelefonszam
,INTEZMENY.C_EMAILCIM IntezmenyEmail
,INTEZMENY.C_OMKOD OktAzon
,TANEV.C_NEV
INTO #IntemenyAdatok
FROM T_TANEV_OSSZES TANEV
INNER JOIN T_INTEZMENYADATOK_OSSZES INTEZMENY ON TANEV.ID = INTEZMENY.C_TANEVID
WHERE
TANEV.ID = @pTanevId
AND INTEZMENY.C_INTEZMENYID = @pIntezmenyId
/*TAGINTEZMENYADATOK*/
SELECT DISTINCT
TAGINTEZMENY.C_INTEZMENYID intezmenyId
,TAGINTEZMENY.C_NEV AS TagintezmenyNev
,TAGINTEZMENY.C_IRANYITOSZAM + ' ' + TAGINTEZMENY.C_VAROS + ', '
+ TAGINTEZMENY.C_KOZTERULETNEV + ' ' + TAGINTEZMENY.C_HAZSZAM
+ ISNULL(', ' + TAGINTEZMENY.C_EMELET + '. EMELET', '')
+ ISNULL(', ' + TAGINTEZMENY.C_AJTO + '. AJTÓ', '') AS TagintezmenyCim
INTO #TagintezmenyAdatok
FROM T_TANEV_OSSZES TANEV
INNER JOIN T_INTEZMENY_OSSZES INTEZEMNY ON TANEV.C_INTEZMENYID = INTEZEMNY.ID
INNER JOIN T_MUKODESIHELY_OSSZES TAGINTEZMENY ON TAGINTEZMENY.C_INTEZMENYID = INTEZEMNY.ID
WHERE
TANEV.ID = @pTanevId
AND TAGINTEZMENY.C_INTEZMENYID = @pIntezmenyId
/*==============INTÉZMÉNY/TAGINTÉZMÉNY==================*/
SELECT DISTINCT
*
FROM #IntemenyAdatok intezmeny
INNER JOIN #TagintezmenyAdatok tagintezmeny ON intezmeny.intezmenyId = tagintezmeny.intezmenyId
/*BESOROLAS*/
SELECT DISTINCT /*TODO:Tobb Osztaly*//*OM-1608*/
TANCSOP.C_TANULOID tanuloId
,OKTATASINEVELESIFELADAT.C_NAME FeladatEllatasiHely
,MUNKAREND.C_NAME NappaliRend
,EVFOLYAM.C_NAME_1 Evfolyam
FROM T_TANULOCSOPORT_OSSZES TANCSOP
INNER JOIN @Tanulok Tanulok ON TANCSOP.C_TANULOID = Tanulok.Id
INNER JOIN T_OSZTALY_OSSZES OSZTALY ON OSZTALY.ID = TANCSOP.C_OSZTALYCSOPORTID
INNER JOIN T_OSZTALYCSOPORT_OSSZES OSZTALYCSOP ON OSZTALYCSOP.ID = OSZTALY.ID AND OSZTALYCSOP.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV_OSSZES where ID = OSZTALYCSOP.C_TANEVID)
INNER JOIN T_FELADATELLATASIHELY_OSSZES ON T_FELADATELLATASIHELY_OSSZES.ID = OSZTALYCSOP.C_FELADATELLATASIHELYID AND T_FELADATELLATASIHELY_OSSZES.C_TANEVID = OSZTALYCSOP.C_TANEVID AND T_FELADATELLATASIHELY_OSSZES.C_INTEZMENYID = @pIntezmenyId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES MUNKAREND ON OSZTALY.C_KEPZESIFORMA = MUNKAREND.ID AND MUNKAREND.C_TANEVID = OSZTALYCSOP.C_TANEVID AND MUNKAREND.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS OKTATASINEVELESIFELADAT ON T_FELADATELLATASIHELY_OSSZES.C_OKTATASINEVELESIFELADATTIPUS = OKTATASINEVELESIFELADAT.ID AND OKTATASINEVELESIFELADAT.C_TANEVID = T_FELADATELLATASIHELY_OSSZES.C_TANEVID AND OKTATASINEVELESIFELADAT.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES EVFOLYAM ON EVFOLYAM.ID = OSZTALYCSOP.C_EVFOLYAMTIPUSA
WHERE
OSZTALYCSOP.C_TANEVID = @pTanevId
AND OSZTALYCSOP.C_INTEZMENYID = @pIntezmenyId
AND TANCSOP.TOROLT = 'F'
AND TANCSOP.C_TANEVID = @pTanevId
END

View File

@@ -0,0 +1,121 @@
IF OBJECT_ID('dbo.sp_HelyettesitesekKeresese') IS NOT NULL BEGIN
DROP PROCEDURE dbo.sp_HelyettesitesekKeresese
END
GO
CREATE PROCEDURE [dbo].[sp_HelyettesitesekKeresese]
@IntezmenyId int,
@TanevId int,
@pHelyettesitettTanarId int,
@pHelyettesitesKezdete datetime,
@pHelyettesitesVege datetime
AS
BEGIN
SET NOCOUNT ON;
DECLARE @TEMPORARENDINAPOK TABLE (Datum datetime, Hetirend int,HetNapja int,OsztalyCsoportId int)
INSERT INTO @TEMPORARENDINAPOK (Datum, Hetirend,HetNapja,OsztalyCsoportId)
SELECT Distinct
Datum,
ISNULL(TanevHetirend, NapHetirend) Hetirend,
ISNULL(TanevHetNapja, NapHetNapja) HetNapja,
OsztalyCsoportId
FROM (
SELECT
NAPTARINAP.Datum Datum,
NAPTARINAP.NapHetirend,
NAPTARINAP.NapHetNapja,
NAPTARINAP.TanevHetirend,
NAPTARINAP.TanevHetNapja,
NAPTARINAP.OsztalyCsoportId
FROM (
(
SELECT
C_NAPDATUMA Datum,
C_HETIREND NapHetirend,
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), C_HETNAPJA) NapHetNapja,
null TanevHetirend,
null TanevHetNapja,
null OsztalyCsoportId
FROM T_NAPTARINAP_OSSZES
WHERE (TOROLT = 'F' AND C_NAPDATUMA >= @pHelyettesitesKezdete AND C_NAPDATUMA <= @pHelyettesitesVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
)
union
(
SELECT
NAPTARINAP.C_NAPDATUMA Datum,
NAPTARINAP.C_HETIREND NapHetirend,
IIF(NAPTARINAP.C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), NAPTARINAP.C_HETNAPJA) NapHetNapja,
tanevRendHetirend.C_HETIREND TanevHetirend,
tanevRendHetirend.C_HETNAPJA TanevHetNapja,
tanevRendHetirend.C_OSZTALYCSOPORTID OsztalyCsoportId
FROM T_NAPTARINAP_OSSZES NAPTARINAP
inner JOIN (
SELECT
C_DATUM,
C_HETIREND,
T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID,
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_DATUM), C_HETNAPJA) AS C_HETNAPJA
from T_TANEVRENDJE_OSSZES
inner Join T_OSZTALYCSOPORT_TANEVRENDJE on T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
WHERE TOROLT = 'F' AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId And TOROLT = 'F') tanevRendHetirend on tanevRendHetirend.C_DATUM = NAPTARINAP.C_NAPDATUMA
WHERE (TOROLT = 'F' AND NAPTARINAP.C_NAPDATUMA >= @pHelyettesitesKezdete AND NAPTARINAP.C_NAPDATUMA < @pHelyettesitesVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
)
) NAPTARINAP
) result
-- Vegzosok utolso tanitasi napja
DECLARE @VegzosUtolsoTanitasiNap_spGetOrarend DATETIME;
SELECT
@VegzosUtolsoTanitasiNap_spGetOrarend = C_DATUM
FROM T_TANEVRENDJE_OSSZES
WHERE
TOROLT = 'F'
AND C_TANEVID = (SELECT ID FROM T_TANEV_OSSZES WHERE TOROLT = 'F' AND C_AKTIV = 'T' AND C_INTEZMENYID = @IntezmenyId)
AND C_NAPTIPUSA = 1402 AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
SELECT
NEWID() as ID
,ORARENDINAPOK.Datum as HelyettesitettDatum
,ora.ID as HelyettesitettOrarendiOraId
,IIF(ora.C_CSENGETESIRENDID = NULL, NULL, ora.C_ORASZAM) as HelyettesitettOraszam
,ora.C_CSENGETESIRENDORAID as HelyettesitettCsengetesiRendOraId
,ora.C_TANTARGYID as HelyettesitettTantargyID
,DATEADD(HOUR, DATEPART(HOUR, ora.C_ORAKEZDETE), DATEADD(MINUTE, DATEPART(MINUTE,ora.C_ORAKEZDETE), ORARENDINAPOK.Datum)) HelyettesitettOraKezdete
,DATEADD(HOUR, DATEPART(HOUR, ora.C_ORAVEGE), DATEADD(MINUTE, DATEPART(MINUTE,ora.C_ORAVEGE), ORARENDINAPOK.Datum)) HelyettesitettOraVege
,ISNULL(TARGY.C_ROVIDNEV, targy.C_NEV) as HelyettesitettTantargy
,osztalycsoport.C_NEV as HelyettesitettOsztaly
,osztalycsoport.ID as HelyettesitettOsztalyId
,osztalycsoport.C_EVFOLYAMTIPUSA as HelyettesitettEvFolyamId
,terem.C_NEV as HelyettesitettTerem
,terem.ID as HelyettesitettTeremId
,helyettesidoszak.ID as HelyettesitesId
,IIF(tanora.C_MEGTARTOTT = 'F', 'Elmaradt óra', helyettesito.C_NYOMTATASINEV) as HelyettesitoTanarNev
,helyettesidoszak.C_HELYETTESITESTIPUS as HelyettesitesTipusId
,tanora.ID as TanoraId
FROM T_ORARENDIORA ora
INNER JOIN @TEMPORARENDINAPOK ORARENDINAPOK ON (( ora.C_HETIREND = 1554 OR ORARENDINAPOK.HETIREND = ora.C_HETIREND ) AND ORARENDINAPOK.HETNAPJA = ora.C_HETNAPJA
And (ora.C_OSZTALYCSOPORTID = ORARENDINAPOK.OsztalyCsoportId or ORARENDINAPOK.OsztalyCsoportId is null))
LEFT JOIN T_TEREM terem on (TEREM.id = ora.C_TEREMID AND TEREM.C_INTEZMENYID = @IntezmenyId AND TEREM.C_TANEVID=@TanevId)
LEFT JOIN T_TANTARGY targy ON targy.ID = ora.C_TANTARGYID AND targy.TOROLT = 'F'
LEFT JOIN T_OSZTALYCSOPORT osztalycsoport ON ora.C_OSZTALYCSOPORTID = osztalycsoport.ID AND osztalycsoport.TOROLT = 'F' AND osztalycsoport.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV where ID = osztalycsoport.C_TANEVID)
LEFT JOIN T_TANITASIORA tanora ON (tanora.C_ORARENDIORAID = ora.ID OR tanora.C_ORARENDIORAGROUPID = ora.ID)and DATEDIFF(DAY, tanora.C_ORAKEZDETE, ORARENDINAPOK.Datum) = 0 and tanora.TOROLT = 'F'
LEFT JOIN T_HELYETTESITESIIDOSZAK helyettesidoszak ON helyettesidoszak.C_HELYETTESITETTORARENDID = ora.ID
AND ORARENDINAPOK.Datum = cast(helyettesidoszak.C_HELYETTESITESNAPJA AS date) AND helyettesidoszak.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO helyettesito on helyettesito.ID = helyettesidoszak.C_HELYETTESTANAROKID AND helyettesito.TOROLT = 'F'
WHERE
ora.TOROLT ='F'
AND ora.C_TANARID = @pHelyettesitettTanarId
AND (tanora.ID IS NULL OR tanora.C_MEGTARTOTT = 'F')
AND ora.C_ORAERVENYESSEGVEGE >= @pHelyettesitesKezdete
AND ora.C_ORAERVENYESSEGKEZDETE <= (CASE WHEN osztalycsoport.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @pHelyettesitesVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @pHelyettesitesVege END)
AND ORARENDINAPOK.DATUM BETWEEN @pHelyettesitesKezdete AND (CASE WHEN osztalycsoport.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @pHelyettesitesVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @pHelyettesitesVege END)
AND (
(ORARENDINAPOK.DATUM >= ora.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM < ora.C_ORAERVENYESSEGVEGE)
OR
(ORARENDINAPOK.DATUM = ora.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM = ora.C_ORAERVENYESSEGVEGE)
)
ORDER BY [HelyettesitettDatum], [HelyettesitettOraszam]
END

View File

@@ -0,0 +1,158 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_Nyomtatvany_Excel_IdoszakiOsztalyokCsoportokTantargyiStatisztika]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_Nyomtatvany_Excel_IdoszakiOsztalyokCsoportokTantargyiStatisztika]
END
GO
CREATE PROCEDURE [dbo].[sp_Nyomtatvany_Excel_IdoszakiOsztalyokCsoportokTantargyiStatisztika]
@pTanevId INT,
@pErtekelestipusaId INT,
@pTanevrendjeTanevKezdeteNaptipusId INT = 1394, --Tanévrendje első nap típus
@pLezaroNaptipusId INT,
@pAtsoroltTanuloAdatok INT = 1
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ElsoFelveVege INT = 1400
DECLARE @IneVege INT = 1403
DECLARE @IIIneVege INT = 1404
DECLARE @UtolsoTanitasiNap INT = 1395
DECLARE @VegzosUtolsoTanitasiNap INT = 1402
DECLARE @osztalyok TABLE(OSZTALYID INT, NEV NVARCHAR(MAX), EVFOLYAM INT, SORREND INT);
DECLARE @tantargyak TABLE(TANTARGYID INT, TANTARGY_NEV NVARCHAR(MAX), TARGYKATEGORIA_NEV NVARCHAR(MAX), TARGYKATEGORIA_SORSZAM INT, C_FOTARGYE CHAR(1), C_ALTANTARGYKENTNYOMTATVANYBAN CHAR(1));
DECLARE @osztalyokCsoportokErtekeles TABLE (TECHNIKAIID NVARCHAR(MAX), OSZTALYCSOPORTID INT, OSZTALYCSOPORTNEV NVARCHAR(MAX), SORREND INT, TANTARGYID INT, TANTARGYNEV NVARCHAR(MAX), AKTUALISLETSZAM INT, ATLAG FLOAT);
DECLARE @osztalyTanulok TABLE (TANULOID INT PRIMARY KEY, BELEPESDATUM DATE, KILEPESDATUM DATE);
DECLARE @DefaultFeladatKategoriaId int = (SELECT tev.C_DEFAULTFELADATKATEGORIAID FROM T_TANEV_OSSZES tev WHERE C_AKTIV = 'T' and tev.ID = @pTanevId)
INSERT INTO @tantargyak (TANTARGYID, TANTARGY_NEV, TARGYKATEGORIA_NEV, TARGYKATEGORIA_SORSZAM, C_FOTARGYE, C_ALTANTARGYKENTNYOMTATVANYBAN)
SELECT TANTARGYAK.ID AS TANTARGYID, COALESCE(TANTARGYAK.C_NEVNYOMTATVANYBAN, TANTARGYAK.C_NEV) AS TANTARGY_NEV, TARGYKATEG.C_NAME AS TARGYKATEGORIA_NEV, TARGYKATEG.C_VALUE AS TARGYKATEGORIA_SORSZAM, TANTARGYAK.C_FOTARGYE, TANTARGYAK.C_ALTANTARGYKENTNYOMTATVANYBAN
FROM T_TANTARGY_OSSZES AS TANTARGYAK
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS TARGYKATEG ON TARGYKATEG.ID = TANTARGYAK.C_TARGYKATEGORIA AND TARGYKATEG.C_TANEVID = TANTARGYAK.C_TANEVID
WHERE TANTARGYAK.TOROLT = 'F' AND TANTARGYAK.C_TANEVID = @pTanevId
ORDER BY TARGYKATEGORIA_SORSZAM, TANTARGY_NEV;
SELECT CAST(OSZTALYCSOPORT.ID AS nvarchar(MAX)) + '_' + CAST(OSZTALYCSOPORT.ID AS nvarchar(MAX)) AS TECHNIKAIID, OSZTALYCSOPORT.ID AS OSZTALYID, OSZTALYCSOPORT.C_NEV AS NEV,
OSZTALYCSOPORT.C_EVFOLYAMTIPUSA AS EVFOLYAM, EVFOLYAM.C_ORDER AS SORREND, (SELECT COUNT(TanuloId) FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, OSZTALYCSOPORT.ID, 0)) AS AKTUALISLETSZAM, /*TODO:Tobb Osztaly*//*OM-1610*/
C_KERESZTFELEVES AS KERESZTFELEVES, C_VEGZOSEVFOLYAM AS VEGZOSEVFOLYAM,
ROW_NUMBER() OVER(ORDER BY EVFOLYAM.C_ORDER ASC, OSZTALYCSOPORT.C_NEV ASC) AS Row#
INTO #tempOsztalyok
FROM T_OSZTALY_OSSZES AS OSZTALY
JOIN T_OSZTALYCSOPORT_OSSZES AS OSZTALYCSOPORT ON OSZTALY.ID = OSZTALYCSOPORT.ID AND OSZTALYCSOPORT.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
JOIN T_DICTIONARYITEMBASE_OSSZES AS EVFOLYAM ON EVFOLYAM.ID = OSZTALYCSOPORT.C_EVFOLYAMTIPUSA AND EVFOLYAM.TOROLT = 'F' AND EVFOLYAM.C_TANEVID = OSZTALY.C_ALTANEVID
WHERE OSZTALYCSOPORT.TOROLT = 'F' AND OSZTALY.C_ALTANEVID = @pTanevId
ORDER BY Row#;
DECLARE @pOsztalyId INT = 0;
DECLARE @sorrend INT = 0;
DECLARE @keresztFeleves BIT = 0;
DECLARE @vegzosEvfolyamu BIT = 0;
WHILE (1 = 1)
BEGIN
SELECT TOP 1 @pOsztalyId = OSZTALYID, @sorrend = Row#, @keresztFeleves = IIF(KERESZTFELEVES = 'T', 1, 0), @vegzosEvfolyamu = IIF(VEGZOSEVFOLYAM = 'T', 1, 0)
FROM #tempOsztalyok
WHERE @sorrend < Row#
ORDER BY Row#;
IF @@ROWCOUNT = 0
BEGIN
BREAK;
END
--Osztalyjellemzok alapjan a nyito/lezaro naptipus csereje
DECLARE @pKezdeteOsztalyNaptipusId INT = (
IIF(@keresztFeleves = 0, @pTanevrendjeTanevKezdeteNaptipusId,
CASE
WHEN @pLezaroNaptipusId = @ElsoFelveVege THEN @ElsoFelveVege
WHEN @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @pTanevrendjeTanevKezdeteNaptipusId
WHEN @pLezaroNaptipusId = @IneVege THEN @ElsoFelveVege
WHEN @pLezaroNaptipusId = @IIIneVege THEN @pTanevrendjeTanevKezdeteNaptipusId
END)
)
DECLARE @pLezaroOsztalyNaptipusId INT = (
IIF(@keresztFeleves = 0, IIF(@vegzosEvfolyamu = 1 AND @pLezaroNaptipusId = @UtolsoTanitasiNap, @VegzosUtolsoTanitasiNap, @pLezaroNaptipusId),
CASE
WHEN @pLezaroNaptipusId = @ElsoFelveVege THEN @UtolsoTanitasiNap
WHEN @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @ElsoFelveVege
WHEN @pLezaroNaptipusId = @IneVege THEN @IIIneVege
WHEN @pLezaroNaptipusId = @IIIneVege THEN @IneVege
END)
)
DECLARE @idoszakEleje DATE = (
SELECT ISNULL(
(SELECT TOP 1 C_DATUM
FROM T_TANEVRENDJE_OSSZES
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = @pKezdeteOsztalyNaptipusId AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = @pOsztalyId)
ORDER BY C_OSZTALYCSOPORTID DESC),
(SELECT TOP 1 C_ELSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @pTanevId))
);
DECLARE @idoszakVege DATE = (
SELECT ISNULL(
(SELECT TOP 1 C_DATUM
FROM T_TANEVRENDJE_OSSZES
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = @pLezaroOsztalyNaptipusId AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = @pOsztalyId)
ORDER BY C_OSZTALYCSOPORTID DESC),
GETDATE())
);
INSERT INTO @osztalyTanulok (TANULOID, BELEPESDATUM, KILEPESDATUM) (
SELECT T_FELHASZNALO_OSSZES.ID AS TANULOID, C_BELEPESDATUM, C_KILEPESDATUM
FROM T_FELHASZNALO_OSSZES
INNER JOIN (
SELECT C_TANULOID, C_OSZTALYCSOPORTID, C_BELEPESDATUM, C_KILEPESDATUM
FROM T_TANULOCSOPORT_OSSZES
WHERE T_TANULOCSOPORT_OSSZES.TOROLT = 'F' AND T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < @idoszakVege
AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= @idoszakVege)
) AS TANCSOPORT ON TANCSOPORT.C_TANULOID = T_FELHASZNALO_OSSZES.ID
WHERE T_FELHASZNALO_OSSZES.TOROLT = 'F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @pOsztalyId AND T_FELHASZNALO_OSSZES.C_TANEVID = @pTanevId
);
INSERT INTO @osztalyokCsoportokErtekeles(TECHNIKAIID, OSZTALYCSOPORTID, OSZTALYCSOPORTNEV, SORREND, TANTARGYID, TANTARGYNEV, AKTUALISLETSZAM, ATLAG)
SELECT CAST(@pOsztalyId AS nvarchar(MAX)) + '_' + CAST(OsztalyCsoportId AS nvarchar(MAX)) AS TechnikaiId, OsztalyCsoportId, OSZTALYCSOPORT.C_NEV + (IIF(CSOPORT.ID IS NOT NULL, ' (' + (SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyId) + ')', '')) AS OsztalyCsoportNev, @sorrend,
TantargyId, TantargyNev,
(SELECT COUNT(TanuloId) FROM (
SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, OsztalyCsoportId, 0)
INTERSECT
SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 0)) AS T) AS Aktualisletszam,
AVG(CAST (ErtekelesOsztalyzatValue AS float)) AS Atlag
FROM fnGetDokumentumErtekelesekOsztalyonkent(@pTanevId, @pOsztalyId, @pErtekelestipusaId, DEFAULT, DEFAULT, 1) AS ERTEKELESEK
INNER JOIN @osztalyTanulok AS OSZTALYTANULOK ON OSZTALYTANULOK.TANULOID = ERTEKELESEK.TanuloId
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS OSZTALYCSOPORT ON OSZTALYCSOPORT.ID = OsztalyCsoportId AND OSZTALYCSOPORT.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
LEFT JOIN T_CSOPORT_OSSZES AS CSOPORT ON CSOPORT.ID = OSZTALYCSOPORT.ID
WHERE IsMagatartasSzorgalom = 'F'
GROUP BY OsztalyCsoportId, OSZTALYCSOPORT.C_NEV, TantargyId, TantargyNev, CSOPORT.ID
END
SELECT *
FROM (
SELECT DISTINCT TECHNIKAIID, OSZTALYCSOPORTID, OSZTALYCSOPORTNEV, AKTUALISLETSZAM, SORREND
FROM @osztalyokCsoportokErtekeles
UNION
SELECT TECHNIKAIID, OSZTALYID AS OSZTALYCSOPORTID, NEV AS OSZTALYCSOPORTNEV, AKTUALISLETSZAM, Row# AS SORREND
FROM #tempOsztalyok
) AS OSZTALYOKCSOPORTOK
ORDER BY SORREND, OSZTALYCSOPORTNEV;
SELECT DISTINCT TANTARGYID, TANTARGY_NEV
FROM @tantargyak;
SELECT *
FROM @osztalyokCsoportokErtekeles;
IF OBJECT_ID('tempdb..#tempOsztalyok') IS NOT NULL DROP TABLE #tempOsztalyok
IF OBJECT_ID('tempdb..#tempErtekeles') IS NOT NULL DROP TABLE #tempErtekeles
END
GO

View File

@@ -0,0 +1,176 @@
-- =============================================
-- Description: Tanuló kirstat adatokat ad vissza az exorthoz
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_TanuloKIRStatAdatokGyorsExport]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_TanuloKIRStatAdatokGyorsExport]
END
GO
CREATE PROCEDURE [dbo].[sp_TanuloKIRStatAdatokGyorsExport]
@pTanevId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
felhasznalo.C_NYOMTATASINEV as 'Tanuló neve'
,felhasznalo.C_OKTATASIAZONOSITO as 'Tanuló oktatási azonosító'
,felhasznalo.C_SZULETESINEV as 'Születési neve'
,CAST(felhasznalo.C_SZULETESIDATUM as date) as 'Születési dátuma'
,felhasznalo.C_ANYJANEVE as 'Anyja neve'
,szuletesiorszag.C_NAME as 'Születési ország'
,felhasznalo.C_SZULETESIHELY as 'Születési hely'
,neme.C_NAME as 'Neme'
,allampolgarsaga.C_NAME as 'Állampolgársága'
,allampolgarsaga2.C_NAME as 'Állampolgársága 2'
,anyanyelve.C_NAME as 'Anyanyelve'
,ocs.C_NEV as 'Osztály neve'
,evfolyam.C_NAME as 'Évfolyam neve'
,mukodesihely.C_NEV + ' - ' + oktatasinevelesifeladat.C_NAME as 'Feladatellátási hely'
,felhasznalo.C_ADOSZAM as 'Adószám'
,felhasznalo.C_TAJSZAM as 'Tajszám'
,igazolvanytipus.C_NAME as 'Igazolvány típusa'
,felhasznalo.C_IGAZOLVANYSZAM as 'Igazolványszám'
,tanulocsoport.C_TORZSLAPSZAM as 'Törzslapszám'
,tanulocsoport.C_NAPLOSORSZAM as 'Naplósorszám'
,CAST(felhasznalo.C_NYILVANTARTASKEZDETE as date) as 'Nyilvántartás kezdete'
,tanulo.C_BANKSZAMLASZAM as 'Bankszámlaszám'
,tanulo.C_BEIRASINAPLOSORSZAM as 'Beírási napló sorszáma'
,IIF(tanulo.C_EVISMETLO = 'T', 'Igen', 'Nem') as 'Évismétlő'
,tanulo.C_EVISMETLOTANTARGYAK as 'Évismétlés tantárgyai'
,IIF(tanulo.C_JOGVISZONYATSZUNETELTETO = 'T', 'Igen', 'Nem') as 'Jogviszonyát szüneteltető'
,CAST(tanulo.C_JOGVISZONYVARHATOBEFEJEZESE as date) as 'Jogviszony várható befejezése'
,IIF(tanulo.C_POLGARISZERZODESES = 'T', 'Igen', 'Nem') as 'Polgári szerződéses'
,IIF(tanulo.C_EGYUTTMUKODESES = 'T', 'Igen', 'Nem') as 'Együttműködési megállapodásos'
,IIF(tanulo.C_MEGALLAPODASOS = 'T', 'Igen', 'Nem') as 'Kizárólag iskolai keretek között, tanműhelyben tanuló'
,IIF(tanulo.C_SZAKMAIGYAKORLATON = 'T', 'Igen', 'Nem') as 'Szakmai gyakorlaton'
,IIF(tanulo.C_VENDEG = 'T', 'Igen', 'Nem') as 'Vendégtanuló'
,IIF(tanulo.C_MAGANTANULO = 'T', 'Igen', 'Nem') as 'Magántanuló'
,magantanulosagoka.C_NAME as 'Magántanulóság oka'
,CAST(tanulo.C_MAGANTANULOSAGKEZDETE as date) as 'Magántanulóság kezdete'
,CAST(tanulo.C_DIAKIGAZOLVANYKELTE as date) as 'Diákigazolvány kelte'
,tanulo.C_DIAKIGAZOLVANYSZAM as 'Diákigazolvány száma'
,IIF(tanulo.C_BEJARO = 'T', 'Igen', 'Nem') as 'Bejáró'
,IIF(tanulo.C_TANKOTELEZETT = 'T', 'Igen', 'Nem') as 'Tankötelezett'
,CAST(tanulo.C_TANKOTELEZETTSEGVEGE as date) as 'Tankötelezettség vége'
,IIF(tanulo.C_TANULOSZERZODESES = 'T', 'Igen', 'Nem') as 'Tanulószerződéses'
,IIF(tanulo.C_TANDIJATFIZETO = 'T', 'Igen', 'Nem') as 'Tandíjat fizető'
,IIF(tanulo.C_TERITESIDIJATFIZETO = 'T', 'Igen', 'Nem') as 'Térítésidíjat fizető'
,vallasa.C_NAME as 'Vallása'
,tanulo.C_EGYHAZKOZOSSEGE as 'Egyházközössége'
,IIF(tanulo.C_DIAKSPORTKOROS = 'T', 'Igen', 'Nem') as 'Diáksportkör tagja'
,tanulo.C_SPORTAG as 'Sportága'
,tanulo.C_SPORTEDZONEVE as 'Sportedző neve'
,tanulo.C_SPORTKLUB as 'Sportklub'
,testnevelestipusa.C_NAME as 'Testnevelés típusa'
,IIF(tanulo.C_KOLLEGIUMIELLATASOS = 'T', 'Igen', 'Nem') as 'Kollégiumi ellátásos'
,ingyenestankonyv.C_NAME as 'Ingyenes tankönyvellátás'
,etkezesikedvezmeny.C_NAME as 'Étkezési kedvezmény'
,IIF(tanulo.C_SZOCIALISTAMOGATAS = 'T', 'Igen', 'Nem') as 'Szociális ösztöndíj'
,IIF(tanulo.C_ALLAMIGONDOZOTT = 'T', 'Igen', 'Nem') as 'Intézeti, állami nevelt'
,IIF(tanulo.C_VESZELYEZTETETT = 'T', 'Igen', 'Nem') as 'Veszélyeztetett'
,hatranyoshelyzet.C_NAME as 'Hátrányos helyzetű'
,IIF(tanulo.C_BEILLESZKEDESINEHEZSEG = 'T', 'Igen', 'Nem') as 'Beilleszkedési nehézség'
,tanulo.C_RENDSZERESGYERMEKVEDELMIKEDV as 'Rendszeres gyermekvédelmi kedvezmény'
,IIF(tanulo.C_MENEDEKJOGGALRENDELKEZO = 'T', 'Igen', 'Nem') as 'Menekült, oltalmazott, menedékes'
,tanulo.C_TARTOSGYOGYKEZELESSZAMA as 'Tartós gyógykezelés okmányszáma'
,tanulo.C_TOBBGYERMEKIGAZOLASSZAMA as '3 vagy több gyermek igazolás okmányszáma'
,tanulo.C_TANULOIJOGVISZONYOSELTARTOTT as 'Tanulói, hallgatói jogviszonnyal rendelkező eltartott'
,tanulo.C_SAJATOSNEVELESU as 'Sajátos nevelési igényű'
,tanulo.C_SNILETSZAMSULY as 'Tanuló létszámsúlyozása'
,IIF(tanulo.C_HALMOZOTTANFOGYATEKOS = 'T', 'Igen', 'Nem') as 'Halmozottan fogyatékos'
,tanulo.C_SNIKIALLITOINTEZMENY as 'Kiállító intézmény megnevezése'
,tanulo.C_SNIKONTROLLIDOPONT as 'Szükséges kontroll időpontja'
,tanulo.C_SNIMEGHATAROZAS as 'SNI meghatározás'
,tanulo.C_SNIOKMANYERVENYESSEGKEZDETE as 'SNI okmány érvényesség kezdete'
,tanulo.C_SNIOKMANYERVENYESSEGVEGE as 'SNI okmány érvényesség vége'
,tanulo.C_BNOKOD as 'BNO-kód'
,ertelmifogyatekos.C_NAME as 'Értelmi fogyatékos' --
,tanulo.C_ERTELMIFOGYATEKOSOKMANYSZAM as 'Értelmi fogyatékos okmányszám'
,hallasserult.C_NAME as 'Hallássérült' --
,tanulo.C_HALLASSERULTOKMANYSZAM as 'Hallássérült okmányszám'
,latasserult.C_NAME as 'Látássérült' --
,tanulo.C_LATASSERULTOKMANYSZAM as 'Látássérült okmányszám'
,tanulo.C_MOZGASSERULTOKMANYSZAM as 'Mozgáskorlátozott okmányszám'
,tanulo.C_BESZEDFOGYATEKOSOKMANYSZAM as 'Beszédfogyatékos okmányszám'
,tanulo.C_DISZGRAFIAOKMANYSZAM as 'Diszgráfia okmányszám'
,tanulo.C_DISZKALKULIAOKMANYSZAM as 'Diszkalkulia okmányszám'
,tanulo.C_DISZLEXIAOKMANYSZAM as 'Diszlexia okmányszám'
,tanulo.C_VISELKEDESORGANIKUSOKMANYSZA as 'Viselkedés fejlődésének organikus okra visszavezethető tartós és súlyos rendellenességével küzd okmányszám'
,tanulo.C_VISELKEDESNEMORGANIKUSOKMANY as 'Viselkedés fejlődésének organikus okra vissza nem vezethető tartós és súlyos rendellenességével küzd okmányszám'
,tanulo.C_MEGISMEROORGANIKUSOKMANYSZAM as 'Megismerő funkciók organikus okra visszavezethető tartós és súlyos rendellenességével küzd okmányszám'
,tanulo.C_MEGISMERONEMORGANIKUSOKMANYS as 'Megismerő funkciók organikus okra vissza nem vezethető tartós és súlyos rendellenességével küzd okmányszám'
,tanulo.C_FEJLESZTOFOGLALKOZASORASZAM as 'Fejlesztésre fordítandó óraszám'
,tanulo.C_FEJLESZTOFOGLALKOZAS as 'Fejlesztő foglalkozás'
,tanulo.C_FEJLESZTESREKIJELOLT as 'Fejlesztésre kijelölt'
,IIF(tanulo.C_BTMPROBLEMAS = 'T', 'Igen', 'Nem') as 'Beilleszkedési, tanulási és magatartási problémával küzdő'
,tanulo.C_BTMLETSZAMSULY as 'Tanuló létszámsúlyozása'
,IIF(tanulo.C_BEILLESZKEDESIPROBLEMAVALKUZ = 'T', 'Igen', 'Nem') as 'Beilleszkedési problémával küzd'
,IIF(tanulo.C_TANULASIPROBLEMAVALKUZD = 'T', 'Igen', 'Nem') as 'Tanulási problémával küzd'
,IIF(tanulo.C_MAGATARTASIPROBLEMAVALKUZD = 'T', 'Igen', 'Nem') as 'Magatartási problémával küzd'
,tanulo.C_BTMHATAROZATOKMANYSZAM as 'BTM határozat okmányszáma'
,tanulo.C_BTMKIALLITOINTEZMENY as 'Kiállító intézmény megnevezése'
,tanulo.C_BTMKONTROLLIDOPONT as 'Kontroll időpontja'
,tanulo.C_BTMOKMANYERVENYESSEGKEZDETE as 'Okmány érvényességének kezdete'
,tanulo.C_BTMOKMANYERVENYESSEGVEGE as 'Okmány érvényességének vége'
,tanulo.C_BTMHATAROZATTARTALMA as 'Határozat tartalma'
,IIF(tanulo.C_KOZEPFOKUOKTATASBATIZENHATOD = 'T', 'Igen', 'Nem') as 'Középfokú oktatásba 16. életévét betöltve került'
,szakmacsoport.C_NAME as 'Szakmacsoport'
,agazat.C_NAME as 'Ágazat'
,szakkepesites.C_NAME as 'Szakképesítés'
,CONCAT(ISNULL(szakkepesitestipus.C_SZAKKEPESITESSZINT, ''), ISNULL(szakkepesitestipus.C_TANULMANYITERULET,''), ISNULL(szakkepesitestipus.C_TERULETSORSZAM,'')) as 'Szakképesítés (kód)'
,resszakkepesites.C_NAME as 'Részszakképesítés'
,tanulo.C_SZAKKEPESITESSZAMA as 'Szakképesítés száma'
,IIF(tanulo.C_OSZTV = 'T', 'Igen', 'Nem') as 'OSZTV országos döntős'
,IIF(tanulo.C_SZKTV = 'T', 'Igen', 'Nem') as 'SZKTV országos döntős'
,IIF(tanulo.C_SZETVAGAZAT = 'T', 'Igen', 'Nem') as 'SZÉTV országos döntő'
,IIF(tanulo.C_EGYEBDONTO = 'T', 'Igen', 'Nem') as 'Egyéb országos döntő'
,IIF(tanulo.C_TECHNIKUSIEVFOLYAM = 'T', 'Igen', 'Nem') as 'Technikusi évfolyam'
,tanulo.C_SZINTVIZSGA as 'Gyakorlati szintvizsgák átlaga'
,felhasznalo.C_LEIRAS as 'Megjegyzés'
FROM T_TANULO_OSSZES tanulo
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tanulo.ID AND felhasznalo.C_TANEVID = tanulo.C_ALTANEVID AND felhasznalo.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND felhasznalo.TOROLT = 'F'
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = @pTanevId
INNER JOIN T_TANULOCSOPORT_OSSZES tanulocsoport ON tanulocsoport.C_TANULOID = tanulo.ID AND tanulocsoport.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND tanulocsoport.C_TANEVID = tanulo.C_ALTANEVID AND tanulocsoport.TOROLT = 'F' AND tanulocsoport.C_BELEPESDATUM <= DATEADD(DAY, 30, tanev.C_KEZDONAP) AND (tanulocsoport.C_KILEPESDATUM >= DATEADD(DAY, 30, tanev.C_KEZDONAP) OR tanulocsoport.C_KILEPESDATUM IS NULL)
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tanulocsoport.C_OSZTALYCSOPORTID AND ocs.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND ocs.C_TANEVID = tanulo.C_ALTANEVID AND ocs.TOROLT = 'F' AND ocs.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV_OSSZES where ID = ocs.C_TANEVID) /*TODO:Tobb Osztaly*//*OM-1611*/
INNER JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = tanulocsoport.C_OSZTALYCSOPORTID AND osztaly.C_ALINTEZMENYID = tanulo.C_ALINTEZMENYID AND osztaly.C_ALTANEVID = tanulo.C_ALTANEVID AND osztaly.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES evfolyam ON evfolyam.ID = ocs.C_EVFOLYAMTIPUSA AND evfolyam.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND evfolyam.C_TANEVID = tanulo.C_ALTANEVID AND evfolyam.TOROLT = 'F'
INNER JOIN T_FELADATELLATASIHELY_OSSZES felhely ON felhely.ID = ocs.C_FELADATELLATASIHELYID AND felhely.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND felhely.C_TANEVID = tanulo.C_ALTANEVID AND felhely.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES oktatasinevelesifeladat ON oktatasinevelesifeladat.ID = felhely.C_OKTATASINEVELESIFELADATTIPUS AND oktatasinevelesifeladat.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND oktatasinevelesifeladat.C_TANEVID = tanulo.C_ALTANEVID AND oktatasinevelesifeladat.TOROLT = 'F'
INNER JOIN T_MUKODESIHELY_OSSZES mukodesihely ON mukodesihely.ID = felhely.C_MUKODESIHELYID AND mukodesihely.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND mukodesihely.C_TANEVID = tanulo.C_ALTANEVID AND mukodesihely.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES neme ON neme.ID = felhasznalo.C_NEME AND neme.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND neme.C_TANEVID = tanulo.C_ALTANEVID AND neme.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES allampolgarsaga ON allampolgarsaga.ID = felhasznalo.C_ALLAMPOLGARSAGA AND allampolgarsaga.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND allampolgarsaga.C_TANEVID = tanulo.C_ALTANEVID AND allampolgarsaga.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szuletesiorszag ON szuletesiorszag.ID = felhasznalo.C_SZULETESIORSZAG AND szuletesiorszag.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND szuletesiorszag.C_TANEVID = tanulo.C_ALTANEVID AND szuletesiorszag.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES allampolgarsaga2 ON allampolgarsaga2.ID = felhasznalo.C_ALLAMPOLGARSAGA2 AND allampolgarsaga2.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND allampolgarsaga2.C_TANEVID = tanulo.C_ALTANEVID AND allampolgarsaga2.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES anyanyelve ON anyanyelve.ID = felhasznalo.C_ANYANYELVE AND anyanyelve.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND anyanyelve.C_TANEVID = tanulo.C_ALTANEVID AND anyanyelve.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES igazolvanytipus ON igazolvanytipus.ID = felhasznalo.C_IGAZOLVANYTIPUSA AND igazolvanytipus.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND igazolvanytipus.C_TANEVID = tanulo.C_ALTANEVID AND igazolvanytipus.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magantanulosagoka ON magantanulosagoka.ID = tanulo.C_MAGANTANULOSAGANAKOKA AND magantanulosagoka.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND magantanulosagoka.C_TANEVID = tanulo.C_ALTANEVID AND magantanulosagoka.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ingyenestankonyv ON ingyenestankonyv.ID = tanulo.C_INGYENESTANKONVYELLATASA AND ingyenestankonyv.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND ingyenestankonyv.C_TANEVID = tanulo.C_ALTANEVID AND ingyenestankonyv.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES etkezesikedvezmeny ON etkezesikedvezmeny.ID = tanulo.C_ETKEZESIKEDVEZMENY AND etkezesikedvezmeny.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND etkezesikedvezmeny.C_TANEVID = tanulo.C_ALTANEVID AND etkezesikedvezmeny.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES vallasa ON vallasa.ID = tanulo.C_VALLASA AND vallasa.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND vallasa.C_TANEVID = tanulo.C_ALTANEVID AND vallasa.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES testnevelestipusa ON testnevelestipusa.ID = tanulo.C_TESTNEVELESTIPUSA AND testnevelestipusa.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND testnevelestipusa.C_TANEVID = tanulo.C_ALTANEVID AND testnevelestipusa.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szakmacsoport ON szakmacsoport.ID = tanulocsoport.C_SZAKMACSOPORT AND szakmacsoport.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND szakmacsoport.C_TANEVID = tanulo.C_ALTANEVID AND szakmacsoport.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES agazat ON agazat.ID = tanulocsoport.C_AGAZAT AND agazat.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND agazat.C_TANEVID = tanulo.C_ALTANEVID AND agazat.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szakkepesites ON szakkepesites.ID = tanulocsoport.C_SZAKKEPESITES AND szakkepesites.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND szakkepesites.C_TANEVID = tanulo.C_ALTANEVID AND szakkepesites.TOROLT = 'F'
LEFT JOIN T_SZAKKEPESITESTIPUS_OSSZES szakkepesitestipus ON szakkepesites.ID = szakkepesitestipus.ID AND szakkepesites.C_INTEZMENYID = szakkepesitestipus.C_ALINTEZMENYID AND szakkepesites.C_TANEVID = szakkepesitestipus.C_ALTANEVID AND szakkepesitestipus.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES resszakkepesites ON resszakkepesites.ID = tanulocsoport.C_RESZSZAKKEPESITES AND resszakkepesites.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND resszakkepesites.C_TANEVID = tanulo.C_ALTANEVID AND resszakkepesites.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ertelmifogyatekos ON ertelmifogyatekos.ID = tanulo.C_ERTELMIFOGYATEKOS AND ertelmifogyatekos.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND ertelmifogyatekos.C_TANEVID = tanulo.C_ALTANEVID AND ertelmifogyatekos.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES latasserult ON latasserult.ID = tanulo.C_LATASSERULT AND latasserult.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND latasserult.C_TANEVID = tanulo.C_ALTANEVID AND latasserult.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES hallasserult ON hallasserult.ID = tanulo.C_HALLASSERULT AND hallasserult.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND hallasserult.C_TANEVID = tanulo.C_ALTANEVID AND hallasserult.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES hatranyoshelyzet ON hatranyoshelyzet.ID = tanulo.C_HATRANYOSHELYZETU AND hatranyoshelyzet.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND hatranyoshelyzet.C_TANEVID = tanulo.C_ALTANEVID AND hatranyoshelyzet.TOROLT = 'F'
WHERE tanulo.TOROLT = 'F'
AND tanulo.C_ALTANEVID = @pTanevId
END
GO

View File

@@ -0,0 +1,259 @@
-- =============================================
-- Description: <Előszedjük a tanuló értékeléseket főtárgy/altárgy alapján>
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS [dbo].[uspGetTanuloErtekelesDataSetByFotargyAltargy]
GO
CREATE PROCEDURE [dbo].[uspGetTanuloErtekelesDataSetByFotargyAltargy]
@pIntezmenyId INT
,@pTanevId INT
,@pTanarId INT
,@pTanuloId INT
,@pFotargyAltargyId INT
,@pDatum DATE = NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
SET NOCOUNT ON;
IF @pDatum IS NULL
SET @pDatum = CONVERT(DATE, GETDATE())
DECLARE @evfolyamTipusId INT = (SELECT EvfolyamTipusId FROM dbo.fnGetTanuloOsztaly(@pTanuloId, @pDatum)) /*TODO:Tobb Osztaly*//*OM-1642*/
DECLARE @DefaultFeladatKategoriaId int = (SELECT tev.C_DEFAULTFELADATKATEGORIAID FROM T_TANEV_OSSZES tev WHERE C_AKTIV = 'T' and tev.ID = @pTanevId)
CREATE TABLE #KapcsopodoTantargyak(
ID INT
,C_FOTARGYID INT
,C_NEV NVARCHAR(255)
,C_TARGYKATEGORIA INT
,C_INTEZMENYID INT
,C_TANEVID INT
)
INSERT INTO
#KapcsopodoTantargyak
SELECT
ID
,C_FOTARGYID
,C_NEV
,C_TARGYKATEGORIA
,C_INTEZMENYID
,C_TANEVID
FROM
fnGetKapcsolodoTantargyak(@pIntezmenyId, @pTanevId, @pFotargyAltargyId)
CREATE TABLE #OsztalyCsoportIdList(
ID INT PRIMARY KEY
)
INSERT INTO
#OsztalyCsoportIdList (ID)
SELECT
OsztalyCsoport.ID
FROM
T_TANULOCSOPORT_OSSZES TanuloCsoport
INNER JOIN
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
OsztalyCsoport.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
AND OsztalyCsoport.TOROLT = 'F'
AND OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
WHERE
TanuloCsoport.C_INTEZMENYID = @pIntezmenyId
AND TanuloCsoport.C_TANEVID = @pTanevId
AND TanuloCsoport.TOROLT = 'F'
AND TanuloCsoport.C_TANULOID = @pTanuloId
AND TanuloCsoport.C_BELEPESDATUM <= GETDATE()
AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM >= GETDATE())
CREATE TABLE #Tantargyak(
ID INT
,C_FOTARGYID INT
,C_NEV NVARCHAR(255)
,C_TARGYKATEGORIA INT
,C_INTEZMENYID INT
,C_TANEVID INT
);
WITH tantargy_CTE (C_TANTARGYID, C_FOTARGYID, C_INTEZMENYID, C_TANEVID)
AS (
SELECT DISTINCT
Foglalkozas.C_TANTARGYID,
Tantargy.C_FOTARGYID,
Tantargy.C_INTEZMENYID,
Tantargy.C_TANEVID
FROM
T_FOGLALKOZAS_OSSZES Foglalkozas
INNER JOIN
T_TANTARGY_OSSZES Tantargy ON
Tantargy.C_INTEZMENYID = Foglalkozas.C_INTEZMENYID
AND Tantargy.C_TANEVID = Foglalkozas.C_TANEVID
AND Tantargy.TOROLT = 'F'
AND Tantargy.ID = Foglalkozas.C_TANTARGYID
INNER JOIN
#OsztalyCsoportIdList OsztalyCsoport ON
OsztalyCsoport.ID = Foglalkozas.C_OSZTALYCSOPORTID
WHERE
Foglalkozas.C_INTEZMENYID = @pIntezmenyId
AND Foglalkozas.C_TANEVID = @pTanevId
AND Foglalkozas.TOROLT = 'F'
UNION
SELECT DISTINCT
OrarendiOra.C_TANTARGYID,
Tantargy.C_FOTARGYID,
Tantargy.C_INTEZMENYID,
Tantargy.C_TANEVID
FROM
T_ORARENDIORA_OSSZES OrarendiOra
INNER JOIN
T_TANTARGY_OSSZES Tantargy ON
Tantargy.C_INTEZMENYID = OrarendiOra.C_INTEZMENYID
AND Tantargy.C_TANEVID = OrarendiOra.C_TANEVID
AND Tantargy.TOROLT = 'F'
AND Tantargy.ID = OrarendiOra.C_TANTARGYID
INNER JOIN
#OsztalyCsoportIdList OsztalyCsoport ON
OsztalyCsoport.ID = OrarendiOra.C_OSZTALYCSOPORTID
WHERE
OrarendiOra.C_INTEZMENYID = @pIntezmenyId
AND OrarendiOra.C_TANEVID = @pTanevId
AND OrarendiOra.TOROLT = 'F'
UNION
SELECT DISTINCT
TanuloErtekeles.C_TANTARGYID,
Tantargy.C_FOTARGYID,
Tantargy.C_INTEZMENYID,
Tantargy.C_TANEVID
FROM
T_TANULOERTEKELES_OSSZES TanuloErtekeles
INNER JOIN
T_TANTARGY_OSSZES Tantargy ON
Tantargy.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
AND Tantargy.C_TANEVID = TanuloErtekeles.C_TANEVID
AND Tantargy.TOROLT = 'F'
AND Tantargy.ID = TanuloErtekeles.C_TANTARGYID
INNER JOIN
T_OSZTALYCSOPORT_OSSZES Osztaly ON
Osztaly.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
AND Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID
AND Osztaly.TOROLT = 'F'
AND Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
AND Osztaly.C_EVFOLYAMTIPUSA = @evfolyamTipusId
AND Osztaly.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
WHERE
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
AND TanuloErtekeles.C_TANEVID = @pTanevId
AND TanuloErtekeles.TOROLT = 'F'
AND TanuloErtekeles.C_TANULOID = @pTanuloId
AND TanuloErtekeles.C_TANTARGYID IS NOT NULL
)
INSERT INTO
#Tantargyak (ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA, C_INTEZMENYID, C_TANEVID)
SELECT DISTINCT
KapcsopodoTantargy.ID,
KapcsopodoTantargy.C_FOTARGYID,
KapcsopodoTantargy.C_NEV,
KapcsopodoTantargy.C_TARGYKATEGORIA,
KapcsopodoTantargy.C_INTEZMENYID,
KapcsopodoTantargy.C_TANEVID
FROM
tantargy_CTE
INNER JOIN
#KapcsopodoTantargyak KapcsopodoTantargy ON
tantargy_CTE.C_TANTARGYID = KapcsopodoTantargy.ID
OR tantargy_CTE.C_FOTARGYID = KapcsopodoTantargy.ID
WHERE
(KapcsopodoTantargy.ID <> @pFotargyAltargyId)
SELECT
@pTanuloId TanuloId
,Tantargy.ID TantargyId
,Tantargy.C_NEV TantargyNev
,TanuloErtekeles.ID ID
,TanuloErtekeles.C_DATUM Datum
,TanuloErtekeles.C_ROGZITESDATUM RogzitesDatum
,TanuloErtekeles.C_TIPUSID TipusId
,FelhasznaloErtekelo.C_NYOMTATASINEV ErtekeloNyomtatasiNev
,IIF(TanuloErtekeles.ID IS NULL, --
NULL, --
CASE --
WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId --
THEN 'T' --
ELSE 'F' --
END --
) Modosithato
,TanuloErtekeles.CREATED Created
,TanuloErtekeles.C_ISMAGATARTASSZORGALOM IsMagatartasSzorgalom
,TanuloErtekeles.C_ERTEKELESOSZTALYZATID ErtekelesOsztalyzatId
,TanariAtlagSuly.C_SULY Suly
,TanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
,TanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV ErtekelesSzovegRovidNev
,TanuloErtekeles.C_ERTEKELESSZAZALEK ErtekelesSzazalek
,TanuloErtekeles.C_ERTEKELESMODID ErtekelesModId
,TanuloErtekeles.C_ERTEKELESTEMA ErtekelesTema
,Tantargy.C_TARGYKATEGORIA TantargyKategoriaId
,Fotargy.ID FotargyId
,Fotargy.C_NEV FotargyNev
,Fotargy.C_TARGYKATEGORIA FotargyTantargyKategoriaId
FROM
#Tantargyak Tantargy
LEFT JOIN(
SELECT
TanuloErtekeles.*
FROM
T_TANULOERTEKELES_OSSZES TanuloErtekeles
INNER JOIN
T_OSZTALYCSOPORT_OSSZES Osztaly ON
Osztaly.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
AND Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID
AND Osztaly.TOROLT = 'F'
AND Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
AND Osztaly.C_EVFOLYAMTIPUSA = @evfolyamTipusId
AND Osztaly.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
WHERE
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
AND TanuloErtekeles.C_TANEVID = @pTanevId
AND TanuloErtekeles.TOROLT = 'F'
AND TanuloErtekeles.C_TANULOID = @pTanuloId
) AS TanuloErtekeles ON
TanuloErtekeles.C_TANTARGYID = Tantargy.ID
LEFT JOIN
T_FELHASZNALO_OSSZES FelhasznaloErtekelo ON
FelhasznaloErtekelo.C_INTEZMENYID = Tantargy.C_INTEZMENYID
AND FelhasznaloErtekelo.C_TANEVID = Tantargy.C_TANEVID
AND FelhasznaloErtekelo.TOROLT = 'F'
AND FelhasznaloErtekelo.ID = TanuloErtekeles.C_ERTEKELOID
LEFT JOIN
T_TANARIATLAGSULY_OSSZES TanariAtlagSuly ON
TanariAtlagSuly.C_INTEZMENYID = Tantargy.C_INTEZMENYID
AND TanariAtlagSuly.C_TANEVID = Tantargy.C_TANEVID
AND TanariAtlagSuly.TOROLT = 'F'
AND TanariAtlagSuly.C_ERTEKELESMODID = TanuloErtekeles.C_ERTEKELESMODID
AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'F'
AND TanuloErtekeles.C_ERTEKELESOSZTALYZATID IS NOT NULL
LEFT JOIN
T_TANTARGY_OSSZES Fotargy ON
Fotargy.C_INTEZMENYID = Tantargy.C_INTEZMENYID
AND Fotargy.C_TANEVID = Tantargy.C_TANEVID
AND Fotargy.TOROLT = 'F'
AND Fotargy.ID = Tantargy.C_FOTARGYID
END
GO

View File

@@ -0,0 +1,129 @@
-- =============================================
-- Description: <Előszedjük a tanuló értékeléseket magatartás/szorgalom alapján>
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS [dbo].[uspGetTanuloErtekelesDataSetByMagatartasSzorgalom]
GO
CREATE PROCEDURE [dbo].[uspGetTanuloErtekelesDataSetByMagatartasSzorgalom]
@pIntezmenyId INT
,@pTanevId INT
,@pTanarId INT
,@pOsztalyCsoportId INT
,@pDatum DATE = NULL
AS
BEGIN
DECLARE @DefaultFeladatKategoriaId int = (SELECT tev.C_DEFAULTFELADATKATEGORIAID FROM T_TANEV_OSSZES tev WHERE C_AKTIV = 'T' and tev.ID = @pTanevId)
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
SET NOCOUNT ON;
IF @pDatum IS NULL
SET @pDatum = CONVERT(DATE, GETDATE())
CREATE TABLE #TanuloOsztalyEvfolyamTipusIdList(
TanuloId INT PRIMARY KEY
,EvfolyamTipusId INT
)
INSERT INTO
#TanuloOsztalyEvfolyamTipusIdList
SELECT
TanuloId
,EvfolyamTipusId
FROM
dbo.fnGetOsztalyCsoportTanuloOsztalyList(@pIntezmenyId, @pTanevId, @pOsztalyCsoportId, @pDatum) /*TODO:Tobb Osztaly*//*OM-1649*/
SELECT
FelhasznaloTanulo.ID TanuloId
,NULL TantargyId
,FelhasznaloTanulo.C_NYOMTATASINEV TanuloNev
,IIF(FelhasznaloTanulo.C_NEVSORREND = 'T', --
FelhasznaloTanulo.C_UTONEV + ' '+ FelhasznaloTanulo.C_VEZETEKNEV, --
FelhasznaloTanulo.C_VEZETEKNEV + ' ' + FelhasznaloTanulo.C_UTONEV) TanuloNevElotagNelkul
,FelhasznaloTanulo.C_ANYJANEVE AnyjaNeve
,FelhasznaloTanulo.C_SZULETESIDATUM SzuletesiIdo
,OsztalyCsoport.C_NEV OsztalyNev
,TanuloErtekeles.ID ID
,TanuloErtekeles.C_DATUM Datum
,TanuloErtekeles.C_ROGZITESDATUM RogzitesDatum
,TanuloErtekeles.C_TIPUSID TipusId
,FelhasznaloErtekelo.C_NYOMTATASINEV ErtekeloNyomtatasiNev
,IIF(TanuloErtekeles.ID IS NULL, --
NULL, --
CASE --
WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId --
THEN 'T' --
ELSE 'F' --
END --
) Modosithato
,TanuloErtekeles.CREATED Created
,TanuloErtekeles.C_ISMAGATARTASSZORGALOM IsMagatartasSzorgalom
,TanuloErtekeles.C_MAGATARTASOSZTALYZATID MagatartasOsztalyzatId
,TanuloErtekeles.C_MAGATARTASSZOVEG MagatartasSzoveg
,TanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV MagatartasSzovegRovidNev
,TanuloErtekeles.C_MAGATARTASERTEKID MagatartasErtekId
,TanuloErtekeles.C_SZORGALOMOSZTALYZATID SzorgalomOsztalyzatId
,TanuloErtekeles.C_SZORGALOMSZOVEG SzorgalomSzoveg
,TanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV SzorgalomSzovegRovidNev
,TanuloErtekeles.C_SZORGALOMERTEKID SzorgalomErtekId
FROM
T_TANULOCSOPORT_OSSZES TanuloCsoport
INNER JOIN
T_FELHASZNALO_OSSZES FelhasznaloTanulo ON
FelhasznaloTanulo.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
AND FelhasznaloTanulo.C_TANEVID = TanuloCsoport.C_TANEVID
AND FelhasznaloTanulo.TOROLT = 'F'
AND FelhasznaloTanulo.ID = TanuloCsoport.C_TANULOID
LEFT JOIN
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
OsztalyCsoport.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
AND OsztalyCsoport.TOROLT = 'F'
AND OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
LEFT JOIN(
SELECT
TanuloErtekeles.*
FROM
T_TANULOERTEKELES_OSSZES TanuloErtekeles
INNER JOIN
T_OSZTALYCSOPORT_OSSZES Osztaly ON
Osztaly.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
AND Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID
AND Osztaly.TOROLT = 'F'
AND Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
AND Osztaly.C_EVFOLYAMTIPUSA = (SELECT EvfolyamTipusId FROM #TanuloOsztalyEvfolyamTipusIdList WHERE TanuloId = TanuloErtekeles.C_TANULOID)
AND Osztaly.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
WHERE
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
AND TanuloErtekeles.C_TANEVID = @pTanevId
AND TanuloErtekeles.TOROLT = 'F'
AND TanuloErtekeles.C_TANTARGYID IS NULL
) AS TanuloErtekeles ON
TanuloErtekeles.C_TANULOID = TanuloCsoport.C_TANULOID
LEFT JOIN
T_FELHASZNALO_OSSZES FelhasznaloErtekelo ON
FelhasznaloErtekelo.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
AND FelhasznaloErtekelo.C_TANEVID = TanuloCsoport.C_TANEVID
AND FelhasznaloErtekelo.TOROLT = 'F'
AND FelhasznaloErtekelo.ID = TanuloErtekeles.C_ERTEKELOID
WHERE
TanuloCsoport.C_INTEZMENYID = @pIntezmenyId
AND TanuloCsoport.C_TANEVID = @pTanevId
AND TanuloCsoport.TOROLT = 'F'
AND TanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
AND TanuloCsoport.C_BELEPESDATUM <= @pDatum
AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM >= @pDatum)
END
GO