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,63 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('fnGetIktatottDokumentumok') IS NOT NULL
BEGIN
DROP FUNCTION fnGetIktatottDokumentumok
END
GO
CREATE FUNCTION [dbo].[fnGetIktatottDokumentumok](
@pTanevId INT
,@pIntezmenyId INT
)
RETURNS @Result TABLE (
ID INT NOT NULL
,Kategoria INT NOT NULL
,DokumentumTipus INT NOT NULL
,DokumentumNeve NVARCHAR(MAX) NOT NULL
,FeladatellatasihelyId INT NULL
,FeladatellatasihelyNeve NVARCHAR(MAX) NULL
,Iktatoszam NVARCHAR(MAX) NULL
,IktatasDatuma DATETIME NULL
,IktatoSzemelye NVARCHAR(MAX) NOT NULL
,Statusz INT NOT NULL
,TanevNev NVARCHAR(MAX) NOT NULL
,ElektronikusPeldanyId INT NULL
,FoszamosDokumentumId INT NULL
) AS
BEGIN
INSERT INTO @Result (ID, Kategoria, DokumentumTipus, DokumentumNeve, FeladatellatasihelyId, FeladatellatasihelyNeve, Iktatoszam,
IktatasDatuma, IktatoSzemelye, Statusz, TanevNev, ElektronikusPeldanyId, FoszamosDokumentumId)
SELECT
iktd.ID,
iktd.C_DOKUMENTUMKATEGORIA Kategoria,
iktd.C_DOKUMENTUMTIPUS DokumentumTipus,
iktd.C_DOKUMENTUMNEVE DokumentumNeve,
iktd.C_FELADATELLATASIHELYID FeladatellatasihelyId,
IIF (iktd.C_FELADATELLATASIHELYID is NULL, '', CONCAT(mukodHely.C_NEV, ' - ', DIB.C_NAME)) 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
FROM T_IKTATOTTDOKUMENTUM 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' and feh.C_TANEVID = iktd.C_TANEVID
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
WHERE iktd.TOROLT = 'F' AND iktd.C_TANEVID = @pTanevId AND iktd.C_INTEZMENYID = @pIntezmenyId
RETURN
END
GO

View file

