kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190117154639_DB_283/uspGetTanuloErtekelesDataSetByMagatartasSzorgalom.sql
2024-03-13 00:33:46 +01:00

130 lines
5.1 KiB
Transact-SQL

-- =============================================
-- Description: <Előszedjük a tanuló értékeléseket magatartás/szorgalom alapján>
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS [dbo].[uspGetTanuloErtekelesDataSetByMagatartasSzorgalom]
GO
CREATE PROCEDURE [dbo].[uspGetTanuloErtekelesDataSetByMagatartasSzorgalom]
@pIntezmenyId INT
,@pTanevId INT
,@pTanarId INT
,@pOsztalyCsoportId INT
,@pDatum DATE = NULL
AS
BEGIN
DECLARE @DefaultFeladatKategoriaId int = (SELECT tev.C_DEFAULTFELADATKATEGORIAID FROM T_TANEV_OSSZES tev WHERE tev.ID = @pTanevId)
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
SET NOCOUNT ON;
IF @pDatum IS NULL
SET @pDatum = CONVERT(DATE, GETDATE())
CREATE TABLE #TanuloOsztalyEvfolyamTipusIdList(
TanuloId INT PRIMARY KEY
,EvfolyamTipusId INT
)
INSERT INTO
#TanuloOsztalyEvfolyamTipusIdList
SELECT
TanuloId
,EvfolyamTipusId
FROM
dbo.fnGetOsztalyCsoportTanuloOsztalyList(@pIntezmenyId, @pTanevId, @pOsztalyCsoportId, @pDatum) /*TODO:Tobb Osztaly*//*OM-1649*/
SELECT
FelhasznaloTanulo.ID TanuloId
,NULL TantargyId
,FelhasznaloTanulo.C_NYOMTATASINEV TanuloNev
,IIF(FelhasznaloTanulo.C_NEVSORREND = 'T', --
FelhasznaloTanulo.C_UTONEV + ' '+ FelhasznaloTanulo.C_VEZETEKNEV, --
FelhasznaloTanulo.C_VEZETEKNEV + ' ' + FelhasznaloTanulo.C_UTONEV) TanuloNevElotagNelkul
,FelhasznaloTanulo.C_ANYJANEVE AnyjaNeve
,FelhasznaloTanulo.C_SZULETESIDATUM SzuletesiIdo
,OsztalyCsoport.C_NEV OsztalyNev
,TanuloErtekeles.ID ID
,TanuloErtekeles.C_DATUM Datum
,TanuloErtekeles.C_ROGZITESDATUM RogzitesDatum
,TanuloErtekeles.C_TIPUSID TipusId
,FelhasznaloErtekelo.C_NYOMTATASINEV ErtekeloNyomtatasiNev
,IIF(TanuloErtekeles.ID IS NULL, --
NULL, --
CASE --
WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId --
THEN 'T' --
ELSE 'F' --
END --
) Modosithato
,TanuloErtekeles.CREATED Created
,TanuloErtekeles.C_ISMAGATARTASSZORGALOM IsMagatartasSzorgalom
,TanuloErtekeles.C_ISERTESITESELKULDVE IsErtesitesElkuldve
,TanuloErtekeles.C_MAGATARTASOSZTALYZATID MagatartasOsztalyzatId
,TanuloErtekeles.C_MAGATARTASSZOVEG MagatartasSzoveg
,TanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV MagatartasSzovegRovidNev
,TanuloErtekeles.C_MAGATARTASERTEKID MagatartasErtekId
,TanuloErtekeles.C_SZORGALOMOSZTALYZATID SzorgalomOsztalyzatId
,TanuloErtekeles.C_SZORGALOMSZOVEG SzorgalomSzoveg
,TanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV SzorgalomSzovegRovidNev
,TanuloErtekeles.C_SZORGALOMERTEKID SzorgalomErtekId
FROM
T_TANULOCSOPORT_OSSZES TanuloCsoport
INNER JOIN
T_FELHASZNALO_OSSZES FelhasznaloTanulo ON
FelhasznaloTanulo.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
AND FelhasznaloTanulo.C_TANEVID = TanuloCsoport.C_TANEVID
AND FelhasznaloTanulo.TOROLT = 'F'
AND FelhasznaloTanulo.ID = TanuloCsoport.C_TANULOID
LEFT JOIN
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
OsztalyCsoport.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
AND OsztalyCsoport.TOROLT = 'F'
AND OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
LEFT JOIN(
SELECT
TanuloErtekeles.*
FROM
T_TANULOERTEKELES_OSSZES TanuloErtekeles
INNER JOIN
T_OSZTALYCSOPORT_OSSZES Osztaly ON
Osztaly.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
AND Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID
AND Osztaly.TOROLT = 'F'
AND Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
AND Osztaly.C_EVFOLYAMTIPUSA = (SELECT EvfolyamTipusId FROM #TanuloOsztalyEvfolyamTipusIdList WHERE TanuloId = TanuloErtekeles.C_TANULOID)
AND Osztaly.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
WHERE
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
AND TanuloErtekeles.C_TANEVID = @pTanevId
AND TanuloErtekeles.TOROLT = 'F'
AND TanuloErtekeles.C_TANTARGYID IS NULL
) AS TanuloErtekeles ON
TanuloErtekeles.C_TANULOID = TanuloCsoport.C_TANULOID
LEFT JOIN
T_FELHASZNALO_OSSZES FelhasznaloErtekelo ON
FelhasznaloErtekelo.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
AND FelhasznaloErtekelo.C_TANEVID = TanuloCsoport.C_TANEVID
AND FelhasznaloErtekelo.TOROLT = 'F'
AND FelhasznaloErtekelo.ID = TanuloErtekeles.C_ERTEKELOID
WHERE
TanuloCsoport.C_INTEZMENYID = @pIntezmenyId
AND TanuloCsoport.C_TANEVID = @pTanevId
AND TanuloCsoport.TOROLT = 'F'
AND TanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
AND TanuloCsoport.C_BELEPESDATUM <= @pDatum
AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM >= @pDatum)
END
GO