214 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			214 lines
		
	
	
		
			8.5 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 = 1565
 | 
						|
  ,@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 #AlkalmazottMunkaugyiAdattal (
 | 
						|
     Id INT
 | 
						|
    ,BesorolasiFokozat INT NULL
 | 
						|
    ,MunkakorTipusa INT NULL
 | 
						|
    ,MunkaviszonyTipusa INT NULL
 | 
						|
  )
 | 
						|
 | 
						|
  INSERT INTO #AlkalmazottMunkaugyiAdattal (Id, BesorolasiFokozat, MunkakorTipusa, MunkaviszonyTipusa)
 | 
						|
  SELECT
 | 
						|
     adat.ID
 | 
						|
    ,m.C_BESOROLASIFOKOZAT
 | 
						|
    ,m.C_MUNKAKORTIPUSA
 | 
						|
    ,m.C_MUNKAVISZONYTIPUSA
 | 
						|
  FROM T_FELHASZNALO_OSSZES adat
 | 
						|
  INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = @pTanevId AND a.TOROLT = 'F'
 | 
						|
  INNER JOIN T_MUNKAUGYIADATOK_OSSZES m ON m.C_ALKALMAZOTTID = adat.ID AND m.C_TANEVID = @pTanevId AND m.TOROLT = 'F'
 | 
						|
    AND m.C_TARTOSHELYETTESITES = 'F' AND ISNULL(m.C_ALKALMAZASKEZDETE, GETDATE()) <= GETDATE()
 | 
						|
    AND ISNULL(m.C_ALKALMAZASMEGSZUNESE, GETDATE()) >= GETDATE()
 | 
						|
  WHERE adat.C_TANEVID = @pTanevId
 | 
						|
    AND adat.TOROLT = 'F'
 | 
						|
 | 
						|
  CREATE TABLE #Tanulo (
 | 
						|
     Id INT
 | 
						|
    ,Neme INT NULL
 | 
						|
    ,Allampolgarsaga INT NULL
 | 
						|
    ,Anyanyelve INT NULL
 | 
						|
  )
 | 
						|
 | 
						|
  INSERT INTO #Tanulo (Id, Neme, Allampolgarsaga, Anyanyelve)
 | 
						|
  SELECT
 | 
						|
     adat.ID
 | 
						|
    ,adat.C_NEME
 | 
						|
    ,adat.C_ALLAMPOLGARSAGA
 | 
						|
    ,adat.C_ANYANYELVE
 | 
						|
  FROM T_FELHASZNALO_OSSZES adat
 | 
						|
  INNER JOIN T_TANULO_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = @pTanevId AND a.TOROLT = 'F'
 | 
						|
  WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
 | 
						|
 | 
						|
  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 AND fh.C_TANEVID = @pTanevId AND fh.TOROLT = 'F')
 | 
						|
     ) 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 AND o.C_ALTANEVID = @pTanevId AND o.TOROLT = 'F'
 | 
						|
        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 = @pTanevId AND csoport.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)
 | 
						|
     ) 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 T_ALKALMAZOTT_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = @pTanevId AND a.TOROLT = 'F'
 | 
						|
        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%'
 | 
						|
     ) AS NincsNemAlkalmazott
 | 
						|
    ,(SELECT COUNT(1)
 | 
						|
        FROM #Tanulo t
 | 
						|
        WHERE t.Neme = @pNaNemTipusa OR t.Neme IS NULL
 | 
						|
     ) AS NincsNemTanulo
 | 
						|
    ,(SELECT COUNT(1)
 | 
						|
        FROM #AlkalmazottMunkaugyiAdattal am
 | 
						|
        WHERE am.MunkakorTipusa = @pNaAlkalmazottMunkakor
 | 
						|
      ) AS NincsMunkakorAlkalmazott
 | 
						|
    ,(SELECT COUNT(1)
 | 
						|
        FROM #AlkalmazottMunkaugyiAdattal am
 | 
						|
        WHERE am.MunkaviszonyTipusa = @pNaAlkalmazottMunkaviszony
 | 
						|
     ) AS NincsMunkaviszonyTipusAlkalmazott
 | 
						|
    ,(SELECT COUNT(1)
 | 
						|
        FROM #AlkalmazottMunkaugyiAdattal am
 | 
						|
        WHERE am.BesorolasiFokozat = @pNaBesorolasiFokozat
 | 
						|
     ) AS NincsBesorolasiFokozatAlkalmazott
 | 
						|
    ,(SELECT COUNT(1)
 | 
						|
        FROM #Tanulo t
 | 
						|
        WHERE t.Anyanyelve = @pNincsAnyanyelv OR t.Anyanyelve IS NULL
 | 
						|
     ) AS NincsAnyanyelvTanulo
 | 
						|
    ,(SELECT COUNT(1)
 | 
						|
        FROM #Tanulo t
 | 
						|
        WHERE t.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 #AlkalmazottMunkaugyiAdattal am
 | 
						|
        WHERE am.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)
 | 
						|
     ) AS NSzFHRosszMunkakor
 | 
						|
    ,(SELECT COUNT(1)
 | 
						|
        FROM #AlkalmazottMunkaugyiAdattal am
 | 
						|
        LEFT JOIN T_EMAIL_OSSZES ON T_EMAIL_OSSZES.C_FELHASZNALOID = am.ID AND T_EMAIL_OSSZES.TOROLT = 'F' AND T_EMAIL_OSSZES.C_ALAPERTELMEZETT = 'T' AND T_EMAIL_OSSZES.C_TANEVID = @pTanevId
 | 
						|
        WHERE T_EMAIL_OSSZES.ID IS NULL
 | 
						|
     ) AS NincsEmailAlkalmazott,
 | 
						|
	 (SELECT
 | 
						|
      COUNT(1)
 | 
						|
    FROM T_ALKALMAZOTT_OSSZES a
 | 
						|
      LEFT JOIN T_MUNKAUGYIADATOK_OSSZES ma ON ma.C_ALKALMAZOTTID = a.ID
 | 
						|
        AND ma.C_TANEVID = @pTanevId
 | 
						|
        AND ma.TOROLT = 'F'
 | 
						|
      LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = a.ID
 | 
						|
    WHERE a.C_SZTSZKOD IS NULL 
 | 
						|
      AND a.C_ALTANEVID = @pTanevId 
 | 
						|
      AND a.TOROLT = 'F' 
 | 
						|
      AND ma.C_BETOLTETLENALLASHELY = 'F' 
 | 
						|
      AND ma.C_MUNKAKORTIPUSA NOT IN ( 6709, 6710 )
 | 
						|
      AND f.C_NYOMTATASINEV NOT LIKE '[[]%'
 | 
						|
     ) AS NincsAlkalmazottSZTSZ
 | 
						|
  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 = @pTanevId AND ia.TOROLT = 'F'
 | 
						|
  WHERE tv.TOROLT = 'F'
 | 
						|
    AND tv.ID = @pTanevId
 | 
						|
 | 
						|
END
 | 
						|
GO
 |