67 lines
2.8 KiB
Transact-SQL
67 lines
2.8 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS sp_GetOsztalyokEvesOraszama
|
|
GO
|
|
|
|
CREATE PROCEDURE sp_GetOsztalyokEvesOraszama
|
|
@tanevID int,
|
|
@tanitasiHetekSzamaVegzos int = 32,
|
|
@tanitasiHetekSzamaNemVegzos int = 36,
|
|
@isAltantargyBeszamitasa bit,
|
|
@oktNevelesiKategoriaId int
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @osztalyok TABLE (
|
|
OsztalyId INT
|
|
,OsztalyNev NVARCHAR(255)
|
|
)
|
|
|
|
DECLARE kurzor CURSOR FOR
|
|
SELECT
|
|
o.ID AS OsztalyId
|
|
,ocs.C_NEV AS OsztalyNev
|
|
FROM T_OSZTALY_OSSZES o
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F' AND ocs.C_TANEVID = @tanevID
|
|
WHERE
|
|
ocs.C_TANEVID = @tanevId
|
|
AND (ocs.C_FELADATKATEGORIAID = @oktNevelesiKategoriaId OR @oktNevelesiKategoriaId IS NULL)
|
|
AND ocs.TOROLT = 'F'
|
|
|
|
DECLARE @OsztalyId int, @OsztalyNev nvarchar(255)
|
|
|
|
OPEN kurzor
|
|
FETCH NEXT FROM kurzor INTO @OsztalyId, @OsztalyNev
|
|
|
|
WHILE @@FETCH_STATUS = 0 BEGIN
|
|
SELECT DISTINCT
|
|
tanulo.C_NYOMTATASINEV AS TanuloNev
|
|
,tanulo.C_OKTATASIAZONOSITO AS OktAzon
|
|
,tantargy.C_NEV AS TantargyNev
|
|
,oraszamok.Oraszam AS EvesOraszam
|
|
,@OsztalyNev AS OsztalyNev
|
|
,@OsztalyId AS OsztalyId
|
|
,tantargy.C_SORSZAM as RENDEZ0
|
|
,CASE WHEN tantargy.C_FOTARGYID IS NULL THEN ISNULL(TargyKategoriaDictionary.C_ORDER, 10000) ELSE ISNULL(FotargyKategoriaDictionary.C_ORDER, 10000) END as RENDEZ1
|
|
,COALESCE(FotargyTable.C_NEVNYOMTATVANYBAN, FotargyTable.C_NEV, tantargy.C_NEV) as RENDEZ2
|
|
,ISNULL(tantargy.C_FOTARGYID, tantargy.ID) as RENDEZ3
|
|
,tantargy.C_FOTARGYID as RENDEZ4
|
|
,ISNULL(tantargy.C_NEVNYOMTATVANYBAN, tantargy.C_NEV) as RENDEZ5
|
|
FROM fnGetDokumentumTanulokEvesOraszamaiOsztalyonkent(@tanevID, @OsztalyId, @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos, @isAltantargyBeszamitasa) oraszamok
|
|
INNER JOIN T_FELHASZNALO_OSSZES tanulo ON tanulo.ID = oraszamok.TanuloId AND tanulo.C_TANEVID = @tanevID AND tanulo.TOROLT = 'F'
|
|
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.ID = oraszamok.TantargyID AND tantargy.C_TANEVID = @tanevID AND tantargy.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary ON TargyKategoriaDictionary.Id = tantargy.C_TARGYKATEGORIA
|
|
AND TargyKategoriaDictionary.TOROLT = 'F'
|
|
AND TargyKategoriaDictionary.C_TANEVID = @tanevID
|
|
LEFT JOIN T_TANTARGY_OSSZES FotargyTable ON tantargy.C_FOTARGYID = FotargyTable.ID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = FotargyTable.C_TARGYKATEGORIA
|
|
AND FotargyKategoriaDictionary.TOROLT = 'F'
|
|
AND FotargyKategoriaDictionary.C_TANEVID = FotargyTable.C_TANEVID
|
|
ORDER BY TanuloNev, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5, TantargyNev;
|
|
FETCH NEXT FROM kurzor INTO @OsztalyId, @OsztalyNev
|
|
END
|
|
|
|
CLOSE kurzor
|
|
DEALLOCATE kurzor
|
|
END
|
|
|
|
GO |