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

119 lines
5.6 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetOsztalyTanuloinakSzamaKepzesiJellemzokSzerint
GO
CREATE PROCEDURE uspGetOsztalyTanuloinakSzamaKepzesiJellemzokSzerint
@pTanevId int
,@pIntezmenyId int
,@pOsztalyId int
,@pIsAktivTanev bit
AS BEGIN
SET NOCOUNT ON;
DECLARE
@ujSzkt int
,@okj int
,@nkt int
,@ures int
,@reszszakma int
SET @reszszakma =
(SELECT
--RESZSZAKMA
COUNT(tta.ID)
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F'
WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyId
AND (@pIsAktivTanev = 0 OR tcs.C_BELEPESDATUM <= GETDATE())
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
AND (COALESCE (tta.C_AGAZATRESZSZAKMATIPUSID, tta.C_SZAKMARESZSZAKMATIPUSID, tta.C_RESZSZAKMATIPUSID) IS NOT NULL
AND (tta.C_AGAZATRESZSZAKMATIPUSID <> 8832 OR tta.C_SZAKMARESZSZAKMATIPUSID <> 8850 OR tta.C_RESZSZAKMATIPUSID <> 8895)
) /*Ha bármelyik nem null vagy nem Na*/
AND tcs.TOROLT = 'F'
AND tcs.C_TANEVID = @pTanevId
AND tcs.C_INTEZMENYID = @pIntezmenyId)
SET @ujSzkt =
(SELECT
--UJSZKT
COUNT(tta.ID)
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F'
WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyId
AND (@pIsAktivTanev = 0 OR tcs.C_BELEPESDATUM <= GETDATE())
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
AND (COALESCE (tta.C_AGAZATUJSZKTTIPUSID, tta.C_SZAKMATIPUSID, tta.C_SZAKMAIRANYTIPUSID) IS NOT NULL
AND (tta.C_AGAZATUJSZKTTIPUSID <> 7920 OR tta.C_SZAKMATIPUSID <> 7946 OR tta.C_SZAKMAIRANYTIPUSID <> 8122)
) /*Ha bármelyik nem null vagy nem Na*/
AND tcs.TOROLT = 'F'
AND tcs.C_TANEVID = @pTanevId
AND tcs.C_INTEZMENYID = @pIntezmenyId)
SET @okj =
(SELECT
--OKJ
COUNT(tta.ID)
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F'
WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyId
AND (@pIsAktivTanev = 0 OR tcs.C_BELEPESDATUM <= GETDATE())
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
AND
(COALESCE (tta.C_SZAKMACSOPORTID,tta.C_AGAZATID, tta.C_SZAKKEPESITESID, tta.C_RESZSZAKKEPESITESID) IS NOT NULL
AND (tta.C_SZAKMACSOPORTID <> 6084 OR tta.C_AGAZATID <> 5484 OR tta.C_SZAKKEPESITESID <> 5527 OR tta.C_RESZSZAKKEPESITESID <> 6108)
) /*Ha bármelyik nem null vagy nem Na*/
AND tcs.TOROLT = 'F'
AND tcs.C_TANEVID = @pTanevId
AND tcs.C_INTEZMENYID = @pIntezmenyId)
SET @nkt =
(SELECT
--NKT
COUNT(tta.ID)
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F'
WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyId
AND (@pIsAktivTanev = 0 OR tcs.C_BELEPESDATUM <= GETDATE())
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
AND (COALESCE (tta.C_SZAKIRANYNKTTIPUSID,tta.C_SZAKKEPESITESNKTTIPUSID, tta.C_TANULMANYITERULETNKTTIPUSID) IS NOT NULL
AND (tta.C_SZAKIRANYNKTTIPUSID <> 8493 OR tta.C_SZAKKEPESITESNKTTIPUSID <> 8464 OR tta.C_TANULMANYITERULETNKTTIPUSID <> 8459)
) /*Ha bármelyik nem null vagy nem Na*/
AND tcs.TOROLT = 'F'
AND tcs.C_TANEVID = @pTanevId
AND tcs.C_INTEZMENYID = @pIntezmenyId)
SET @ures =
(SELECT
/*Üres ha minden képzési jellemző adat null vagy Na*/
COUNT(tta.ID)
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F'
WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyId
AND (@pIsAktivTanev = 0 OR tcs.C_BELEPESDATUM <= GETDATE())
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
AND (tta.C_AGAZATUJSZKTTIPUSID IS NULL OR tta.C_AGAZATUJSZKTTIPUSID = 7920)
AND (tta.C_SZAKMATIPUSID IS NULL OR tta.C_SZAKMATIPUSID = 7946)
AND (tta.C_SZAKMAIRANYTIPUSID IS NULL OR tta.C_SZAKMAIRANYTIPUSID = 8122)
AND (tta.C_SZAKMACSOPORTID IS NULL OR tta.C_SZAKMACSOPORTID = 6084)
AND (tta.C_AGAZATID IS NULL OR tta.C_AGAZATID = 5484)
AND (tta.C_SZAKKEPESITESID IS NULL OR tta.C_SZAKKEPESITESID = 5527)
AND (tta.C_RESZSZAKKEPESITESID IS NULL OR tta.C_RESZSZAKKEPESITESID = 6108)
AND (tta.C_SZAKIRANYNKTTIPUSID IS NULL OR tta.C_SZAKIRANYNKTTIPUSID = 8493)
AND (tta.C_SZAKKEPESITESNKTTIPUSID IS NULL OR tta.C_SZAKKEPESITESNKTTIPUSID = 8464)
AND (tta.C_TANULMANYITERULETNKTTIPUSID IS NULL OR tta.C_TANULMANYITERULETNKTTIPUSID = 8459)
AND (tta.C_AGAZATUJSZKTTIPUSID IS NULL OR tta.C_AGAZATUJSZKTTIPUSID = 7920)
AND (tta.C_AGAZATRESZSZAKMATIPUSID IS NULL OR tta.C_AGAZATRESZSZAKMATIPUSID = 8832)
AND (tta.C_SZAKMARESZSZAKMATIPUSID IS NULL OR tta.C_AGAZATRESZSZAKMATIPUSID = 8850)
AND (tta.C_RESZSZAKMATIPUSID IS NULL OR tta.C_AGAZATRESZSZAKMATIPUSID = 8895)
AND tcs.TOROLT = 'F'
AND tcs.C_TANEVID = @pTanevId
AND tcs.C_INTEZMENYID = @pIntezmenyId)
SELECT
@ujSzkt SzktCount
,@okj OkjCount
,@nkt NktCount
,@ures UresCount
,@reszszakma ReszszakmaCount
END
GO