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

View file

@ -0,0 +1,65 @@
DROP FUNCTION IF EXISTS dbo.fnGetDokumentumTanulokAdatai
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION dbo.fnGetDokumentumTanulokAdatai(@tanevId INT, @osztalyCsoportId INT)
RETURNS TABLE
RETURN (
SELECT DISTINCT
TanuloId
,TanuloCsoportId
,Sorszam
,TorzslapSzam
,OktAzon
,TajSzam
,AnyjaNeve
,SzulHely
,dbo.fnGetDokumentumDatumFormatum(szulIdo) SzulIdo
,IIF(socAdat = '', '', LEFT(socAdat, len(socAdat)- 1)) SocAdat
,Kepzes
,TanuloNeve
,Allampolgarsaga
,DiakIgazolvanySzam
,dbo.fnGetDokumentumDatumFormatum(KilepesDatum) KilepesDatum
,BeirasiNaploSorszam
,AktualisOsztaly
,AktualisOsztalyId
,dbo.fnGetDokumentumDatumFormatum(BelepesDatum) BelepesDatum
FROM (
SELECT
OsztalyCsoportTanuloi.TanuloId TanuloId
,OsztalyCsoportTanuloi.TanuloCsoportId TanuloCsoportId
,OsztalyCsoportTanuloi.NaploSorszam Sorszam
,OsztalyCsoportTanuloi.TorzslapSzam TorzslapSzam
,Felhasznalo.C_OKTATASIAZONOSITO OktAzon
,Felhasznalo.C_TAJSZAM TajSzam
,Felhasznalo.C_ANYJANEVE AnyjaNeve
,Felhasznalo.C_SZULETESIHELY SzulHely
,Felhasznalo.C_SZULETESIDATUM SzulIdo
,IIF(Tanulo.C_MAGANTANULO = 'T', 'Magántanuló (' + MagantanulosagOka.C_NAME + '), ', '') +
IIF(Tanulo.C_JOGVISZONYATSZUNETELTETO = 'T', 'Jogviszony szüneteltetve, ', '') +
IIF(Tanulo.C_SZAKMAIGYAKORLATON = 'T', 'Szakmai gyakorlat, ', '') +
IIF(Tanulo.C_SZOCIALISTAMOGATAS = 'T', 'Szociális támogatás, ', '') +
--IIF(Tanulo.C_SAJATOSNEVELESU = 'T', 'Sajátos nevelési igényű, ', '') +
IIF(Tanulo.C_BEJARO = 'T', 'Bejáró, ', '')
SocAdat
,Tanterv.C_NEV Kepzes
,Felhasznalo.C_NYOMTATASINEV TanuloNeve
,AllampolgarsagDic.C_NAME Allampolgarsaga
,Tanulo.C_DIAKIGAZOLVANYSZAM DiakIgazolvanySzam
,OsztalyCsoportTanuloi.KilepesDatum KilepesDatum
,Tanulo.C_BEIRASINAPLOSORSZAM BeirasiNaploSorszam
,dbo.fnGetDokumentumTanuloAktualisOsztaly(OsztalyCsoportTanuloi.TanuloId) AktualisOsztaly /*TODO:Tobb Osztaly*//*OM-1653*/
,dbo.fnGetDokumentumTanuloAktualisOsztalyId(OsztalyCsoportTanuloi.TanuloId) AktualisOsztalyId
,OsztalyCsoportTanuloi.BelepesDatum BelepesDatum
FROM T_TANULO_OSSZES Tanulo
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') OsztalyCsoportTanuloi ON OsztalyCsoportTanuloi.TanuloId = Tanulo.ID
INNER JOIN T_TANTERV_OSSZES Tanterv ON Tanterv.ID = Tanulo.C_TANTERVID
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Tanulo.ID
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AllampolgarsagDic ON AllampolgarsagDic.ID = Felhasznalo.C_ALLAMPOLGARSAGA AND AllampolgarsagDic.C_TANEVID = Felhasznalo.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MagantanulosagOka ON MagantanulosagOka.ID = Tanulo.C_MAGANTANULOSAGANAKOKA AND MagantanulosagOka.C_TANEVID = Felhasznalo.C_TANEVID
)tmp
)

View file

