190 lines
8.8 KiB
Transact-SQL
190 lines
8.8 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dbo].[sp_GetAdminDashboardAdminisztracio]
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[sp_GetAdminDashboardAdminisztracio]
|
|
@pTanevId int
|
|
,@pNaFeladatellatasihelyTipus int = 1156
|
|
,@pNaEvfolyamTipusa int = 1296
|
|
,@pNaCsoportTipusa int = 1031
|
|
,@pNaNemTipusa int = 1384
|
|
,@pNaAlkalmazottMunkakor int = 548
|
|
,@pNaAlkalmazottMunkaviszony int = 643
|
|
,@pNaBesorolasiFokozat int = 3040
|
|
,@pNaTargyKategoria int = 1197
|
|
,@pNincsAnyanyelv int = 493
|
|
,@pNincsAllampolgarsag int = 216
|
|
|
|
AS
|
|
BEGIN
|
|
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @TanevElsoNapja datetime = (SELECT ISNULL(C_KEZDONAP, CAST(GETDATE() AS date)) FROM T_TANEV WHERE ID = @pTanevId AND TOROLT = 'F')
|
|
DECLARE @OsztalyCsoportBelepesDatum datetime = GETDATE();
|
|
|
|
CREATE TABLE #AKTIV_ALKALMAZOTT (ID int,INDEX IX1 CLUSTERED(ID));
|
|
INSERT INTO #AKTIV_ALKALMAZOTT (ID)
|
|
SELECT f.ID
|
|
FROM T_FELHASZNALO f
|
|
inner join T_MUNKAUGYIADATOK munkaugyiadat ON munkaugyiadat.C_ALKALMAZOTTID = f.ID AND munkaugyiadat.C_TARTOSHELYETTESITES = 'F' AND ISNULL(munkaugyiadat.C_ALKALMAZASKEZDETE,getdate()) <= getdate() AND ISNULL(munkaugyiadat.C_ALKALMAZASMEGSZUNESE,getdate()) >= getdate() AND munkaugyiadat.TOROLT = 'F'
|
|
WHERE f.C_TANEVID = @pTanevId
|
|
|
|
IF @OsztalyCsoportBelepesDatum < @TanevElsoNapja BEGIN
|
|
SET @OsztalyCsoportBelepesDatum = @TanevElsoNapja;
|
|
END
|
|
|
|
SELECT
|
|
ia.C_NEV AS IntezmenyNev
|
|
,i.C_AZONOSITO AS IntezmenyAzonosito
|
|
,i.C_ALTERNATIVAZONOSITO AS IntezmenyAlternativAzonosito
|
|
,tv.C_NEV AS TanevNev
|
|
,(SELECT TOP 1 ISNULL(C_DATE, '20201231') FROM T_LICENCE_OSSZES) AS LicenceDatum
|
|
,(SELECT COUNT(1)
|
|
FROM T_FELADATELLATASIHELY_OSSZES adat
|
|
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
|
|
AND adat.C_OKTATASINEVELESIFELADATTIPUS = @pNaFeladatellatasihelyTipus
|
|
) AS NincsFeladatellatasiHelyTipus
|
|
,(SELECT COUNT(1)
|
|
FROM T_MUKODESIHELY_OSSZES adat
|
|
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
|
|
AND NOT EXISTS (SELECT 1 FROM T_FELADATELLATASIHELY_OSSZES fh WHERE fh.C_MUKODESIHELYID = adat.ID)
|
|
) AS NincsFeladatellatasiHelyMukodesiHely
|
|
,(SELECT COUNT(1)
|
|
FROM T_OSZTALY_OSSZES adat
|
|
WHERE NOT EXISTS (
|
|
SELECT 1
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
WHERE tcs.C_OSZTALYCSOPORTID = adat.ID
|
|
AND tcs.TOROLT = 'F'
|
|
AND (tcs.C_BELEPESDATUM <= @OsztalyCsoportBelepesDatum
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @OsztalyCsoportBelepesDatum))
|
|
AND tcs.C_TANEVID = @pTanevId
|
|
)
|
|
AND adat.TOROLT = 'F'
|
|
AND adat.C_ALTANEVID = @pTanevId
|
|
) AS UresOsztaly
|
|
,(SELECT COUNT(1)
|
|
FROM T_CSOPORT_OSSZES adat
|
|
WHERE NOT EXISTS (
|
|
SELECT 1
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
WHERE tcs.C_OSZTALYCSOPORTID = adat.ID
|
|
AND tcs.TOROLT = 'F'
|
|
AND (tcs.C_BELEPESDATUM <= @OsztalyCsoportBelepesDatum
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @OsztalyCsoportBelepesDatum))
|
|
AND tcs.C_TANEVID = @pTanevId
|
|
)
|
|
AND adat.TOROLT = 'F'
|
|
AND adat.C_ALTANEVID = @pTanevId
|
|
) AS UresCsoport
|
|
,(SELECT COUNT(1)
|
|
FROM T_OSZTALYCSOPORT_OSSZES adat
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = adat.ID
|
|
WHERE adat.C_TANEVID = @pTanevId
|
|
AND adat.TOROLT = 'F'
|
|
AND (adat.C_EVFOLYAMTIPUSA = @pNaEvfolyamTipusa or adat.C_EVFOLYAMTIPUSA IS NULL)
|
|
) NincsEvfolyamOsztaly
|
|
,(SELECT COUNT(1)
|
|
FROM T_OSZTALYCSOPORT_OSSZES adat
|
|
INNER JOIN T_CSOPORT_OSSZES csoport ON csoport.ID = adat.ID AND csoport.C_ALTANEVID = adat.C_TANEVID
|
|
WHERE adat.C_TANEVID = @pTanevId
|
|
AND adat.TOROLT = 'F'
|
|
AND csoport.C_OSZTALYBONTASID IS NULL AND (adat.C_EVFOLYAMTIPUSA = @pNaEvfolyamTipusa OR adat.C_EVFOLYAMTIPUSA IS NULL)
|
|
) AS NincsEvfolyamCsoport
|
|
,(SELECT COUNT(1)
|
|
FROM T_CSOPORT_OSSZES adat
|
|
WHERE adat.C_ALTANEVID = @pTanevId
|
|
AND adat.TOROLT = 'F'
|
|
AND adat.C_TIPUSA = @pNaCsoportTipusa
|
|
) AS NincsTipusCsoport
|
|
,(SELECT COUNT(1)
|
|
FROM T_OSZTALY_OSSZES adat
|
|
WHERE adat.C_ALTANEVID = @pTanevId AND adat.TOROLT = 'F' AND adat.C_OSZTALYFONOKID IS NULL
|
|
) NincsOsztalyOsztalyfonok
|
|
,(SELECT COUNT(1)
|
|
FROM T_FELHASZNALO_OSSZES adat
|
|
INNER JOIN #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES ON T_MUNKAUGYIADATOK_OSSZES.C_ALKALMAZOTTID = adat.ID
|
|
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
|
|
AND adat.C_NEME = @pNaNemTipusa
|
|
AND adat.C_NYOMTATASINEV NOT LIKE '[[]HO%'
|
|
AND adat.C_NYOMTATASINEV NOT LIKE '[[]BTA%'
|
|
AND T_MUNKAUGYIADATOK_OSSZES.C_MUNKAKORTIPUSA NOT IN
|
|
(569,572,6404,571,586,570,590,566,561,563,559,584,3026,589,565,585,7356,6421,594,564,579,568)
|
|
) AS NincsNemAlkalmazott
|
|
,(SELECT COUNT(1)
|
|
FROM T_FELHASZNALO_OSSZES adat
|
|
INNER JOIN T_TANULO_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = adat.C_TANEVID
|
|
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
|
|
AND adat.C_NEME = @pNaNemTipusa
|
|
) AS NincsNemTanulo
|
|
,(SELECT COUNT(1)
|
|
FROM T_FELHASZNALO_OSSZES adat
|
|
INNER JOIN #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES m ON m.C_ALKALMAZOTTID = adat.ID AND m.C_TANEVID = adat.C_TANEVID AND m.TOROLT = 'F'
|
|
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
|
|
AND m.C_MUNKAKORTIPUSA = @pNaAlkalmazottMunkakor
|
|
) AS NincsMunkakorAlkalmazott
|
|
,(SELECT COUNT(1) FROM T_FELHASZNALO_OSSZES adat
|
|
INNER JOIN #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES m ON m.C_ALKALMAZOTTID = adat.ID AND m.C_TANEVID = adat.C_TANEVID AND m.TOROLT = 'F'
|
|
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
|
|
AND m.C_MUNKAVISZONYTIPUSA = @pNaAlkalmazottMunkaviszony
|
|
AND m.C_MUNKAKORTIPUSA NOT IN
|
|
(569,572,6404,571,586,570,590,566,561,563,559,584,3026,589,565,585,7356,6421,594,564,579,568)
|
|
) AS NincsMunkaviszonyTipusAlkalmazott
|
|
,(SELECT COUNT(1)
|
|
FROM T_FELHASZNALO_OSSZES adat
|
|
INNER JOIN #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES m ON m.C_ALKALMAZOTTID = adat.ID AND m.C_TANEVID = adat.C_TANEVID AND m.TOROLT = 'F'
|
|
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
|
|
AND m.C_MUNKAKORTIPUSA NOT IN
|
|
(569,572,6404,571,586,570,590,566,561,563,559,584,3026,589,565,585,7356,6421,594,564,579,568)
|
|
AND m.C_BESOROLASIFOKOZAT =@pNaBesorolasiFokozat
|
|
) AS NincsBesorolasiFokozatAlkalmazott
|
|
,(SELECT COUNT(1)
|
|
FROM T_FELHASZNALO_OSSZES adat
|
|
INNER JOIN T_TANULO_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = adat.C_TANEVID
|
|
WHERE adat.C_TANEVID = @pTanevId
|
|
AND adat.TOROLT = 'F'
|
|
AND (adat.C_ANYANYELVE = @pNincsAnyanyelv OR adat.C_ANYANYELVE IS NULL)
|
|
) AS NincsAnyanyelvTanulo
|
|
,(SELECT COUNT(1)
|
|
FROM T_FELHASZNALO_OSSZES adat
|
|
INNER JOIN T_TANULO_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = adat.C_TANEVID
|
|
WHERE adat.C_TANEVID = @pTanevId
|
|
AND adat.TOROLT = 'F'
|
|
AND adat.C_ALLAMPOLGARSAGA = @pNincsAllampolgarsag
|
|
) AS NincsAllampolgarsagaTanulo
|
|
,(SELECT COUNT(1)
|
|
FROM T_CSENGETESIREND_OSSZES adat
|
|
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F' AND adat.C_AKTIV = 'T'
|
|
) AS NincsAktivCsengetesiRend /* AktivCsengetesiRendekSzáma */
|
|
,(SELECT COUNT(1)
|
|
FROM T_TANTARGY_OSSZES adat
|
|
WHERE adat.C_TANEVID = @pTanevId
|
|
AND adat.TOROLT = 'F'
|
|
AND adat.C_TARGYKATEGORIA = @pNaTargyKategoria
|
|
) AS NincsKategoriaTantargy
|
|
,(SELECT COUNT(1)
|
|
FROM T_FELHASZNALO_OSSZES adat
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES m ON m.C_ALKALMAZOTTID = adat.ID AND m.C_TANEVID = adat.C_TANEVID AND m.TOROLT = 'F'
|
|
WHERE adat.C_TANEVID = @pTanevId
|
|
AND adat.TOROLT = 'F'
|
|
AND m.C_MUNKAKORTIPUSA NOT IN
|
|
(569,572,6404,571,586,570,590,566,561,563,559,584,3026,589,565,585,7356,6421,594,564,579,568)
|
|
) AS NSzFHRosszMunkakor
|
|
,(SELECT COUNT(1)
|
|
FROM #AKTIV_ALKALMAZOTT aa
|
|
LEFT JOIN T_EMAIL_OSSZES ON T_EMAIL_OSSZES.C_FELHASZNALOID = aa.ID AND T_EMAIL_OSSZES.TOROLT = 'F' AND T_EMAIL_OSSZES.C_ALAPERTELMEZETT = 'T'
|
|
WHERE T_EMAIL_OSSZES.ID IS NULL
|
|
) AS NincsEmailAlkalmazott
|
|
FROM T_TANEV_OSSZES tv
|
|
INNER JOIN T_INTEZMENY_OSSZES i ON i.ID = tv.C_INTEZMENYID AND i.TOROLT = 'F'
|
|
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.C_INTEZMENYID = tv.C_INTEZMENYID AND ia.C_TANEVID = tv.ID AND ia.TOROLT = 'F'
|
|
WHERE tv.TOROLT = 'F'
|
|
AND tv.ID = @pTanevId
|
|
|
|
END
|
|
GO
|
|
|