129 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('[dbo].[sp_GetFogadooraInfo]') IS NOT NULL 
 | 
						|
BEGIN
 | 
						|
  DROP PROCEDURE [dbo].[sp_GetFogadooraInfo] 
 | 
						|
END  
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetFogadooraInfo] 
 | 
						|
  @alkalmazottId int,
 | 
						|
  @tanevId int
 | 
						|
AS 
 | 
						|
BEGIN
 | 
						|
SET NOCOUNT ON;
 | 
						|
/*
 | 
						|
  Fejlec: Ebben szerepeljen az intézmény neve, működési hely neve, 
 | 
						|
  és a feladatellátási hely oktatási-nevelési feladata, keltezés helye, napja.
 | 
						|
*/
 | 
						|
 | 
						|
SELECT i.C_NEV as intezmeny, m.C_NEV as mukodesihely, d.C_NAME as oktatasiNevelesiFeladatTipus, 
 | 
						|
  ISNULL(i.C_VAROS + ', ', '') + FORMAT(GETDATE(), 'yyyy. MMMM dd.', 'hu-hu') AS kelt
 | 
						|
FROM T_INTEZMENYADATOK_OSSZES i
 | 
						|
  INNER JOIN T_MUKODESIHELY_OSSZES m ON i.C_INTEZMENYID = m.C_INTEZMENYID AND m.TOROLT = 'F'
 | 
						|
  INNER JOIN T_FELADATELLATASIHELY_OSSZES f ON m.ID = f.C_MUKODESIHELYID AND f.TOROLT = 'F'
 | 
						|
  INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.id = f.C_OKTATASINEVELESIFELADATTIPUS
 | 
						|
WHERE i.C_INTEZMENYID = (SELECT C_INTEZMENYID FROM T_FELHASZNALO WHERE ID=@alkalmazottId)
 | 
						|
 | 
						|
/*
 | 
						|
  Csoport: A tanár neve, ID-ja, és az általa tanított osztályok, 
 | 
						|
  csoportok neve, ID-ja, illetve a nekik tanított tantárgyak neve, ID-ja. 
 | 
						|
*/
 | 
						|
 | 
						|
 SELECT distinct ocs.Id as osztalycsoportId,ocs.C_NEV AS csoport
 | 
						|
  FROM T_FOGLALKOZAS_OSSZES f
 | 
						|
    INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON f.ID = ft.C_FOGLALKOZASOKID
 | 
						|
    INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = ft.C_TANAROKID
 | 
						|
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
 | 
						|
    LEFT JOIN T_CSOPORTOK_OSZTALYOK_OSSZES cso ON cso.C_CSOPORTOKID = ocs.ID
 | 
						|
    LEFT JOIN T_OSZTALYCSOPORT_OSSZES csocs ON csocs.ID = cso.C_OSZTALYOKID 
 | 
						|
    INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
 | 
						|
  WHERE ft.C_TANAROKID = @alkalmazottId 
 | 
						|
    AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
 | 
						|
	AND F.C_TANEVID=@TANEVID
 | 
						|
	AND F.TOROLT='F'
 | 
						|
	order by csoport
 | 
						|
 | 
						|
  SELECT distinct tn.ID as tanuloID,
 | 
						|
     tn.c_nyomtatasinev as TanuloNeve
 | 
						|
  FROM T_FOGLALKOZAS_OSSZES f
 | 
						|
    INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON f.ID = ft.C_FOGLALKOZASOKID
 | 
						|
    INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = ft.C_TANAROKID
 | 
						|
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
 | 
						|
    LEFT JOIN T_CSOPORTOK_OSZTALYOK_OSSZES cso ON cso.C_CSOPORTOKID = ocs.ID
 | 
						|
    LEFT JOIN T_OSZTALYCSOPORT_OSSZES csocs ON csocs.ID = cso.C_OSZTALYOKID 
 | 
						|
    INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
 | 
						|
  WHERE ft.C_TANAROKID = @alkalmazottId 
 | 
						|
    AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
 | 
						|
	AND F.C_TANEVID=@TANEVID
 | 
						|
	AND F.TOROLT='F'
 | 
						|
	order by TanuloNeve
 | 
						|
 | 
						|
  SELECT fh.C_NYOMTATASINEV as tanarNev, t.C_NEV as tantargyNev, ISNULL(csocs.C_NEV, ocs.C_NEV) AS osztaly, ocs.Id as osztalycsoportId,ocs.C_NEV AS csoport,
 | 
						|
    tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev
 | 
						|
  FROM T_FOGLALKOZAS_OSSZES f
 | 
						|
    INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON f.ID = ft.C_FOGLALKOZASOKID
 | 
						|
    INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = ft.C_TANAROKID
 | 
						|
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
 | 
						|
    LEFT JOIN T_CSOPORTOK_OSZTALYOK_OSSZES cso ON cso.C_CSOPORTOKID = ocs.ID
 | 
						|
    LEFT JOIN T_OSZTALYCSOPORT_OSSZES csocs ON csocs.ID = cso.C_OSZTALYOKID 
 | 
						|
    INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
 | 
						|
  WHERE ft.C_TANAROKID = @alkalmazottId 
 | 
						|
	AND F.C_TANEVID=@TANEVID
 | 
						|
	AND F.TOROLT='F'
 | 
						|
    AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
 | 
						|
 | 
						|
 | 
						|
  SELECT e.ID, tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev, FORMAT(e.C_ERTEKELESDATUM, 'd', 'hu-hu') as ertekelesDatuma,
 | 
						|
    dt.C_NAME as ertekelesTipusa, dm.C_NAME as ertekelesModja, e.C_ERTEKELESSZOVEG as feljegyzes,
 | 
						|
    fh.C_NYOMTATASINEV as tanarNev, do.C_NAME as osztalyzat, ocs.ID as csoportID, ocs.C_NEV as csoportNev,
 | 
						|
    t.id as tantargyID, t.C_NEV as tantargyNev
 | 
						|
