56 lines
No EOL
3.3 KiB
Transact-SQL
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 |