167 lines
8.9 KiB
Transact-SQL
167 lines
8.9 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetOsztalyTanuloinakKepzesiJellemzoi
|
|
GO
|
|
|
|
CREATE PROCEDURE uspGetOsztalyTanuloinakKepzesiJellemzoi
|
|
@pTanevId int
|
|
,@pIntezmenyId int
|
|
,@pOsztalyId int
|
|
,@pJegyzekTipus int
|
|
,@pIsAktivTanev bit
|
|
|
|
AS BEGIN
|
|
SET NOCOUNT ON;
|
|
IF @pJegyzekTipus = 1
|
|
BEGIN
|
|
SELECT
|
|
--UJSZKT
|
|
C_OSZTALYCSOPORTID OsztalyId
|
|
,C_AGAZATUJSZKTTIPUSID AgazatUjSzktTipusId
|
|
,agazatDict.C_NAME AgazatUjSzktTipus
|
|
,C_SZAKMATIPUSID SzakmaTipusId
|
|
,szakmaTipusDict.C_NAME SzakmaTipus
|
|
,C_SZAKMAIRANYTIPUSID SzakmairanyTipusId
|
|
,szakmairanyTipusDict.C_NAME SzakmairanyTipus
|
|
,COUNT(C_OSZTALYCSOPORTID) Letszam
|
|
,@pJegyzekTipus JegyzekTipus
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F'
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES agazatDict ON agazatDict.ID = tta.C_AGAZATUJSZKTTIPUSID and agazatDict.TOROLT = 'F' AND agazatDict.C_TANEVID = @pTanevId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES szakmaTipusDict ON szakmaTipusDict.ID = tta.C_SZAKMATIPUSID and szakmaTipusDict.TOROLT = 'F' AND szakmaTipusDict.C_TANEVID = @pTanevId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES szakmairanyTipusDict ON szakmairanyTipusDict.ID = tta.C_SZAKMAIRANYTIPUSID and szakmairanyTipusDict.TOROLT = 'F' AND szakmairanyTipusDict.C_TANEVID = @pTanevId
|
|
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
|
|
GROUP BY
|
|
C_OSZTALYCSOPORTID
|
|
,C_AGAZATUJSZKTTIPUSID
|
|
,agazatDict.C_NAME
|
|
,C_SZAKMATIPUSID
|
|
,szakmaTipusDict.C_NAME
|
|
,C_SZAKMAIRANYTIPUSID
|
|
,szakmairanyTipusDict.C_NAME
|
|
END
|
|
|
|
IF @pJegyzekTipus = 2
|
|
BEGIN
|
|
SELECT
|
|
--OKJ
|
|
C_OSZTALYCSOPORTID OsztalyId
|
|
,C_SZAKMACSOPORTID SzakmacsoportId
|
|
,SzakmacsoportDict.C_NAME Szakmacsoport
|
|
,C_AGAZATID AgazatId
|
|
,agazatDict.C_NAME Agazat
|
|
,C_SZAKKEPESITESID SzakkepesitesId
|
|
,SzakkepesitesDict.C_NAME Szakkepesites
|
|
,C_RESZSZAKKEPESITESID ReszszakkepesitesId
|
|
,ReszszakkepesitesDict.C_NAME Reszszakkepesites
|
|
,COUNT(C_OSZTALYCSOPORTID) Letszam
|
|
,@pJegyzekTipus JegyzekTipus
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F'
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES szakmacsoportDict ON szakmacsoportDict.ID = tta.C_SZAKMACSOPORTID and szakmacsoportDict.TOROLT = 'F' AND szakmacsoportDict.C_TANEVID = @pTanevId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES agazatDict ON agazatDict.ID = tta.C_AGAZATID and agazatDict.TOROLT = 'F' AND agazatDict.C_TANEVID = @pTanevId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES szakkepesitesDict ON szakkepesitesDict.ID = tta.C_SZAKKEPESITESID and szakkepesitesDict.TOROLT = 'F' AND szakkepesitesDict.C_TANEVID = @pTanevId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES reszszakkepesitesDict ON reszszakkepesitesDict.ID = tta.C_RESZSZAKKEPESITESID and reszszakkepesitesDict.TOROLT = 'F' AND reszszakkepesitesDict.C_TANEVID = @pTanevId
|
|
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
|
|
GROUP BY
|
|
C_OSZTALYCSOPORTID
|
|
,C_SZAKMACSOPORTID
|
|
,SzakmacsoportDict.C_NAME
|
|
,C_AGAZATID
|
|
,agazatDict.C_NAME
|
|
,C_SZAKKEPESITESID
|
|
,SzakkepesitesDict.C_NAME
|
|
,C_RESZSZAKKEPESITESID
|
|
,ReszszakkepesitesDict.C_NAME
|
|
END
|
|
|
|
IF @pJegyzekTipus = 3
|
|
BEGIN
|
|
SELECT
|
|
--NKT
|
|
C_OSZTALYCSOPORTID OsztalyId
|
|
,C_SZAKIRANYNKTTIPUSID SzakiranyNktTipusId
|
|
,szakiranyNktTipusDict.C_NAME SzakiranyNktTipus
|
|
,C_SZAKKEPESITESNKTTIPUSID SzakkepesitesNktTipusId
|
|
,szakkepesitesNktDict.C_NAME SzakkepesitesNktTipus
|
|
,C_TANULMANYITERULETNKTTIPUSID TanulmanyiTeruletNktTipusId
|
|
,tanulmanyiTeruletNktTipusDict.C_NAME TanulmanyiTeruletNktTipus
|
|
,COUNT(C_OSZTALYCSOPORTID) Letszam
|
|
,@pJegyzekTipus JegyzekTipus
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F'
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES szakiranyNktTipusDict ON szakiranyNktTipusDict.ID = tta.C_SZAKIRANYNKTTIPUSID and szakiranyNktTipusDict.TOROLT = 'F' AND szakiranyNktTipusDict.C_TANEVID = @pTanevId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES szakkepesitesNktDict ON szakkepesitesNktDict.ID = tta.C_SZAKKEPESITESNKTTIPUSID and szakkepesitesNktDict.TOROLT = 'F' AND szakkepesitesNktDict.C_TANEVID = @pTanevId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES tanulmanyiTeruletNktTipusDict ON tanulmanyiTeruletNktTipusDict.ID = tta.C_TANULMANYITERULETNKTTIPUSID and tanulmanyiTeruletNktTipusDict.TOROLT = 'F' AND tanulmanyiTeruletNktTipusDict.C_TANEVID = @pTanevId
|
|
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
|
|
GROUP BY
|
|
C_OSZTALYCSOPORTID
|
|
,C_SZAKIRANYNKTTIPUSID
|
|
,szakiranyNktTipusDict.C_NAME
|
|
,C_SZAKKEPESITESNKTTIPUSID
|
|
,szakkepesitesNktDict.C_NAME
|
|
,C_TANULMANYITERULETNKTTIPUSID
|
|
,tanulmanyiTeruletNktTipusDict.C_NAME
|
|
END
|
|
|
|
IF @pJegyzekTipus = 4
|
|
BEGIN
|
|
SELECT
|
|
--RESZSZAKMA
|
|
C_OSZTALYCSOPORTID OsztalyId
|
|
,C_AGAZATRESZSZAKMATIPUSID AgazatReszSzakmaTipusId
|
|
,agazatReszSzakmaDict.C_NAME AgazatReszSzakmaTipus
|
|
,C_SZAKMARESZSZAKMATIPUSID SzakmaReszSzakmaTipusId
|
|
,szakmaReszSzakmaDict.C_NAME SzakmaReszSzakmaTipus
|
|
,C_RESZSZAKMATIPUSID ReszSzakmaTipusId
|
|
,reszSzakmaDict.C_NAME ReszSzakmaTipus
|
|
,COUNT(C_OSZTALYCSOPORTID) Letszam
|
|
,@pJegyzekTipus JegyzekTipus
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F'
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES agazatReszSzakmaDict ON agazatReszSzakmaDict.ID = tta.C_AGAZATRESZSZAKMATIPUSID and agazatReszSzakmaDict.TOROLT = 'F' AND agazatReszSzakmaDict.C_TANEVID = @pTanevId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES szakmaReszSzakmaDict ON szakmaReszSzakmaDict.ID = tta.C_SZAKMARESZSZAKMATIPUSID and szakmaReszSzakmaDict.TOROLT = 'F' AND szakmaReszSzakmaDict.C_TANEVID = @pTanevId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES reszSzakmaDict ON reszSzakmaDict.ID = tta.C_RESZSZAKMATIPUSID and reszSzakmaDict.TOROLT = 'F' AND reszSzakmaDict.C_TANEVID = @pTanevId
|
|
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
|
|
GROUP BY
|
|
C_OSZTALYCSOPORTID
|
|
,C_AGAZATRESZSZAKMATIPUSID
|
|
,agazatReszSzakmaDict.C_NAME
|
|
,C_SZAKMARESZSZAKMATIPUSID
|
|
,szakmaReszSzakmaDict.C_NAME
|
|
,C_RESZSZAKMATIPUSID
|
|
,reszSzakmaDict.C_NAME
|
|
END
|
|
END
|
|
GO
|