kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/uspTanulokGyorsBejegyzesStatisztika.sql
2024-03-13 00:33:46 +01:00

220 lines
5.3 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspTanulokGyorsBejegyzesStatisztika
GO
CREATE PROCEDURE uspTanulokGyorsBejegyzesStatisztika
@tanevId int
,@osztalyId int
AS BEGIN
SET NOCOUNT ON;
DECLARE
@FelevVege date,
@OsztalyNev nvarchar(255)
/*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
,OsztalyNev nvarchar(255) NULL
)
SELECT TOP 1
@FelevVege = tr.C_DATUM
FROM T_TANEVRENDJE_OSSZES tr
WHERE tr.C_NAPTIPUSA = 1400
AND tr.C_TANEVID = @tanevId
AND tr.TOROLT = 'F'
SELECT
@OsztalyNev = C_NEV
FROM T_OSZTALYCSOPORT_OSSZES
WHERE
ID = @osztalyId
AND TOROLT = 'F'
SELECT DISTINCT
@osztalyId AS OsztalyId
,@OsztalyNev AS OsztalyNev
,C_NEV AS IntezmenyNeve
,C_OMKOD AS IntezmenyOMKod
FROM T_INTEZMENYADATOK_OSSZES
WHERE
C_TANEVID = @tanevId
AND TOROLT = 'F'
INSERT INTO #TanuloAlapAdatok (
TanuloId
,TanuloCsoportId
,Sorszam
,TorzslapSzam
,OktAzon
,TajSzam
,AnyjaNeve
,SzulHely
,SzulIdo
,SocAdat
,Kepzes
,TanuloNeve
,Allampolgarsaga
,DiakIgazolvanySzam
,KilepesDatum
,BeirasiNaploSorszam
,AktualisOsztaly
,AktualisOsztalyId
,BelepesDatum
,OsztalyNev
)
SELECT
ta.TanuloId
,ta.TanuloCsoportId
,ta.Sorszam
,ta.TorzslapSzam
,ta.OktAzon
,ta.TajSzam
,ta.AnyjaNeve
,ta.SzulHely
,ta.SzulIdo
,ta.SocAdat
,ta.Kepzes
,ta.TanuloNeve
,ta.Allampolgarsaga
,ta.DiakIgazolvanySzam
,ta.KilepesDatum
,ta.BeirasiNaploSorszam
,ta.AktualisOsztaly
,ta.AktualisOsztalyId
,ta.BelepesDatum
,@OsztalyNev
FROM fnGetDokumentumTanulokAdatai(@tanevId, @osztalyId) ta
SELECT
ta.TanuloId
,ta.TanuloCsoportId
,ta.Sorszam
,ta.TorzslapSzam
,ta.OktAzon
,ta.TajSzam
,ta.AnyjaNeve
,ta.SzulHely
,ta.SzulIdo
,ta.SocAdat
,ta.Kepzes
,ta.TanuloNeve
,ta.Allampolgarsaga
,ta.DiakIgazolvanySzam
,ta.KilepesDatum
,ta.BeirasiNaploSorszam
,ta.AktualisOsztaly
,ta.AktualisOsztalyId
,ta.BelepesDatum
,OsztalyNev
FROM #TanuloAlapAdatok ta
ORDER BY ta.Sorszam
-- Házifeladat hiány
SELECT
a.TanuloId
,a.TanuloCsoportId
,a.KilepesDatum
,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
,a.KilepesDatum
,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
,a.KilepesDatum
,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
,a.KilepesDatum
,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