109 lines
No EOL
4.4 KiB
Transact-SQL
109 lines
No EOL
4.4 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetTantargyfelosztasData
|
|
GO
|
|
|
|
CREATE PROCEDURE uspGetTantargyfelosztasData
|
|
@pTanevId INT
|
|
,@pIntezmenyId INT
|
|
,@pIsOsztalybontasokkal BIT = 0
|
|
,@pIsKapcsolodoCsoportokkal BIT = 0
|
|
,@pAlkalmazottId INT = NULL
|
|
,@pOsztalyCsoportId INT = NULL
|
|
,@pOktNevelesiKategoriaId INT = NULL
|
|
,@pIsFromSzervezet BIT
|
|
,@pSzervezetId INT
|
|
,@pSzervezetekHalmaza INT
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON
|
|
|
|
DECLARE @sql nvarchar(max)
|
|
|
|
CREATE TABLE #Szervezetek (ID INT)
|
|
|
|
IF @pIsFromSzervezet = 1 BEGIN
|
|
INSERT INTO #Szervezetek
|
|
SELECT ID FROM dbo.fnGetLathatoSzervezetek(@pIntezmenyId, @pTanevId, @pSzervezetId, @pSzervezetekHalmaza)
|
|
END
|
|
|
|
SET @sql = N'
|
|
SELECT
|
|
f.ID AS Id
|
|
,f.C_NEV AS Nev
|
|
,(ocs.C_NEV + '' - '' + tgy.C_NEV) AS NevAlkalmazottNelkul
|
|
,f.C_FOGLALKOZASTIPUSA AS TipusId
|
|
,f.C_ORASZAM AS Oraszam
|
|
,f.C_TULORASZAM AS Tuloraszam
|
|
,f.C_ISOSSZEVONTORA AS IsOsszevontOra
|
|
,f.C_ISNEMZETISEGI AS IsNemzetisegiOra
|
|
,f.C_MEGBIZASIORASZAM AS MegbizasiOraszam
|
|
,f.C_IMPORTALT AS Importalt
|
|
,ocs.ID AS OsztalyCsoportId
|
|
,ocs.C_NEV AS OsztalyCsoportNev
|
|
,tgy.ID AS TantargyId
|
|
,tgy.C_NEV AS TantargyNev
|
|
,fh.ID AS TanarId
|
|
,fh.C_NYOMTATASINEV AS TanarNev
|
|
,fh.C_SZULETESIDATUM AS TanarSzuletesiIdo
|
|
,IIF(fh.C_NEVSORREND = ''T''
|
|
,fh.C_UTONEV + '' '' + fh.C_VEZETEKNEV
|
|
,fh.C_VEZETEKNEV + '' '' + fh.C_UTONEV) AS TanarNevElotagNelkul
|
|
,t.C_NEV AS TanevNev
|
|
,ocs.C_FELADATKATEGORIAID AS FeladatKategoriaId
|
|
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasihelyId
|
|
,mh.C_NEV MukodesiHelyNev
|
|
,feh.C_OKTATASINEVELESIFELADATTIPUS AS OktatasiNevelesiFeladatTipusId
|
|
,mua.C_SZERVEZETID AS SzervezetId
|
|
' + IIF(@pIsFromSzervezet = 1, N' ,f.CREATOR AS RogzitoId
|
|
,sz.C_NEV AS DualisKepzohelyNeve
|
|
,sz.C_AZONOSITO AS DualisKepzohelyAdoszama', N'
|
|
,mua.C_DUALISKEPZOHELYNEVE AS DualisKepzohelyNeve
|
|
,mua.C_DUALISKEPZOHELYADOSZAMA AS DualisKepzohelyAdoszama') + N'
|
|
FROM T_FOGLALKOZAS_OSSZES f
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
|
|
AND ocs.C_TANEVID = f.C_TANEVID
|
|
AND ocs.TOROLT = ''F''
|
|
AND (@pOktNevelesiKategoriaId IS NULL OR ocs.C_FELADATKATEGORIAID = @pOktNevelesiKategoriaId)
|
|
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = f.C_TANTARGYID AND tgy.C_TANEVID = f.C_TANEVID AND tgy.TOROLT = ''F''
|
|
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = f.C_TANARID AND fh.C_TANEVID = f.C_TANEVID AND fh.TOROLT = ''F''
|
|
INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = fh.ID AND a.C_ALTANEVID = f.C_TANEVID AND a.TOROLT = ''F''
|
|
INNER JOIN T_TANEV_OSSZES t ON t.ID = f.C_TANEVID AND t.TOROLT = ''F''
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES mua ON mua.C_ALKALMAZOTTID = a.ID AND mua.C_TANEVID = a.C_ALTANEVID AND mua.TOROLT = ''F''
|
|
' + IIF (@pIsFromSzervezet = 1, N'
|
|
INNER JOIN #Szervezetek szervezetek ON szervezetek.ID = mua.C_SZERVEZETID
|
|
LEFT JOIN T_SZERVEZET_OSSZES sz ON sz.ID = szervezetek.ID AND sz.TOROLT = ''F''', ' AND mua.C_SZERVEZETID IS NULL') +
|
|
'
|
|
LEFT JOIN (T_FELADATELLATASIHELY_OSSZES feh
|
|
INNER JOIN T_MUKODESIHELY_OSSZES mh ON mh.C_INTEZMENYID = feh.C_INTEZMENYID AND mh.ID = feh.C_MUKODESIHELYID AND mh.TOROLT = ''F''
|
|
) ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.TOROLT = ''F''
|
|
WHERE (@pAlkalmazottId IS NULL OR f.C_TANARID = @pAlkalmazottId)'
|
|
|
|
IF @pOsztalyCsoportId IS NOT NULL BEGIN
|
|
SET @sql += N'
|
|
AND(f.C_OSZTALYCSOPORTID = @pOsztalyCsoportId'
|
|
SET @sql += IIF(@pIsOsztalybontasokkal = 1, N'
|
|
OR f.C_OSZTALYCSOPORTID IN
|
|
(SELECT
|
|
cs.ID
|
|
FROM T_CSOPORT_OSSZES cs
|
|
WHERE cs.C_OSZTALYBONTASID = @pOsztalyCsoportId AND cs.TOROLT = ''F'')', '')
|
|
SET @sql += IIF(@pIsKapcsolodoCsoportokkal = 1, N'
|
|
OR f.C_OSZTALYCSOPORTID IN (SELECT ID FROM dbo.fnGetKapcsolodoOsztalycsoportok(@pOsztalyCsoportId))', '')
|
|
SET @sql += ')'
|
|
END
|
|
|
|
SET @sql += N'
|
|
AND f.C_TANEVID = @pTanevId
|
|
AND f.TOROLT = ''F'''
|
|
|
|
EXEC sp_executesql @sql
|
|
,N'
|
|
@pTanevId int
|
|
,@pOktNevelesiKategoriaId int
|
|
,@pAlkalmazottId int
|
|
,@pOsztalyCsoportId int
|
|
'
|
|
,@pTanevId = @pTanevId
|
|
,@pOktNevelesiKategoriaId = @pOktNevelesiKategoriaId
|
|
,@pAlkalmazottId = @pAlkalmazottId
|
|
,@pOsztalyCsoportId = @pOsztalyCsoportId
|
|
END |