--SELECT count(1)
 | 
						|
  FROM T_TANULOERTEKELES_OSSZES e
 | 
						|
    INNER JOIN T_OSZTALYZATERTEKELES_OSSZES oe ON e.ID = oe.ID
 | 
						|
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = e.C_OSZTALYCSOPORTID
 | 
						|
    INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
 | 
						|
    INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON f.ID = ft.C_FOGLALKOZASOKID
 | 
						|
    INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID and e.C_TANTARGYID = t.ID
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = ft.C_TANAROKID
 | 
						|
    INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON (dm.ID = oe.C_ERTEKELESMODJA AND DM.C_INTEZMENYID = OE.C_ALINTEZMENYID AND DM.C_TANEVID = OE.C_ALTANEVID)
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES do ON (do.ID = e.C_OSZTALYZAT AND Do.C_INTEZMENYID = E.C_INTEZMENYID AND Do.C_TANEVID = E.C_TANEVID)
 | 
						|
  WHERE ft.C_TANAROKID = @alkalmazottId 
 | 
						|
    AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
 | 
						|
	AND E.C_TANEVID=@TANEVID AND E.TOROLT='F'
 | 
						|
  UNION ALL
 | 
						|
  SELECT e.ID, tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev, FORMAT(e.C_ERTEKELESDATUM, 'd', 'hu-hu') as ertekelesDatuma,
 | 
						|
    dt.C_NAME as ertekelesTipusa, null as ertekelesModja, e.C_ERTEKELESSZOVEG as feljegyzes,
 | 
						|
    fh.C_NYOMTATASINEV as tanarNev, dm.C_NAME + ', ' + ds.C_NAME as osztalyzat, ocs.ID as csoportID, ocs.C_NEV as csoportNev,
 | 
						|
    t.id as tantargyID, t.C_NEV as tantargyNev    
 | 
						|
  FROM T_TANULOERTEKELES_OSSZES e
 | 
						|
    INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES oe ON e.ID = oe.ID
 | 
						|
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = e.C_OSZTALYCSOPORTID
 | 
						|
    INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
 | 
						|
    INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON f.ID = ft.C_FOGLALKOZASOKID
 | 
						|
    INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID and e.C_TANTARGYID = t.ID
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = ft.C_TANAROKID
 | 
						|
    INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON dm.ID = oe.C_MAGATARTAS
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES ds ON ds.ID = oe.C_SZORGALOM
 | 
						|
  WHERE ft.C_TANAROKID = @alkalmazottId
 | 
						|
    AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
 | 
						|
	AND E.C_TANEVID=@TANEVID AND E.TOROLT='F'
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
GO |