119 lines
5.6 KiB
Transact-SQL
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
|