This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,6 @@
PRINT N'Updating [dbo].[T_IKTATOTTDOKUMENTUM]...';
GO
UPDATE T_IKTATOTTDOKUMENTUM
SET C_ISFOSZAMOS = 'T'
WHERE C_FOSZAMOSIKTATOTTDOKUMENTUMID IS NULL
GO

View file

@ -0,0 +1,56 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP FUNCTION IF EXISTS fnGetIktatottDokumentumok
GO
CREATE FUNCTION [dbo].[fnGetIktatottDokumentumok](
@pTanevId INT
)
RETURNS TABLE
AS
RETURN
SELECT
iktd.ID
,iktd.C_DOKUMENTUMKATEGORIA Kategoria
,iktd.C_DOKUMENTUMTIPUS DokumentumTipus
,iktd.C_DOKUMENTUMNEVE DokumentumNeve
,iktd.C_FELADATELLATASIHELYID FeladatellatasihelyId
,CASE
-- Ahol mûködési hely van megadva feladatellátási helynek
WHEN iktd.C_DOKUMENTUMTIPUS IN (7430) THEN
IIF (iktd.C_FELADATELLATASIHELYID IS NULL, '', CONCAT(igaziMukodHely.C_NEV, ' - ', DIBM.C_NAME))
-- feladatellátási hely van megadva
ELSE
IIF (iktd.C_FELADATELLATASIHELYID is NULL, '', CONCAT(mukodHely.C_NEV, ' - ', DIB.C_NAME))
END AS FeladatellatasihelyNeve
,iktd.C_IKTATOSZAM Iktatoszam
,CASE iktd.C_DOKUMENTUMSTATUSZ
WHEN 7387 THEN iktd.C_GENERALASDATUMA
WHEN 7388 THEN iktd.C_IKTATASDATUMA
ELSE iktd.C_ELEKTRONIKUSPELDANYFELTOLTES
END IktatasDatuma
,felhasznalo.C_NYOMTATASINEV IktatoSzemelye
,iktd.C_DOKUMENTUMSTATUSZ Statusz
,tanev.C_NEV TanevNev
,iktd.C_ELEKTRONIKUSPELDANYID ElektronikusPeldanyId
,iktd.C_FOSZAMOSIKTATOTTDOKUMENTUMID FoszamosDokumentumId
,iktd.C_ISFOSZAMOS IsFoszamos
,iktd.TOROLT Torolt
FROM T_IKTATOTTDOKUMENTUM_OSSZES iktd
LEFT JOIN T_TANEV_OSSZES tanev ON tanev.ID = iktd.C_TANEVID and tanev.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = iktd.C_IKTATOSZEMELYID and felhasznalo.TOROLT = 'F'
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = iktd.C_FELADATELLATASIHELYID and feh.TOROLT = 'F'
LEFT JOIN T_MUKODESIHELY_OSSZES mukodHely ON feh.C_MUKODESIHELYID = mukodHely.ID and mukodHely.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES DIB ON feh.C_OKTATASINEVELESIFELADATTIPUS = DIB.ID
AND feh.C_INTEZMENYID = DIB.C_INTEZMENYID
AND feh.C_TANEVID = DIB.C_TANEVID
LEFT JOIN T_MUKODESIHELY_OSSZES igaziMukodHely ON iktd.C_FELADATELLATASIHELYID = igaziMukodHely.ID and igaziMukodHely.TOROLT = 'F'
LEFT JOIN T_FELADATELLATASIHELY_OSSZES igaziFeh ON igaziFeh.C_MUKODESIHELYID = igaziMukodHely.ID and igaziFeh.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES DIBM ON igaziFeh.C_OKTATASINEVELESIFELADATTIPUS = DIBM.ID
AND igaziFeh.C_INTEZMENYID = DIBM.C_INTEZMENYID
AND igaziFeh.C_TANEVID = DIBm.C_TANEVID
WHERE iktd.C_TANEVID = @pTanevId
GO

View file

