DROP PROCEDURE IF EXISTS uspGetAdminDualisSzerzodesek GO CREATE PROCEDURE uspGetAdminDualisSzerzodesek @pTanevId int ,@pTanarId int = NULL ,@pNevSearch nvarchar(255) = NULL ,@pAnyjaNeve nvarchar(255) = NULL ,@pSzuletesiHely nvarchar(255) = NULL ,@pSzuletesiIdoTol datetime = NULL ,@pSzuletesiIdoIg datetime = NULL ,@pOktatasiAzonosito nvarchar(255) = NULL ,@pDualisKepzohelyNev nvarchar(255) = NULL ,@pDualisKepzohelyAdoszama nvarchar(255) = NULL ,@pFeltoltesDatumTol datetime = NULL ,@pFeltoltesDatumIg datetime = NULL ,@pStatusz int = NULL AS BEGIN SET NOCOUNT ON; DECLARE @sql nvarchar(max) = '' SET @sql += + N' SELECT DISTINCT x.SzerzodesFileId ,x.Statusz ,x.FileId ,x.FileNev ,x.FeltoltesDatuma ,x.FeltoltoId ,fh.ID ,fh.C_NYOMTATASINEV AS TanuloNev ,fh.C_ANYJANEVE AS AnyaNev ,fh.C_SZULETESIHELY AS SzuletesiHelye ,fh.C_SZULETESIDATUM AS SzuletesiDatum ,fh.C_OKTATASIAZONOSITO AS OktatasiAzonosito ,fhAlk.ID AS TanarId ,fhAlk.C_NYOMTATASINEV AS TanarNev ,ma.C_DUALISKEPZOHELYNEVE AS DualisKepzohelyNev ,ma.C_DUALISKEPZOHELYADOSZAMA AS DualisKepzohelyAdoszama FROM T_FOGLALKOZAS_OSSZES ttf INNER JOIN T_FELHASZNALO_OSSZES fhAlk ON fhAlk.ID = ttf.C_TANARID AND fhAlk.TOROLT = ''F'' INNER JOIN T_ALKALMAZOTT alk ON alk.ID = ttf.C_TANARID AND alk.TOROLT = ''F'' INNER JOIN T_MUNKAUGYIADATOK_OSSZES ma ON ma.C_ALKALMAZOTTID = alk.ID AND ma.TOROLT = ''F'' INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ttf.C_OSZTALYCSOPORTID = ocs.ID AND ocs.C_TANEVID = ttf.C_TANEVID AND ocs.TOROLT = ''F'' INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND tcs.C_BELEPESDATUM <= GETDATE() AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE()) AND tcs.C_TANEVID = ttf.C_TANEVID AND tcs.TOROLT = ''F'' INNER JOIN T_FELHASZNALO_OSSZES fh ON tcs.C_TANULOID = fh.ID AND fh.C_TANEVID = ttf.C_TANEVID AND fh.TOROLT = ''F'' LEFT JOIN ( SELECT df.ID AS SzerzodesFileId ,IIF(df.ID IS NULL, 0, 1) AS Statusz ,f.ID AS FileId ,f.C_FILENEV AS FileNev ,f.C_FELTOLTESDATUM AS FeltoltesDatuma ,f.C_FELHASZNALOID AS FeltoltoId ,df.C_TANULOID as TanuloId FROM T_DUALISSZERZODESFILE_OSSZES df INNER JOIN T_FILE_OSSZES f ON f.ID = df.C_FILEID AND f.TOROLT = ''F'' WHERE df.C_ISALKALMAZOTTALTALTOROLT = ''F'' AND df.TOROLT = ''F'' ) x ON x.FeltoltoId = ttf.C_TANARID AND x.TanuloId = fh.ID ' SET @sql += N' WHERE ttf.C_TANEVID = @pTanevId AND ttf.TOROLT = ''F'' AND alk.C_ISSZAKOKTATASERTFELELOS = ''T'' ' + IIF(@pTanarId IS NULL, N'', N' AND alk.ID = @pTanarId') +N' ' + IIF(@pNevSearch IS NULL, N'', N' AND fh.C_NYOMTATASINEV LIKE ''%'' + @pNevSearch + ''%'' ') +N' ' + IIF(@pAnyjaNeve IS NULL, N'', N' AND fh.C_ANYJANEVE LIKE ''%'' + @pAnyjaNeve + ''%'' ') +N' ' + IIF(@pSzuletesiHely IS NULL, N'', N' AND fh.C_SZULETESIHELY LIKE ''%'' + @pSzuletesiHely + ''%'' ') +N' ' + IIF(@pSzuletesiIdoTol IS NULL, N'', N' AND fh.C_SZULETESIDATUM >= @pSzuletesiIdoTol ') +N' ' + IIF(@pSzuletesiIdoIg IS NULL, N'', N' AND fh.C_SZULETESIDATUM <= @pSzuletesiIdoIg ') +N' ' + IIF(@pOktatasiAzonosito IS NULL, N'', N' AND fh.C_OKTATASIAZONOSITO LIKE ''%'' + @pOktatasiAzonosito + ''%'' ') +N' ' + IIF(@pDualisKepzohelyNev IS NULL, N'', N' AND ma.C_DUALISKEPZOHELYNEVE LIKE ''%'' + @pDualisKepzohelyNev + ''%'' ') +N' ' + IIF(@pDualisKepzohelyAdoszama IS NULL, N'', N' AND ma.C_DUALISKEPZOHELYADOSZAMA LIKE ''%'' + @pDualisKepzohelyAdoszama + ''%'' ') +N' ' + IIF(@pFeltoltesDatumTol IS NULL, N'', N' AND x.FeltoltesDatuma >= @pFeltoltesDatumTol ') +N' ' + IIF(@pFeltoltesDatumIg IS NULL, N'', N' AND x.FeltoltesDatuma <= @pFeltoltesDatumIg ') +N' ' + IIF(@pStatusz IS NULL , N'',IIF(@pStatusz = 0, N' AND x.SzerzodesFileId IS NULL ', N' AND x.SzerzodesFileId IS NOT NULL ')) EXEC sp_executesql @sql, N' @pTanevId int ,@pTanarId int ,@pNevSearch nvarchar(255) ,@pAnyjaNeve nvarchar(255) ,@pSzuletesiHely nvarchar(255) ,@pSzuletesiIdoTol datetime ,@pSzuletesiIdoIg datetime ,@pOktatasiAzonosito nvarchar(255) ,@pDualisKepzohelyNev nvarchar(255) ,@pDualisKepzohelyAdoszama nvarchar(255) ,@pFeltoltesDatumTol datetime ,@pFeltoltesDatumIg datetime ,@pStatusz int' ,@pTanevId = @pTanevId ,@pTanarId = @pTanarId ,@pNevSearch = @pNevSearch ,@pAnyjaNeve = @pAnyjaNeve ,@pSzuletesiHely = @pSzuletesiHely ,@pSzuletesiIdoTol = @pSzuletesiIdoTol ,@pSzuletesiIdoIg = @pSzuletesiIdoIg ,@pOktatasiAzonosito = @pOktatasiAzonosito ,@pDualisKepzohelyNev = @pDualisKepzohelyNev ,@pDualisKepzohelyAdoszama = @pDualisKepzohelyAdoszama ,@pFeltoltesDatumTol = @pFeltoltesDatumTol ,@pFeltoltesDatumIg = @pFeltoltesDatumIg ,@pStatusz = @pStatusz END GO