180 lines
10 KiB
Transact-SQL
180 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;
|
|
|
|
DECLARE @TanevElsoNapja DATETIME = (SELECT ISNULL(C_KEZDONAP, CAST(GETDATE() AS DATE)) FROM T_TANEV WHERE ID = @pTanevId AND TOROLT = 'F')
|
|
DECLARE @OsztalyCsoportBelepesDatum DATETIME = GETDATE();
|
|
IF(@OsztalyCsoportBelepesDatum < @TanevElsoNapja)
|
|
BEGIN
|
|
SET @OsztalyCsoportBelepesDatum = @TanevElsoNapja;
|
|
END
|
|
|
|
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 <= @OsztalyCsoportBelepesDatum AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >=@OsztalyCsoportBelepesDatum)))
|
|
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 <= @OsztalyCsoportBelepesDatum AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= @OsztalyCsoportBelepesDatum)))
|
|
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,572,6404,571,586,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,572,6404,571,586,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,572,6404,571,586,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,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 )
|
|
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
|
|
(569,572,6404,571,586,570,590,566,561,563,559,584,3026,589,565,585,7356,6421,594,564,579,568))
|
|
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
|
|
|