init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,213 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetNaplozasMulasztasList
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetNaplozasMulasztasList]
|
||||
@date datetime
|
||||
,@oraId int
|
||||
,@targyId int
|
||||
,@osztalyCsoportId int
|
||||
,@pCsakMegtartott bit
|
||||
,@pTanevElsoTanitasiNapja datetime
|
||||
,@pTanevUtolsoTanitasiNapja datetime
|
||||
,@pTanevid int
|
||||
,@pIntezmenyId int
|
||||
,@pTanarId int
|
||||
,@pAlapertelmezettMulasztasTipus int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @hetekSzama int = 36
|
||||
|
||||
CREATE TABLE #TanuloCsoport (
|
||||
C_TANULOID int
|
||||
,C_OSZTALYCSOPORTID int
|
||||
,C_BELEPESDATUM datetime
|
||||
,C_KILEPESDATUM datetime
|
||||
,PRIMARY KEY CLUSTERED (C_TANULOID, C_BELEPESDATUM)
|
||||
)
|
||||
|
||||
CREATE TABLE #TanuloMentessegOka (
|
||||
C_TANULOID int
|
||||
,MentessegOka nvarchar(max)
|
||||
)
|
||||
|
||||
CREATE TABLE #JogviszonySzunetelteto (
|
||||
TanuloId int
|
||||
)
|
||||
|
||||
IF (SELECT C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT WHERE ID = @osztalyCsoportId) = 'T' BEGIN
|
||||
SELECT @pTanevUtolsoTanitasiNapja = C_DATUM, @hetekSzama = 32
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
WHERE TOROLT = 'F'
|
||||
AND C_TANEVID = @pTanevid
|
||||
AND C_NAPTIPUSA = 1402
|
||||
END
|
||||
|
||||
INSERT INTO #JogviszonySzunetelteto (TanuloId)
|
||||
SELECT TanuloId
|
||||
FROM fnGetOsztalyCsoportTanuloinakTanugyiAdatai(@osztalyCsoportId,@date)
|
||||
WHERE C_JOGVISZONYATSZUNETELTETO = 'T'
|
||||
|
||||
INSERT INTO #TanuloCsoport (C_TANULOID, C_OSZTALYCSOPORTID, C_BELEPESDATUM, C_KILEPESDATUM)
|
||||
SELECT DISTINCT tcs.C_TANULOID, tcs.C_OSZTALYCSOPORTID, tcs.C_BELEPESDATUM, ISNULL(tcs.C_KILEPESDATUM, @pTanevUtolsoTanitasiNapja) AS C_KILEPESDATUM
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
WHERE tcs.torolt = 'F'
|
||||
AND tcs.C_BELEPESDATUM <= @date AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= @date)
|
||||
AND tcs.c_osztalycsoportid = @osztalyCsoportId
|
||||
AND (tcs.C_BELEPESDATUM < tcs.C_KILEPESDATUM OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND NOT EXISTS (SELECT 1 FROM #JogviszonySzunetelteto jsz WHERE jsz.TanuloId = tcs.C_TANULOID)
|
||||
AND tcs.C_TANEVID = @pTanevid
|
||||
|
||||
INSERT INTO #TanuloMentessegOka (C_TANULOID, MentessegOka)
|
||||
SELECT
|
||||
C_TANULOID
|
||||
,STUFF((
|
||||
SELECT DISTINCT ' | ' + tm.C_MENTESSEGOKA
|
||||
FROM T_TANULOMENTESSEG_OSSZES tm
|
||||
WHERE tm.C_TANTARGYID = @targyId AND tm.C_TANULOID = #TanuloCsoport.C_TANULOID AND @date BETWEEN ISNULL(tm.C_KEZDETE, @date) AND ISNULL(tm.C_VEGE, @date) AND tm.TOROLT = 'F' AND tm.C_TANEVID = @pTanevid
|
||||
FOR XML PATH(''), TYPE).value('.', 'varchar(max)'),1,3,'')
|
||||
FROM #TanuloCsoport
|
||||
|
||||
CREATE TABLE #Feljegyzes (
|
||||
tanuloid int
|
||||
,tipus int
|
||||
,id int
|
||||
,PRIMARY KEY CLUSTERED (tanuloid, tipus, id)
|
||||
)
|
||||
|
||||
INSERT INTO #Feljegyzes
|
||||
SELECT tte.C_TANULOID, te.C_TIPUS, te.ID
|
||||
FROM T_TANULOESEMENY_OSSZES te
|
||||
INNER JOIN T_TANULO_TANULOESEMENY tte on tte.C_TANULOESEMENYID = te.ID
|
||||
WHERE te.C_TANITASIORAID = @oraId
|
||||
AND te.TOROLT = 'F'
|
||||
AND te.C_TANEVID = @pTanevid
|
||||
|
||||
CREATE TABLE #Result (
|
||||
TanuloId int
|
||||
,TantargyId int
|
||||
,Mulasztas int
|
||||
,MegtartottOra int
|
||||
,HatralevoOra int
|
||||
,PRIMARY KEY CLUSTERED (TanuloId, TantargyId)
|
||||
)
|
||||
|
||||
EXEC [uspGetOsztalycsoportTantargyiMulasztasai]
|
||||
@pOsztalyId = @osztalyCsoportId
|
||||
,@pTantargyId = @targyId
|
||||
,@pTanevid = @pTanevid
|
||||
,@pIntezmenyId = @pIntezmenyId
|
||||
,@pCsakMegtartott = @pCsakMegtartott
|
||||
|
||||
SELECT
|
||||
ID
|
||||
,MulasztasId
|
||||
,TanuloNev
|
||||
,MulasztasTipus
|
||||
,KesesIdo
|
||||
,Oka
|
||||
,MAX(ErtkelesMentesseg) AS ErtkelesMentesseg
|
||||
,MAX(OraMentesseg) AS OraMentesseg
|
||||
,MAX(SzovegesenErtekelheto) AS SzovegesenErtekelheto
|
||||
,IsMagantanulo
|
||||
,MagantanulosagKezdete
|
||||
,JogviszonySzunetelteto
|
||||
,GondviseloNev
|
||||
,GondviseloTelSzam
|
||||
,MAX(Igazolt) Igazolt
|
||||
,ISNULL(tmpHianyCnt, 0) AS MulasztasHianyCnt
|
||||
,ISNULL(tmpOsszCnt, 0) AS MulasztasOsszCnt
|
||||
,ISNULL(tmpMegtartottOraCnt, 0) AS MulasztasMegtartottCnt
|
||||
,ISNULL(tmpHatralevoOraCnt, 0) AS MulasztasMegtarthatoCnt
|
||||
,IIF(tmpOsszCnt = 0,0, ISNULL(CAST((CAST(tmpHianyCnt AS float) / CAST(tmpOsszCnt AS float)) * 100 AS int), 0)) AS MulasztasSzazalek
|
||||
,IIF(Hazifeladat IS NOT NULL,'T','F') AS HaziFeladatHiany
|
||||
,Hazifeladat AS HaziFeladatHianyId
|
||||
,IIF(Felszereles IS NOT NULL,'T','F') AS FelszerelesHiany
|
||||
,Felszereles AS FelszerelesHianyId
|
||||
,IIF(Felment IS NOT NULL,'T','F') AS Felmentes
|
||||
,Felment AS FelmentesId
|
||||
,IIF(Dicseret IS NOT NULL,'T','F') AS TanoraiDicseret
|
||||
,Dicseret AS TanoraiDicseretId
|
||||
,RogzitettIgazolas AS RogzitettIgazolas
|
||||
,AmiFotargyId
|
||||
,AmiTagozatId
|
||||
,AmiTantargyKotelezosegId
|
||||
,EvfolyamId
|
||||
FROM (
|
||||
SELECT
|
||||
fh.ID AS ID
|
||||
,mul.ID MulasztasId
|
||||
,fh.C_NYOMTATASINEV + ' (' + FORMAT(fh.C_SZULETESIDATUM, 'yyyy.MM.dd.') + ')' TanuloNev
|
||||
,CASE WHEN tOra.ID IS NULL THEN @pAlapertelmezettMulasztasTipus ELSE ISNULL(mul.C_TIPUS, 1498) END AS MulasztasTipus
|
||||
,mul.C_KESESPERCBEN KesesIdo
|
||||
,tmo.MentessegOka AS Oka
|
||||
,tm.C_ERTEKELESMENTESITES ErtkelesMentesseg
|
||||
,tm.C_ORAMENTESITES OraMentesseg
|
||||
,tm.C_SZOVEGESENERTEKELHETO SzovegesenErtekelheto
|
||||
,tta.C_MAGANTANULO IsMagantanulo
|
||||
,tta.C_MAGANTANULOSAGKEZDETE MagantanulosagKezdete
|
||||
,tta.C_JOGVISZONYATSZUNETELTETO JogviszonySzunetelteto
|
||||
,ISNULL(gondviselo.C_NEV,'-') as GondviseloNev
|
||||
,ISNULL(telefon.C_TELEFONSZAM,'-') as GondviseloTelSzam
|
||||
,mul.C_IGAZOLT as Igazolt
|
||||
,ISNULL(r.MegtartottOra,0) + ISNULL(r.HatralevoOra,0) as tmpOsszCnt
|
||||
,r.Mulasztas as tmpHianyCnt
|
||||
,r.MegtartottOra as tmpMegtartottOraCnt
|
||||
,r.HatralevoOra as tmpHatralevoOraCnt
|
||||
,FeljegyzesHazifeladat.id as Hazifeladat
|
||||
,FeljegyzesFelszereles.id as Felszereles
|
||||
,FeljegyzesFelment.id as Felment
|
||||
,FeljegyzesDicseret.id as Dicseret
|
||||
,IIF(i.ID IS NOT NULL, 'T', 'F') as RogzitettIgazolas
|
||||
,ttfTanulo.C_AMIFOTARGYID AS AmiFotargyId
|
||||
,ttfTanulo.C_AMITAGOZATID AS AmiTagozatId
|
||||
,ttfTanulo.C_AMITANTARGYKOTELEZOSEGID AS AmiTantargyKotelezosegId
|
||||
,ttfTanulo.C_EVFOLYAMTIPUSID AS EvfolyamId
|
||||
FROM #TanuloCsoport tcs
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh on fh.ID = tcs.C_TANULOID AND fh.C_TANEVID = @pTanevid
|
||||
INNER JOIN fnGetOsztalyCsoportTanuloinakTanugyiAdatai(@osztalyCsoportId,@date) tta ON tta.TanuloId=fh.ID
|
||||
INNER JOIN T_TANULO_OSSZES tanulo on tanulo.id = tcs.C_TANULOID AND tanulo.C_ALTANEVID = @pTanevid
|
||||
OUTER APPLY (SELECT TOP 1 g.ID, g.C_NEV FROM T_GONDVISELO_OSSZES g WHERE tanulo.ID = g.C_TANULOID AND g.TOROLT = 'F' AND g.C_TANEVID = @pTanevid ORDER BY g.ID) gondviselo
|
||||
OUTER APPLY (SELECT TOP 1 t.C_TELEFONSZAM FROM T_TELEFON_OSSZES t WHERE t.C_GONDVISELOID = gondviselo.ID AND t.TOROLT = 'F' ORDER BY t.C_ALAPERTELMEZETT DESC) telefon
|
||||
LEFT JOIN T_TANULOMULASZTAS_OSSZES mul on mul.C_ORATANULOIID = fh.ID AND mul.C_TANITASIORAKID = @oraId AND mul.TOROLT = 'F' AND mul.C_TANEVID = @pTanevid
|
||||
LEFT JOIN T_TANULOMENTESSEG_OSSZES tm on fh.ID = tm.C_TANULOID and tm.TOROLT = 'F' AND tm.C_TANTARGYID = @targyId AND (@date BETWEEN ISNULL(tm.C_KEZDETE, @date) and isnull(tm.C_VEGE, @date)) AND tm.C_TANEVID = @pTanevid
|
||||
LEFT JOIN T_IGAZOLAS_OSSZES i ON fh.ID = i.C_TANULOID AND i.TOROLT = 'F' AND (@date BETWEEN ISNULL(i.C_KEZDETE, @date) AND isnull(i.C_VEGE, @date)) AND i.C_TANEVID = @pTanevid
|
||||
LEFT JOIN #TanuloMentessegOka tmo ON tcs.C_TANULOID = tmo.C_TANULOID
|
||||
LEFT JOIN #Result r ON r.TanuloId = fh.ID
|
||||
LEFT JOIN #Feljegyzes FeljegyzesHazifeladat ON FeljegyzesHazifeladat.tanuloId = fh.ID AND FeljegyzesHazifeladat.tipus = 6325
|
||||
LEFT JOIN #Feljegyzes FeljegyzesFelszereles ON FeljegyzesFelszereles.tanuloId = fh.ID AND FeljegyzesFelszereles.tipus = 6324
|
||||
LEFT JOIN #Feljegyzes FeljegyzesFelment ON FeljegyzesFelment.tanuloId = fh.ID AND FeljegyzesFelment.tipus = 1542
|
||||
LEFT JOIN #Feljegyzes FeljegyzesDicseret ON FeljegyzesDicseret.tanuloId = fh.ID AND FeljegyzesDicseret.tipus = 1536
|
||||
LEFT JOIN T_FOGLALKOZAS_OSSZES ttf ON ttf.C_TANTARGYID = @targyId AND ttf.C_OSZTALYCSOPORTID = @osztalyCsoportId AND ttf.C_TANARID = @pTanarId AND ttf.C_TANEVID = @pTanevid AND ttf.TOROLT = 'F'
|
||||
LEFT JOIN T_FOGLALKOZASAMITANULO_OSSZES ttfTanulo ON ttf.ID = ttfTanulo.C_FOGLALKOZASID AND ttfTanulo.C_TANULOID = tcs.C_TANULOID AND ttfTanulo.C_TANEVID = @pTanevid AND ttfTanulo.TOROLT = 'F'
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tOra ON tOra.ID = @oraId AND tOra.C_TANEVID = @pTanevid AND tOra.TOROLT = 'F'
|
||||
) AS x
|
||||
GROUP BY
|
||||
ID
|
||||
,MulasztasId
|
||||
,TanuloNev
|
||||
,MulasztasTipus
|
||||
,IsMagantanulo
|
||||
,MagantanulosagKezdete
|
||||
,JogviszonySzunetelteto
|
||||
,Oka
|
||||
,KesesIdo
|
||||
,GondviseloNev
|
||||
,GondviseloTelSzam
|
||||
,tmpOsszCnt
|
||||
,tmpHianyCnt
|
||||
,tmpMegtartottOraCnt
|
||||
,tmpHatralevoOraCnt
|
||||
,Hazifeladat
|
||||
,Felszereles
|
||||
,Felment
|
||||
,Dicseret
|
||||
,RogzitettIgazolas
|
||||
,AmiFotargyId
|
||||
,AmiTagozatId
|
||||
,AmiTantargyKotelezosegId
|
||||
,EvfolyamId
|
||||
ORDER BY x.TanuloNev
|
||||
END
|
||||
GO
|
Loading…
Add table
Add a link
Reference in a new issue