185 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			185 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
 | 
						|
 |