84 lines
2.4 KiB
Transact-SQL
84 lines
2.4 KiB
Transact-SQL
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
IF OBJECT_ID('[dbo].[sp_GetOsztalyOrarendOsszes]') IS NOT NULL
|
|
BEGIN
|
|
DROP PROCEDURE [dbo].[sp_GetOsztalyOrarendOsszes]
|
|
END
|
|
GO
|
|
|
|
|
|
CREATE PROCEDURE [dbo].[sp_GetOsztalyOrarendOsszes]
|
|
@tanevID INT
|
|
,@intezmenyId INT
|
|
,@aktivTanevId INT
|
|
,@isEgyebFoglalkozasok BIT
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT DISTINCT
|
|
ia.C_NEV as intezmeny
|
|
,m.C_NEV as mukodesihely
|
|
,d.C_NAME as oktatasiNevelesiFeladatTipus
|
|
,ISNULL(ia.C_VAROS + ', ', '') + dbo.fnGetDokumentumDatumFormatum(GETDATE()) AS kelt
|
|
FROM T_INTEZMENY_OSSZES i
|
|
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.C_INTEZMENYID=I.ID AND ia.C_TANEVID = @tanevid
|
|
INNER JOIN T_MUKODESIHELY_OSSZES m ON ia.C_INTEZMENYID = m.C_INTEZMENYID AND m.TOROLT = 'F' AND m.C_TANEVID = @tanevID
|
|
INNER JOIN T_FELADATELLATASIHELY_OSSZES f ON m.ID = f.C_MUKODESIHELYID AND f.TOROLT = 'F' AND f.C_TANEVID = @tanevID
|
|
INNER JOIN (SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE_OSSZES) d ON d.id = f.C_OKTATASINEVELESIFELADATTIPUS
|
|
WHERE
|
|
i.id = @intezmenyId
|
|
AND I.TOROLT = 'F'
|
|
|
|
|
|
DECLARE @tabla TABLE (osztalyId 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),Osztalynev NVARCHAR(MAX))
|
|
|
|
SELECT
|
|
ocs.Id OsztalyId
|
|
,ocs.C_NEV OsztalyNev
|
|
INTO #Osztalyok
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
|
INNER JOIN T_OSZTALY_OSSZES o ON ocs.Id=o.Id
|
|
WHERE
|
|
ocs.TOROLT='F'
|
|
AND ocs.C_TANEVID = @tanevID
|
|
AND ocs.C_INTEZMENYID = @intezmenyId
|
|
|
|
DECLARE kurzor CURSOR FOR
|
|
SELECT OsztalyId FROM #Osztalyok
|
|
DECLARE @OsztalyId int
|
|
|
|
OPEN kurzor
|
|
FETCH NEXT FROM kurzor INTO @OsztalyId
|
|
|
|
WHILE @@FETCH_STATUS = 0 BEGIN
|
|
INSERT INTO @tabla
|
|
EXEC sp_GetOrarendOsztalyonkent @intezmenyId, @tanevID, @osztalyid, @aktivTanevId, @isEgyebFoglalkozasok
|
|
|
|
FETCH NEXT FROM kurzor INTO @OsztalyId
|
|
END
|
|
|
|
CLOSE kurzor
|
|
DEALLOCATE kurzor
|
|
|
|
SELECT
|
|
OsztalyId
|
|
,OsztalyNev
|
|
,Hetirend
|
|
FROM #Osztalyok Osztalyok
|
|
CROSS JOIN (SELECT DISTINCT Hetirend FROM @tabla) Hetirend (Hetirend)
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.Id = Osztalyok.OsztalyId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES EvfolyamTipusa ON EvfolyamTipusa.Id = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipusa.C_TANEVID = @tanevId
|
|
ORDER BY C_ORDER, C_NEV
|
|
|
|
SELECT
|
|
OsztalyokOrarendje.*
|
|
FROM @tabla OsztalyokOrarendje
|
|
ORDER BY Ora
|
|
|
|
END
|
|
|
|
GO |