kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20180817132709_KRETA_6027_2/sp_GetAdminDashboardAdminisztracio.sql
2024-03-13 00:33:46 +01:00

173 lines
10 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetAdminDashboardAdminisztracio]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetAdminDashboardAdminisztracio]
END
GO
CREATE PROCEDURE [dbo].[sp_GetAdminDashboardAdminisztracio]
@pNaFeladatellatasihelyTipus INT
,@pNaEvfolyamTipusa INT
,@pNaCsoportTipusa INT
,@pNaNemTipusa INT
,@pNaAlkalmazottMunkakor INT
,@pNaAlkalmazottMunkaviszony INT
,@pNaBesorolasiFokozat INT
,@pNaTargyKategoria INT
,@pNincsAnyanyelv INT
,@pNincsAllampolgarsag INT
,@pTanevId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
intezmenyAdatok.C_NEV IntezmenyNev,
intezmeny.C_AZONOSITO IntezmenyAzonosito,
intezmeny.C_ALTERNATIVAZONOSITO IntezmenyAlternativAzonosito,
tanev.C_NEV TanevNev,
(SELECT TOP 1 ISNULL(C_DATE, '20201231') FROM T_LICENCE_OSSZES) LicenceDatum,
(SELECT COUNT(1) FROM T_FELADATELLATASIHELY_OSSZES adat
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
AND adat.C_OKTATASINEVELESIFELADATTIPUS = @pNaFeladatellatasihelyTipus) NincsFeladatellatasiHelyTipus,
(SELECT COUNT(1) FROM T_MUKODESIHELY_OSSZES adat
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
AND 0 = (SELECT COUNT(1) FROM T_FELADATELLATASIHELY_OSSZES fh WHERE fh.C_MUKODESIHELYID = adat.ID)) NincsFeladatellatasiHelyMukodesiHely,
(select count(1) from (SELECT
T_OSZTALY_OSSZES.ID
FROM T_OSZTALY_OSSZES
LEFT JOIN T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_OSZTALY_OSSZES.C_ALTANEVID
LEFT JOIN T_TANULOCSOPORT_OSSZES on T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALY_OSSZES.ID AND T_TANULOCSOPORT_OSSZES.TOROLT='F'
AND ((T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM <= GETDATE() AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())))
WHERE C_ALTANEVID = @pTanevId AND T_OSZTALY_OSSZES.TOROLT = 'F'
GROUP BY T_OSZTALY_OSSZES.ID
HAVING COUNT(T_TANULOCSOPORT_OSSZES.id) = 0) adat)
UresOsztaly,
(select count(1) from (SELECT
T_CSOPORT_OSSZES.ID
FROM T_CSOPORT_OSSZES
LEFT JOIN T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_CSOPORT_OSSZES.C_ALTANEVID
LEFT JOIN T_TANULOCSOPORT_OSSZES on T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID = T_CSOPORT_OSSZES.ID AND T_TANULOCSOPORT_OSSZES.TOROLT='F'
AND ((T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM <= GETDATE() AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())))
WHERE C_ALTANEVID = @pTanevId AND T_CSOPORT_OSSZES.TOROLT = 'F'
GROUP BY T_CSOPORT_OSSZES.ID
HAVING COUNT(T_TANULOCSOPORT_OSSZES.id) = 0) adat)
UresCsoport,
(SELECT COUNT(1) FROM T_OSZTALYCSOPORT_OSSZES adat
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = adat.ID AND o.C_ALTANEVID = adat.C_TANEVID
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 adat.C_EVFOLYAMTIPUSA = @pNaEvfolyamTipusa or adat.C_EVFOLYAMTIPUSA IS NULL )
NincsEvfolyamCsoport,
(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_TIPUSA = @pNaCsoportTipusa)
NincsTipusCsoport,
(SELECT COUNT(1) FROM T_OSZTALYCSOPORT_OSSZES adat
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = adat.ID AND o.C_ALTANEVID = adat.C_TANEVID
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F' AND o.C_OSZTALYFONOKID IS NULL)
NincsOsztalyOsztalyfonok,
(SELECT COUNT(1) FROM T_FELHASZNALO_OSSZES adat
INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = adat.C_TANEVID
INNER JOIN T_MUNKAUGYIADATOK_OSSZES ON T_MUNKAUGYIADATOK_OSSZES.C_ALKALMAZOTTID = a.ID
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
AND (adat.C_NEME = @pNaNemTipusa OR adat.C_NEME IS NULL)
AND adat.C_NYOMTATASINEV NOT LIKE '[[]HO%'
AND adat.C_NYOMTATASINEV NOT LIKE '[[]BTA%'
AND T_MUNKAUGYIADATOK_OSSZES.C_MUNKAKORTIPUSA NOT IN
(569 ,6345,6346,572,6404,571,586,556,6347,570,590,566,561,563,559,584,3026,589,565,585,7356,6421,594,564,579 ,568))
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 OR adat.C_NEME IS NULL))
NincsNemTanulo,
(SELECT COUNT(1) FROM T_FELHASZNALO_OSSZES adat
INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = adat.C_TANEVID
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
AND m.C_MUNKAKORTIPUSA NOT IN
(569 ,6345,6346,572,6404,571,586,556,6347,570,590,566,561,563,559,584,3026,589,565,585,7356,6421,594,564,579 ,568))
NincsMunkakorAlkalmazott,
(SELECT COUNT(1) FROM T_FELHASZNALO_OSSZES adat
INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = adat.C_TANEVID
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 ,6345,6346,572,6404,571,586,556,6347,570,590,566,561,563,559,584,3026,589,565,585,7356,6421,594,564,579 ,568))
NincsMunkaviszonyTipusAlkalmazott,
(SELECT COUNT(1) FROM T_FELHASZNALO_OSSZES adat
INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = adat.C_TANEVID
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 ,6345,6346,572,6404,571,586,556,6347,570,590,566,561,563,559,584,3026,589,565,585,7356,6421,594,564,579 ,568)
AND m.C_BESOROLASIFOKOZAT =@pNaBesorolasiFokozat )
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))
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 OR adat.C_ALLAMPOLGARSAGA IS NULL) )
NincsAllampolgarsagaTanulo,
(SELECT COUNT(1) FROM T_CSENGETESIREND_OSSZES adat
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F' AND adat.C_AKTIV = 'T')
NincsAktivCsengetesiRend,
(SELECT COUNT(1) FROM T_TANTARGY_OSSZES adat
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F' AND adat.C_TARGYKATEGORIA = @pNaTargyKategoria )
NincsKategoriaTantargy,
(SELECT COUNT(1) FROM T_FELHASZNALO_OSSZES adat
INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = adat.C_TANEVID
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
(6914, 6361, 6432, 6433, 6461, 553, 6414, 6812, 597, 6392, 6375, 6457, 6352, 6393, 6394, 6709, 584, 561, 589, 3026, 563, 585, 559, 564, 6421, 565, 566, 568, 594, 6404, 569, 571, 586, 590, 570, 572))
NSzFHRosszMunkakor,
(SELECT COUNT(1) FROM T_ALKALMAZOTT_OSSZES a
LEFT JOIN
T_EMAIL_OSSZES ON T_EMAIL_OSSZES.C_FELHASZNALOID = a.ID AND T_EMAIL_OSSZES.TOROLT = 'F' AND T_EMAIL_OSSZES.C_ALAPERTELMEZETT = 'T'
WHERE a.C_ALTANEVID = @pTanevId AND a.TOROLT = 'F' and T_EMAIL_OSSZES.ID is null) NincsEmailAlkalmazott
FROM T_TANEV_OSSZES tanev
INNER JOIN T_INTEZMENY_OSSZES intezmeny ON intezmeny.ID = tanev.C_INTEZMENYID AND intezmeny.TOROLT = 'F'
INNER JOIN T_INTEZMENYADATOK_OSSZES intezmenyAdatok ON intezmenyAdatok.C_INTEZMENYID = tanev.C_INTEZMENYID AND intezmenyAdatok.C_TANEVID = tanev.ID AND intezmenyAdatok.TOROLT = 'F'
WHERE
tanev.TOROLT = 'F' AND tanev.ID = @pTanevId
END
GO