@ -0,0 +1,36 @@
DROP FUNCTION IF EXISTS fnGetDokumentumTanulokFeljegyzeseiHavibontasban
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION fnGetDokumentumTanulokFeljegyzeseiHavibontasban (@tanevId INT, @osztalyId INT, @FelevVege DATE, @BelepesDatum DATETIME, @KilepesDatum DATETIME)
RETURNS TABLE
RETURN (
SELECT
tte.C_TANULOID AS TanuloId
,d.C_NAME AS Tipus
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 9 THEN 1 ELSE 0 END) AS Szeptember
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 10 THEN 1 ELSE 0 END) AS Oktober
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 11 THEN 1 ELSE 0 END) AS November
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 12 THEN 1 ELSE 0 END) AS December
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 1 THEN 1 ELSE 0 END) AS Januar
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 2 THEN 1 ELSE 0 END) AS Februar
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 3 THEN 1 ELSE 0 END) AS Marcius
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 4 THEN 1 ELSE 0 END) AS Aprilis
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 5 THEN 1 ELSE 0 END) AS Majus
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 6 THEN 1 ELSE 0 END) AS Junius
,SUM(CASE WHEN te.C_ROGZITESDATUMA <= @FelevVege THEN 1 ELSE 0 END) AS Felev
,SUM(1) AS Ossz
FROM T_TANULO_TANULOESEMENY tte
INNER JOIN T_TANULOESEMENY_OSSZES te ON te.ID = tte.C_TANULOESEMENYID AND te.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = te.C_TIPUS AND d.TOROLT = 'F'
WHERE
tte.C_TANULOID IN (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T'))
AND te.TOROLT = 'F'
AND @BelepesDatum <= te.C_ROGZITESDATUMA
AND (@KilepesDatum IS NULL OR @KilepesDatum >= te.C_ROGZITESDATUMA)
GROUP BY tte.C_TANULOID, d.C_NAME
)

View file

@ -0,0 +1,66 @@
DROP FUNCTION IF EXISTS fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId INT, @osztalyId INT, @tipusID INT, @CsakOravalRendelkezo BIT, @FelevVege DATE, @BelepesDatum DATETIME, @KilepesDatum DATETIME)
RETURNS TABLE
RETURN (
SELECT
tte.C_TANULOID AS TanuloId
,t.C_NEVNYOMTATVANYBAN AS Tantargy
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 9 THEN 1 ELSE 0 END) AS Szeptember
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 10 THEN 1 ELSE 0 END) AS Oktober
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 11 THEN 1 ELSE 0 END) AS November
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 12 THEN 1 ELSE 0 END) AS December
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 1 THEN 1 ELSE 0 END) AS Januar
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 2 THEN 1 ELSE 0 END) AS Februar
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 3 THEN 1 ELSE 0 END) AS Marcius
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 4 THEN 1 ELSE 0 END) AS Aprilis
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 5 THEN 1 ELSE 0 END) AS Majus
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 6 THEN 1 ELSE 0 END) AS Junius
,SUM(CASE WHEN te.C_ROGZITESDATUMA <= @FelevVege THEN 1 ELSE 0 END) AS Felev
,SUM(1) AS Ossz
FROM T_TANULO_TANULOESEMENY tte
INNER JOIN T_TANULOESEMENY_OSSZES te ON te.ID = tte.C_TANULOESEMENYID AND te.TOROLT = 'F'
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = te.C_TANTARGYID AND t.TOROLT = 'F'
WHERE
tte.C_TANULOID IN (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T'))
AND te.TOROLT = 'F'
AND te.C_TIPUS = @tipusID
AND (@CsakOravalRendelkezo = 1 AND te.C_TANITASIORAID IS NOT NULL)
AND @BelepesDatum <= te.C_ROGZITESDATUMA
AND (@KilepesDatum IS NULL OR @KilepesDatum >= te.C_ROGZITESDATUMA)
GROUP BY tte.C_TANULOID, t.C_NEVNYOMTATVANYBAN
UNION ALL
SELECT
tte.C_TANULOID AS TanuloId
,N'Összesen' AS Tantargy
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 9 THEN 1 ELSE 0 END) AS Szeptember
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 10 THEN 1 ELSE 0 END) AS Oktober
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 11 THEN 1 ELSE 0 END) AS November
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 12 THEN 1 ELSE 0 END) AS December
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 1 THEN 1 ELSE 0 END) AS Januar
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 2 THEN 1 ELSE 0 END) AS Februar
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 3 THEN 1 ELSE 0 END) AS Marcius
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 4 THEN 1 ELSE 0 END) AS Aprilis
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 5 THEN 1 ELSE 0 END) AS Majus
,SUM(CASE WHEN DATEPART(MONTH, te.C_ROGZITESDATUMA) = 6 THEN 1 ELSE 0 END) AS Junius
,SUM(CASE WHEN te.C_ROGZITESDATUMA <= @FelevVege THEN 1 ELSE 0 END) AS Felev
,SUM(1) AS Ossz
FROM T_TANULO_TANULOESEMENY tte
INNER JOIN T_TANULOESEMENY_OSSZES te ON te.ID = tte.C_TANULOESEMENYID AND te.TOROLT = 'F'
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = te.C_TANTARGYID AND t.TOROLT = 'F'
WHERE
tte.C_TANULOID IN (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T'))
AND te.TOROLT = 'F'
AND te.C_TIPUS = @tipusID
AND (@CsakOravalRendelkezo = 1 AND te.C_TANITASIORAID IS NOT NULL)
AND @BelepesDatum <= te.C_ROGZITESDATUMA
AND (@KilepesDatum IS NULL OR @KilepesDatum >= te.C_ROGZITESDATUMA)
GROUP BY tte.C_TANULOID
)

