kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/uspGetAdminDualisSzerzodesek.sql
2024-03-13 00:33:46 +01:00

118 lines
4.7 KiB
Transact-SQL

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