kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190828103631_KRETA2_835/uspTanulokBejegyzesStatisztika.sql
2024-03-13 00:33:46 +01:00

144 lines
No EOL
3.3 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspTanulokBejegyzesStatisztika;
GO
CREATE PROCEDURE uspTanulokBejegyzesStatisztika
@tanevId int
,@osztalyId int
AS BEGIN
SET NOCOUNT ON;
DECLARE
@FelevVege date
/*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
)
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 DISTINCT
@osztalyId AS OsztalyId
,ocs.C_NEV AS OsztalyNev
,i.C_NEV AS IntezmenyNeve
,i.C_OMKOD AS 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
INSERT INTO #TanuloAlapAdatok (
TanuloId
,TanuloCsoportId
,Sorszam
,TorzslapSzam
,OktAzon
,TajSzam
,AnyjaNeve
,SzulHely
,SzulIdo
,SocAdat
,Kepzes
,TanuloNeve
,Allampolgarsaga
,DiakIgazolvanySzam
,KilepesDatum
,BeirasiNaploSorszam
,AktualisOsztaly
,AktualisOsztalyId
,BelepesDatum
)
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
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
FROM #TanuloAlapAdatok ta
ORDER BY ta.Sorszam
SELECT
a.TanuloId
,a.TanuloCsoportId
,a.KilepesDatum
,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 AS 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