kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/uspGondviseloTanuloinakEvfolyamTipusaLetezik.sql
2024-03-13 00:33:46 +01:00

56 lines
No EOL
3.3 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS uspGondviseloTanuloinakEvfolyamTipusaLetezik
GO
CREATE PROCEDURE uspGondviseloTanuloinakEvfolyamTipusaLetezik
@pIntezmenyId int
,@pTanevId int
,@pGondviseloId int
,@pEvfolyamtipusIdList nvarchar(250)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @items TABLE(id INT NOT NULL PRIMARY KEY CLUSTERED);
INSERT INTO @items(id)
SELECT VALUE FROM STRING_SPLIT(@pEvfolyamtipusIdList, ',');
SELECT COUNT(1) FROM
(
SELECT TOP 1 gondviselo.ID
FROM T_GONDVISELO_OSSZES gondviselo
INNER JOIN T_TANULO_OSSZES tanulo ON gondviselo.C_TANULOID = tanulo.ID AND tanulo.TOROLT = 'F' AND gondviselo.C_TANEVID = tanulo.C_ALTANEVID AND gondviselo.C_INTEZMENYID = tanulo.C_ALINTEZMENYID
INNER JOIN T_TANULOCSOPORT_OSSZES tanuloCsoport ON tanuloCsoport.C_TANULOID = tanulo.ID AND tanuloCsoport.TOROLT = 'F' AND tanuloCsoport.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND tanuloCsoport.C_TANEVID = tanulo.C_ALTANEVID
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = tanuloCsoport.C_OSZTALYCSOPORTID AND osztalyCsoport.TOROLT = 'F' AND osztalyCsoport.C_TANEVID = tanuloCsoport.C_TANEVID AND osztalyCsoport.C_INTEZMENYID = tanuloCsoport.C_INTEZMENYID
INNER JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = osztalycsoport.ID AND osztaly.C_ALTANEVID = osztalyCsoport.C_TANEVID AND osztaly.C_ALINTEZMENYID = osztalycsoport.C_INTEZMENYID AND osztaly.TOROLT = 'F'
INNER JOIN @items i on i.id = osztalyCsoport.C_EVFOLYAMTIPUSA
WHERE tanuloCsoport.C_BELEPESDATUM <= GETDATE()
AND (tanuloCsoport.C_KILEPESDATUM > GETDATE() OR tanuloCsoport.C_KILEPESDATUM IS NULL)
AND gondviselo.ID = @pGondviseloId
AND gondviselo.C_INTEZMENYID = @pIntezmenyId
AND gondviselo.C_TANEVID = @pTanevId
UNION ALL
SELECT TOP 1 gondviselo.ID
FROM T_GONDVISELO_OSSZES gondviselo
INNER JOIN T_TANULO_OSSZES tanulo ON gondviselo.C_TANULOID = tanulo.ID AND tanulo.TOROLT = 'F' AND gondviselo.C_TANEVID = tanulo.C_ALTANEVID AND gondviselo.C_INTEZMENYID = tanulo.C_ALINTEZMENYID
INNER JOIN T_TANULOCSOPORT_OSSZES tanuloCsoport ON tanuloCsoport.C_TANULOID = tanulo.ID AND tanuloCsoport.TOROLT = 'F' AND tanuloCsoport.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND tanuloCsoport.C_TANEVID = tanulo.C_ALTANEVID
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = tanuloCsoport.C_OSZTALYCSOPORTID AND osztalyCsoport.TOROLT = 'F' AND osztalyCsoport.C_TANEVID = tanuloCsoport.C_TANEVID AND osztalyCsoport.C_INTEZMENYID = tanuloCsoport.C_INTEZMENYID
INNER JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = osztalycsoport.ID AND osztaly.C_ALTANEVID = osztalyCsoport.C_TANEVID AND osztaly.C_ALINTEZMENYID = osztalycsoport.C_INTEZMENYID AND osztaly.TOROLT = 'F'
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tanuloCsoport.ID AND tta.TOROLT = 'F'
INNER JOIN @items i on i.id = tta.C_TANULOEVFOLYAMTIPUSID
WHERE tanuloCsoport.C_BELEPESDATUM <= GETDATE()
AND (tanuloCsoport.C_KILEPESDATUM > GETDATE() OR tanuloCsoport.C_KILEPESDATUM IS NULL)
AND gondviselo.ID = @pGondviseloId
AND gondviselo.C_INTEZMENYID = @pIntezmenyId
AND gondviselo.C_TANEVID = @pTanevId
AND osztalyCsoport.C_EVFOLYAMTIPUSA = 7366 --Összevont osztály
) AS Gondviselok
END