kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20180928124013_KRETA_7076/sp_GetTeremOrarendOsszes.sql
2024-03-13 00:33:46 +01:00

91 lines
No EOL
2.4 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetTeremOrarendOsszes]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetTeremOrarendOsszes]
END
GO
CREATE PROCEDURE [dbo].[sp_GetTeremOrarendOsszes]
@pTanevId INT
,@pIntezmenyId INT
,@pAktivTanevId INT
,@isEgyebFoglalkozasok BIT
AS
BEGIN
SET NOCOUNT ON;
/*INTEZMENY*/
SELECT
T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve
,T_INTEZMENYADATOK_OSSZES.C_OMKOD IntezmenyOMKod
FROM T_INTEZMENYADATOK_OSSZES
WHERE
T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
AND T_INTEZMENYADATOK_OSSZES.C_TANEVID = @pTanevId
/*TERMEK*/
DECLARE @Hetirendek TABLE (Id INT)
DECLARE @HetirendCount INT = (SELECT COUNT(DISTINCT oo.C_HETIREND) FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@pTanevId)
IF (@HetirendCount=1)
BEGIN
INSERT INTO @Hetirendek
SELECT DISTINCT oo.c_hetirend FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID = @pTanevId
END
ELSE
BEGIN
INSERT INTO @Hetirendek
SELECT DISTINCT oo.C_HETIREND from T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@pTanevId AND oo.C_HETIREND <> 1554
END
SELECT
Terem.Id TeremId
,Terem.C_NEV TeremNev
,Hetirend HetirendId
,HetirendDictionary.C_NAME HetirendNev
FROM T_TEREM_OSSZES Terem
CROSS JOIN (SELECT ID FROM @Hetirendek) Hetirend (Hetirend)
INNER JOIN T_DICTIONARYITEMBASE_OSSZES HetirendDictionary ON HetirendDictionary.id = Hetirend AND HetirendDictionary.C_TANEVID = @pTanevId
WHERE
Terem.C_TANEVID = @pTanevId
AND Terem.TOROLT = 'F'
ORDER BY TeremNev, HetirendNev
DECLARE @tabla TABLE (
TeremId INT
,Ora INT
,HetirendId INT
,TeremNev NVARCHAR(MAX)
,Hetfo NVARCHAR(MAX)
,Kedd NVARCHAR(MAX)
,Szerda NVARCHAR(MAX)
,Csutortok NVARCHAR(MAX)
,Pentek NVARCHAR(MAX)
,Szombat NVARCHAR(MAX))
DECLARE kurzor CURSOR FOR
SELECT
ID
FROM T_TEREM_OSSZES
WHERE
TOROLT = 'F'
AND C_TANEVID = @pTanevId
AND C_INTEZMENYID = @pIntezmenyId
DECLARE @teremId INT
OPEN kurzor
FETCH NEXT FROM kurzor INTO @teremId
WHILE @@FETCH_STATUS = 0 BEGIN
INSERT INTO @tabla
EXEC dbo.sp_GetTeremOrarend @pIntezmenyId, @pTanevId, @teremId, @pAktivTanevId, @isEgyebFoglalkozasok, 0
FETCH NEXT FROM kurzor INTO @teremId
END
CLOSE kurzor
DEALLOCATE kurzor
SELECT * from @tabla ORDER BY Ora
END
GO