@ -0,0 +1,310 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS uspGetIktatottDokumentum
GO
CREATE PROCEDURE dbo.uspGetIktatottDokumentum
@pTanevId INT,
@pKategoriaId INT = NULL,
@pDokumentumTipus INT = NULL,
@pDokumentumNeve NVARCHAR(256) = NULL,
@pFeladatEllatasiHely INT = NULL,
@pIktatoSzam NVARCHAR(50) = NULL,
@pIktatasKezdete DATETIME = NULL,
@pIktatasVege DATETIME = NULL,
@pOsztalyId INT = NULL,
@pEvfolyamId INT = NULL,
@pKepzesTipusId INT = NULL,
@pOsztalyFonokId INT = NULL ,
@pTantervId INT = NULL,
@pOsztalyjellemzoId INT = NULL,
@pSzakcsoportId INT = NULL,
@pAgazatId INT = NULL,
@pSzakkepesitesId INT = NULL,
@pReszszakkepesitesId INT = NULL,
@pCsoportnevId INT = NULL,
@pCsoporttipusId INT = NULL,
@pCsoportjellemzoId INT = NULL,
@pTanuloNeve NVARCHAR(50) = NULL,
@pAlkalmazottId INT = NULL,
@pTanuloOktAzon NVARCHAR(20) = NULL,
@pAlkalmazottOktAzon NVARCHAR(20) = NULL,
@pGondviseloNeve NVARCHAR(50) = NULL,
@pIktatoSzemely NVARCHAR(50) = NULL,
@pDokumentumStatusz INT = NULL,
@pFoszamosDokumentumId INT = NULL,
@pOrderBy NVARCHAR(256) = NULL,
@pFirstRow INT = NULL,
@pLastRow INT = NULL
AS
BEGIN
SET NOCOUNT ON;
DECLARE @whereCondition NVARCHAR(MAX) = ''
DECLARE @sql NVARCHAR(MAX);
DECLARE @paramDefinition NVARCHAR(MAX)
SET @sql = N'SELECT * INTO #tmpIktDok
FROM (
SELECT * FROM fnGetIktatottDokumentumok(@tanevId)'
IF @pKategoriaId IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'Kategoria = @kategoriaId')
END
IF @pDokumentumTipus IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'DokumentumTipus = @dokumentumTipus')
END
IF @pDokumentumNeve IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'DokumentumNeve LIKE ''%'' + @dokumentumNeve + ''%''')
END
IF @pFeladatEllatasiHely IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'FeladatellatasihelyId = @feladatEllatasiHely')
END
IF @pIktatoSzam IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'Iktatoszam LIKE ''%'' + @iktatoSzam + ''%''')
END
IF @pIktatasKezdete IS NOT NULL AND @pIktatasVege IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'IktatasDatuma BETWEEN @iktatasKezdete AND @iktatasVege')
END
IF @pIktatoSzemely IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'IktatoSzemelye LIKE ''%'' + @iktatoSzemely + ''%''')
END
IF @pDokumentumStatusz IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'Statusz = @dokumentumStatusz')
END
SET @sql += CONCAT(@whereCondition, ') data;')
SET @whereCondition = ''
declare @nct int = 0
set @nct = case when @pOsztalyId IS NOT NULL then 1 else 0 END+
case when @pEvfolyamId IS NOT NULL then 1 else 0 END+
case when @pKepzesTipusId IS NOT NULL then 1 else 0 END+
case when @pOsztalyFonokId IS NOT NULL then 1 else 0 END+
case when @pTantervId IS NOT NULL then 1 else 0 END+
case when @pOsztalyjellemzoId IS NOT NULL then 1 else 0 END+
case when @pSzakcsoportId IS NOT NULL then 1 else 0 END+
case when @pAgazatId IS NOT NULL then 1 else 0 END+
case when @pSzakkepesitesId IS NOT NULL then 1 else 0 END+
case when @pReszszakkepesitesId IS NOT NULL then 1 else 0 END+
case when @pCsoportnevId IS NOT NULL then 1 else 0 END+
case when @pCsoporttipusId IS NOT NULL then 1 else 0 END+
case when @pCsoportjellemzoId IS NOT NULL then 1 else 0 END+
case when @pTanuloNeve IS NOT NULL then 1 else 0 END+
case when @pAlkalmazottId IS NOT NULL then 1 else 0 END+
case when @pTanuloOktAzon IS NOT NULL then 1 else 0 END+
case when @pAlkalmazottOktAzon IS NOT NULL then 1 else 0 END+
case when @pGondviseloNeve IS NOT NULL then 1 else 0 END
SET @sql += N'
SELECT * INTO #selIktDok FROM (
SELECT #tmpIktDok.* FROM #tmpIktDok'
IF @nct > 0 BEGIN
SET @sql += ' LEFT JOIN (
SELECT COUNT(datadarab.C_IKTATOTTDOKUMENTUMID) AS darab, datadarab.C_IKTATOTTDOKUMENTUMID FROM (
SELECT dksz.C_DOKUMENTUMKULCSSZOTIPUS, dksz.C_IKTATOTTDOKUMENTUMID FROM T_DOKUMENTUMKULCSSZOERTEK_OSSZES AS dksze
INNER JOIN T_DOKUMENTUMKULCSSZO_OSSZES AS dksz ON dksz.C_DOKUMENTUMKULCSSZOERTEKID = dksze.ID
WHERE dksz.C_IKTATOTTDOKUMENTUMID IN (SELECT ID FROM #tmpIktDok)
AND
('
IF (@pOsztalyId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7399 AND dksze.C_ERTEK = CAST(@osztalyId as nvarchar))')
END
IF (@pEvfolyamId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7400 AND dksze.C_ERTEK = CAST(@evfolyamId as nvarchar))')
END
IF (@pKepzesTipusId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7402 AND dksze.C_ERTEK = CAST(@kepzesTipusId as nvarchar))')
END
IF (@pOsztalyFonokId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7403 AND dksze.C_ERTEK = CAST(@osztalyFonokId as nvarchar))')
END
IF (@pTantervId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7404 AND dksze.C_ERTEK = CAST(@tantervId as nvarchar))')
END
IF (@pOsztalyjellemzoId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7405 AND dksze.C_ERTEK = CAST(@osztalyjellemzoId as nvarchar))')
END
IF (@pSzakcsoportId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7406 AND dksze.C_ERTEK = CAST(@szakcsoportId as nvarchar))')
END
IF (@pAgazatId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7407 AND dksze.C_ERTEK = CAST(@agazatId as nvarchar))')
END
IF (@pSzakkepesitesId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7408 AND dksze.C_ERTEK = CAST(@szakkepesitesId as nvarchar))')
END
IF (@pReszszakkepesitesId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7409 AND dksze.C_ERTEK = CAST(@reszszakkepesitesId as nvarchar))')
END
IF (@pCsoportnevId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7410 AND dksze.C_ERTEK = CAST(@csoportnevId as nvarchar))')
END
IF (@pCsoporttipusId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7411 AND dksze.C_ERTEK = CAST(@csoporttipusId as nvarchar))')
END
IF (@pCsoportjellemzoId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7413 AND dksze.C_ERTEK = CAST(@csoportjellemzoId as nvarchar))')
END
IF (@pTanuloNeve IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7414 AND dksze.C_ERTEK LIKE ''%'' + @tanuloNeve + ''%'')')
END
IF (@pAlkalmazottId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7415 AND dksze.C_ERTEK = CAST(@alkalmazottId as nvarchar))')
END
IF (@pTanuloOktAzon IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7417 AND dksze.C_ERTEK LIKE ''%'' + @tanuloOktAzon + ''%'')')
END
IF (@pAlkalmazottOktAzon IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7418 AND dksze.C_ERTEK LIKE ''%'' + @alkalmazottOktAzon + ''%'')')
END
IF (@pGondviseloNeve IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7416 AND dksze.C_ERTEK LIKE ''%'' + @gondviseloNeve + ''%'')')
END
SET @sql += @whereCondition
SET @sql += N')
GROUP BY dksz.C_IKTATOTTDOKUMENTUMID, dksz.C_DOKUMENTUMKULCSSZOTIPUS
) datadarab
GROUP BY datadarab.C_IKTATOTTDOKUMENTUMID
) darabok ON #tmpIktDok.ID = darabok.C_IKTATOTTDOKUMENTUMID
WHERE darabok.darab = @cnt'
END
SET @sql += ') AS sel';
IF @pFoszamosDokumentumId IS NULL BEGIN
SET @sql += N'
SELECT a.* INTO #alszamos FROM #selIktDok AS a
INNER JOIN (
SELECT FoszamosDokumentumId, MAX(IktatasDatuma) AS datum
FROM #selIktDok
GROUP BY FoszamosDokumentumId
) b ON a.FoszamosDokumentumId = b.FoszamosDokumentumId AND a.IktatasDatuma = b.datum
WHERE a.FoszamosDokumentumId IS NOT NULL
SELECT a.* INTO #resultIktDok FROM #selIktDok AS a
WHERE a.FoszamosDokumentumId IS NULL AND a.ID NOT IN (SELECT FoszamosDokumentumId FROM #alszamos)
INSERT INTO #resultIktDok
SELECT * FROM #alszamos
DROP TABLE #alszamos;'
END
ELSE BEGIN
SET @sql += N'
SELECT * INTO #resultIktDok FROM #selIktDok
WHERE ID != @foszamosDokumentumId
AND FoszamosDokumentumId = (SELECT FoszamosDokumentumId FROM #selIktDok WHERE ID = @foszamosDokumentumId)
INSERT INTO #resultIktDok SELECT * FROM #selIktDok
WHERE ID = (SELECT FoszamosDokumentumId FROM #selIktDok WHERE ID = @foszamosDokumentumId)'
END
SET @sql += CONCAT(N'
SELECT COUNT(#resultIktDok.ID) FROM #resultIktDok;',
IIF(@pFirstRow IS NULL AND @pLastRow IS NULL,
CONCAT(N'
SELECT * FROM #resultIktDok', IIF(@pOrderBy IS NOT NULL, CONCAT(' ORDER BY ', @pOrderBy), '')
),
CONCAT(N'
SELECT * FROM
(
SELECT ROW_NUMBER() OVER(ORDER BY ', IIF(@pOrderBy IS NULL, '(SELECT 0)', @pOrderBy) ,') AS rnum, #resultIktDok.* FROM #resultIktDok
) qqq
WHERE qqq.rnum BETWEEN @firstRow AND @lastRow')), N'
DROP TABLE #resultIktDok;
DROP TABLE #tmpIktDok;
DROP TABLE #selIktDok;');
--PRINT @sql
SET @paramDefinition = N'@tanevId INT,
@kategoriaId INT,
@dokumentumTipus INT,
@dokumentumNeve NVARCHAR(256),
@feladatEllatasiHely INT,
@iktatoSzam NVARCHAR(50),
@iktatasKezdete DATETIME,
@iktatasVege DATETIME,
@osztalyId INT,
@evfolyamId INT,
@kepzesTipusId INT,
@osztalyFonokId INT ,
@tantervId INT,
@osztalyjellemzoId INT,
@szakcsoportId INT,
@agazatId INT,
@szakkepesitesId INT,
@reszszakkepesitesId INT,
@csoportnevId INT,
@csoporttipusId INT,
@csoportjellemzoId INT,
@tanuloNeve NVARCHAR(50),
@alkalmazottId INT,
@tanuloOktAzon NVARCHAR(20),
@alkalmazottOktAzon NVARCHAR(20),
@gondviseloNeve NVARCHAR(50),
@iktatoSzemely NVARCHAR(50),
@dokumentumStatusz INT,
@foszamosDokumentumId INT,
@orderBy NVARCHAR(256),
@firstRow INT,
@lastRow INT,
@cnt INT'
EXEC sp_executesql @sql, @paramDefinition,
@tanevId = @pTanevId,
@kategoriaId = @pKategoriaId,
@dokumentumTipus = @pDokumentumTipus,
@dokumentumNeve = @pDokumentumNeve,
@feladatEllatasiHely = @pFeladatEllatasiHely,
@iktatoSzam = @pIktatoSzam,
@iktatasKezdete = @pIktatasKezdete,
@iktatasVege = @pIktatasVege,
@osztalyId = @pOsztalyId,
@evfolyamId = @pEvfolyamId,
@kepzesTipusId = @pKepzesTipusId,
@osztalyFonokId = @pOsztalyFonokId,
@tantervId = @pTantervId,
@osztalyjellemzoId = @pOsztalyjellemzoId,
@szakcsoportId = @pSzakcsoportId,
@agazatId = @pAgazatId,
@szakkepesitesId = @pSzakkepesitesId,
@reszszakkepesitesId = @pReszszakkepesitesId,
@csoportnevId = @pCsoportnevId,
@csoporttipusId = @pCsoporttipusId,
@csoportjellemzoId = @pCsoportjellemzoId,
@tanuloNeve = @pTanuloNeve,
@alkalmazottId = @pAlkalmazottId,
@tanuloOktAzon = @pTanuloOktAzon,
@alkalmazottOktAzon = @pAlkalmazottOktAzon,
@gondviseloNeve = @pGondviseloNeve,
@iktatoSzemely = @pIktatoSzemely,
@dokumentumStatusz = @pDokumentumStatusz,
@foszamosDokumentumId = @pFoszamosDokumentumId,
@orderBy = @pOrderBy,
@firstRow = @pFirstRow,
@lastRow = @pLastRow,
@cnt = @nct
END
GO

View file

@ -0,0 +1,130 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS dbo.uspIktatottDokumentumLetezik
GO
CREATE PROCEDURE dbo.uspIktatottDokumentumLetezik
@intezmenyId int,
@tanevId int = NULL,
@dokumentumKategoria int,
@dokumentumTipus int,
@elemiSzint int,
@osztalyId int = NULL,
@csoportId int = NULL,
@tanarId int = NULL,
@evfolyamId int = NULL,
@gondviseloNeve nvarchar(50) = NULL,
@tanuloNeve nvarchar(50) = NULL,
@tanuloEgyediAzon nvarchar(15) = NULL,
@alkalmazottEgyediAzon nvarchar(15) = NULL,
@teremId int = NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @paramDefinition nvarchar(MAX)
DECLARE @nct int = 0
SET @nct = CASE WHEN @osztalyId IS NOT NULL THEN 1 ELSE 0 END+
CASE WHEN @csoportId IS NOT NULL THEN 1 ELSE 0 END+
CASE WHEN @tanarId IS NOT NULL THEN 1 ELSE 0 END+
CASE WHEN @evfolyamId IS NOT NULL THEN 1 ELSE 0 END+
CASE WHEN @gondviseloNeve IS NOT NULL THEN 1 ELSE 0 END+
CASE WHEN @tanuloNeve IS NOT NULL THEN 1 ELSE 0 END+
CASE WHEN @tanuloEgyediAzon IS NOT NULL THEN 1 ELSE 0 END+
CASE WHEN @alkalmazottEgyediAzon IS NOT NULL THEN 1 ELSE 0 END+
CASE WHEN @teremId IS NOT NULL THEN 1 ELSE 0 END
DECLARE @whereCondition nvarchar(MAX) = ''
DECLARE @sql nvarchar(MAX) = CONCAT(N'SELECT ID FROM (
SELECT kulcsszotipusok.iktdID ID, COUNT(kulcsszotipusok.darab) AS darab FROM (
SELECT iktd.ID iktdID, ', IIF(@nct > 0, 'dksz.C_DOKUMENTUMKULCSSZOTIPUS, ', ''), N'COUNT(iktd.C_INTEZMENYID) AS darab FROM T_IKTATOTTDOKUMENTUM_OSSZES iktd', IIF(@nct > 0, N'
LEFT JOIN T_DOKUMENTUMKULCSSZO_OSSZES dksz ON dksz.C_IKTATOTTDOKUMENTUMID = iktd.ID
LEFT JOIN T_DOKUMENTUMKULCSSZOERTEK_OSSZES dksze ON dksze.ID = dksz.C_DOKUMENTUMKULCSSZOERTEKID', ''), N'
WHERE iktd.TOROLT = ''F''
AND iktd.C_INTEZMENYID = @intezmenyId', IIF(@tanevId IS NOT NULL, N'
AND iktd.C_TANEVID = @tanevId', ''), N'
AND iktd.C_DOKUMENTUMKATEGORIA = @dokumentumKategoria
AND iktd.C_DOKUMENTUMTIPUS = @dokumentumTipus
AND iktd.C_DOKUMENTUMELEMISZINT = @elemiSzint
AND iktd.C_ISFOSZAMOS = ''T''
'
)
IF @nct > 0 BEGIN
IF @osztalyId IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (',''), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7399 AND dksze.C_ERTEK = CAST(@osztalyId as nvarchar))')
END
IF @csoportId IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7410 AND dksze.C_ERTEK = CAST(@csoportId as nvarchar))')
END
IF @tanarId IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7415 AND dksze.C_ERTEK = CAST(@tanarId as nvarchar))')
END
IF @evfolyamId IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7400 AND dksze.C_ERTEK = CAST(@evfolyamId as nvarchar))')
END
IF @tanuloNeve IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7414 AND LOWER(dksze.C_ERTEK) LIKE ''%'' + @tanuloNeve + ''%'')')
END
IF @gondviseloNeve IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7416 AND LOWER(dksze.C_ERTEK) LIKE ''%'' + @gondviseloNeve + ''%'')')
END
IF @tanuloEgyediAzon IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7561 AND LOWER(dksze.C_ERTEK) LIKE ''%'' + @tanuloEgyediAzon + ''%'')')
END
IF @alkalmazottEgyediAzon IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7562 AND LOWER(dksze.C_ERTEK) LIKE ''%'' + @alkalmazottEgyediAzon + ''%'')')
END
IF @teremId IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7674 AND dksze.C_ERTEK = CAST(@teremId as nvarchar))')
END
SET @whereCondition += IIF(@whereCondition != '', ')', '')
SET @sql += @whereCondition
END
SET @sql += CONCAT(N'
GROUP BY iktd.ID', IIF(@nct > 0, N', dksz.C_DOKUMENTUMKULCSSZOTIPUS', ''), N'
) AS kulcsszotipusok
GROUP BY kulcsszotipusok.iktdID
) AS doksik
WHERE doksik.darab = ', IIF(@nct > 0, '@cnt', '1'), ' ORDER BY ID DESC')
SET @paramDefinition = N'@intezmenyId int,
@tanevId int,
@dokumentumKategoria int,
@dokumentumTipus int,
@elemiSzint int,
@osztalyId int,
@csoportId int,
@tanarId int,
@evfolyamId int,
@tanuloNeve nvarchar(max),
@gondviseloNeve nvarchar(max),
@tanuloEgyediAzon nvarchar(max),
@alkalmazottEgyediAzon nvarchar(max),
@teremId int,
@cnt int
'
EXEC sp_executesql @sql, @paramDefinition,
@intezmenyId = @intezmenyId,
@tanevId = @tanevId,
@dokumentumKategoria = @dokumentumKategoria,
@dokumentumTipus = @dokumentumTipus,
@elemiSzint = @elemiSzint,
@osztalyId = @osztalyId,
@csoportId = @csoportId,
@tanarId = @tanarId,
@evfolyamId = @evfolyamId,
@tanuloNeve = @tanuloNeve,
@gondviseloNeve = @gondviseloNeve,
@tanuloEgyediAzon = @tanuloEgyediAzon,
@alkalmazottEgyediAzon = @alkalmazottEgyediAzon,
@teremId = @teremId,
@cnt = @nct
END
GO