DROP FUNCTION IF EXISTS fnGetDokumentumTanuloOrGondviseloCim GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION fnGetDokumentumTanuloOrGondviseloCim (@TanuloOrGondviselo BIT, @pTanevId INT, @pOsztalyId INT, @isAlapertelmezettTanuloCim BIT = NULL, @isAlapertelmezettGondviseloCim BIT = NULL) RETURNS @result TABLE ( TanuloId INT, Cim NVARCHAR(MAX), CimTipusa INT, GondviseloId INT, IsAlapertelmezett CHAR ) AS BEGIN DECLARE @Magyarorszagmegnevezes NVARCHAR(20) = (SELECT dib_MO.C_NAME FROM T_DICTIONARYITEMBASE_OSSZES dib_MO WHERE dib_MO.ID = 765 AND dib_MO.C_TANEVID = @pTanevId AND dib_MO.TOROLT = 'F') IF @TanuloOrGondviselo = 0 BEGIN INSERT INTO @result(TanuloId, Cim, CimTipusa, GondviseloId, IsAlapertelmezett) SELECT Tanulo.C_TANULOID AS TanuloId ,ISNULL(dib_orszag.C_NAME,@Magyarorszagmegnevezes) + ', ' + cim.C_IRANYITOSZAM + ' ' + cim.C_VAROS + ', ' + cim.C_KOZTERULET + ' ' + cim.C_KOZTERULETJELLEGENEV + ' ' + cim.C_HAZSZAM + IIF(RIGHT(C_HAZSZAM, 1) = '.', '', '.') + ' ' + ISNULL(cim.C_EMELET + '/', '') + ISNULL(cim.C_AJTO, '') AS Cim ,cim.C_CIMTIPUSA AS CimTipusa ,cim.C_GONDVISELOID AS GondviseloId ,cim.C_ALAPERTELMEZETT FROM T_TANULOCSOPORT_OSSZES Tanulo INNER JOIN T_CIM_OSSZES cim on cim.C_FELHASZNALOID = Tanulo.C_TANULOID AND cim.C_GONDVISELOID IS NULL AND cim.TOROLT = 'F' INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa on cimTipusa.ID = cim.C_CIMTIPUSA AND cimTipusa.C_TANEVID = @pTanevId LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dib_orszag on dib_orszag.ID = cim.C_ORSZAG AND dib_orszag.C_TANEVID = @pTanevId AND dib_orszag.TOROLT = 'F' WHERE Tanulo.C_TANEVID = @pTanevId AND Tanulo.C_OSZTALYCSOPORTID = @pOsztalyId AND Tanulo.TOROLT = 'F' AND (@isAlapertelmezettTanuloCim IS NULL OR (@isAlapertelmezettTanuloCim = 0 AND cim.C_ALAPERTELMEZETT = 'F') OR (@isAlapertelmezettTanuloCim = 1 AND cim.C_ALAPERTELMEZETT = 'T')) ORDER BY cimTipusa.C_NAME ASC, cim.C_ALAPERTELMEZETT DESC END ELSE IF @TanuloOrGondviselo = 1 BEGIN INSERT INTO @result(TanuloId, Cim, CimTipusa, GondviseloId, IsAlapertelmezett) SELECT Tanulo.C_TANULOID AS TanuloId ,ISNULL(dib_orszag.C_NAME,@Magyarorszagmegnevezes) + ', ' + cim.C_IRANYITOSZAM + ' ' + cim.C_VAROS + ', ' + cim.C_KOZTERULET + ' ' + cim.C_KOZTERULETJELLEGENEV + ' ' + cim.C_HAZSZAM + IIF(RIGHT(C_HAZSZAM, 1) = '.', '', '.') + ' ' + ISNULL(cim.C_EMELET + '/', '') + ISNULL(cim.C_AJTO, '') AS Cim ,cim.C_CIMTIPUSA AS CimTipusa ,cim.C_GONDVISELOID AS GondviseloId ,cim.C_ALAPERTELMEZETT FROM T_TANULOCSOPORT_OSSZES Tanulo INNER JOIN T_GONDVISELO_OSSZES Gondviselo ON Gondviselo.C_TANULOID = Tanulo.C_TANULOID INNER JOIN T_CIM_OSSZES cim ON cim.C_GONDVISELOID = Gondviselo.ID AND cim.TOROLT = 'F' INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa on cimTipusa.ID = cim.C_CIMTIPUSA AND cimTipusa.C_TANEVID = @pTanevId LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dib_orszag on dib_orszag.ID = cim.C_ORSZAG AND dib_orszag.C_TANEVID = @pTanevId AND dib_orszag.TOROLT = 'F' WHERE Tanulo.C_TANEVID = @pTanevId AND Tanulo.C_OSZTALYCSOPORTID = @pOsztalyId AND Tanulo.TOROLT = 'F' AND (@isAlapertelmezettGondviseloCim IS NULL OR (@isAlapertelmezettGondviseloCim = 0 AND cim.C_ALAPERTELMEZETT = 'F') OR (@isAlapertelmezettGondviseloCim = 1 AND cim.C_ALAPERTELMEZETT = 'T')) ORDER BY cimTipusa.C_NAME ASC, cim.C_ALAPERTELMEZETT DESC END RETURN END