DROP PROCEDURE IF EXISTS uspGetSzakkepzesiMunkaszerzodesek GO CREATE PROCEDURE uspGetSzakkepzesiMunkaszerzodesek @pTanevId int ,@pIntezmenyId int ,@pHonap nvarchar(255) = NULL ,@pNevSearch nvarchar(255) = NULL ,@pAnyjaNeve nvarchar(255) = NULL ,@pSzuletesiHely nvarchar(255) = NULL ,@pSzuletesiIdoTol datetime = NULL ,@pSzuletesiIdoIg datetime = NULL ,@pOktatasiAzonosito nvarchar(255) = NULL ,@pSzervezetIdListString nvarchar(255) = NULL ,@pDualisKepzohelyNev nvarchar(255) = NULL ,@pDualisKepzohelyAdoszama nvarchar(255) = NULL AS BEGIN SET NOCOUNT ON; DECLARE @sql nvarchar(max) = '' SET @sql = N' SELECT DISTINCT dk.ID ,dk.C_NYOMTATASINEV AS TanuloNev ,dk.C_ANYJANEVE AS AnyaNev ,dk.C_SZULETESIHELY AS SzuletesiHelye ,dk.C_SZULETESIDATUM AS SzuletesiDatum ,dk.C_OKTATASIAZONOSITO AS OktatasiAzonosito ,munkaszerzodes.C_BEVKEZD AS BevallasKezdete ,munkaugyiadatok.C_DUALISKEPZOHELYNEVE AS DualisKepzohelyNev ,munkaugyiadatok.C_DUALISKEPZOHELYADOSZAMA AS DualisKepzohelyAdoszama ,munkaszerzodes.Id AS MunkaSzerzodesId FROM T_MUNKASZERZODES_OSSZES munkaszerzodes INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.ID = munkaszerzodes.C_TANULOTANUGYIADATOKID AND tta.TOROLT = ''F'' INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID = tta.C_TANULOCSOPORTID AND tcs.TOROLT = ''F'' INNER JOIN T_FELHASZNALO_OSSZES dk ON dk.ID = tcs.C_TANULOID AND dk.TOROLT = ''F'' INNER JOIN T_ALKALMAZOTT_OSSZES alkalmazott ON alkalmazott.ID = munkaszerzodes.C_ALKALMAZOTTID AND alkalmazott.TOROLT = ''F'' INNER JOIN T_MUNKAUGYIADATOK_OSSZES munkaugyiadatok ON munkaugyiadatok.C_ALKALMAZOTTID = munkaszerzodes.C_ALKALMAZOTTID AND munkaugyiadatok.TOROLT = ''F'' ' + IIF(@pSzervezetIdListString IS NULL, N'LEFT', N'INNER') + N' JOIN T_SZERVEZET_OSSZES sz ON sz.ID = munkaugyiadatok.C_SZERVEZETID AND sz.TOROLT = ''F'' WHERE munkaszerzodes.C_TANEVID = @pTanevId AND munkaszerzodes.C_INTEZMENYID = @pIntezmenyId AND munkaszerzodes.TOROLT = ''F''' SET @sql += N' ' + IIF(@pHonap IS NULL, N'', N' AND munkaszerzodes.C_BEVKEZD >= CONVERT(DATETIME, @pHonap) AND munkaszerzodes.C_BEVKEZD < DATEADD(MONTH, 1, CONVERT(DATETIME, @pHonap))') +N' ' + IIF(@pNevSearch IS NULL, N'', N' AND dk.C_NYOMTATASINEV LIKE ''%'' + @pNevSearch + ''%'' ') + N' ' + IIF(@pAnyjaNeve IS NULL, N'', N' AND dk.C_ANYJANEVE LIKE ''%'' + @pAnyjaNeve + ''%'' ') + N' ' + IIF(@pSzuletesiHely IS NULL, N'', N' AND dk.C_SZULETESIHELY LIKE ''%'' + @pSzuletesiHely + ''%'' ') + N' ' + IIF(@pSzuletesiIdoTol IS NULL, N'', N' AND dk.C_SZULETESIDATUM >= @pSzuletesiIdoTol ') + N' ' + IIF(@pSzuletesiIdoIg IS NULL, N'', N' AND dk.C_SZULETESIDATUM <= @pSzuletesiIdoIg ') + N' ' + IIF(@pOktatasiAzonosito IS NULL, N'', N' AND dk.C_OKTATASIAZONOSITO LIKE ''%'' + @pOktatasiAzonosito + ''%'' ') + N' ' + IIF(@pSzervezetIdListString IS NULL, N'', N' AND sz.ID IN (' + @pSzervezetIdListString + ')') + N' ' + IIF(@pDualisKepzohelyNev IS NULL, N'', N' AND IIF(sz.C_NEV IS NULL, munkaugyiadatok.C_DUALISKEPZOHELYNEVE, sz.C_NEV) LIKE ''%'' + @pDualisKepzohelyNev + ''%'' ') + N' ' + IIF(@pDualisKepzohelyAdoszama IS NULL, N'', N' AND IIF(sz.C_AZONOSITO IS NULL, munkaugyiadatok.C_DUALISKEPZOHELYADOSZAMA, sz.C_AZONOSITO) LIKE ''%'' + @pDualisKepzohelyAdoszama + ''%'' ') EXEC sp_executesql @sql, N' @pTanevId int ,@pIntezmenyId int ,@pHonap nvarchar(255) ,@pNevSearch nvarchar(255) ,@pAnyjaNeve nvarchar(255) ,@pSzuletesiHely nvarchar(255) ,@pSzuletesiIdoTol datetime ,@pSzuletesiIdoIg datetime ,@pOktatasiAzonosito nvarchar(255) ,@pDualisKepzohelyNev nvarchar(255) ,@pDualisKepzohelyAdoszama nvarchar(255)' ,@pTanevId = @pTanevId ,@pIntezmenyId = @pIntezmenyId ,@pHonap = @pHonap ,@pNevSearch = @pNevSearch ,@pAnyjaNeve = @pAnyjaNeve ,@pSzuletesiHely = @pSzuletesiHely ,@pSzuletesiIdoTol = @pSzuletesiIdoTol ,@pSzuletesiIdoIg = @pSzuletesiIdoIg ,@pOktatasiAzonosito = @pOktatasiAzonosito ,@pDualisKepzohelyNev = @pDualisKepzohelyNev ,@pDualisKepzohelyAdoszama = @pDualisKepzohelyAdoszama END GO