init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,305 @@
|
|||
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
|
Loading…
Add table
Add a link
Reference in a new issue