kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190521132740_AL_210/sp_GetDokumentumTanuloOrarendOsztalyonkent.sql
2024-03-13 00:33:46 +01:00

67 lines
No EOL
1.6 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetDokumentumTanuloOrarendOsztalyonkent]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].sp_GetDokumentumTanuloOrarendOsztalyonkent
END
GO
CREATE PROCEDURE [dbo].sp_GetDokumentumTanuloOrarendOsztalyonkent
@tanevId INT,
@osztalyId INT,
@aktivTanevId INT,
@isEgyebFoglalkozasok BIT,
@pTanuloId INT = NULL,
@orarendErvenyessegiDatum DATE
AS
BEGIN
SET NOCOUNT ON;
DECLARE @tabla TABLE (TanuloId INT, Ora INT, HetirendId INT, Hetfo NVARCHAR(MAX), Kedd NVARCHAR(MAX), Szerda NVARCHAR(MAX), Csutortok NVARCHAR(MAX), Pentek NVARCHAR(MAX), Szombat NVARCHAR(MAX), Hetirend NVARCHAR(MAX), TanuloNev NVARCHAR(MAX))
SELECT
TanuloId
,C_NYOMTATASINEV TanuloNev
INTO #Tanulok
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') Tanulok
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.Id = Tanulok.TanuloId
WHERE (@pTanuloId IS NULL OR @pTanuloId = TanuloId)
DECLARE kurzor CURSOR FOR
SELECT TanuloId FROM #Tanulok
DECLARE @tanuloId INT
OPEN kurzor
FETCH NEXT FROM kurzor INTO @tanuloId
WHILE @@FETCH_STATUS = 0 BEGIN
INSERT INTO @tabla
EXEC sp_GetDokumentumTanuloOrarend @tanevID, @tanuloId, @aktivTanevId, @isEgyebFoglalkozasok, @orarendErvenyessegiDatum
FETCH NEXT FROM kurzor INTO @tanuloId
END
CLOSE kurzor
DEALLOCATE kurzor
SELECT
TanuloId
,TanuloNev
,Hetirend
FROM #Tanulok Tanulok
CROSS JOIN (SELECT DISTINCT Hetirend FROM @tabla) Hetirend (Hetirend)
ORDER BY Hetirend
SELECT
OsztalyokOrarendje.*
FROM @tabla OsztalyokOrarendje
ORDER BY Ora
END
GO