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

184 lines
11 KiB
Transact-SQL

--Migration
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
LEFT JOIN T_OSZTALYCSOPORT_OSSZES oszcsop ON oszcsop.ID = csoport.C_OSZTALYBONTASID AND oszcsop.TOROLT = 'F'
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))
OR (oszcsop.ID IS NOT NULL AND (oszcsop.C_EVFOLYAMTIPUSA = @pNaEvfolyamTipusa or oszcsop.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