View file

@ -0,0 +1,98 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS uspTanulokBejegyzesStatisztika
GO
CREATE PROCEDURE uspTanulokBejegyzesStatisztika
@tanevId INT,
@osztalyId INT
AS
BEGIN
DECLARE @FelevVege DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID=@tanevId AND TOROLT = 'F')
SELECT DISTINCT
@osztalyId OsztalyId
,ocs.C_NEV OsztalyNev
,i.C_NEV IntezmenyNeve
,i.C_OMKOD IntezmenyOMKod
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID=ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.Torolt = 'F'
WHERE ocs.ID = @osztalyId
/*TANULÓ adatai*/
CREATE TABLE #TanuloAlapAdatok (
TanuloId INT
,TanuloCsoportId INT
,Sorszam INT NULL
,TorzslapSzam NVARCHAR(500) NULL
,OktAzon NVARCHAR(20) NULL
,TajSzam NVARCHAR(9) NULL
,AnyjaNeve NVARCHAR(64)
,SzulHely NVARCHAR(50) NULL
,SzulIdo NVARCHAR(MAX) NULL
,SocAdat NVARCHAR(340) NULL
,Kepzes NVARCHAR(255)
,TanuloNeve NVARCHAR(255)
,Allampolgarsaga NVARCHAR(250)
,DiakIgazolvanySzam NVARCHAR(255) NULL
,KilepesDatum NVARCHAR(MAX) NULL
,BeirasiNaploSorszam NVARCHAR(50) NULL
,AktualisOsztaly NVARCHAR(MAX) NULL
,AktualisOsztalyId INT NULL
,BelepesDatum NVARCHAR(MAX) NULL
)
INSERT INTO #TanuloAlapAdatok
SELECT
TanuloId
,TanuloCsoportId
,Sorszam
,TorzslapSzam
,OktAzon
,TajSzam
,AnyjaNeve
,SzulHely
,SzulIdo
,SocAdat
,Kepzes
,TanuloNeve
,Allampolgarsaga
,DiakIgazolvanySzam
,KilepesDatum
,BeirasiNaploSorszam
,AktualisOsztaly
,AktualisOsztalyId
,BelepesDatum
FROM fnGetDokumentumTanulokAdatai(@tanevId, @osztalyId)
SELECT *
FROM #TanuloAlapAdatok
ORDER BY Sorszam
SELECT
a.TanuloId
,a.TanuloCsoportId
,feljegyzes.Tipus
,feljegyzes.Szeptember
,feljegyzes.Oktober
,feljegyzes.November
,feljegyzes.December
,feljegyzes.Januar
,feljegyzes.Februar
,feljegyzes.Marcius
,feljegyzes.Aprilis
,feljegyzes.Majus
,feljegyzes.Junius
,feljegyzes.Felev
,feljegyzes.Ossz
FROM #TanuloAlapAdatok a
CROSS APPLY fnGetDokumentumTanulokFeljegyzeseiHavibontasban (@tanevId, @osztalyId, @FelevVege, PARSE(a.BelepesDatum AS DATETIME), PARSE(a.KilepesDatum AS DATETIME)) feljegyzes
WHERE feljegyzes.TanuloId = a.TanuloId
END
GO

View file

