init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,237 @@
|
|||
DROP PROCEDURE IF EXISTS uspGetDokumentumTantargyakErtekeleshez
|
||||
GO
|
||||
|
||||
|
||||
CREATE PROCEDURE uspGetDokumentumTantargyakErtekeleshez
|
||||
@intezmenyId int
|
||||
,@tanevId int
|
||||
,@osztalyCsoportId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE
|
||||
@evfolyamTipusId int = (SELECT C_EVFOLYAMTIPUSA FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId AND TOROLT = 'F')
|
||||
,@elsoNap datetime
|
||||
,@utolsoNap datetime
|
||||
|
||||
SELECT @elsoNap = C_KEZDONAP, @utolsoNap = C_UTOLSONAP FROM T_TANEV_OSSZES WHERE ID = @tanevId
|
||||
|
||||
CREATE TABLE #KapcsopodoTantargy(
|
||||
ID int
|
||||
,C_FOTARGYID int
|
||||
,C_NEV nvarchar(255)
|
||||
,C_NEVNYOMTATVANYBAN nvarchar(255)
|
||||
,C_TARGYKATEGORIA int
|
||||
,C_INTEZMENYID int
|
||||
,C_TANEVID int
|
||||
)
|
||||
-- Összeszedjük az osztályhoz kapcsolódó csoportokat
|
||||
CREATE TABLE #KapcsolodoOsztalyCsoport(
|
||||
Id int PRIMARY KEY
|
||||
,Kezdete datetime
|
||||
,Vege datetime
|
||||
)
|
||||
|
||||
INSERT INTO #KapcsopodoTantargy
|
||||
SELECT
|
||||
kt.ID
|
||||
,kt.C_FOTARGYID
|
||||
,kt.C_NEV
|
||||
,t.C_NEVNYOMTATVANYBAN
|
||||
,kt.C_TARGYKATEGORIA
|
||||
,kt.C_INTEZMENYID
|
||||
,kt.C_TANEVID
|
||||
FROM dbo.fnGetKapcsolodoTantargyak(@intezmenyId, @tanevId, NULL) AS kt
|
||||
INNER JOIN T_TANTARGY_OSSZES AS t ON t.ID = kt.ID
|
||||
|
||||
IF EXISTS (SELECT ID FROM T_OSZTALY_OSSZES WHERE ID = @osztalyCsoportId) BEGIN
|
||||
INSERT INTO #KapcsolodoOsztalyCsoport (ID)
|
||||
SELECT DISTINCT kocs.ID
|
||||
FROM fnGetKapcsolodoOsztalycsoportokByDate(@osztalyCsoportId, @elsoNap, @utolsoNap) kocs
|
||||
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = kocs.ID
|
||||
LEFT JOIN T_CSOPORTTIPUS cst ON cst.ID = cs.C_TIPUSA
|
||||
WHERE (cs.ID IS NULL OR cst.C_ISTANORAICELU = 'T')
|
||||
END
|
||||
ELSE BEGIN
|
||||
-- Csoport esetén csak a keresett csoport kell legyen tagja
|
||||
INSERT INTO #KapcsolodoOsztalyCsoport (ID)
|
||||
SELECT @osztalyCsoportId
|
||||
END;
|
||||
|
||||
-- Összeszedjük minden tanuló-tanulócsoporthoz a tárgyakat
|
||||
WITH tantargy_CTE (C_TANTARGYID, C_FOTARGYID, C_TANULOID, C_TANULOCSOPORTID, C_INTEZMENYID, C_TANEVID)
|
||||
AS (
|
||||
-- TTF-es tárgyak
|
||||
SELECT
|
||||
Foglalkozas.C_TANTARGYID
|
||||
,Tantargy.C_FOTARGYID
|
||||
,f.ID AS c_tanuloid
|
||||
,tcsOsztaly.ID AS C_TANULOCSOPORTID
|
||||
,Tantargy.C_INTEZMENYID
|
||||
,Tantargy.C_TANEVID
|
||||
FROM T_FOGLALKOZAS_OSSZES Foglalkozas
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.C_INTEZMENYID = Foglalkozas.C_INTEZMENYID
|
||||
AND Tantargy.C_TANEVID = Foglalkozas.C_TANEVID
|
||||
AND Tantargy.TOROLT = 'F'
|
||||
AND Tantargy.ID = Foglalkozas.C_TANTARGYID
|
||||
INNER JOIN #KapcsolodoOsztalyCsoport kocs ON kocs.ID = Foglalkozas.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = kocs.ID
|
||||
AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID AND f.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcsOsztaly ON tcsOsztaly.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND tcsOsztaly.C_TANULOID = f.ID
|
||||
AND tcsOsztaly.TOROLT = 'F'
|
||||
WHERE Foglalkozas.C_INTEZMENYID = @intezmenyId
|
||||
AND Foglalkozas.C_TANEVID = @tanevId
|
||||
AND Foglalkozas.TOROLT = 'F'
|
||||
|
||||
UNION
|
||||
-- ttf-ben nem szereplő tárgyak
|
||||
SELECT
|
||||
OrarendiOra.C_TANTARGYID
|
||||
,Tantargy.C_FOTARGYID
|
||||
,f.ID AS C_TANULOID
|
||||
,tcsOsztaly.ID AS C_TANULOCSOPORTID
|
||||
,Tantargy.C_INTEZMENYID
|
||||
,Tantargy.C_TANEVID
|
||||
FROM T_ORARENDIORA_OSSZES OrarendiOra
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.C_INTEZMENYID = OrarendiOra.C_INTEZMENYID
|
||||
AND Tantargy.C_TANEVID = OrarendiOra.C_TANEVID
|
||||
AND Tantargy.TOROLT = 'F'
|
||||
AND Tantargy.ID = OrarendiOra.C_TANTARGYID
|
||||
INNER JOIN #KapcsolodoOsztalyCsoport kocs ON kocs.ID = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = kocs.ID
|
||||
AND (tcs.C_BELEPESDATUM < OrarendiOra.C_ORAERVENYESSEGVEGE AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= OrarendiOra.C_ORAERVENYESSEGKEZDETE))
|
||||
AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID AND f.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcsOsztaly ON tcsOsztaly.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND (tcsOsztaly.C_BELEPESDATUM < OrarendiOra.C_ORAERVENYESSEGVEGE AND (tcsOsztaly.C_KILEPESDATUM IS NULL OR tcsOsztaly.C_KILEPESDATUM >= OrarendiOra.C_ORAERVENYESSEGKEZDETE))
|
||||
AND tcsOsztaly.C_TANULOID = f.ID
|
||||
AND tcsOsztaly.TOROLT = 'F'
|
||||
WHERE OrarendiOra.C_INTEZMENYID = @intezmenyId
|
||||
AND OrarendiOra.C_TANEVID = @tanevId
|
||||
AND OrarendiOra.TOROLT = 'F'
|
||||
|
||||
UNION
|
||||
-- Értékelést kapott tárgyak
|
||||
SELECT DISTINCT
|
||||
TanuloErtekeles.TantargyId
|
||||
,TanuloErtekeles.FotargyId
|
||||
,TanuloErtekeles.TanuloId
|
||||
,TanuloErtekeles.TanuloCsoportId AS C_TANULOCSOPORTID
|
||||
,@intezmenyId
|
||||
,@tanevId
|
||||
FROM fnGetDokumentumErtekelesekOsztalyonkent(@tanevId, @osztalyCsoportId, DEFAULT, DEFAULT, 1, DEFAULT, DEFAULT) AS TanuloErtekeles
|
||||
)
|
||||
-- UNION ALL
|
||||
-- -- AMI-s értékelés
|
||||
---- összevonható-e az alap értékeléssel
|
||||
-- SELECT DISTINCT
|
||||
-- TanuloErtekeles.C_TANTARGYID,
|
||||
-- Tantargy.C_FOTARGYID,
|
||||
-- TanuloErtekeles.C_TANULOID,
|
||||
-- tcs.ID as C_TANULOCSOPORTID,
|
||||
-- Tantargy.C_INTEZMENYID,
|
||||
-- Tantargy.C_TANEVID
|
||||
-- FROM
|
||||
---- helyett az fnGetDokumentumErtekelesekOsztalyonkent
|
||||
-- T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
-- INNER JOIN
|
||||
-- T_TANTARGY_OSSZES Tantargy ON
|
||||
-- Tantargy.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
|
||||
-- AND Tantargy.C_TANEVID = TanuloErtekeles.C_TANEVID
|
||||
-- AND Tantargy.TOROLT = 'F'
|
||||
-- AND Tantargy.ID = TanuloErtekeles.C_TANTARGYID
|
||||
-- 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 = @evfolyamTipusId
|
||||
-- INNER JOIN
|
||||
-- T_TANULOCSOPORT_OSSZES tcs ON
|
||||
-- tcs.C_OSZTALYCSOPORTID = Osztaly.ID
|
||||
-- AND tcs.C_TANULOID = TanuloErtekeles.C_TANULOID
|
||||
---- and ertekels-datum between tcs.belépés and tcs. kilépés
|
||||
-- WHERE
|
||||
-- TanuloErtekeles.C_INTEZMENYID = @intezmenyId
|
||||
-- AND TanuloErtekeles.C_TANEVID = @tanevId
|
||||
-- AND TanuloErtekeles.TOROLT = 'F'
|
||||
-- AND TanuloErtekeles.C_TANTARGYID IS NOT NULL
|
||||
-- AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NULL
|
||||
|
||||
SELECT
|
||||
NULL
|
||||
,NULL
|
||||
,'Magatartás'
|
||||
,''
|
||||
,0
|
||||
,f.ID
|
||||
,tcs.ID
|
||||
,0
|
||||
,''
|
||||
,0
|
||||
,0
|
||||
,''
|
||||
,@intezmenyId
|
||||
,@tanevId
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID AND f.TOROLT = 'F'
|
||||
WHERE tcs.C_OSZTALYCSOPORTID = @osztalyCsoportId AND tcs.TOROLT = 'F'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
NULL
|
||||
,NULL
|
||||
,'Szorgalom'
|
||||
,''
|
||||
,0
|
||||
,f.ID
|
||||
,tcs.ID
|
||||
,1
|
||||
,''
|
||||
,0
|
||||
,0
|
||||
,''
|
||||
,@intezmenyId
|
||||
,@tanevId
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID AND f.TOROLT = 'F'
|
||||
WHERE tcs.C_OSZTALYCSOPORTID = @osztalyCsoportId AND tcs.TOROLT = 'F'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT DISTINCT
|
||||
KapcsopodoTantargy.ID
|
||||
,KapcsopodoTantargy.C_FOTARGYID
|
||||
,KapcsopodoTantargy.C_NEV
|
||||
,KapcsopodoTantargy.C_NEVNYOMTATVANYBAN
|
||||
,KapcsopodoTantargy.C_TARGYKATEGORIA
|
||||
,tantargy_CTE.c_tanuloId
|
||||
,tantargy_CTE.c_tanulocsoportid
|
||||
,CASE WHEN KapcsopodoTantargy.C_FOTARGYID IS NULL THEN ISNULL(TargyKategoriaDictionary.C_ORDER, 10000) ELSE ISNULL(FotargyKategoriaDictionary.C_ORDER, 10000) END RENDEZ1
|
||||
,ISNULL(ISNULL(Fotargy.C_NEVNYOMTATVANYBAN, Fotargy.C_NEV), ISNULL(KapcsopodoTantargy.C_NEVNYOMTATVANYBAN, KapcsopodoTantargy.C_NEV)) AS RENDEZ2
|
||||
,ISNULL(KapcsopodoTantargy.C_FOTARGYID, KapcsopodoTantargy.ID) AS RENDEZ3
|
||||
,KapcsopodoTantargy.C_FOTARGYID AS RENDEZ4
|
||||
,ISNULL(KapcsopodoTantargy.C_NEVNYOMTATVANYBAN, KapcsopodoTantargy.C_NEV) AS RENDEZ5
|
||||
,KapcsopodoTantargy.C_INTEZMENYID
|
||||
,KapcsopodoTantargy.C_TANEVID
|
||||
FROM tantargy_CTE
|
||||
INNER JOIN #KapcsopodoTantargy KapcsopodoTantargy ON tantargy_CTE.C_TANTARGYID = KapcsopodoTantargy.ID OR tantargy_CTE.C_FOTARGYID = KapcsopodoTantargy.ID
|
||||
LEFT JOIN T_TANTARGY_OSSZES Fotargy ON Fotargy.C_INTEZMENYID = tantargy_CTE.C_INTEZMENYID
|
||||
AND Fotargy.C_TANEVID = tantargy_CTE.C_TANEVID
|
||||
AND Fotargy.TOROLT = 'F'
|
||||
AND Fotargy.ID = tantargy_CTE.C_FOTARGYID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary ON TargyKategoriaDictionary.Id = KapcsopodoTantargy.C_TARGYKATEGORIA
|
||||
AND TargyKategoriaDictionary.TOROLT = 'F'
|
||||
AND TargyKategoriaDictionary.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = Fotargy.C_TARGYKATEGORIA
|
||||
AND FotargyKategoriaDictionary.TOROLT = 'F'
|
||||
AND FotargyKategoriaDictionary.C_TANEVID = Fotargy.C_TANEVID
|
||||
END
|
||||
GO
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue