Files
kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20171205105959_KRETA_4403/sp_GetPedagogusOrarendOsszes.sql
2024-03-13 00:33:46 +01:00

91 lines
2.2 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetPedagogusOrarendOsszes]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetPedagogusOrarendOsszes]
END
GO
CREATE PROCEDURE [dbo].[sp_GetPedagogusOrarendOsszes]
@tanevID INT,
@intezmenyId INT,
@aktivTanevId INT,
@isEgyebFoglalkozasok BIT,
@pedagogusId INT
AS
BEGIN
SELECT DISTINCT
IntezmenyAdatok.C_NEV as intezmeny
,ISNULL(IntezmenyAdatok.C_VAROS + ', ', '') + dbo.fnGetDokumentumDatumFormatum(GETDATE()) AS kelt
,(SELECT C_NYOMTATASINEV FROM T_FELHASZNALO_OSSZES WHERE Id = @pedagogusId) PedagogusNev
FROM T_INTEZMENY_OSSZES Intezmeny
INNER JOIN T_INTEZMENYADATOK_OSSZES IntezmenyAdatok ON IntezmenyAdatok.C_INTEZMENYID = Intezmeny.ID AND IntezmenyAdatok.C_TANEVID = @tanevid
WHERE
Intezmeny.Id = @intezmenyId
AND Intezmeny.TOROLT='F'
DECLARE @tabla TABLE (
PedagogusId INT,
Ora INT,
Hetirend INT,
PedagogusNev NVARCHAR(MAX),
Hetfo NVARCHAR(MAX),
Kedd NVARCHAR(MAX),
Szerda NVARCHAR(MAX),
Csutortok NVARCHAR(MAX),
Pentek NVARCHAR(MAX),
Szombat NVARCHAR(MAX),
HetirendNev NVARCHAR(MAX)
)
SELECT
Alkalmazott.ID
,Felhasznalo.C_NYOMTATASINEV Nev
INTO #Pedagogusok
FROM T_ALKALMAZOTT_OSSZES Alkalmazott
INNER JOIN (SELECT DISTINCT C_TANARID FROM T_ORARENDIORA_OSSZES WHERE C_TANEVID = @tanevID AND TOROLT = 'F') OrarendiOra on OrarendiOra.C_TANARID = Alkalmazott.Id
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.Id = Alkalmazott.Id
WHERE
Alkalmazott.torolt='F'
AND Alkalmazott.C_ALTANEVID = @tanevID
AND (@pedagogusId = -1 OR Alkalmazott.Id = @pedagogusId)
DECLARE kurzor CURSOR FOR
SELECT ID FROM #Pedagogusok
DECLARE @TanarId int
OPEN kurzor
FETCH NEXT FROM kurzor INTO @TanarId
WHILE @@FETCH_STATUS = 0 BEGIN
INSERT INTO @tabla
EXEC sp_GetPedagogusOrarend @intezmenyId, @tanevid, @tanarid, @aktivTanevId, @isEgyebFoglalkozasok
FETCH NEXT FROM kurzor INTO @TanarId
END
CLOSE kurzor
DEALLOCATE kurzor
SELECT
ID PedagogusId
,Nev
,Hetirend
FROM #Pedagogusok
CROSS JOIN (SELECT DISTINCT HetirendNev FROM @tabla) Hetirend (Hetirend)
ORDER BY Nev, Hetirend
SELECT
*
FROM @tabla
ORDER BY Hetirend, Ora
END
GO