@ -0,0 +1,162 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS uspTanulokGyorsBejegyzesStatisztika
GO
CREATE PROCEDURE uspTanulokGyorsBejegyzesStatisztika
@tanevId INT,
@osztalyId INT
AS
BEGIN
DECLARE @FelevVege DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID=@tanevId AND TOROLT = 'F')
SELECT DISTINCT
@osztalyId OsztalyId
,ocs.C_NEV OsztalyNev
,i.C_NEV IntezmenyNeve
,i.C_OMKOD IntezmenyOMKod
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID=ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.Torolt = 'F'
WHERE ocs.ID = @osztalyId
/*TANULÓ adatai*/
CREATE TABLE #TanuloAlapAdatok (
TanuloId INT
,TanuloCsoportId INT
,Sorszam INT NULL
,TorzslapSzam NVARCHAR(500) NULL
,OktAzon NVARCHAR(20) NULL
,TajSzam NVARCHAR(9) NULL
,AnyjaNeve NVARCHAR(64)
,SzulHely NVARCHAR(50) NULL
,SzulIdo NVARCHAR(MAX) NULL
,SocAdat NVARCHAR(340) NULL
,Kepzes NVARCHAR(255)
,TanuloNeve NVARCHAR(255)
,Allampolgarsaga NVARCHAR(250)
,DiakIgazolvanySzam NVARCHAR(255) NULL
,KilepesDatum NVARCHAR(MAX) NULL
,BeirasiNaploSorszam NVARCHAR(50) NULL
,AktualisOsztaly NVARCHAR(MAX) NULL
,AktualisOsztalyId INT NULL
,BelepesDatum NVARCHAR(MAX) NULL
)
INSERT INTO #TanuloAlapAdatok
SELECT
TanuloId
,TanuloCsoportId
,Sorszam
,TorzslapSzam
,OktAzon
,TajSzam
,AnyjaNeve
,SzulHely
,SzulIdo
,SocAdat
,Kepzes
,TanuloNeve
,Allampolgarsaga
,DiakIgazolvanySzam
,KilepesDatum
,BeirasiNaploSorszam
,AktualisOsztaly
,AktualisOsztalyId
,BelepesDatum
FROM fnGetDokumentumTanulokAdatai(@tanevId, @osztalyId)
SELECT *
FROM #TanuloAlapAdatok
ORDER BY Sorszam
-- Házifeladat hiány
SELECT
a.TanuloId
,a.TanuloCsoportId
,feljegyzes.Tantargy
,feljegyzes.Szeptember
,feljegyzes.Oktober
,feljegyzes.November
,feljegyzes.December
,feljegyzes.Januar
,feljegyzes.Februar
,feljegyzes.Marcius
,feljegyzes.Aprilis
,feljegyzes.Majus
,feljegyzes.Junius
,feljegyzes.Felev
,feljegyzes.Ossz
FROM #TanuloAlapAdatok a
CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 6325, 0, @FelevVege, PARSE(a.BelepesDatum AS DATETIME), PARSE(a.KilepesDatum AS DATETIME)) feljegyzes
WHERE feljegyzes.TanuloId = a.TanuloId
-- Felszerelés hiány
SELECT
a.TanuloId
,a.TanuloCsoportId
,feljegyzes.Tantargy
,feljegyzes.Szeptember
,feljegyzes.Oktober
,feljegyzes.November
,feljegyzes.December
,feljegyzes.Januar
,feljegyzes.Februar
,feljegyzes.Marcius
,feljegyzes.Aprilis
,feljegyzes.Majus
,feljegyzes.Junius
,feljegyzes.Felev
,feljegyzes.Ossz
FROM #TanuloAlapAdatok a
CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 6324, 0, @FelevVege, PARSE(a.BelepesDatum AS DATETIME), PARSE(a.KilepesDatum AS DATETIME)) feljegyzes
WHERE feljegyzes.TanuloId = a.TanuloId
-- Felmentés
SELECT
a.TanuloId
,a.TanuloCsoportId
,feljegyzes.Tantargy
,feljegyzes.Szeptember
,feljegyzes.Oktober
,feljegyzes.November
,feljegyzes.December
,feljegyzes.Januar
,feljegyzes.Februar
,feljegyzes.Marcius
,feljegyzes.Aprilis
,feljegyzes.Majus
,feljegyzes.Junius
,feljegyzes.Felev
,feljegyzes.Ossz
FROM #TanuloAlapAdatok a
CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 1542, 0, @FelevVege, PARSE(a.BelepesDatum AS DATETIME), PARSE(a.KilepesDatum AS DATETIME)) feljegyzes
WHERE feljegyzes.TanuloId = a.TanuloId
--Dicséret
SELECT
a.TanuloId
,a.TanuloCsoportId
,feljegyzes.Tantargy
,feljegyzes.Szeptember
,feljegyzes.Oktober
,feljegyzes.November
,feljegyzes.December
,feljegyzes.Januar
,feljegyzes.Februar
,feljegyzes.Marcius
,feljegyzes.Aprilis
,feljegyzes.Majus
,feljegyzes.Junius
,feljegyzes.Felev
,feljegyzes.Ossz
FROM #TanuloAlapAdatok a
CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 1536, 1, @FelevVege, PARSE(a.BelepesDatum AS DATETIME), PARSE(a.KilepesDatum AS DATETIME)) feljegyzes
WHERE feljegyzes.TanuloId = a.TanuloId
END
GO