90 lines
No EOL
3.1 KiB
Transact-SQL
90 lines
No EOL
3.1 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetFaliujsagBejegyzesekData
|
|
GO
|
|
|
|
CREATE PROCEDURE dbo.uspGetFaliujsagBejegyzesekData
|
|
@pTanevId int
|
|
,@pOktNevKatTipus int = NULL
|
|
,@pFeladatEllatasiHelyId int = NULL
|
|
,@pOsztalyCsoportId int = NULL
|
|
,@pIsKellKapcsolodoCsoportok bit
|
|
,@pFeljegyzoId int = NULL
|
|
,@pDatumTol datetime = NULL
|
|
,@pDatumIg datetime = NULL
|
|
,@pTipus int
|
|
AS BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @sql nvarchar(max)
|
|
|
|
SET @sql = N'
|
|
SELECT DISTINCT
|
|
te.ID AS ID
|
|
,te.C_ESEMENYDATUMA AS Datum
|
|
,te.C_MEGJEGYZES AS Megjegyzes
|
|
,te.C_TARTALOM AS Tartalom
|
|
,te.C_TIPUS AS Tipus
|
|
,te.C_FELJEGYZOID AS FeljegyzoId
|
|
,te.C_TANTARGYID AS TantargyId
|
|
,FELJEGYZO.C_NYOMTATASINEV AS FeljegyzoNev
|
|
,IIF(FELJEGYZO.C_NEVSORREND = ''T'',
|
|
FELJEGYZO.C_UTONEV + '' '' + FELJEGYZO.C_VEZETEKNEV,
|
|
FELJEGYZO.C_VEZETEKNEV + '' '' + FELJEGYZO.C_UTONEV) AS FeljegyzoNevElotagNelkul
|
|
,ocs.ID AS OsztalyCsoportId
|
|
,ocs.C_NEV AS OsztalyCsoport
|
|
,ocs.C_FELADATKATEGORIAID AS OktNevKategoriaTipusId
|
|
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
|
|
,te.C_KEZDETE AS Kezdete
|
|
,te.C_TARGY AS Cim
|
|
,te.C_FALIUJSAGMEGJELENES AS FaliujsagMegjelenes
|
|
,te.C_MINDENKINEK AS Mindenkinek
|
|
,te.C_VEGE AS Vege
|
|
,targy.C_NEV AS TantargyNev
|
|
FROM T_TANULOESEMENY_OSSZES te
|
|
INNER JOIN T_OSZTALYCSOPORT_TANULOESEMENY ON T_OSZTALYCSOPORT_TANULOESEMENY.C_TANULOESEMENYID = te.ID
|
|
INNER JOIN T_FELHASZNALO_OSSZES FELJEGYZO ON FELJEGYZO.ID = te.C_FELJEGYZOID AND FELJEGYZO.TOROLT = ''F''
|
|
LEFT JOIN T_TANTARGY_OSSZES targy ON targy.ID = te.C_TANTARGYID AND targy.TOROLT = ''F''
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = T_OSZTALYCSOPORT_TANULOESEMENY.C_OSZTALYCSOPORTID
|
|
AND ocs.TOROLT = ''F'''
|
|
SET @sql += IIF(@pOktNevKatTipus IS NOT NULL, N'
|
|
AND ocs.C_FELADATKATEGORIAID = @pOktNevKatTipus', '')
|
|
SET @sql += IIF(@pFeladatEllatasiHelyId IS NOT NULL, N'
|
|
AND ocs.C_FELADATELLATASIHELYID = @pFeladatEllatasiHelyId', '')
|
|
IF @pOsztalyCsoportId IS NOT NULL BEGIN
|
|
SET @sql += IIF(@pIsKellKapcsolodoCsoportok = 1, N'
|
|
AND ocs.ID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(@pOsztalyCsoportId))', N'
|
|
AND ocs.ID = @pOsztalyCsoportId')
|
|
END
|
|
|
|
SET @sql += N'
|
|
WHERE te.TOROLT = ''F''
|
|
AND te.C_TANEVID = @pTanevId
|
|
'
|
|
SET @sql += IIF(@pFeljegyzoId IS NOT NULL, N'
|
|
AND te.C_FELJEGYZOID = @pFeljegyzoId', '')
|
|
SET @sql += IIF(@pDatumTol IS NOT NULL, N'
|
|
AND te.C_ESEMENYDATUMA >= @pDatumTol', '')
|
|
SET @sql += IIF(@pDatumIg IS NOT NULL, N'
|
|
AND te.C_ESEMENYDATUMA <= @pDatumIg', '')
|
|
SET @sql += N'
|
|
AND te.C_TIPUS = @pTipus'
|
|
|
|
EXEC sp_executesql @sql
|
|
,N'
|
|
@pOktNevKatTipus int
|
|
,@pFeladatEllatasiHelyId int
|
|
,@pOsztalyCsoportId int
|
|
,@pTanevId int
|
|
,@pFeljegyzoId int
|
|
,@pDatumTol datetime
|
|
,@pDatumIg datetime
|
|
,@pTipus int
|
|
'
|
|
,@pOktNevKatTipus = @pOktNevKatTipus
|
|
,@pFeladatEllatasiHelyId = @pFeladatEllatasiHelyId
|
|
,@pOsztalyCsoportId = @pOsztalyCsoportId
|
|
,@pTanevId = @pTanevId
|
|
,@pFeljegyzoId = @pFeljegyzoId
|
|
,@pDatumTol = @pDatumTol
|
|
,@pDatumIg = @pDatumIg
|
|
,@pTipus = @pTipus
|
|
END |