@ -0,0 +1,223 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('uspGetIktatottDokumentum') IS NOT NULL
BEGIN
DROP PROCEDURE uspGetIktatottDokumentum
END
GO
CREATE PROCEDURE dbo.uspGetIktatottDokumentum
@pTanevId INT,
@pIntezmenyId INT,
@pKategoriaId INT = NULL,
@pDokumentumTipus INT = NULL,
@pDokumentumNeve NVARCHAR(256) = NULL,
@pFeladatEllatasiHely INT = NULL,
@pIktatoSzam NVARCHAR(50) = NULL,
@pIktatasKezdete NVARCHAR(24) = NULL,
@pIktatasVege NVARCHAR(24) = 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
AS
BEGIN
SET NOCOUNT ON;
DECLARE @whereCondition NVARCHAR(MAX) = ''
DECLARE @sql NVARCHAR(MAX);
SET @sql = CONCAT(N'SELECT * INTO #tmpIktDok
FROM (
SELECT * FROM fnGetIktatottDokumentumok(', @pTanevId, ',', @pIntezmenyId, ')')
IF @pKategoriaId IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'Kategoria = ', @pKategoriaId)
END
IF @pDokumentumTipus IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'DokumentumTipus = ', @pDokumentumTipus)
END
IF @pDokumentumNeve IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'LOWER(DokumentumNeve) LIKE ''%', @pDokumentumNeve ,'%''')
END
IF @pFeladatEllatasiHely IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'FeladatellatasihelyId = ', @pFeladatEllatasiHely)
END
IF @pIktatoSzam IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'LOWER(Iktatoszam) LIKE ''%', @pIktatoszam, '%''')
END
IF @pIktatasKezdete IS NOT NULL AND @pIktatasVege IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'IktatasDatuma BETWEEN ''', CONVERT(NVARCHAR, @pIktatasKezdete, 102), ''' AND ''', CONVERT(NVARCHAR, @pIktatasVege, 102), '''')
END
IF @pIktatoSzemely IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'LOWER(IktatoSzemelye) LIKE ''%', @pIktatoSzemely, '%''')
END
IF @pDokumentumStatusz IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', N' WHERE ', N' AND '), N'Statusz = ', @pDokumentumStatusz)
END
SET @sql += CONCAT(@whereCondition, ') data;')
SET @sql = CONCAT(@sql, N'
insert into #tmpIktDok
SELECT * FROM fnGetIktatottDokumentumok(', @pTanevId, ',', @pIntezmenyId, ') AS aaa
where aaa.ID in (select distinct FoszamosDokumentumId from #tmpIktDok)
and aaa.ID not in (select distinct ID from #tmpIktDok)')
SET @whereCondition = ''
declare @cnt int = 0
set @cnt = 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 #tmpIktDok.* from #tmpIktDok'
IF @cnt > 0 BEGIN
SET @sql += ' left join (
select count(datadarab.C_IKTATOTTDOKUMENTUMID) darab, datadarab.C_IKTATOTTDOKUMENTUMID from (
select dksz.C_DOKUMENTUMKULCSSZOTIPUS, dksz.C_IKTATOTTDOKUMENTUMID from T_DOKUMENTUMKULCSSZOERTEK_OSSZES dksze
inner join T_DOKUMENTUMKULCSSZO_OSSZES 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 = ''', @pOsztalyId, ''')')
END
IF (@pEvfolyamId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7400 AND dksze.C_ERTEK = ''', @pEvfolyamId, ''')')
END
IF (@pKepzesTipusId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7402 AND dksze.C_ERTEK = ''', @pKepzesTipusId, ''')')
END
IF (@pOsztalyFonokId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7403 AND dksze.C_ERTEK = ''', @pOsztalyFonokId, ''')')
END
IF (@pTantervId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7404 AND dksze.C_ERTEK = ''', @pTantervId, ''')')
END
IF (@pOsztalyjellemzoId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7405 AND dksze.C_ERTEK = ''', @pOsztalyjellemzoId, ''')')
END
IF (@pSzakcsoportId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7406 AND dksze.C_ERTEK = ''', @pSzakcsoportId, ''')')
END
IF (@pAgazatId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7407 AND dksze.C_ERTEK = ''', @pAgazatId, ''')')
END
IF (@pSzakkepesitesId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7408 AND dksze.C_ERTEK = ''', @pSzakkepesitesId, ''')')
END
IF (@pReszszakkepesitesId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7409 AND dksze.C_ERTEK = ''', @pReszszakkepesitesId, ''')')
END
IF (@pCsoportnevId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7410 AND dksze.C_ERTEK = ''', @pCsoportnevId, ''')')
END
IF (@pCsoporttipusId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7411 AND dksze.C_ERTEK = ''', @pCsoporttipusId, ''')')
END
IF (@pCsoportjellemzoId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7413 AND dksze.C_ERTEK = ''', @pCsoportjellemzoId, ''')')
END
IF (@pTanuloNeve IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7414 AND dksze.C_ERTEK like ''%', @pTanuloNeve, '%'')')
END
IF (@pAlkalmazottId IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7415 AND dksze.C_ERTEK = ', @pAlkalmazottId, ')')
END
IF (@pTanuloOktAzon IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7417 AND dksze.C_ERTEK like ''%', @pTanuloOktAzon, '%'')')
END
IF (@pAlkalmazottOktAzon IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7418 AND dksze.C_ERTEK like ''%', @pAlkalmazottOktAzon, '%'')')
END
IF (@pGondviseloNeve IS NOT NULL)
BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition = '', '', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7416 AND dksze.C_ERTEK like ''%', @pGondviseloNeve, '%'')')
END
SET @sql += @whereCondition
SET @sql += CONCAT(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
IF @pFoszamosDokumentumId IS NULL BEGIN
--SET @sql += CONCAT(IIF(@cnt > 0, N' AND ', N' WHERE '), N'CHARINDEX(''-'', Iktatoszam) = 0')
SET @sql += CONCAT(IIF(@cnt > 0, N' AND ', N' WHERE '), N'FoszamosDokumentumId IS NULL')
END
ELSE IF @pFoszamosDokumentumId > 0 BEGIN
-- SET @sql += CONCAT(IIF(@cnt > 0, N' AND ', N' WHERE '), N'CHARINDEX((select
--SUBSTRING(C_IKTATOSZAM,
-- CHARINDEX(''/'',C_IKTATOSZAM) + 1,
-- CHARINDEX(''/'', C_IKTATOSZAM, CHARINDEX(''/'', C_IKTATOSZAM) + 2) - CHARINDEX(''/'', C_IKTATOSZAM) - 1
-- ) + ''-''
-- from T_IKTATOTTDOKUMENTUM_OSSZES where id = ', @pFoszamosDokumentumId, N'), Iktatoszam) > 0')
SET @sql += CONCAT(IIF(@cnt > 0, N' AND ', N' WHERE '), N'FoszamosDokumentumId = ', @pFoszamosDokumentumId)
END
IF @pOrderBy IS NOT NULL BEGIN
SET @sql += CONCAT(N' ORDER BY ', @pOrderby)
END
SET @sql += N';
drop table #tmpIktDok;'
--PRINT @sql
EXEC sp_executesql @sql
END
GO