102 lines
No EOL
4.8 KiB
Transact-SQL
102 lines
No EOL
4.8 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFogadooraInfo]
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[sp_GetFogadooraInfo]
|
|
@alkalmazottId INT,
|
|
@tanevId INT
|
|
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @DefaultFeladatKategoriaId int = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
|
|
|
--fejléc
|
|
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' AND f.C_TANEVID = @tanevId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.id = f.C_OKTATASINEVELESIFELADATTIPUS AND d.C_TANEVID = @tanevId
|
|
WHERE
|
|
i.C_TANEVID = @tanevId
|
|
|
|
--#tanulok
|
|
SELECT DISTINCT
|
|
tn.ID tanuloID
|
|
,tn.C_NYOMTATASINEV TanuloNeve
|
|
,tn.C_SZULETESIDATUM szulDat
|
|
INTO #Tanulok_tmp
|
|
FROM T_FOGLALKOZAS_OSSZES f
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON f.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
|
WHERE
|
|
f.C_TANARID = @alkalmazottId
|
|
AND f.C_TANEVID=@TANEVID
|
|
AND f.TOROLT='F'
|
|
ORDER BY TanuloNeve
|
|
|
|
SELECT tanuloNeve
|
|
INTO #duplikatNevek
|
|
FROM #Tanulok_tmp
|
|
GROUP BY tanuloNeve
|
|
HAVING COUNT(tanuloNeve) > 1
|
|
|
|
SELECT tanuloID,
|
|
TanuloNeve + IIF(TanuloNeve IN (SELECT tanuloNeve FROM #duplikatNevek), ' - ('
|
|
+ (FORMAT(szulDat, 'yyyy.MM.dd') + ', '
|
|
+ dbo.fnGetDokumentumTanuloAktualisOsztaly (tanuloID) +')' ), '') TanuloNeve /*TODO:Tobb Osztaly*//*OM-1652*/
|
|
FROM #Tanulok_tmp
|
|
ORDER BY tanuloNeve
|
|
|
|
--tanuloinfo
|
|
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
|
|
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 AND ocs.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
|
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
|
|
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 = f.C_TANARID
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA AND dt.C_TANEVID = @tanevId
|
|
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
|
|
f.C_TANARID = @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 AND ocs.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
|
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
|
|
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 = f.C_TANARID
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA AND dt.C_TANEVID = @tanevId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON dm.ID = oe.C_MAGATARTAS AND dm.C_TANEVID = @tanevId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ds ON ds.ID = oe.C_SZORGALOM AND ds.C_TANEVID = @tanevId
|
|
WHERE
|
|
f.C_TANARID = @alkalmazottId
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
|
|
AND e.C_TANEVID=@TANEVID
|
|
AND e.TOROLT='F'
|
|
|
|
END
|
|
|
|
GO |