init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,75 @@
|
|||
-- =============================================
|
||||
-- Description: <Ellenőrizzuk, hogy a megadott 4T alapján szerepel-e az adatbázisban>
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_Check4TValidation]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_Check4TValidation]
|
||||
@pCheckValidationType int,
|
||||
@pElotag nvarchar(255),
|
||||
@pVezeteknev nvarchar(255),
|
||||
@pUtonev nvarchar(255),
|
||||
@pAnyjaNeve nvarchar(255) = null,
|
||||
@pAnyjaVezeteknev nvarchar(255) = null,
|
||||
@pAnyjaUtonev nvarchar(255) = null,
|
||||
@pSzuletesiHely nvarchar(255),
|
||||
@pSzuletesiDatum datetime,
|
||||
@pTanevId int = null,
|
||||
@pUserId int = null,
|
||||
@pFelvetelStatuszaFelveve int = null,
|
||||
@pFelvetelStatuszaNemFelveve int = null
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF (@pCheckValidationType = 1) /* Tanuló */
|
||||
BEGIN
|
||||
IF (@pUserId IS NOT NULL)
|
||||
SELECT f.ID FROM T_FELHASZNALO_OSSZES f
|
||||
JOIN T_TANULO_OSSZES t on t.ID = f.ID
|
||||
WHERE
|
||||
f.C_VEZETEKNEV = @pVezeteknev AND f.C_UTONEV = @pUtonev AND f.C_ANYJANEVE = @pAnyjaNeve
|
||||
AND f.C_SZULETESIHELY = @pSzuletesiHely AND f.C_SZULETESIDATUM = @pSzuletesiDatum AND f.ID != @pUserId
|
||||
AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F' AND ISNULL(f.C_ELOTAG,'') = @pElotag
|
||||
ELSE
|
||||
SELECT f.ID FROM T_FELHASZNALO_OSSZES f
|
||||
JOIN T_TANULO_OSSZES t on t.ID = f.ID
|
||||
WHERE
|
||||
f.C_VEZETEKNEV = @pVezeteknev AND f.C_UTONEV = @pUtonev AND f.C_ANYJANEVE = @pAnyjaNeve
|
||||
AND f.C_SZULETESIHELY = @pSzuletesiHely AND f.C_SZULETESIDATUM = @pSzuletesiDatum
|
||||
AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F' AND ISNULL(f.C_ELOTAG,'') = @pElotag
|
||||
END
|
||||
ELSE IF (@pCheckValidationType = 2) /* Alkalmazott */
|
||||
BEGIN
|
||||
IF (@pUserId IS NOT NULL)
|
||||
SELECT f.ID FROM T_FELHASZNALO_OSSZES f
|
||||
JOIN T_ALKALMAZOTT_OSSZES a on a.ID = f.ID
|
||||
WHERE
|
||||
f.C_VEZETEKNEV = @pVezeteknev AND f.C_UTONEV = @pUtonev AND f.C_ANYJANEVE = @pAnyjaNeve
|
||||
AND f.C_SZULETESIHELY = @pSzuletesiHely AND f.C_SZULETESIDATUM = @pSzuletesiDatum AND f.ID != @pUserId
|
||||
AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F' AND ISNULL(f.C_ELOTAG,'') = @pElotag
|
||||
ELSE
|
||||
SELECT f.ID FROM T_FELHASZNALO_OSSZES f
|
||||
JOIN T_ALKALMAZOTT_OSSZES a on a.ID = f.ID
|
||||
WHERE
|
||||
f.C_VEZETEKNEV = @pVezeteknev AND f.C_UTONEV = @pUtonev AND f.C_ANYJANEVE = @pAnyjaNeve
|
||||
AND f.C_SZULETESIHELY = @pSzuletesiHely AND f.C_SZULETESIDATUM = @pSzuletesiDatum
|
||||
AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F' AND ISNULL(f.C_ELOTAG,'') = @pElotag
|
||||
END
|
||||
ELSE IF (@pCheckValidationType = 3) /* Nebuló */
|
||||
BEGIN
|
||||
IF EXISTS (SELECT 1 FROM T_NEBULO n
|
||||
WHERE
|
||||
n.C_TANULOCSALADINEVE = @pVezeteknev AND n.C_TANULOUTONEVE = @pUtonev
|
||||
AND n.C_EDESANYJASZULETESICSALADINEV = @pAnyjaVezeteknev AND n.C_EDESANYJASZULETESIUTONEVE = @pAnyjaUtonev
|
||||
AND n.C_SZULETESIHELY = @pSzuletesiHely AND n.C_SZULETESIIDO = @pSzuletesiDatum
|
||||
AND (@pUserId IS NULL OR ID != @pUserId) AND (n.C_FELVETELSTATUSZA = @pFelvetelStatuszaFelveve OR n.C_FELVETELSTATUSZA = @pFelvetelStatuszaNemFelveve) AND n.TOROLT = 'F'
|
||||
AND ISNULL(n.C_ELOTAG,'') = @pElotag
|
||||
)
|
||||
SELECT 1
|
||||
ELSE
|
||||
SELECT 0
|
||||
END
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,35 @@
|
|||
-- =============================================
|
||||
-- Description: <Ellenőrizzuk, hogy a felhasználóhoz tartozik-e a paraméterben megadott szerepkor>
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_CheckFelhasznaloHasSzerepkor]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_CheckFelhasznaloHasSzerepkor]
|
||||
@pFelhasznaloId AS INT,
|
||||
@pSzerepkorTipusId AS INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF EXISTS(
|
||||
SELECT 1
|
||||
FROM
|
||||
T_FELHASZNALO felhasznalo
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_SZEREPKOR felhasznaloSzerepkor ON
|
||||
felhasznaloSzerepkor.C_FELHASZNALOID = felhasznalo.ID
|
||||
LEFT JOIN
|
||||
T_SZEREPKOR szerepkor ON
|
||||
szerepkor.ID = felhasznaloSzerepkor.C_SZEREPKORID
|
||||
WHERE
|
||||
felhasznalo.TOROLT = 'F' AND
|
||||
felhasznalo.ID = @pFelhasznaloId AND
|
||||
szerepkor.TOROLT = 'F' AND
|
||||
szerepkor.C_SZEREPKORTIPUS = @pSzerepkorTipusId
|
||||
)
|
||||
SELECT 1
|
||||
ELSE
|
||||
SELECT 0
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,41 @@
|
|||
-- =============================================
|
||||
-- Description: <Ellenőrizzuk, hogy a megadott nebuló 4T alapján szerepel-e az adatbázisban>
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_CheckNebulo4TValidation]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_CheckNebulo4TValidation]
|
||||
@pNebuloId AS INT = NULL,
|
||||
@pFelvetelStatuszaFelveve INT,
|
||||
@pVezeteknev NVARCHAR(255),
|
||||
@pUtonev NVARCHAR(255),
|
||||
@pAnyjaVezeteknev NVARCHAR(255),
|
||||
@pAnyjaUtonev NVARCHAR(255),
|
||||
@pSzuletesiHely NVARCHAR(50),
|
||||
@pSzuletesiDatum DATETIME
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF
|
||||
EXISTS (SELECT 1
|
||||
FROM
|
||||
T_NEBULO
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND (@pNebuloId IS NULL OR ID != @pNebuloId)
|
||||
AND C_FELVETELSTATUSZA = @pFelvetelStatuszaFelveve
|
||||
AND C_TANULOCSALADINEVE = @pVezeteknev
|
||||
AND C_TANULOUTONEVE = @pUtonev
|
||||
AND C_EDESANYJASZULETESICSALADINEV = @pAnyjaVezeteknev
|
||||
AND C_EDESANYJASZULETESIUTONEVE = @pAnyjaUtonev
|
||||
AND C_SZULETESIHELY = @pSzuletesiHely
|
||||
AND C_SZULETESIIDO = @pSzuletesiDatum
|
||||
)
|
||||
|
||||
SELECT 1
|
||||
ELSE
|
||||
SELECT 0
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,44 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_CheckOktatasiAzonositoUtkozesValidation]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_CheckOktatasiAzonositoUtkozesValidation]
|
||||
@pNebuloId AS INT = NULL,
|
||||
@pFelvetelStatusza INT = NULL,
|
||||
@pOktatasiAzonosito NVARCHAR(20)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF (@pFelvetelStatusza IS NULL)
|
||||
IF
|
||||
EXISTS (SELECT 1
|
||||
FROM
|
||||
T_NEBULO
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND (@pNebuloId IS NULL OR ID != @pNebuloId)
|
||||
AND C_OKTATASIAZONOSITOSZAMA = @pOktatasiAzonosito
|
||||
)
|
||||
|
||||
SELECT 1
|
||||
ELSE
|
||||
SELECT 0
|
||||
|
||||
ELSE
|
||||
IF
|
||||
EXISTS (SELECT 1
|
||||
FROM
|
||||
T_NEBULO
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND (@pNebuloId IS NULL OR ID != @pNebuloId)
|
||||
AND C_FELVETELSTATUSZA = @pFelvetelStatusza
|
||||
AND C_OKTATASIAZONOSITOSZAMA = @pOktatasiAzonosito
|
||||
)
|
||||
|
||||
SELECT 1
|
||||
ELSE
|
||||
SELECT 0
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,124 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_CsengetesiRendOrakTorles]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_CsengetesiRendOrakTorles]
|
||||
@TanevId int,
|
||||
@xml xml
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @torlendoCsengetesiRendek TABLE (id int);
|
||||
|
||||
INSERT INTO @torlendoCsengetesiRendek
|
||||
SELECT
|
||||
sor.value('.', 'int') AS id
|
||||
FROM @xml.nodes('/CsengetesiRendOraTorles/IdLista/Id') as sorok(sor)
|
||||
|
||||
SELECT
|
||||
ID oraId,
|
||||
csengrendOraId,
|
||||
newCsengrendOraId,
|
||||
newOraKezdete,
|
||||
newOraVege,
|
||||
ISNULL(newOraszam, 0) newOraszam,
|
||||
newCsengrendId,
|
||||
IsTanora,
|
||||
UpdateVegeDate,
|
||||
UpdateKezdeteDate,
|
||||
UpdateType
|
||||
INTO #TEMPmodositandoOrak
|
||||
from (
|
||||
select kapcsolodoOrak.ID,
|
||||
kapcsolodoOrak.C_CSENGETESIRENDID,
|
||||
kapcsolodoOrak.C_CSENGETESIRENDORAID csengrendOraId,
|
||||
kapcsolodoOrak.C_ORASZAM,
|
||||
alapcsora.C_KEZDETE,
|
||||
alapcsora.C_VEGE,
|
||||
kapcsolodoOrak.C_ORAKEZDETE,
|
||||
kapcsolodoOrak.C_ORAVEGE,
|
||||
kapcsolodoOrak.Tanora IsTanora,
|
||||
csengrend.ID newCsengrendOraId,
|
||||
csengrend.C_CSENGETESIRENDID newCsengrendId,
|
||||
csengrend.C_KEZDETE newOraKezdete,
|
||||
csengrend.C_VEGE newOraVege,
|
||||
csengrend.C_ORASZAM newOraszam
|
||||
,IIF(kapcsolodoOrak.Tanora = 0 and cast(alapcsora.C_VEGE as time) = cast(kapcsolodoOrak.C_ORAVEGE as time) and csengrend.C_VEGE is not null, 1, 0) UpdateVegeDate
|
||||
,IIF(kapcsolodoOrak.Tanora = 0 and cast(alapcsora.C_KEZDETE as time) = cast(kapcsolodoOrak.C_ORAKEZDETE as time) and csengrend.C_KEZDETE is not null, 1, 0) UpdateKezdeteDate
|
||||
,IIF(csengrend.ID is null, 1, 0) UpdateType
|
||||
from (
|
||||
select
|
||||
x.ID,
|
||||
C_CSENGETESIRENDID,
|
||||
C_CSENGETESIRENDORAID,
|
||||
C_ORASZAM,
|
||||
C_ORAKEZDETE,
|
||||
C_ORAVEGE,
|
||||
Tanora
|
||||
from(
|
||||
select ID,
|
||||
C_CSENGETESIRENDID,
|
||||
C_CSENGETESIRENDORAID,
|
||||
C_ORASZAM,
|
||||
C_ORAKEZDETE,
|
||||
C_ORAVEGE,
|
||||
0 Tanora
|
||||
from T_ORARENDIORA_OSSZES
|
||||
union
|
||||
select ID,
|
||||
C_CSENGETESIRENDID,
|
||||
C_CSENGETESIRENDORAID,
|
||||
C_ORASZAM,
|
||||
C_ORAKEZDETE,
|
||||
C_ORAVEGE,
|
||||
1 Tanora
|
||||
from T_TANITASIORA_OSSZES
|
||||
) x
|
||||
inner join @torlendoCsengetesiRendek torlendoIdk on torlendoIdk.id = x.C_CSENGETESIRENDORAID
|
||||
) kapcsolodoOrak
|
||||
left join (
|
||||
select
|
||||
ID,
|
||||
C_KEZDETE,
|
||||
C_VEGE
|
||||
from T_CSENGETESIRENDORA_OSSZES) alapcsora on alapcsora.ID = kapcsolodoOrak.C_CSENGETESIRENDORAID
|
||||
left join (select csora.ID,
|
||||
csora.C_CSENGETESIRENDID,
|
||||
csora.C_KEZDETE,
|
||||
csora.C_VEGE,
|
||||
csora.C_ORASZAM
|
||||
from T_CSENGETESIRENDORA_OSSZES csora
|
||||
inner join T_CSENGETESIREND_OSSZES on csora.C_CSENGETESIRENDID = T_CSENGETESIREND_OSSZES.ID And T_CSENGETESIREND_OSSZES.C_AKTIV = 'T'
|
||||
where csora.C_TANEVID = @TanevId)csengrend on csengrend.C_ORASZAM = kapcsolodoOrak.C_ORASZAM and csengrend.ID != kapcsolodoOrak.C_CSENGETESIRENDORAID
|
||||
)t
|
||||
|
||||
UPDATE o
|
||||
SET
|
||||
o.C_ORAVEGE = IIF(temp.UpdateVegeDate = 1,
|
||||
DATEADD(HOUR, datepart(hour, temp.newOraVege),DATEADD(MINUTE,datepart(minute, temp.newOraVege),CAST(CAST(o.C_ORAVEGE AS DATE) as datetime))),
|
||||
o.C_ORAVEGE),
|
||||
o.C_ORAKEZDETE = IIF(temp.UpdateKezdeteDate = 1,
|
||||
DATEADD(HOUR, datepart(hour, temp.newOraVege),DATEADD(MINUTE,datepart(minute, temp.newOraVege),CAST(CAST(o.C_ORAKEZDETE AS DATE) as datetime))),
|
||||
o.C_ORAKEZDETE),
|
||||
o.C_CSENGETESIRENDID = temp.newCsengrendId,
|
||||
o.C_CSENGETESIRENDORAID = temp.newCsengrendOraId,
|
||||
o.C_ORASZAM = temp.newOraszam
|
||||
from T_ORARENDIORA_OSSZES o
|
||||
inner join #TEMPmodositandoOrak temp on temp.csengrendOraId = o.C_CSENGETESIRENDORAID and temp.IsTanora = 0
|
||||
|
||||
UPDATE t
|
||||
SET
|
||||
t.C_CSENGETESIRENDID = temp.newCsengrendId,
|
||||
t.C_CSENGETESIRENDORAID = temp.newCsengrendOraId,
|
||||
t.C_ORASZAM = temp.newOraszam
|
||||
from T_TANITASIORA_OSSZES t
|
||||
inner join #TEMPmodositandoOrak temp on temp.csengrendOraId = t.C_CSENGETESIRENDORAID and temp.IsTanora = 1
|
||||
|
||||
DELETE csro
|
||||
FROM T_CSENGETESIRENDORA_OSSZES csro
|
||||
inner join @torlendoCsengetesiRendek torlendoIdk on torlendoIdk.id = csro.ID
|
||||
|
||||
DROP TABLE #TEMPmodositandoOrak
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,29 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.sp_CsoportKisorolasok
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.sp_CsoportKisorolasok
|
||||
@pintezmenyId INT
|
||||
,@paktTanevId INT
|
||||
,@pfelhasznaloId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @date datetime = (
|
||||
SELECT DATEADD(DAY, 1, C_DATUM)
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
WHERE C_NAPTIPUSA = 1395
|
||||
AND TOROLT = 'F'
|
||||
AND C_INTEZMENYID = @pintezmenyId
|
||||
AND C_TANEVID = @paktTanevId);
|
||||
|
||||
UPDATE T_TANULOCSOPORT_OSSZES
|
||||
SET C_KILEPESDATUM = @date,
|
||||
MODIFIER = @pfelhasznaloId
|
||||
WHERE C_KILEPESDATUM IS NULL
|
||||
AND TOROLT = 'F'
|
||||
AND C_INTEZMENYID = @pintezmenyId
|
||||
AND C_TANEVID = @paktTanevId;
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,112 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_DeleteAllTTF]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_DeleteAllTTF]
|
||||
@feladatellatasiHelyId INT = NULL
|
||||
,@tanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @feladatellatasiHelyId IS NULL BEGIN
|
||||
DELETE FROM T_FOGLALKOZAS_OSSZES
|
||||
WHERE ID IN (
|
||||
SELECT ID FROM T_FOGLALKOZAS_OSSZES f
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
|
||||
AND f.C_IMPORTALT = 'T'
|
||||
AND f.C_TANEVID = @tanevId
|
||||
)
|
||||
END
|
||||
ELSE BEGIN -- Csak a megadott feladatellátási helyen töröl TODO:ez a rész sehonnan nincs hívvva, töröl
|
||||
DELETE FROM T_FOGLALKOZAS_OSSZES
|
||||
WHERE ID IN (
|
||||
SELECT ID FROM T_FOGLALKOZAS_OSSZES f
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
|
||||
AND f.C_IMPORTALT = 'T'
|
||||
AND f.C_OSZTALYCSOPORTID IN (
|
||||
SELECT ID FROM T_OSZTALYCSOPORT_OSSZES WHERE C_FELADATELLATASIHELYID = @feladatellatasiHelyId and C_TANEVID = @tanevId
|
||||
)
|
||||
AND f.C_TANEVID = @tanevId
|
||||
)
|
||||
END
|
||||
|
||||
/*
|
||||
* Innentől nem kell figyelni a feladatellátási helyet,
|
||||
* mert a NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS szerepel mindenütt
|
||||
*/
|
||||
DELETE t
|
||||
FROM T_TANTARGY_OSSZES t
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_ORATERVTARGY_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOESEMENY_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOMENTESSEG_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANTARGY_OSSZES WHERE C_FOTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND C_IMPORTALT = 'T'
|
||||
AND C_TANEVID = @tanevId
|
||||
|
||||
DELETE cs
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = cs.ID
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = cs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = cs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = cs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = cs.ID)
|
||||
--T_OSZTALYCSOPORT függőségeinek vizsgálata
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOCSOPORT_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND C_IMPORTALT = 'T'
|
||||
AND C_TANEVID = @tanevId
|
||||
|
||||
DELETE o
|
||||
FROM T_OSZTALY_OSSZES o
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_NAPLOELLENORZES_OSSZES WHERE o.ID = C_OSZTALYID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = o.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE C_OSZTALYBONTASID = o.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = o.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = o.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = o.ID)
|
||||
AND C_ALTANEVID = @tanevId
|
||||
--T_OSZTALYCSOPORT függőségeinek vizsgálata
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOCSOPORT_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND C_IMPORTALT = 'T'
|
||||
AND C_TANEVID = @tanevId
|
||||
|
||||
DELETE ocs
|
||||
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOCSOPORT_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALY_OSSZES WHERE ID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE ID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND C_IMPORTALT = 'T'
|
||||
AND C_TANEVID = @tanevId
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,21 @@
|
|||
DROP PROCEDURE IF EXISTS sp_ElozoTanevesViewokTorlese
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_ElozoTanevesViewokTorlese
|
||||
@pintezmenyId INT
|
||||
,@pintezmenyAzonosito NVARCHAR(MAX)
|
||||
,@pkovTanevId INT
|
||||
WITH EXECUTE AS 'kreta_tech_user'
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE @schemaName nvarchar(max) = CONCAT(N'KR_', @pintezmenyAzonosito, N'_Schema')
|
||||
|
||||
EXEC dev.uspDeleteViewsAll @schemaName
|
||||
EXEC dev.uspCreateSchemaViews
|
||||
@pTables = NULL
|
||||
,@pSchemas = @schemaName
|
||||
,@pDebugMode = 0
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,633 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.sp_ExportEsl_A03T01_1
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_ExportEsl_A03T01_1]
|
||||
@tanevId int
|
||||
,@feladatEllatasiHelyId int
|
||||
,@isFelevi int = 0
|
||||
,@osztalyzatTipusTypeID int = 44
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
--Táblák deklarálása
|
||||
CREATE TABLE #Tanulok (
|
||||
TanuloNev nvarchar(1024)
|
||||
,Neme int
|
||||
,Evfolyam int
|
||||
,Kategoria nvarchar(500)
|
||||
)
|
||||
CREATE TABLE #TanulokOsszes (
|
||||
Kategoria nvarchar(500)
|
||||
,Osszes int
|
||||
,OsszesLany int
|
||||
)
|
||||
CREATE TABLE #TanuloErtekeles (
|
||||
Id int
|
||||
,Tanulo int
|
||||
,Ertekeles int
|
||||
,Tipus int
|
||||
)
|
||||
CREATE TABLE #ErintettTanulok (
|
||||
Evfolyam int
|
||||
,TanuloId int
|
||||
,Neme int
|
||||
,TanuloNev nvarchar(255)
|
||||
,Oktatasiazonosito nvarchar(11)
|
||||
,TanuloOsztalyNev nvarchar(255)
|
||||
,IsKozepesMiatt int
|
||||
,IsRontasMiatt int
|
||||
,TanuloOsztalyId int
|
||||
,INDEX IX_01 (TanuloId)
|
||||
)
|
||||
CREATE TABLE #KetFeltetelTanulok (
|
||||
TanuloId int
|
||||
,Evfolyam int
|
||||
,Neme int
|
||||
,TanuloNev nvarchar(510)
|
||||
,OktatasiAzonosito nvarchar(11)
|
||||
,TanuloOsztalyNev nvarchar(255)
|
||||
,IsHianyzasMiatt int
|
||||
,IsKiemeltMiatt int
|
||||
,IsGyermekVedelemMiatt int
|
||||
,IsAltalanosIskolaMiatt int
|
||||
)
|
||||
CREATE TABLE #Kategoria(
|
||||
KategoriaNev nvarchar(500)
|
||||
,Sorrend int
|
||||
)
|
||||
CREATE TABLE #IntezmenyEvfolyamok(
|
||||
ID int
|
||||
,EvfolyamNev nvarchar(510)
|
||||
)
|
||||
INSERT INTO #Kategoria( --Egyszerűbb így, hogy meglegyen minden kategória a végén, sorrenddel együtt, akkor is, ha nincs hozzá elem
|
||||
KategoriaNev
|
||||
,Sorrend
|
||||
) VALUES
|
||||
('Osszesen',1)
|
||||
,('Lany',2)
|
||||
,('AFelevErtekelesenelMinositesenelATanuloEgyTizedesjegyigSzamitottTanulmanyiAtlagaAMagatartasEsSzorgalomErtekelesetMinositesetNemBeleszamitvaNemEriElKozepes3Szintet',3)
|
||||
,('AzEvVegiJegyekAlapjanAFeleviJegyekhezKepestLegalabb11NyiAtlagotRontoTanulokSzama',4)
|
||||
,('AFelevErtekelesenelMinositesenelATanuloEgyVagyTobbTantargybolElegtelen1OsztalyzatotKapott',5)
|
||||
,('AFelevMagatartasanakErtekelesenelMinositesenelATanuloRossz2ErtekelestKapott',6)
|
||||
,('AFelevSzorgalmanakErtekelesenelMinositesenelATanuloHanyag2ErtekelestKapott',7)
|
||||
,('AzAdottTanitasiEvbenEvismetlesreKotelezett',8)
|
||||
,('AFelevbenATanulo50OratMeghaladoHianyzassalRendelkezik',9)
|
||||
,('AFelevbenSzuloiKeresreMagantanulovaValtTanulo',10)
|
||||
,('AFelevbenMenekultOltalmazottMenedekesTanulokSzama',11)
|
||||
,('AFelevbenVeszelyezeztetteValtTanulokSzama',12)
|
||||
,('AFelevbenIdeiglenesHatallyalElhelyezettVagyNevelesbeVettTanulokSzama',13)
|
||||
,('KettoFeltetelTelejesuleseEsetenLemorzsolodassalVeszelyeztetettTanulo',14)
|
||||
,('EbbolAFelevben100OratEleroIgazoltHianyzassalRendelkezoTanulokSzama',15)
|
||||
,('EbbolKiemeltFigyelmetIgenyloTanulokSzamaAKiemeltenTehetsegesTanulokKivetelevel',16)
|
||||
,('EbbolRendszeresGyermekvedelmiKedvezmenybenReszesuloTanulokSzama',17)
|
||||
,('EbbolAlapfokuOktatasbanBetoltotteA16Eletevet',18)
|
||||
|
||||
DECLARE @FelevKezdete DATETIME= (
|
||||
SELECT C_DATUM + IIF(@isFelevi = 1, 0, 1)
|
||||
FROM T_TANEVRENDJE_OSSZES tr
|
||||
WHERE C_NAPTIPUSA = IIF(@isFelevi = 1, 1394, 1400)
|
||||
AND C_TANEVID = @tanevid
|
||||
AND TOROLT = 'F'
|
||||
)
|
||||
|
||||
DECLARE @FelevVege DATETIME= (
|
||||
SELECT C_DATUM + 1
|
||||
FROM T_TANEVRENDJE tr
|
||||
WHERE C_NAPTIPUSA = IIF(@isFelevi = 1, 1400, 1395)
|
||||
AND C_TANEVID=@tanevid
|
||||
AND TOROLT='F')
|
||||
|
||||
DECLARE @ertekelesTipus int=IIF(@isFelevi=1,1519,1520)
|
||||
DECLARE @osszesDb int
|
||||
DECLARE @cols nvarchar(max)
|
||||
INSERT INTO #IntezmenyEvfolyamok(
|
||||
Id
|
||||
,Evfolyamnev
|
||||
)
|
||||
SELECT DISTINCT
|
||||
dib.ID
|
||||
,dib.C_NAME
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_DICTIONARYITEMBASE dib ON dib.ID = ocs.C_EVFOLYAMTIPUSA AND dib.ID NOT IN(1303,1304,1305,1306,7366)--1-4 évfolyamok és összevont osztály
|
||||
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID
|
||||
WHERE ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId AND ocs.C_KEPZESIFORMA = 1096 --Nappali rendszerű iskolai oktatás
|
||||
UNION
|
||||
SELECT DISTINCT
|
||||
dib.ID
|
||||
,dib.C_NAME
|
||||
FROM T_TANULOTANUGYIADATOK tta
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.ID = tta.C_TANULOCSOPORTID
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId
|
||||
AND ocs.C_KEPZESIFORMA = 1096 --Nappali rendszerű iskolai oktatás
|
||||
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID
|
||||
INNER JOIN T_DICTIONARYITEMBASE dib ON dib.ID = tta.C_TANULOEVFOLYAMTIPUSID
|
||||
WHERE tta.C_TANULOEVFOLYAMTIPUSID NOT IN (1303,1304,1305,1306,7366) --1-4 évfolyamok és összevont osztály
|
||||
|
||||
SET @cols =
|
||||
STUFF((SELECT ',' + QUOTENAME(Evfolyamnev)
|
||||
FROM #IntezmenyEvfolyamok
|
||||
ORDER BY ID
|
||||
FOR XML PATH('')),1,1,'')
|
||||
|
||||
INSERT INTO #ErintettTanulok (
|
||||
TanuloId
|
||||
,Evfolyam
|
||||
,Neme
|
||||
,TanuloNev
|
||||
,OktatasiAzonosito
|
||||
,TanuloOsztalyNev
|
||||
,TanuloOsztalyId
|
||||
,IsKozepesMiatt
|
||||
,IsRontasMiatt
|
||||
)
|
||||
SELECT * FROM fnGetLemorzsolodottTanulokByFelhely (@feladatEllatasiHelyId, @tanevId, @isFelevi, @osztalyzatTipusTypeID)
|
||||
|
||||
INSERT INTO #TanuloErtekeles
|
||||
SELECT
|
||||
te.ID
|
||||
,C_TANULOID
|
||||
,C_ERTEKELESOSZTALYZATID
|
||||
,C_TIPUSID
|
||||
FROM T_TANULOERTEKELES te
|
||||
INNER JOIN #ErintettTanulok fht ON fht.TanuloId=te.C_TANULOID
|
||||
INNER JOIN T_TANTARGY tgy ON tgy.ID = te.C_TANTARGYID AND tgy.C_ESLTANTARGYKATEGORIAID IS NOT NULL
|
||||
WHERE te.C_TIPUSID=@ertekelesTipus
|
||||
|
||||
DECLARE @Kategoria nvarchar(500)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '1'
|
||||
----------------------------------------------------------------------
|
||||
-- Összes
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'Osszesen'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '2'
|
||||
----------------------------------------------------------------------
|
||||
-- Lány
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'Lany'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok
|
||||
WHERE Neme = 5
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '3'
|
||||
----------------------------------------------------------------------
|
||||
-- Összes rontott
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevErtekelesenelMinositesenelATanuloEgyTizedesjegyigSzamitottTanulmanyiAtlagaAMagatartasEsSzorgalomErtekelesetMinositesetNemBeleszamitvaNemEriElKozepes3Szintet'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok
|
||||
WHERE IsKozepesMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '4'
|
||||
----------------------------------------------------------------------
|
||||
-- Legalább 1.1-et rontott
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AzEvVegiJegyekAlapjanAFeleviJegyekhezKepestLegalabb11NyiAtlagotRontoTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok
|
||||
WHERE IsRontasMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '5'
|
||||
----------------------------------------------------------------------
|
||||
-- egy, vagy több tantárgyból elégtelen osztályzat
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevErtekelesenelMinositesenelATanuloEgyVagyTobbTantargybolElegtelen1OsztalyzatotKapott'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #TanuloErtekeles te
|
||||
INNER JOIN #ErintettTanulok fht ON fht.TanuloId=te.Tanulo
|
||||
WHERE te.Tipus = @ertekelesTipus AND te.Ertekeles = 1501
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '6'
|
||||
----------------------------------------------------------------------
|
||||
-- félév, magatartás, 2
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevMagatartasanakErtekelesenelMinositesenelATanuloRossz2ErtekelestKapott'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=fht.TanuloId AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_MAGATARTASERTEKID=1558 OR te.C_MAGATARTASOSZTALYZATID=1502) AND te.C_TIPUSID = @ertekelesTipus
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '7'
|
||||
----------------------------------------------------------------------
|
||||
-- félév, szorgalom, 2
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevSzorgalmanakErtekelesenelMinositesenelATanuloHanyag2ErtekelestKapott'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=fht.TanuloId AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_SZORGALOMERTEKID = 1562 OR te.C_SZORGALOMOSZTALYZATID=1502) AND te.C_TIPUSID = @ertekelesTipus
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '8'
|
||||
----------------------------------------------------------------------
|
||||
-- adott évben évismétlés
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AzAdottTanitasiEvbenEvismetlesreKotelezett'
|
||||
IF @isFelevi = 0
|
||||
BEGIN
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN (
|
||||
SELECT COUNT(DISTINCT fht.TanuloId) db,fht.TanuloId
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN #TanuloErtekeles te ON te.Tanulo=fht.TanuloId AND te.Ertekeles=1501
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING COUNT(*)>=4) x ON x.TanuloId = fht.TanuloId
|
||||
END
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '9'
|
||||
----------------------------------------------------------------------
|
||||
-- Félévben 50 órát elérő igazolatlan hiányzás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenATanulo50OratMeghaladoHianyzassalRendelkezik'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN (
|
||||
SELECT fht.TanuloId AS Tanulo FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN #ErintettTanulok fht on fht.TanuloId=tm.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA tao on tao.ID=tm.C_TANITASIORAKID AND tao.C_DATUM >= @FelevKezdete AND tao.C_DATUM<@FelevVege
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = tao.C_OSZTALYCSOPORTID AND cs.C_TIPUSA NOT IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))
|
||||
WHERE tm.C_IGAZOLT='F' AND cs.ID IS NULL
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING COUNT(Tanuloid) > 50) x ON x.Tanulo = fht.TanuloId
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '10'
|
||||
----------------------------------------------------------------------
|
||||
-- Szülő kérésére magántanuló
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenSzuloiKeresreMagantanulovaValtTanulo'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_TANULOID=fht.TanuloId AND tcs.C_OSZTALYCSOPORTID=fht.TanuloOsztalyId
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tcs.ID=tta.C_TANULOCSOPORTID AND tta.C_MAGANTANULOSAGANAKOKAID IN (663, 664)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '11'
|
||||
----------------------------------------------------------------------
|
||||
-- Menekült, menedékjoggal rendelkező
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenMenekultOltalmazottMenedekesTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_MENEDEKJOGGALRENDELKEZO='T' AND fht.TanuloId=t.ID
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '12'
|
||||
----------------------------------------------------------------------
|
||||
-- Félévben veszélyeztetett tanulók száma
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenVeszelyezeztetteValtTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.ID=fht.TanuloId AND t.C_VESZELYEZTETETT='T'
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '13'
|
||||
----------------------------------------------------------------------
|
||||
-- ideiglenes hatállyal elhelyezett vagy nevelésbe vett tanulók
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenIdeiglenesHatallyalElhelyezettVagyNevelesbeVettTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_ALLAMIGONDOZOTT='T' AND fht.TanuloId=t.ID
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '14'
|
||||
----------------------------------------------------------------------
|
||||
-- legalább 2 feltétel teljesül
|
||||
----------------------------------------------------------------------
|
||||
|
||||
INSERT INTO #KetFeltetelTanulok
|
||||
SELECT DISTINCT
|
||||
ftt.TanuloId
|
||||
,ftt.Evfolyam
|
||||
,ftt.Neme
|
||||
,ftt.TanuloNev
|
||||
,ftt.OktatasiAzonosito
|
||||
,ftt.TanuloOsztalyNev
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANITASIORA tno ON tno.ID = tm.C_TANITASIORAKID AND tno.C_DATUM > @FelevKezdete AND tno.C_DATUM < @FelevVege
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = tno.C_OSZTALYCSOPORTID
|
||||
WHERE (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))) AND tm.C_IGAZOLT='T' AND tm.C_TIPUS = 1500 AND tm.C_ORATANULOIID = ftt.TanuloId) > 100, 1, 0) AS IsHianyzasMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULO t
|
||||
WHERE t.ID = ftt.TanuloId
|
||||
AND (t.C_SAJATOSNEVELESU='T' OR t.C_BTMPROBLEMAS='T' OR t.C_HATRANYOSHELYZETU IN (1122, 1123))) > 0, 1, 0) AS IsKiemeltMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULO t
|
||||
WHERE t.ID = ftt.TanuloId
|
||||
AND t.C_RENDSZERESGYERMEKVEDELMIKEDV IS NOT NULL) > 0, 1, 0) AS IsGyermekVedelemMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_FELHASZNALO t
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_TANULOID=t.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID=tcs.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.C_ISESL16EVESUTANBELEPETT = 'T'
|
||||
INNER JOIN T_FELADATELLATASIHELY fh ON fh.ID=ocs.C_FELADATELLATASIHELYID AND fh.C_OKTATASINEVELESIFELADATTIPUS IN (1158,1178)
|
||||
AND fh.ID = @feladatEllatasiHelyId
|
||||
WHERE t.ID = ftt.TanuloId) > 0, 1, 0) AS IsAltalanosIskolaMiatt
|
||||
FROM #ErintettTanulok ftt
|
||||
DELETE kt FROM #KetFeltetelTanulok kt WHERE (kt.IsHianyzasMiatt + kt.IsKiemeltMiatt + kt.IsGyermekVedelemMiatt + kt.IsAltalanosIskolaMiatt) < 2
|
||||
|
||||
SET @Kategoria = 'KettoFeltetelTelejesuleseEsetenLemorzsolodassalVeszelyeztetettTanulo'
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '15'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel esetén ... félévben 100 órát elért igazolt hiányzás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolAFelevben100OratEleroIgazoltHianyzassalRendelkezoTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,kt.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsHianyzasMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '16'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... kiemelet figyelmet igénylő --sni, btmn, hh, 3h
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolKiemeltFigyelmetIgenyloTanulokSzamaAKiemeltenTehetsegesTanulokKivetelevel'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,kt.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsKiemeltMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '17'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... --rendszeres gyermekvédelmi támogatás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolRendszeresGyermekvedelmiKedvezmenybenReszesuloTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,kt.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsGyermekVedelemMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '18'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... alapfokú oktatásban 16
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolAlapfokuOktatasbanBetoltotteA16Eletevet'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,kt.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsAltalanosIskolaMiatt = 1
|
||||
|
||||
INSERT INTO #TanulokOsszes(
|
||||
Kategoria
|
||||
,Osszes
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
Kategoria
|
||||
,COUNT(TanuloNev)
|
||||
,SUM(IIF(Neme = 5,1,0))
|
||||
FROM #Tanulok
|
||||
GROUP BY Kategoria
|
||||
|
||||
DECLARE @query nvarchar(max)
|
||||
set @query =
|
||||
'SELECT
|
||||
KategoriaNev
|
||||
,Sorrend
|
||||
,rn
|
||||
,' + @cols + '
|
||||
,Osszes
|
||||
,OsszesLany
|
||||
INTO #RetTable
|
||||
FROM (
|
||||
SELECT
|
||||
k.KategoriaNev
|
||||
,t.TanuloNev
|
||||
,ROW_NUMBER() OVER (PARTITION BY t.Kategoria,t.Evfolyam ORDER BY t.TanuloNev) rn
|
||||
,dib.C_NAME as Evfolyam
|
||||
,k.Sorrend
|
||||
,Ossz.Osszes
|
||||
,Ossz.OsszesLany
|
||||
FROM #Kategoria k
|
||||
LEFT JOIN #Tanulok t ON t.Kategoria = k.KategoriaNev
|
||||
LEFT JOIN T_DICTIONARYITEMBASE dib ON dib.ID = t.Evfolyam
|
||||
LEFT JOIN #TanulokOsszes ossz ON ossz.Kategoria = k.KategoriaNev
|
||||
) x
|
||||
PIVOT (
|
||||
MIN(TanuloNev)
|
||||
FOR Evfolyam IN (' + @cols + ')
|
||||
) p
|
||||
|
||||
SELECT
|
||||
KategoriaNev as Leiras
|
||||
,'+@cols+'
|
||||
,Osszes as Összesen
|
||||
,OsszesLany as Lány
|
||||
FROM #RetTable
|
||||
ORDER BY Sorrend,rn'
|
||||
|
||||
EXEC sp_executesql @query
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,72 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.sp_FizikaiTorlesOrarendek
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Fizikailag töröljük az intézmény adott tanévére az órarendeket>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_FizikaiTorlesOrarendek]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pUserId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
UPDATE T_TANITASIORA_OSSZES SET
|
||||
C_ORARENDIORAID = NULL
|
||||
,SERIAL += 1
|
||||
,LASTCHANGED = GETDATE()
|
||||
,MODIFIER = @pUserId
|
||||
FROM T_TANITASIORA_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
AND C_ORARENDIORAID IS NOT NULL
|
||||
|
||||
UPDATE T_HAZIFELADATOK_OSSZES SET
|
||||
TOROLT = 'T'
|
||||
,C_ORARENDIORAID = NULL
|
||||
,SERIAL += 1
|
||||
,LASTCHANGED = GETDATE()
|
||||
,MODIFIER = @pUserId
|
||||
FROM T_HAZIFELADATOK_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
|
||||
DELETE FROM
|
||||
T_HELYETTESITESIIDOSZAK_OSSZES
|
||||
WHERE
|
||||
C_HELYETTESITETTORARENDID IN (
|
||||
SELECT ID
|
||||
FROM
|
||||
T_ORARENDIORA_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
)
|
||||
AND C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
|
||||
DELETE o
|
||||
FROM T_ORAREND_OSSZES o
|
||||
INNER JOIN T_ORARENDIORA_OSSZES oo ON oo.ID = o.C_ORARENDIORAID AND oo.C_TANEVID = o.C_TANEVID
|
||||
WHERE o.C_TANEVID = @pTanevId
|
||||
|
||||
CREATE TABLE #TempFajlIDs (ID int)
|
||||
DELETE fajlorarend
|
||||
OUTPUT DELETED.C_FELTOLTOTTFAJLID INTO #TempFajlIDs
|
||||
FROM T_FELTOLTOTTFAJL_ORARENDIORA fajlorarend
|
||||
INNER JOIN T_FELTOLTOTTFAJL fajl ON fajl.ID = fajlorarend.C_FELTOLTOTTFAJLID
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
DELETE fajl FROM T_FELTOLTOTTFAJL fajl
|
||||
INNER JOIN #TempFajlIDs ids ON ids.ID = fajl.ID
|
||||
DELETE FROM
|
||||
T_ORARENDIORA_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.sp_FizikaiTorlesTantargyfelosztas
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Fizikailag töröljük az intézmény adott tanévére a tantárgyfelosztást>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_FizikaiTorlesTantargyfelosztas]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pUserId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
UPDATE T_ORARENDIORA_OSSZES SET
|
||||
C_FOGLALKOZASID = NULL
|
||||
,SERIAL += 1
|
||||
,LASTCHANGED = GETDATE()
|
||||
,MODIFIER = @pUserId
|
||||
FROM T_ORARENDIORA_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
AND C_FOGLALKOZASID IS NOT NULL
|
||||
|
||||
UPDATE T_TANITASIORA_OSSZES SET
|
||||
C_FOGLALKOZASID = NULL
|
||||
,SERIAL += 1
|
||||
,LASTCHANGED = GETDATE()
|
||||
,MODIFIER = @pUserId
|
||||
FROM T_TANITASIORA_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
AND C_FOGLALKOZASID IS NOT NULL
|
||||
|
||||
DELETE fat
|
||||
FROM T_FOGLALKOZASAMITANULO_OSSZES fat
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON fat.C_FOGLALKOZASID = f.ID AND f.C_TANEVID = fat.C_TANEVID
|
||||
WHERE fat.C_TANEVID = @pTanevId
|
||||
|
||||
DELETE FROM
|
||||
T_FOGLALKOZAS_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId;
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
DROP PROCEDURE IF EXISTS sp_FoglalkozasArchiv
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_FoglalkozasArchiv
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
INSERT INTO T_FOGLALKOZASARCHIV (
|
||||
[C_ALKALMAZOTTID] -- INT NULL,
|
||||
,[C_ELFOGADASDATUMA] -- DATETIME NULL,
|
||||
,[C_FELADATELLATASIHELYID] -- INT NULL,
|
||||
,[C_FELADATELLATASIHELYNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_ORASZAM] -- NUMERIC (10, 2) NULL,
|
||||
,[C_OSZTALYCSOPORTID] -- INT NULL,
|
||||
,[C_OSZTALYCSOPORTNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARKOTELEZOORASZAMA] -- NUMERIC (10, 2) NULL,
|
||||
,[C_TANARMUNKAIDOKEDVEZMENYE] -- INT NULL,
|
||||
,[C_TANARMUNKAIDOKEDVEZMENYOKA] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARMUNKAIDOKEDVEZMENYOKAID]-- INT NULL,
|
||||
,[C_TANARMUNKAKORE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARMUNKAKOREID] -- INT NULL,
|
||||
,[C_TANARNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARPEDAGOGIAIKEPESITESE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARPEDAGOGIAIKEPESITESEID]-- INT NULL,
|
||||
,[C_TANEVNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANTARGYID] -- INT NULL,
|
||||
,[C_TANTARGYNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_INTEZMENYID] -- INT NOT NULL,
|
||||
,[C_TANEVID] -- INT NOT NULL,
|
||||
,[TOROLT] -- CHAR (1) NULL,
|
||||
,[SERIAL] -- INT NULL,
|
||||
,[LASTCHANGED] -- DATETIME NULL,
|
||||
,[CREATED] -- DATETIME NULL,
|
||||
,[MODIFIER] -- INT NULL,
|
||||
,[CREATOR] -- INT NULL,
|
||||
) SELECT
|
||||
u.ID AS [C_ALKALMAZOTTID] -- INT NULL,
|
||||
,GETDATE() AS [C_ELFOGADASDATUMA] -- DATETIME NULL,
|
||||
,fh.ID AS [C_FELADATELLATASIHELYID] -- INT NULL,
|
||||
,'' AS [C_FELADATELLATASIHELYNEVE] -- NVARCHAR (255) NULL,
|
||||
,f.C_ORASZAM AS [C_ORASZAM] -- NUMERIC (10, 2) NULL,
|
||||
,ocs.ID AS [C_OSZTALYCSOPORTID] -- INT NULL,
|
||||
,ocs.C_NEV AS [C_OSZTALYCSOPORTNEVE] -- NVARCHAR (255) NULL,
|
||||
,m.C_KOTELEZOORASZAM AS [C_TANARKOTELEZOORASZAMA] -- NUMERIC (10, 2) NULL,
|
||||
,m.C_MUNKAIDOKEDVEZMENYORASZAM AS [C_TANARMUNKAIDOKEDVEZMENYE] -- INT NULL,
|
||||
,mk.C_NAME AS [C_TANARMUNKAIDOKEDVEZMENYOKA] -- NVARCHAR (255) NULL,
|
||||
,m.C_MUNKAIDOKEDVEZMENYOKA AS [C_TANARMUNKAIDOKEDVEZMENYOKAID]-- INT NULL,
|
||||
,k.C_NAME AS [C_TANARMUNKAKORE] -- NVARCHAR (255) NULL,
|
||||
,m.C_MUNKAKORTIPUSA AS [C_TANARMUNKAKOREID] -- INT NULL,
|
||||
,u.C_NYOMTATASINEV AS [C_TANARNEVE] -- NVARCHAR (255) NULL,
|
||||
,kp.C_NAME AS [C_TANARPEDAGOGIAIKEPESITESE] -- NVARCHAR (255) NULL,
|
||||
,m.C_BESOROLASIFOKOZAT AS [C_TANARPEDAGOGIAIKEPESITESEID]-- INT NULL,
|
||||
,te.C_NEV AS [C_TANEVNEVE] -- NVARCHAR (255) NULL,
|
||||
,t.ID AS [C_TANTARGYID] -- INT NULL,
|
||||
,t.C_NEV AS [C_TANTARGYNEVE] -- NVARCHAR (255) NULL,
|
||||
,f.C_INTEZMENYID AS [C_INTEZMENYID] -- INT NOT NULL,
|
||||
,f.C_TANEVID AS [C_TANEVID] -- INT NOT NULL,
|
||||
,'F' AS [TOROLT] -- CHAR (1) NULL,
|
||||
,0 AS [SERIAL] -- INT NULL,
|
||||
,NULL AS [LASTCHANGED] -- DATETIME NULL,
|
||||
,GETDATE() AS [CREATED] -- DATETIME NULL,
|
||||
,NULL AS [MODIFIER] -- INT NULL,
|
||||
,NULL AS [CREATOR] -- INT NULL,
|
||||
-- select count(1)
|
||||
FROM T_FOGLALKOZAS f
|
||||
INNER JOIN T_FELHASZNALO u ON u.ID = f.C_TANARID
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = f.C_OSZTALYCSOPORTID and ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
INNER JOIN T_ALKALMAZOTT a ON a.ID = u.ID
|
||||
INNER JOIN T_MUNKAUGYIADATOK m ON m.C_ALKALMAZOTTID = a.ID
|
||||
INNER JOIN T_TANTARGY t ON f.C_TANTARGYID = t.ID
|
||||
INNER JOIN T_TANEV te ON te.ID = f.C_TANEVID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE mk ON mk.ID = m.C_MUNKAIDOKEDVEZMENYOKA AND mk.C_TANEVID = f.C_TANEVID AND mk.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE k ON k.ID = m.C_MUNKAKORTIPUSA AND k.C_TANEVID = f.C_TANEVID AND k.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE kp ON kp.ID = m.C_BESOROLASIFOKOZAT AND kp.C_TANEVID = f.C_TANEVID AND kp.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
INNER JOIN T_FELADATELLATASIHELY fh ON fh.ID = m.C_FELADATELLATASIHELYID
|
||||
WHERE f.TOROLT = 'F'
|
||||
/*AND f.C_INTEZMENYID IN (
|
||||
SELECT DISTINCT e.C_INTEZMENYID FROM T_ENTITYHISTORY e
|
||||
INNER JOIN T_ENTITYATTRIBUTEHISTORY a ON a.C_ENTITYHISTORYID = e.ID
|
||||
INNER JOIN T_INTEZMENYADATSZOLGALTATAS i ON i.C_INTEZMENYID = e.C_INTEZMENYID
|
||||
WHERE e.C_ENTITYNAME IN ('T_INTEZMENYADATSZOLGALTATAS', 'INTEZMENYADATSZOLGALTATAS')
|
||||
AND a.C_PROPERTYNAME = 'C_VEGLEGESTTF'
|
||||
AND a.C_CURRENTVALUE = 'T'
|
||||
AND i.C_VEGLEGESTTF = 'T'
|
||||
)*/
|
||||
AND f.C_INTEZMENYID = @intezmenyId AND f.C_TANEVID = @tanevId
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,90 @@
|
|||
-- ==========================================================================================
|
||||
-- Author: Telek Ákos
|
||||
-- Create date: 2016.06.08.
|
||||
-- Description: Naptári hetek generálása TANEVRENDJE alapján
|
||||
-- ==========================================================================================
|
||||
DROP PROCEDURE IF EXISTS sp_GenerateNaptariHetek
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GenerateNaptariHetek
|
||||
@intezmenyId int
|
||||
,@tanevId int
|
||||
,@ABHet bit = 1
|
||||
,@hetiRendTipusTypeId int = 49
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET DATEFIRST 1; -- Sets the first day of the week to a number from 1 (Monday) through 7 (Sunday).
|
||||
|
||||
DECLARE @startDate datetime,
|
||||
@endDate datetime,
|
||||
@cnt int;
|
||||
|
||||
DELETE FROM T_NAPTARIHET_OSSZES
|
||||
WHERE C_INTEZMENYID = @intezmenyId
|
||||
AND C_TANEVID = @tanevId
|
||||
|
||||
/* megnézzük, hány nem 1554-es hetirend van */
|
||||
SELECT @cnt = COUNT(1)
|
||||
FROM T_HETIRENDTIPUS_OSSZES
|
||||
WHERE ID <> 1554 AND C_ALTANEVID = @tanevId
|
||||
AND TOROLT='F'
|
||||
|
||||
SELECT @endDate = C_UTOLSONAP, @startDate = C_KEZDONAP
|
||||
FROM T_TANEV_OSSZES
|
||||
WHERE ID = @tanevId
|
||||
AND TOROLT='F';
|
||||
|
||||
/* CTE a napok legenerálásához */
|
||||
;WITH ctedaterange AS (
|
||||
SELECT [Dates] = @startDate, week = 1
|
||||
UNION ALL
|
||||
SELECT [dates] + 1, week + IIF(DATEPART(dw, dates + 1) = 1, 1, 0)
|
||||
FROM ctedaterange
|
||||
WHERE [dates] + 1 <= @endDate
|
||||
)
|
||||
|
||||
/* Maga az inzert */
|
||||
INSERT INTO T_NAPTARIHET_OSSZES (
|
||||
C_HETIREND
|
||||
,C_HETKEZDONAPJA
|
||||
,C_HETSORSZAMA
|
||||
,C_HETUTOLSONAPJA
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) SELECT
|
||||
IIF(@ABHet=1,ISNULL(x.ID, 1554),1554) AS C_HETIREND -- C_HETIREND - int
|
||||
,mindate AS C_HETKEZDONAPJA -- C_HETKEZDONAPJA - datetime
|
||||
,week AS C_HETSORSZAMA -- C_HETSORSZAMA - int
|
||||
,maxdate AS C_HETUTOLSONAPJA -- C_HETUTOLSONAPJA - datetime
|
||||
,@intezmenyId AS C_INTEZMENYID -- C_INTEZMENYID - int
|
||||
,@tanevId AS C_TANEVID -- C_TANEVID - int
|
||||
,'F' AS TOROLT -- TOROLT - char(1)
|
||||
,0 AS SERIAL -- SERIAL - int
|
||||
,GETDATE() AS LASTCHANGED -- LASTCHANGED - datetime
|
||||
,GETDATE() AS CREATED -- CREATED - datetime
|
||||
,NULL AS MODIFIER -- MODIFIER - int
|
||||
,NULL AS CREATOR -- CREATOR - int
|
||||
FROM (
|
||||
SELECT
|
||||
MIN(dates) AS mindate -- C_HETKEZDONAPJA - datetime
|
||||
,week AS week -- C_HETSORSZAMA - int
|
||||
,MAX(dates) AS maxdate -- C_HETUTOLSONAPJA - datetime
|
||||
FROM ctedaterange
|
||||
GROUP BY week
|
||||
) c
|
||||
LEFT JOIN (
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY C_VALUE) AS RN, ID
|
||||
FROM T_DICTIONARYITEMBASE_OSSZES d
|
||||
WHERE d.C_DICTIONARYTYPEID = @hetiRendTipusTypeId AND ID <> 1554
|
||||
AND C_INTEZMENYID = @intezmenyId AND C_TANEVID = @tanevId AND TOROLT='F'
|
||||
) x ON x.RN % NULLIF(@cnt, 0) = c.week % NULLIF(@cnt, 0)
|
||||
OPTION (maxrecursion 0)
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,227 @@
|
|||
-- ==========================================================================================
|
||||
-- Author: Telek Ákos
|
||||
-- Create date: 2016.05.31.
|
||||
-- Description: Ha az adott tanévhez nincs egy naptári nap sem, akkor létrehoz egy alapot.
|
||||
-- Ha van, akkor update-el a tanév rendje alapján.
|
||||
-- ==========================================================================================
|
||||
DROP PROCEDURE IF EXISTS [sp_GenerateNaptariNapok]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [sp_GenerateNaptariNapok]
|
||||
@intezmenyId int
|
||||
,@tanevId int
|
||||
,@overrideDefault bit = 0 -- felülírja-e az alapadatokat is?
|
||||
,@hetNapjaTipusTypeId int = 40
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET DATEFIRST 1; -- Sets the first day of the week to a number from 1 (Monday) through 7 (Sunday).
|
||||
|
||||
DECLARE
|
||||
@startDate datetime
|
||||
,@endDate datetime
|
||||
,@firstDay datetime
|
||||
,@lastDay datetime
|
||||
,@hetvegiTanitas int;
|
||||
|
||||
-- Adott @tanevId alapján kezdő és végdátum lekérdezése
|
||||
SELECT
|
||||
@startDate = t.C_KEZDONAP
|
||||
,@endDate = t.C_UTOLSONAP
|
||||
,@firstDay = t.C_ELSOTANITASINAP
|
||||
,@lastDay = t.C_UTOLSOTANITASINAP
|
||||
FROM T_TANEV t
|
||||
WHERE t.ID = @tanevId
|
||||
|
||||
SET @hetvegiTanitas = dbo.fnGetRendszerbeallitasEnumBool(7683, @intezmenyId, (SELECT ID FROM T_TANEV WHERE C_INTEZMENYID = @intezmenyId AND C_AKTIV = 'T' AND TOROLT = 'F'))
|
||||
-- 1 - H-P
|
||||
-- 2 - H-Szo
|
||||
-- 3 - H-V
|
||||
|
||||
IF (SELECT COUNT(1) FROM T_NAPTARINAP_OSSZES WHERE C_TANEVID = @tanevId) = 0 BEGIN
|
||||
-- a két dátum közötti napok kigenerálása
|
||||
;WITH ctedaterange AS (
|
||||
SELECT [Dates] = @startDate, week = 1
|
||||
UNION ALL
|
||||
SELECT [dates] + 1, week + IIF(DATEPART(dw, dates + 1) = 1, 1, 0)
|
||||
FROM ctedaterange
|
||||
WHERE [dates] + 1 <= @endDate
|
||||
)
|
||||
|
||||
INSERT INTO T_NAPTARINAP (
|
||||
C_HETIREND
|
||||
,C_HETNAPJA
|
||||
,C_HETSORSZAMA
|
||||
,C_NAPDATUMA
|
||||
,C_NAPTIPUSA
|
||||
,C_ORARENDINAP
|
||||
,C_ALAPHETIREND
|
||||
,C_ALAPHETNAPJA
|
||||
,C_ALAPNAPTIPUSA
|
||||
,C_ALAPORARENDINAP
|
||||
,C_ALAPCSENGETESIRENDID
|
||||
,C_AKTIVCSENGETESIRENDID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) SELECT
|
||||
ISNULL(h.C_HETIREND, 1554) AS C_HETIREND -- C_HETIREND - int
|
||||
,hn.ID AS C_HETNAPJA -- C_HETNAPJA - int
|
||||
,h.C_HETSORSZAMA AS C_HETSORSZAMA -- C_HETSORSZAMA - int
|
||||
,s.dates AS C_NAPDATUMA -- C_NAPDATUMA - datetime
|
||||
,CASE
|
||||
WHEN DATEPART(dw, s.dates) = 6 AND @hetvegiTanitas IN (2, 3)
|
||||
THEN 1386 -- 'Munkaszüneti nap'
|
||||
WHEN DATEPART(dw, s.dates) = 7 AND @hetvegiTanitas = 3
|
||||
THEN 1386 -- 'Munkaszüneti nap'
|
||||
ELSE 1385 -- 'Tanítási nap'
|
||||
END AS C_NAPTIPUSA -- C_NAPTIPUSA - int
|
||||
,CASE
|
||||
WHEN DATEPART(dw, s.dates) = 6 AND @hetvegiTanitas IN (2, 3)
|
||||
THEN 'F' -- 'Munkaszüneti nap'
|
||||
WHEN DATEPART(dw, s.dates) = 7 AND @hetvegiTanitas = 3
|
||||
THEN 'F' -- 'Munkaszüneti nap'
|
||||
ELSE 'T' -- 'Tanítási nap'
|
||||
END AS C_ORARENDINAP -- C_ORARENDINAP - char(1)
|
||||
,ISNULL(h.C_HETIREND, 1554) AS C_ALAPHETIREND -- C_ALAPHETIREND - int
|
||||
,hn.ID AS C_ALAPHETNAPJA -- C_ALAPHETNAPJA - int
|
||||
,CASE
|
||||
WHEN DATEPART(dw, s.dates) = 6 AND @hetvegiTanitas IN (2, 3)
|
||||
THEN 1386 -- 'Munkaszüneti nap'
|
||||
WHEN DATEPART(dw, s.dates) = 7 AND @hetvegiTanitas = 3
|
||||
THEN 1386 -- 'Munkaszüneti nap'
|
||||
ELSE 1385 -- 'Tanítási nap'
|
||||
END AS C_ALAPNAPTIPUSA -- C_ALAPNAPTIPUSA - int
|
||||
,CASE
|
||||
WHEN DATEPART(dw, s.dates) = 6 AND @hetvegiTanitas IN (2, 3)
|
||||
THEN 'F' -- 'Munkaszüneti nap'
|
||||
WHEN DATEPART(dw, s.dates) = 7 AND @hetvegiTanitas = 3
|
||||
THEN 'F' -- 'Munkaszüneti nap'
|
||||
ELSE 'T' -- 'Tanítási nap'
|
||||
END AS C_ALAPORARENDINAP -- C_ALAPORARENDINAP - char(1)
|
||||
,NULL AS C_ALAPCSENGETESIRENDID -- C_ALAPCSENGETESIRENDID - int
|
||||
,NULL AS C_AKTIVCSENGETESIRENDID -- C_AKTIVCSENGETESIRENDID - int
|
||||
,@intezmenyId AS C_INTEZMENYID -- C_INTEZMENYID - int
|
||||
,@tanevId AS C_TANEVID -- C_TANEVID - int
|
||||
,'F' AS TOROLT -- TOROLT - char(1)
|
||||
,0 AS SERIAL -- SERIAL - int
|
||||
,GETDATE() AS LASTCHANGED -- LASTCHANGED - datetime
|
||||
,GETDATE() AS CREATED -- CREATED - datetime
|
||||
,NULL AS MODIFIER -- MODIFIER - int
|
||||
,NULL AS CREATOR -- CREATOR - int
|
||||
FROM ctedaterange s
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES t ON s.dates = t.C_DATUM AND t.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES hn ON hn.C_VALUE = DATEPART(dw, s.dates) AND hn.C_DICTIONARYTYPEID = @hetNapjaTipusTypeId AND hn.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_NAPTARIHET_OSSZES h ON s.dates BETWEEN h.C_HETKEZDONAPJA AND h.C_HETUTOLSONAPJA AND h.C_TANEVID = @tanevId
|
||||
ORDER BY s.dates
|
||||
OPTION (maxrecursion 0) -- hogy ne legyen korlátozva a regurzitás mélysége a CTE-ben /* default 100 */
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT @firstDay = ro.C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES ro
|
||||
WHERE ro.C_TANEVID = @tanevId
|
||||
AND ro.C_NAPTIPUSA = 1394
|
||||
|
||||
SELECT @lastDay = ro.C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES ro
|
||||
WHERE ro.C_TANEVID = @tanevId
|
||||
AND ro.C_NAPTIPUSA = 1395
|
||||
|
||||
SELECT
|
||||
@firstDay = ISNULL(@firstDay, C_KEZDONAP)
|
||||
,@lastDay = ISNULL(@lastDay, C_UTOLSONAP)
|
||||
FROM T_TANEV_OSSZES
|
||||
WHERE ID = @tanevId
|
||||
|
||||
IF @overrideDefault = 1 BEGIN
|
||||
UPDATE T_NAPTARINAP_OSSZES SET -- Nyári szünet UPDATE-je
|
||||
C_NAPTIPUSA = IIF(DATEPART(dw, C_NAPDATUMA) BETWEEN 1 AND 5, 1392, C_NAPTIPUSA)
|
||||
,C_ALAPNAPTIPUSA = IIF(DATEPART(dw, C_NAPDATUMA) BETWEEN 1 AND 5, 1392, C_ALAPNAPTIPUSA)
|
||||
,C_ORARENDINAP = 'F'
|
||||
,C_ALAPORARENDINAP = 'F'
|
||||
WHERE (C_NAPDATUMA < @firstDay OR C_NAPDATUMA > @lastDay)
|
||||
AND C_TANEVID = @tanevId
|
||||
END
|
||||
|
||||
IF @hetvegiTanitas = 1 BEGIN -- H - P
|
||||
UPDATE nn SET
|
||||
nn.C_ALAPORARENDINAP = 'F'
|
||||
,nn.C_ORARENDINAP = IIF(tr.ID IS NULL, 'F', nn.C_ORARENDINAP)
|
||||
,nn.C_NAPTIPUSA = IIF(tr.ID IS NULL, 1386, nn.C_NAPTIPUSA)
|
||||
,nn.C_ALAPNAPTIPUSA = 1386
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND tr.TOROLT = 'F' AND nn.C_TANEVID = tr.C_TANEVID
|
||||
WHERE DATEPART(dw, nn.C_NAPDATUMA) IN (6, 7)
|
||||
AND nn.C_TANEVID = @tanevId
|
||||
END
|
||||
|
||||
IF @hetvegiTanitas = 2 BEGIN -- H - Szo
|
||||
UPDATE nn SET
|
||||
nn.C_ALAPORARENDINAP = 'T'
|
||||
,nn.C_ORARENDINAP = IIF(tr.ID IS NULL, 'T', nn.C_ORARENDINAP)
|
||||
,nn.C_NAPTIPUSA = IIF(tr.ID IS NULL, 1385, nn.C_NAPTIPUSA)
|
||||
,nn.C_ALAPNAPTIPUSA = 1385
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND tr.TOROLT = 'F' AND nn.C_TANEVID = tr.C_TANEVID
|
||||
WHERE DATEPART(dw, nn.C_NAPDATUMA) = 6
|
||||
AND nn.C_TANEVID = @tanevId
|
||||
|
||||
UPDATE nn SET
|
||||
nn.C_ALAPORARENDINAP = 'F'
|
||||
,nn.C_ORARENDINAP = IIF(tr.ID IS NULL, 'F', nn.C_ORARENDINAP)
|
||||
,nn.C_NAPTIPUSA = IIF(tr.ID IS NULL, 1386, nn.C_NAPTIPUSA)
|
||||
,nn.C_ALAPNAPTIPUSA = 1386
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND tr.TOROLT = 'F' AND nn.C_TANEVID = tr.C_TANEVID
|
||||
WHERE DATEPART(dw, nn.C_NAPDATUMA) = 7
|
||||
AND nn.C_TANEVID = @tanevId
|
||||
END
|
||||
|
||||
IF @hetvegiTanitas = 3 BEGIN -- H - V
|
||||
UPDATE nn SET
|
||||
nn.C_ALAPORARENDINAP = 'T'
|
||||
,nn.C_ORARENDINAP = IIF(tr.ID IS NULL, 'T', nn.C_ORARENDINAP)
|
||||
,nn.C_NAPTIPUSA = IIF(tr.ID IS NULL, 1385, nn.C_NAPTIPUSA)
|
||||
,nn.C_ALAPNAPTIPUSA = 1385
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND tr.TOROLT = 'F' AND nn.C_TANEVID = tr.C_TANEVID
|
||||
WHERE DATEPART(dw, nn.C_NAPDATUMA) IN (6, 7)
|
||||
AND nn.C_TANEVID = @tanevId
|
||||
END
|
||||
|
||||
UPDATE n SET
|
||||
n.C_HETIREND = IIF(x.TOROLT = 'F', ISNULL(x.C_HETIREND, ISNULL(h.C_HETIREND,n.C_ALAPHETIREND)), ISNULL(h.C_HETIREND,n.C_ALAPHETIREND))
|
||||
,n.C_HETNAPJA = IIF(x.TOROLT = 'F', ISNULL(x.C_HETNAPJA, n.C_HETNAPJA), n.C_ALAPHETNAPJA)
|
||||
,n.C_NAPTIPUSA = IIF(x.TOROLT = 'F', ISNULL(x.C_NAPTIPUSA, n.C_NAPTIPUSA), n.C_ALAPNAPTIPUSA)
|
||||
,n.C_ORARENDINAP = IIF(x.TOROLT = 'F', ISNULL(x.C_ORARENDINAP, n.C_ORARENDINAP), n.C_ALAPORARENDINAP)
|
||||
,n.C_AKTIVCSENGETESIRENDID = IIF(x.TOROLT = 'F', ISNULL(x.C_CSENGETESIRENDID, n.C_AKTIVCSENGETESIRENDID), n.C_ALAPCSENGETESIRENDID)
|
||||
,n.C_ALAPHETIREND = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPHETIREND, h.C_HETIREND)
|
||||
,n.C_ALAPHETNAPJA = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPHETNAPJA, ISNULL(x.C_HETNAPJA, n.C_ALAPHETNAPJA))
|
||||
,n.C_ALAPNAPTIPUSA = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPNAPTIPUSA, ISNULL(x.C_NAPTIPUSA, n.C_ALAPNAPTIPUSA))
|
||||
,n.C_ALAPORARENDINAP = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPORARENDINAP, ISNULL(x.C_ORARENDINAP, n.C_ALAPORARENDINAP))
|
||||
,n.C_ALAPCSENGETESIRENDID = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPCSENGETESIRENDID, ISNULL(x.C_CSENGETESIRENDID, n.C_ALAPCSENGETESIRENDID))
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
INNER JOIN T_NAPTARIHET_OSSZES h ON n.C_NAPDATUMA BETWEEN h.C_HETKEZDONAPJA AND h.C_HETUTOLSONAPJA
|
||||
LEFT JOIN (
|
||||
SELECT ro.C_DATUM, ro.TOROLT, ro.C_HETNAPJA, ro.C_NAPTIPUSA, ro.C_ORARENDINAP, ro.C_CSENGETESIRENDID ,ro.C_HETIREND
|
||||
FROM T_TANEVRENDJE_OSSZES ro
|
||||
WHERE ro.C_TANEVID = @tanevId
|
||||
AND ro.TOROLT = 'F'
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE o WHERE o.C_TANEVRENDJEID = ro.ID)
|
||||
UNION ALL
|
||||
SELECT DISTINCT ro.C_DATUM, ro.TOROLT, NULL, NULL, NULL, NULL,NULL
|
||||
FROM T_TANEVRENDJE_OSSZES ro
|
||||
WHERE ro.C_TANEVID = @tanevId
|
||||
AND ro.TOROLT = 'T'
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANEVRENDJE_OSSZES r WHERE ro.C_DATUM = r.C_DATUM AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE o WHERE o.C_TANEVRENDJEID = ro.ID)
|
||||
) x ON x.C_DATUM = n.C_NAPDATUMA
|
||||
WHERE n.C_TANEVID = @tanevId AND h.C_TANEVID = @tanevId
|
||||
END
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,71 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetAdminDashboardNaplo]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetAdminDashboardNaplo]
|
||||
@pTanevId INT
|
||||
,@pTanarAlkalmazottMunkakor int = 8384
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
CREATE TABLE #AKTIV_ALKALMAZOTT (ID int,INDEX IX1 CLUSTERED(ID));
|
||||
INSERT INTO #AKTIV_ALKALMAZOTT (ID)
|
||||
SELECT f.ID
|
||||
FROM T_FELHASZNALO_OSSZES f
|
||||
INNER JOIN T_MUNKAUGYIADATOK_OSSZES munkaugyiadat ON munkaugyiadat.C_ALKALMAZOTTID = f.ID AND munkaugyiadat.C_TARTOSHELYETTESITES = 'F' AND ISNULL(munkaugyiadat.C_ALKALMAZASKEZDETE,getdate()) <= getdate() AND ISNULL(munkaugyiadat.C_ALKALMAZASMEGSZUNESE,getdate()) >= getdate() AND munkaugyiadat.TOROLT = 'F'
|
||||
INNER JOIN T_MUNKAKORTIPUS_OSSZES mkt ON mkt.ID = munkaugyiadat.C_MUNKAKORTIPUSA AND mkt.C_ALTANEVID = munkaugyiadat.C_TANEVID AND mkt.TOROLT = 'F'
|
||||
WHERE
|
||||
f.C_TANEVID = @pTanevId
|
||||
AND f.TOROLT = 'F'
|
||||
AND mkt.C_ALKALMAZOTTMUNKAKORTIPUSID = @pTanarAlkalmazottMunkakor
|
||||
SELECT
|
||||
ia.C_NEV AS IntezmenyNev
|
||||
,i.C_AZONOSITO AS IntezmenyAzonosito
|
||||
,i.C_ALTERNATIVAZONOSITO AS IntezmenyAlternativAzonosito
|
||||
,tv.C_NEV AS TanevNev
|
||||
,(SELECT IIF(LEFT(REPLACE(JSON_VALUE(C_ERTEK, '$.Date'),'-',''), 8) > GETDATE(), 1, 0)
|
||||
FROM T_RENDSZERBEALLITAS_OSSZES rb
|
||||
WHERE C_BEALLITASTIPUS = 3082
|
||||
AND rb.C_TANEVID = @pTanevId
|
||||
AND rb.TOROLT = 'F'
|
||||
) AS ZarasiGond
|
||||
,(SELECT COUNT(1)
|
||||
FROM T_ALKALMAZOTT adat
|
||||
INNER JOIN #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES fb WHERE adat.ID = fb.C_FELHASZNALOID AND fb.TOROLT = 'F')
|
||||
AND adat.C_ALTANEVID = @pTanevId
|
||||
AND adat.TOROLT = 'F'
|
||||
) AS NincsBelepesAlkalmazott
|
||||
,(SELECT COUNT(1)
|
||||
FROM T_TANULO adat
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES fb WHERE adat.ID = fb.C_FELHASZNALOID AND fb.TOROLT = 'F' AND fb.C_GONDVISELOID IS NULL)
|
||||
AND adat.C_ALTANEVID = @pTanevId
|
||||
AND adat.TOROLT = 'F'
|
||||
) AS NincsBelepesTanulo
|
||||
,(SELECT COUNT(1)
|
||||
FROM T_GONDVISELO adat
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES fb WHERE adat.ID = fb.C_GONDVISELOID AND fb.TOROLT = 'F')
|
||||
AND adat.C_TANEVID = @pTanevId
|
||||
AND adat.TOROLT = 'F'
|
||||
) AS NincsBelepesGondviselo
|
||||
,(SELECT COUNT(1)
|
||||
FROM T_ALKALMAZOTT_OSSZES adat
|
||||
INNER JOIN #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID
|
||||
LEFT JOIN T_FELHASZNALOBELEPES_OSSZES fb ON fb.C_FELHASZNALOID = adat.ID AND fb.TOROLT = 'F'
|
||||
WHERE adat.TOROLT = 'F'
|
||||
AND (fb.C_UTOLSOBELEPES <= DATEADD(DAY,-28,GETDATE()) OR fb.C_UTOLSOBELEPES IS NULL)
|
||||
) AS NemLepettBeHonapAlkalmazott
|
||||
,(SELECT COUNT(1)
|
||||
FROM T_ALKALMAZOTT_OSSZES adat
|
||||
INNER JOIN #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID
|
||||
LEFT JOIN T_FELHASZNALOBELEPES_OSSZES fb ON fb.C_FELHASZNALOID = adat.ID AND fb.TOROLT = 'F'
|
||||
WHERE adat.TOROLT = 'F'
|
||||
AND (fb.C_UTOLSOBELEPES <= DATEADD(DAY,-14,GETDATE()) OR fb.C_UTOLSOBELEPES IS NULL)
|
||||
) AS NemLepettBeKetHetAlkalmazott
|
||||
FROM T_TANEV_OSSZES tv
|
||||
INNER JOIN T_INTEZMENY_OSSZES i ON i.ID = tv.C_INTEZMENYID AND i.TOROLT = 'F'
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.C_INTEZMENYID = tv.C_INTEZMENYID AND ia.C_TANEVID = tv.ID AND ia.TOROLT = 'F'
|
||||
WHERE tv.TOROLT = 'F' AND tv.ID = @pTanevId
|
||||
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
|
||||
-- =============================================
|
||||
-- Description: <Osztályok/csoportok és egyéb osztályok/csoportok>
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetAllOsztalyCsoport]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetAllOsztalyCsoport]
|
||||
@pFeladatKategoriaId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END AS NumberOrder
|
||||
,CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END AS NumberAndTextOrder
|
||||
,osztalyCsoport.ID AS ID
|
||||
,osztalyCsoport.C_NEV AS Nev
|
||||
,'1' AS Tipus
|
||||
,NULL AS CsoportTipusa
|
||||
,osztalyCsoport.C_EVFOLYAMTIPUSA AS Evfolyam
|
||||
,0 AS OsztalyCsoportOrder
|
||||
,feladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS AS EllatottFeladatTipusId
|
||||
FROM
|
||||
T_OSZTALY osztaly
|
||||
INNER JOIN T_OSZTALYCSOPORT osztalyCsoport
|
||||
ON osztaly.ID = osztalyCsoport.ID AND (osztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
||||
INNER JOIN T_FELADATELLATASIHELY feladatellatasiHely
|
||||
ON osztalyCsoport.C_FELADATELLATASIHELYID = feladatellatasiHely.ID
|
||||
WHERE
|
||||
osztalyCsoport.TOROLT = 'F'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END AS NumberOrder
|
||||
,CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END AS NumberAndTextOrder
|
||||
,osztalyCsoport.ID AS ID
|
||||
,osztalyCsoport.C_NEV AS Nev
|
||||
,'1' AS Tipus
|
||||
,csoport.C_TIPUSA AS CsoportTipusa
|
||||
,osztalyCsoport.C_EVFOLYAMTIPUSA AS Evfolyam
|
||||
,1 AS OsztalyCsoportOrder
|
||||
,feladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS AS EllatottFeladatTipusId
|
||||
FROM
|
||||
T_CSOPORT csoport
|
||||
INNER JOIN T_OSZTALYCSOPORT osztalyCsoport
|
||||
ON csoport.ID = osztalyCsoport.ID AND (osztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
||||
INNER JOIN T_FELADATELLATASIHELY feladatellatasiHely
|
||||
ON osztalyCsoport.C_FELADATELLATASIHELYID = feladatellatasiHely.ID
|
||||
WHERE
|
||||
osztalyCsoport.TOROLT = 'F'
|
||||
ORDER BY
|
||||
OsztalyCsoportOrder, NumberOrder ASC, NumberAndTextOrder ASC, osztalyCsoport.C_NEV ASC
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,112 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetDokumentumHelyettesitesekByDateInterval
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetDokumentumHelyettesitesekByDateInterval
|
||||
@tanevId INT
|
||||
,@intezmenyId INT
|
||||
,@helyettesitesListaFormatumId INT = 0 --0 helyettesitett, 1 helyettesito
|
||||
,@idoszakKezdete DATE
|
||||
,@idoszakVege DATE
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
CREATE TABLE #OrarendAdatok (
|
||||
Datum datetime
|
||||
,HetNapja int
|
||||
,OraKezdete datetime
|
||||
,OraVege datetime
|
||||
,Oraszam int
|
||||
,Megtartott char(1)
|
||||
,OsztalyNev nvarchar(255)
|
||||
,TanarNev nvarchar(255)
|
||||
,TeremNev nvarchar(255)
|
||||
,OraTipus nvarchar(200)
|
||||
,HelyettesitoTanarID int
|
||||
,HelyettesitoTanarNev nvarchar(255)
|
||||
,HelyettesitesId int
|
||||
,TanarID int
|
||||
,TantargyId int
|
||||
)
|
||||
|
||||
INSERT INTO #OrarendAdatok (
|
||||
Datum
|
||||
,HetNapja
|
||||
,OraKezdete
|
||||
,OraVege
|
||||
,Oraszam
|
||||
,Megtartott
|
||||
,OsztalyNev
|
||||
,TanarNev
|
||||
,TeremNev
|
||||
,OraTipus
|
||||
,HelyettesitoTanarID
|
||||
,HelyettesitoTanarNev
|
||||
,HelyettesitesId
|
||||
,TanarID
|
||||
,TantargyId
|
||||
)
|
||||
EXEC
|
||||
dbo.sp_GetOrarend
|
||||
@pIntezmenyId = @IntezmenyId
|
||||
,@pTanevId = @TanevId
|
||||
,@pIdoszakKezdete = @IdoszakKezdete
|
||||
,@pIdoszakVege = @IdoszakVege
|
||||
,@pTanarId = NULL
|
||||
,@pIsHelyettesitesNelkul = 0
|
||||
,@pOsztalyCsoportId = NULL
|
||||
,@pTanuloId = NULL
|
||||
,@pTantargyId = NULL
|
||||
,@pTeremId = NULL
|
||||
,@pCsakOrarendiOrak = 0
|
||||
,@pIsNapirend = NULL
|
||||
,@pOszlopok = 'Datum,HetNapja,OraKezdete,OraVege,Oraszam,Megtartott,OsztalyNev,TanarNev,TeremNev,OraTipus,HelyettesitoTanarID,HelyettesitoTanarNev,HelyettesitesId,TanarID,TantargyId'
|
||||
|
||||
SELECT
|
||||
hely.HelyettesitoTanarID AS HelyettesitoId
|
||||
,hely.TanarID AS HelyettesitettId
|
||||
,dbo.fnGetDokumentumDatumFormatum(hely.Datum) AS HetNapja
|
||||
,HetNapja.C_NAME AS HetNapjaMegnevezes
|
||||
,IIF(hely.Oraszam IS NOT NULL,CONVERT(NVARCHAR(5), hely.Oraszam) + '.',
|
||||
CONCAT(CONVERT(NVARCHAR(5), hely.OraKezdete, 108), '-', CONVERT(NVARCHAR(5), hely.OraVege, 108))) AS Oraszam
|
||||
,IIF(hely.OraTipus = 'TanitasiOra' AND hely.Megtartott = 'F', 'Elmaradt óra', hely.HelyettesitoTanarNev) AS HelyettesitoNeve
|
||||
,hely.TanarNev AS HelyettesitettNeve
|
||||
,hely.OsztalyNev AS OsztalyCsoportNev
|
||||
,tantargy.C_NEV AS TantargyNev
|
||||
,hely.TeremNev AS TeremNev
|
||||
,HelyettesitesTipusa.C_NAME AS HelyettesitesTipusa
|
||||
,helyettesito.C_OKTATASIAZONOSITO AS HelyettesitoOktatasiAzon
|
||||
,helyettesitesett.C_OKTATASIAZONOSITO AS HelyettesitettOktatasiAzon
|
||||
,Rendez = CASE ISNUMERIC(hely.Oraszam)
|
||||
WHEN 1 THEN CAST(hely.Oraszam AS INT)
|
||||
ELSE 999999999999999 END
|
||||
INTO #adatok
|
||||
FROM
|
||||
#OrarendAdatok hely
|
||||
LEFT JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = hely.TantargyId AND tantargy.TOROLT = 'F'
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES hi ON hi.ID = hely.HelyettesitesId and hi.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.Id = hely.HelyettesitoTanarID AND helyettesito.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES helyettesitesett ON helyettesitesett.ID = hely.TanarID AND helyettesitesett.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES HelyettesitesTipusa ON HelyettesitesTipusa.ID = hi.C_HELYETTESITESTIPUS AND HelyettesitesTipusa.C_TANEVID = @TanevId AND HelyettesitesTipusa.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES HetNapja ON HetNapja.ID = hely.HetNapja AND HetNapja.C_TANEVID = @TanevId AND HetNapja.TOROLT = 'F'
|
||||
WHERE (hely.OraTipus = 'TanitasiOra' AND (hely.HelyettesitoTanarID IS NOT NULL OR hely.Megtartott = 'F'))
|
||||
OR (hely.OraTipus = 'OrarendiOra' AND hely.HelyettesitoTanarID IS NOT NULL)
|
||||
ORDER BY hely.HetNapja, hely.Oraszam
|
||||
|
||||
SELECT DISTINCT HetNapja, HetNapjaMegnevezes FROM #adatok
|
||||
|
||||
IF @helyettesitesListaFormatumId = 0
|
||||
BEGIN
|
||||
SELECT DISTINCT HelyettesitettId PedagogusId, HelyettesitettNeve PedagogusNev, HetNapja FROM #adatok ORDER BY HelyettesitettNeve
|
||||
SELECT * FROM #adatok
|
||||
ORDER BY HetNapja, Rendez, Oraszam
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT DISTINCT HelyettesitoId PedagogusId, HelyettesitoNeve PedagogusNev, HetNapja FROM #adatok ORDER BY HelyettesitoNeve
|
||||
SELECT * FROM #adatok
|
||||
ORDER BY HetNapja, Rendez, Oraszam
|
||||
END
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,334 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetDokumentumMulasztasok
|
||||
GO
|
||||
|
||||
-- ===========================================================================
|
||||
-- Description: Dokumentumokban használt mulasztás összesítő osztály alapján
|
||||
-- ===========================================================================
|
||||
CREATE PROCEDURE sp_GetDokumentumMulasztasok
|
||||
@osztalyId int
|
||||
,@tanevId int
|
||||
,@elmeletiOraPercben int = 45
|
||||
,@gyakorlatiOraPercben int = 45
|
||||
,@ertekelesTipus int
|
||||
,@iskolaErdekuSzamit bit
|
||||
,@isMuveszetOktatasi bit = 0
|
||||
,@negyedevreSzamoltMulasztasok bit = 1
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
CREATE TABLE #Tanulo (
|
||||
TanuloId int
|
||||
,TanuloCsoportId int
|
||||
,BelepesDatum date
|
||||
,KilepesDatum date
|
||||
,PRIMARY KEY (TanuloId, TanuloCsoportId, BelepesDatum)
|
||||
)
|
||||
|
||||
INSERT INTO #Tanulo
|
||||
SELECT
|
||||
TanuloId
|
||||
,TanuloCsoportId
|
||||
,BelepesDatum
|
||||
,KilepesDatum
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T')
|
||||
|
||||
DECLARE
|
||||
@IdoszakUtolsoNap int
|
||||
,@IdoszakElsoNap int
|
||||
,@IdoszakKezdete date
|
||||
,@IdoszakVege date
|
||||
,@KeresztFeleves nvarchar(1)
|
||||
,@kategoriaId int
|
||||
,@intezmenyId int
|
||||
|
||||
SET @intezmenyId = (SELECT C_INTEZMENYID FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
|
||||
SELECT
|
||||
@KeresztFeleves = C_KERESZTFELEVES
|
||||
,@kategoriaId = C_FELADATKATEGORIAID
|
||||
FROM T_OSZTALYCSOPORT_OSSZES
|
||||
WHERE ID = @osztalyId
|
||||
|
||||
SET @IdoszakUtolsoNap =
|
||||
CASE @KeresztFeleves
|
||||
WHEN 'F' THEN
|
||||
CASE @ertekelesTipus
|
||||
WHEN 1519 THEN 1400 --Félévi jegy/értékelés -> Első félév vége
|
||||
WHEN 1520 THEN 1395 --Év végi jegy/értékelés -> Utolsó tanítási nap
|
||||
WHEN 1522 THEN 1403 --I. né. jegy/értékelés -> I. negyedév vége
|
||||
WHEN 1524 THEN 1400 --II. né. jegy/értékelés -> Első félév vége
|
||||
WHEN 1523 THEN 1404 --III. né. jegy/értékelés -> III. negyedév vége
|
||||
WHEN 1525 THEN 1395 --IV. né. jegy/értékelés -> Utolsó tanítási nap
|
||||
END
|
||||
WHEN 'T' THEN
|
||||
CASE @ertekelesTipus
|
||||
WHEN 1519 THEN 1395 --Félévi jegy/értékelés -> Utolsó tanítási nap
|
||||
WHEN 1520 THEN 1400 --Év végi jegy/értékelés -> Első félév vége
|
||||
WHEN 1522 THEN 1404 --I. né. jegy/értékelés -> III. negyedév vége
|
||||
WHEN 1524 THEN 1395 --II. né. jegy/értékelés -> Utolsó tanítási nap
|
||||
WHEN 1523 THEN 1403 --III. né. jegy/értékelés -> I. negyedév vége
|
||||
WHEN 1525 THEN 1400 --IV. né. jegy/értékelés -> Első félév vége
|
||||
END
|
||||
END
|
||||
|
||||
SET @IdoszakElsoNap =
|
||||
CASE @KeresztFeleves
|
||||
WHEN 'F' THEN
|
||||
CASE @ertekelesTipus
|
||||
WHEN 1519 THEN 1394 --Félévi jegy/értékelés -> Első tanítási nap
|
||||
WHEN 1520 THEN 1394 --Év végi jegy/értékelés -> Első tanítási nap
|
||||
WHEN 1522 THEN 1394 --I. né. jegy/értékelés -> Első tanítási nap
|
||||
WHEN 1524 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1403,1394) --II. né. jegy/értékelés -> I. negyedév vége
|
||||
WHEN 1523 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1400,1394) --III. né. jegy/értékelés -> Első félév vége
|
||||
WHEN 1525 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1404,1394) --IV. né. jegy/értékelés -> III. negyedév vége
|
||||
END
|
||||
WHEN 'T' THEN
|
||||
CASE @ertekelesTipus
|
||||
WHEN 1519 THEN 1400 --Félévi jegy/értékelés -> Első félév vége
|
||||
WHEN 1520 THEN 1394 --Év végi jegy/értékelés -> Első tanítási nap
|
||||
WHEN 1522 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1400,1394) --I. né. jegy/értékelés -> Első félév vége
|
||||
WHEN 1524 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1404,1394) --II. né. jegy/értékelés -> III. negyedév vége
|
||||
WHEN 1523 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1394,1394) --III. né. jegy/értékelés -> Első tanítási nap
|
||||
WHEN 1525 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1403,1394) --IV. né. jegy/értékelés -> I. negyedév vége
|
||||
END
|
||||
END
|
||||
|
||||
CREATE TABLE #SzurtCsoportTipus (
|
||||
CsoportTipusId int PRIMARY KEY
|
||||
)
|
||||
|
||||
IF @isMuveszetOktatasi = 0 BEGIN
|
||||
INSERT INTO #SzurtCsoportTipus
|
||||
SELECT ID
|
||||
FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF @kategoriaId = 7555 -- AMI-s csoportot kérünk le
|
||||
BEGIN
|
||||
INSERT INTO #SzurtCsoportTipus (CsoportTipusId)
|
||||
SELECT ID
|
||||
FROM T_CSOPORTTIPUS_OSSZES
|
||||
WHERE C_ALTANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
AND C_ISMUVESZETI = 'T'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO #SzurtCsoportTipus (CsoportTipusId)
|
||||
SELECT C_TIPUSA
|
||||
FROM T_CSOPORT_OSSZES
|
||||
WHERE TOROLT = 'F'
|
||||
AND C_ALTANEVID = @tanevId
|
||||
AND ID = @osztalyId
|
||||
END
|
||||
END
|
||||
|
||||
SET @IdoszakKezdete = (SELECT TOP 1 DATEADD(day, IIF((@KeresztFeleves = 'F' AND @ertekelesTipus IN (1519,1520,1522)) OR (@KeresztFeleves = 'T' AND @ertekelesTipus IN (1520,1522,1523)), 0, 1), C_DATUM) FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = @IdoszakElsoNap AND C_TANEVID = @tanevId AND TOROLT='F')
|
||||
|
||||
SET @IdoszakVege = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = @IdoszakUtolsoNap AND C_TANEVID = @tanevId AND TOROLT='F')
|
||||
--IF @IdoszakVege IS NULL BEGIN
|
||||
--SET @IdoszakVege = (SELECT IIF(GETDATE() > C_UTOLSONAP, C_UTOLSONAP, GETDATE()) FROM T_TANEV WHERE ID = @tanevId)
|
||||
--END
|
||||
|
||||
SELECT
|
||||
t.TANULOID tanuloid
|
||||
,t.TanuloCsoportId tanulocsoportid
|
||||
,ISNULL(mu.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(mu.[hianyzasIgazoltTanoraiGyakorlati], 0)
|
||||
+ ISNULL(kp.kesesIgazoltElmeletiOraban,0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLTHIANYZAS, 0),0)
|
||||
AS Igazolt
|
||||
,ISNULL(mu.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(mu.[hianyzasIgazolatlanTanoraiGyakorlati], 0)
|
||||
+ ISNULL(kp.kesesIgazolatlanElmeletiOraban,0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLATLANHIANYZAS, 0),0)
|
||||
AS Igazolatlan
|
||||
,ISNULL(mu.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazoltElmeletiOraban,0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLTHIANYZAS, 0),0)
|
||||
AS ElmeletIgazolt
|
||||
,ISNULL(mu.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazolatlanElmeletiOraban,0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLATLANHIANYZAS, 0),0)
|
||||
AS ElmeletIgazolatlan
|
||||
,ISNULL(mu.[hianyzasIgazoltTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
||||
AS GyakorlatiIgazolt
|
||||
,ISNULL(mu.[hianyzasIgazolatlanTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0)
|
||||
AS GyakorlatiIgazolatlan
|
||||
,ISNULL(mu.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazoltElmeletiOraban,0)
|
||||
+ ISNULL(mu.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazolatlanElmeletiOraban,0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLTHIANYZAS, 0),0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLATLANHIANYZAS, 0),0)
|
||||
AS ElmeletOsszes
|
||||
,ISNULL(mu.[hianyzasIgazoltTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
||||
+ ISNULL(mu.[hianyzasIgazolatlanTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0)
|
||||
AS GyakorlatOsszes
|
||||
,ISNULL(mu.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(mu.[hianyzasIgazoltTanoraiGyakorlati], 0)
|
||||
+ ISNULL(kp.kesesIgazoltElmeletiOraban,0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
||||
+ ISNULL(mu.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(mu.[hianyzasIgazolatlanTanoraiGyakorlati], 0)
|
||||
+ ISNULL(kp.kesesIgazolatlanElmeletiOraban,0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLTHIANYZAS, 0),0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLATLANHIANYZAS, 0),0)
|
||||
AS Osszes
|
||||
FROM #Tanulo t
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tanuloId
|
||||
,tanulocsoportid
|
||||
,[hianyzasIgazoltTanoraiElmeleti]
|
||||
,[hianyzasIgazoltTanoraiGyakorlati]
|
||||
,[hianyzasIgazolatlanTanoraiElmeleti]
|
||||
,[hianyzasIgazolatlanTanoraiGyakorlati]
|
||||
FROM (
|
||||
SELECT
|
||||
x.tanuloId, x.tanulocsoportid
|
||||
,'Hianyzas' +
|
||||
CASE isIgazolt WHEN 'T' THEN 'Igazolt' WHEN 'F' THEN 'Igazolatlan' END +
|
||||
CASE isTanorai WHEN 'T' THEN 'Tanorai' WHEN 'F' THEN 'TanoranKivuli' END +
|
||||
CASE isGyakorlati WHEN 'T' THEN 'Gyakorlati' WHEN 'F' THEN 'Elmeleti' END
|
||||
AS piv
|
||||
,cnt
|
||||
FROM (
|
||||
SELECT
|
||||
mu.C_ORATANULOIID AS tanuloId
|
||||
,tanulok.TanuloCsoportId
|
||||
,mu.C_TIPUS mulasztasTipus
|
||||
,mu.C_IGAZOLT isIgazolt
|
||||
,IIF((@isMuveszetOktatasi = 0 AND cs.ID IS NULL), 'T', IIF((@isMuveszetOktatasi = 1 AND (csmuv.ID IS NOT NULL OR tcs.C_OSZTALYCSOPORTID = @osztalyid)),'T','F')) AS isTanorai
|
||||
,IIF(t.C_GYAKORLATI='T', 'T', 'F') as isGyakorlati
|
||||
,COUNT(1) AS cnt
|
||||
FROM T_TANULOMULASZTAS_OSSZES mu
|
||||
INNER JOIN #Tanulo tanulok ON tanulok.TanuloId = mu.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = mu.C_TANITASIORAKID
|
||||
INNER JOIN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyID, @tanevId, 0, DEFAULT)) kocs ON kocs.ID = tn.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES t on t.id=tn.C_TANTARGYID
|
||||
LEFT JOIN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN T_CSOPORTTIPUS_OSSZES cst On cst.ID = cs.C_TIPUSA AND cst.C_ALTANEVID = cs.C_ALTANEVID AND cst.C_ISTANORAICELU = 'F'
|
||||
WHERE cs.C_ALTANEVID = @tanevId
|
||||
) cs ON tn.C_OSZTALYCSOPORTID = cs.ID
|
||||
LEFT JOIN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN #SzurtCsoportTipus cst On cst.CsoportTipusId = cs.C_TIPUSA
|
||||
WHERE cs.C_ALTANEVID = @tanevId
|
||||
) csmuv ON tn.C_OSZTALYCSOPORTID = csmuv.ID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID AND tanulok.TanuloId = tcs.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tn.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @kategoriaId AND ocs.Torolt = 'F'
|
||||
WHERE tn.C_DATUM BETWEEN @IdoszakKezdete AND @IdoszakVege
|
||||
AND mu.C_TANEVID = @tanevId
|
||||
AND mu.Torolt ='F'
|
||||
AND tn.Torolt ='F'
|
||||
AND mu.C_IGAZOLT IS NOT NULL
|
||||
AND tn.C_TANEVID = @tanevId
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
AND tcs.C_BELEPESDATUM <= tn.C_DATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tn.C_DATUM)
|
||||
AND tanulok.BelepesDatum <= tn.C_DATUM
|
||||
AND (tanulok.KilepesDatum IS NULL OR tanulok.KilepesDatum >= tn.C_DATUM)
|
||||
AND mu.C_TIPUS = 1500
|
||||
AND (
|
||||
(@isMuveszetOktatasi = 0)
|
||||
OR
|
||||
(@isMuveszetOktatasi = 1 AND (csmuv.ID IS NOT NULL OR tcs.C_OSZTALYCSOPORTID = @osztalyid))
|
||||
)
|
||||
GROUP BY mu.C_ORATANULOIID, tanulok.TanuloCsoportId, mu.C_TIPUS, mu.C_IGAZOLT, IIF((@isMuveszetOktatasi = 0 AND cs.ID IS NULL), 'T', IIF((@isMuveszetOktatasi = 1 AND (csmuv.ID IS NOT NULL OR tcs.C_OSZTALYCSOPORTID = @osztalyid)),'T','F')), t.C_GYAKORLATI
|
||||
) x
|
||||
) p
|
||||
PIVOT (
|
||||
MAX(cnt)
|
||||
FOR piv IN (
|
||||
[hianyzasIgazoltTanoraiElmeleti], [hianyzasIgazoltTanoraiGyakorlati],
|
||||
[hianyzasIgazolatlanTanoraiElmeleti], [hianyzasIgazolatlanTanoraiGyakorlati]
|
||||
)
|
||||
) AS pvt
|
||||
) mu on mu.tanuloId = t.tanuloId and mu.TanuloCsoportId = t.TanuloCsoportId
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tanuloId
|
||||
,tanulocsoportid
|
||||
,SUM(kesesIgazolandoTanoraiPluszOra) AS kesesIgazolandoTanoraiPluszOra
|
||||
,SUM(kesesIgazoltTanoraiPluszOra) AS kesesIgazoltTanoraiPluszOra
|
||||
,SUM(kesesIgazolatlanTanoraiPluszOra) AS kesesIgazolatlanTanoraiPluszOra
|
||||
,SUM(kesesIgazoltElmeletiOraban) AS kesesIgazoltElmeletiOraban
|
||||
,SUM(kesesIgazolatlanElmeletiOraban) AS kesesIgazolatlanElmeletiOraban
|
||||
,SUM(kesesIgazoltGyakorlatiOraban) AS kesesIgazoltGyakorlatiOraban
|
||||
,SUM(kesesIgazolatlanGyakorlatiOraban) AS kesesIgazolatlanGyakorlatiOraban
|
||||
FROM (
|
||||
SELECT
|
||||
x.tanuloId
|
||||
,x.tanulocsoportid
|
||||
,'Keses' +
|
||||
CASE
|
||||
WHEN isIgazolt IS NULL THEN 'Igazolando'
|
||||
WHEN isIgazolt = 'T' THEN 'Igazolt'
|
||||
WHEN isIgazolt = 'F' THEN 'Igazolatlan'
|
||||
END + 'TanoraiPluszOra' AS piv
|
||||
,kesesOraban
|
||||
,kesesIgazoltElmeletiOraban
|
||||
,kesesIgazolatlanElmeletiOraban
|
||||
,kesesIgazoltGyakorlatiOraban
|
||||
,kesesIgazolatlanGyakorlatiOraban
|
||||
FROM (
|
||||
SELECT
|
||||
xx.tanuloId
|
||||
,xx.tanulocsoportid
|
||||
,xx.isIgazolt
|
||||
,SUM(xx.keses / (CASE WHEN isGyakorlati = 'F' THEN @elmeletiOraPercben ELSE @gyakorlatiOraPercben END)) AS kesesOraban
|
||||
,SUM(CASE WHEN isGyakorlati = 'F' AND isIgazolt='T' THEN xx.keses / @elmeletiOraPercben ELSE 0 END) AS kesesIgazoltElmeletiOraban
|
||||
,SUM(CASE WHEN isGyakorlati = 'F' AND isIgazolt='F' THEN xx.keses / @elmeletiOraPercben ELSE 0 END) AS kesesIgazolatlanElmeletiOraban
|
||||
,SUM(CASE WHEN isGyakorlati = 'T' AND isIgazolt='T' THEN xx.keses / @gyakorlatiOraPercben ELSE 0 END) AS kesesIgazoltGyakorlatiOraban
|
||||
,SUM(CASE WHEN isGyakorlati = 'T' AND isIgazolt='F' THEN xx.keses / @gyakorlatiOraPercben ELSE 0 END) AS kesesIgazolatlanGyakorlatiOraban
|
||||
FROM (
|
||||
SELECT
|
||||
mu.C_ORATANULOIID AS tanuloId
|
||||
,tanulok.tanulocsoportid
|
||||
,mu.C_IGAZOLT isIgazolt
|
||||
,t.C_GYAKORLATI AS isGyakorlati
|
||||
,SUM(mu.C_KESESPERCBEN) AS keses
|
||||
FROM T_TANULOMULASZTAS_OSSZES mu
|
||||
INNER JOIN #Tanulo tanulok ON tanulok.TanuloId = mu.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = mu.C_TANITASIORAKID
|
||||
INNER JOIN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyID, @tanevId, 0, DEFAULT)) kocs ON kocs.ID = tn.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = tn.C_TANTARGYID
|
||||
LEFT JOIN (
|
||||
SELECT cs.ID, cs.C_TIPUSA
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN T_CSOPORTTIPUS_OSSZES cst On cst.ID = cs.C_TIPUSA AND cst.C_ALTANEVID = cs.C_ALTANEVID AND cst.C_ISTANORAICELU = 'F'
|
||||
) cs ON tn.C_OSZTALYCSOPORTID = cs.ID
|
||||
LEFT JOIN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN #SzurtCsoportTipus cst On cst.CsoportTipusId = cs.C_TIPUSA
|
||||
) csmuv ON tn.C_OSZTALYCSOPORTID = csmuv.ID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID and tanulok.TanuloId = tcs.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tn.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @kategoriaId AND ocs.Torolt = 'F'
|
||||
WHERE mu.C_TANEVID = @tanevId
|
||||
AND (
|
||||
(@isMuveszetOktatasi = 0 AND (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT CsoportTipusId FROM #SzurtCsoportTipus)))
|
||||
OR
|
||||
(@isMuveszetOktatasi = 1 AND (csmuv.ID IS NOT NULL OR tcs.C_OSZTALYCSOPORTID = @osztalyid))
|
||||
)
|
||||
AND mu.C_TIPUS = 1499
|
||||
AND mu.TOROLT = 'F'
|
||||
AND tn.Torolt ='F'
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
AND tcs.C_BELEPESDATUM <= tn.C_DATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tn.C_DATUM)
|
||||
AND tanulok.BelepesDatum <= tn.C_DATUM
|
||||
AND (tanulok.KilepesDatum IS NULL OR tanulok.KilepesDatum >= tn.C_DATUM)
|
||||
AND tn.C_DATUM BETWEEN @IdoszakKezdete AND @IdoszakVege
|
||||
GROUP BY mu.C_ORATANULOIID, tanulok.TanuloCsoportId, mu.C_IGAZOLT, t.C_GYAKORLATI
|
||||
) xx
|
||||
GROUP BY tanuloId, TanuloCsoportId, xx.isIgazolt
|
||||
) x
|
||||
) p
|
||||
PIVOT (
|
||||
MAX(kesesOraban)
|
||||
FOR piv IN (
|
||||
kesesIgazolandoTanoraiPluszOra, kesesIgazoltTanoraiPluszOra, kesesIgazolatlanTanoraiPluszOra
|
||||
)
|
||||
) AS pvt
|
||||
GROUP BY tanuloId, TanuloCsoportId
|
||||
) kp ON t.tanuloId = kp.tanuloId AND kp.TanuloCsoportId = t.TanuloCsoportId
|
||||
LEFT join T_TANULOTANUGYIADATOK ta on t.TanuloCsoportId = ta.C_TANULOCSOPORTID
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,380 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetDokumentumMulasztasokIdoszakonkent
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetDokumentumMulasztasokIdoszakonkent
|
||||
@tanevId int
|
||||
,@osztalyCsoportId int
|
||||
,@iskolaErdekuSzamit int
|
||||
,@isReszletesMulasztasok int
|
||||
,@elmeletiOraPercben int = 45
|
||||
,@gyakorlatiOraPercben int = 45
|
||||
,@igazolasTipusTypeId int = 47
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @MulasztasElmeletGyakorlat nvarchar(max)
|
||||
SELECT @MulasztasElmeletGyakorlat = ISNULL(@MulasztasElmeletGyakorlat + ', ', '') + '[' + ElmeletGyakorlat + ']'
|
||||
FROM (
|
||||
SELECT CAST(Honap AS VARCHAR(3)) + Tipus ElmeletGyakorlat
|
||||
FROM (VALUES (9), (10), (11), (12), (1), (2), (3), (4), (5), (6), (7), (8)) HonapTmp(Honap)
|
||||
CROSS JOIN (VALUES ('E'), ('G')) TantargyTipus(Tipus)
|
||||
)temp
|
||||
|
||||
SELECT 'T' IgazoltE, ID TanuloId, TanuloCsoportId, Tipus INTO #Mulasztasok FROM #studentsWithTanuloCsoport
|
||||
CROSS JOIN (SELECT DISTINCT Id FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TANEVID = @tanevId AND C_DICTIONARYTYPEID = @IgazolasTipusTypeId AND (@iskolaErdekuSzamit = 1 OR Id <> 1533) ) Tipus (Tipus)
|
||||
|
||||
--hiányzás
|
||||
DECLARE @FelevVege date = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
CREATE TABLE #MulasztasokTemp ( TanuloId int,TanuloCsoportId int,Tipus nvarchar(max),[9E] int,[9G] int,[10E] int,[10G] int,[11E] int,[11G] int,[12E] int,[12G] int,
|
||||
[1E] int,[1G] int,[2E] int,[2G] int,[3E] int,[3G] int,[4E] int,[4G] int,[5E] int,[5G] int,[6E] int,[6G] int,FelevE int,FelevG int ,OsszesenE int,OsszesenG int,Rendez int)
|
||||
CREATE TABLE #MulasztasVegleges ( TanuloId int,TanuloCsoportId int,Tipus nvarchar(max),[9E] int,[9G] int,[10E] int,[10G] int,[11E] int,[11G] int,[12E] int,[12G] int,
|
||||
[1E] int,[1G] int,[2E] int,[2G] int,[3E] int,[3G] int,[4E] int,[4G] int,[5E] int,[5G] int,[6E] int,[6G] int,FelevE int,FelevG int ,OsszesenE int,OsszesenG int,Rendez int)
|
||||
|
||||
--igazolt mulasztás (start) tempbe mert beleszámoljuk az összegezettbe
|
||||
INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'igazolt'
|
||||
,ni.[9E], ni.[9G]
|
||||
,ni.[10E],ni.[10G]
|
||||
,ni.[11E],ni.[11G]
|
||||
,ni.[12E],ni.[12G]
|
||||
,ni.[1E],ni.[1G]
|
||||
,ni.[2E],ni.[2G]
|
||||
,ni.[3E],ni.[3G]
|
||||
,ni.[4E],ni.[4G]
|
||||
,ni.[5E],ni.[5G]
|
||||
,ni.[6E],ni.[6G]
|
||||
,FelevE
|
||||
,FelevG
|
||||
,[9E]+[10E]+[11E]+[12E]+[1E]+[2E]+[3E]+[4E]+[5E]+[6E]
|
||||
,[9G]+[10G]+[11G]+[12G]+[1G]+[2G]+[3G]+[4G]+[5G]+[6G]
|
||||
,2 Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN (SELECT * FROM (SELECT Id, ElmeletGyakorlat, TanuloId, TanuloCsoportId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (COUNT(ID) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv WHERE IgazoltE = 'T' AND Tipus = 1500 )ni ON ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'T' AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId) felevG ON felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'T' AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE ON felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId
|
||||
--Igazolt mulasztás (end)
|
||||
|
||||
--Igazolatlan mulasztás (start) tempbe mert beleszámoljuk az összegezettbe
|
||||
INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'igazolatlan'
|
||||
,ni.[9E], ni.[9G]
|
||||
,ni.[10E],ni.[10G]
|
||||
,ni.[11E],ni.[11G]
|
||||
,ni.[12E],ni.[12G]
|
||||
,ni.[1E],ni.[1G]
|
||||
,ni.[2E],ni.[2G]
|
||||
,ni.[3E],ni.[3G]
|
||||
,ni.[4E],ni.[4G]
|
||||
,ni.[5E],ni.[5G]
|
||||
,ni.[6E],ni.[6G]
|
||||
,FelevE
|
||||
,FelevG
|
||||
,[9E]+[10E]+[11E]+[12E]+[1E]+[2E]+[3E]+[4E]+[5E]+[6E] OsszesenE
|
||||
,[9G]+[10G]+[11G]+[12G]+[1G]+[2G]+[3G]+[4G]+[5G]+[6G] OsszesenG
|
||||
,2 Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN (SELECT * FROM (SELECT Id, ElmeletGyakorlat, TanuloId, TanuloCsoportId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (COUNT(ID) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv WHERE IgazoltE = 'F' AND Tipus = 1500 )ni on ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'F' AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId) felevG ON felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'F' AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE ON felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId
|
||||
--Igazolatlan mulasztás (end)
|
||||
|
||||
--Különbözo igazolás típusok (start)
|
||||
IF @isReszletesMulasztasok = 1
|
||||
BEGIN
|
||||
INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
m.TanuloId
|
||||
,m.TanuloCsoportId
|
||||
,'-' + IgazolasTipus.C_NAME
|
||||
,ni.[9E], ni.[9G]
|
||||
,ni.[10E],ni.[10G]
|
||||
,ni.[11E],ni.[11G]
|
||||
,ni.[12E],ni.[12G]
|
||||
,ni.[1E],ni.[1G]
|
||||
,ni.[2E],ni.[2G]
|
||||
,ni.[3E],ni.[3G]
|
||||
,ni.[4E],ni.[4G]
|
||||
,ni.[5E],ni.[5G]
|
||||
,ni.[6E],ni.[6G]
|
||||
,FelevE
|
||||
,FelevG
|
||||
,[9E]+[10E]+[11E]+[12E]+[1E]+[2E]+[3E]+[4E]+[5E]+[6E] OsszesenE
|
||||
,[9G]+[10G]+[11G]+[12G]+[1G]+[2G]+[3G]+[4G]+[5G]+[6G] OsszesenG
|
||||
,IgazolasTipus.Id
|
||||
FROM #Mulasztasok m
|
||||
LEFT JOIN (SELECT * FROM (SELECT TanuloId, TanuloCsoportId, ElmeletGyakorlat, Id, IgazolasTipus, IgazoltE FROM #mulasztasTmp WHERE Tipus = 1500) a PIVOT (COUNT(ID) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv
|
||||
)ni ON ni.TanuloId = m.TanuloId AND ni.IgazolasTipus = m.Tipus AND m.TanuloCsoportId = ni.TanuloCsoportId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES IgazolasTipus ON IgazolasTipus.id = m.Tipus AND IgazolasTipus.TOROLT = 'F' AND IgazolasTipus.C_TANEVID = @tanevId
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevE, TanuloId Tanulo, TanuloCsoportId, IgazolasTipus FROM #mulasztasTmp WHERE Datum <= @FelevVege AND Tipus = 1500 AND isGyakorlat = 'F' GROUP BY IgazoltE, TanuloId, TanuloCsoportId, IgazolasTipus
|
||||
)felevE ON felevE.tanulo = m.TanuloId AND felevE.IgazolasTipus = m.Tipus AND felevE.TanuloCsoportId = m.TanuloCsoportId
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevG, TanuloId Tanulo, TanuloCsoportId, IgazolasTipus FROM #mulasztasTmp WHERE Datum <= @FelevVege AND Tipus = 1500 AND isGyakorlat = 'T' GROUP BY IgazoltE, TanuloId, TanuloCsoportId, IgazolasTipus
|
||||
)felevG ON felevG.tanulo = m.TanuloId AND felevG.IgazolasTipus = m.Tipus AND felevG.TanuloCsoportId = m.TanuloCsoportId
|
||||
END
|
||||
--Különbözo igazolás típusok (end)
|
||||
|
||||
--Összesített késés (p) (start)
|
||||
INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'késés (p)'
|
||||
,ni.[9E], ni.[9G]
|
||||
,ni.[10E],ni.[10G]
|
||||
,ni.[11E],ni.[11G]
|
||||
,ni.[12E],ni.[12G]
|
||||
,ni.[1E],ni.[1G]
|
||||
,ni.[2E],ni.[2G]
|
||||
,ni.[3E],ni.[3G]
|
||||
,ni.[4E],ni.[4G]
|
||||
,ni.[5E],ni.[5G]
|
||||
,ni.[6E],ni.[6G]
|
||||
,FelevE
|
||||
,FelevG
|
||||
,ISNULL([9E],0)+ISNULL([10E],0)+ISNULL([11E],0)+ISNULL([12E],0)+ISNULL([1E],0)+ISNULL([2E],0)+ISNULL([3E],0)+ISNULL([4E],0)+ISNULL([5E],0)+ISNULL([6E],0) OsszesenE
|
||||
,ISNULL([9G],0)+ISNULL([10G],0)+ISNULL([11G],0)+ISNULL([12G],0)+ISNULL([1G],0)+ISNULL([2G],0)+ISNULL([3G],0)+ISNULL([4G],0)+ISNULL([5G],0)+ISNULL([6G],0) OsszesenG
|
||||
,50000 Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN (SELECT * FROM (SELECT KesesPercben, ElmeletGyakorlat, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1499) a PIVOT (SUM(KesesPercben) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv)ni on ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE on felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId) felevG on felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId
|
||||
--Összesített késés (p) (end)
|
||||
|
||||
--Igazolt késés (p) (start)
|
||||
INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'* igazolt (p)'
|
||||
,ni.[9E], ni.[9G]
|
||||
,ni.[10E],ni.[10G]
|
||||
,ni.[11E],ni.[11G]
|
||||
,ni.[12E],ni.[12G]
|
||||
,ni.[1E],ni.[1G]
|
||||
,ni.[2E],ni.[2G]
|
||||
,ni.[3E],ni.[3G]
|
||||
,ni.[4E],ni.[4G]
|
||||
,ni.[5E],ni.[5G]
|
||||
,ni.[6E],ni.[6G]
|
||||
,FelevE
|
||||
,FelevG
|
||||
,ISNULL([9E],0)+ISNULL([10E],0)+ISNULL([11E],0)+ISNULL([12E],0)+ISNULL([1E],0)+ISNULL([2E],0)+ISNULL([3E],0)+ISNULL([4E],0)+ISNULL([5E],0)+ISNULL([6E],0) AS OsszesenE
|
||||
,ISNULL([9G],0)+ISNULL([10G],0)+ISNULL([11G],0)+ISNULL([12G],0)+ISNULL([1G],0)+ISNULL([2G],0)+ISNULL([3G],0)+ISNULL([4G],0)+ISNULL([5G],0)+ISNULL([6G],0) AS OsszesenG
|
||||
,50001 AS Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN (SELECT * FROM (SELECT KesesPercben, ElmeletGyakorlat, TanuloId, TanuloCsoportId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (SUM(KesesPercben) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv WHERE IgazoltE = 'T' AND Tipus = 1499)ni on ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE IgazoltE = 'T' AND Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE ON felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE IgazoltE = 'T' AND Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId ) felevG ON felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId
|
||||
--Igazolt késés (p) (end)
|
||||
|
||||
--Igazolatlan késés (p) (start)
|
||||
INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'* igazolatlan (p)'
|
||||
,ni.[9E], ni.[9G]
|
||||
,ni.[10E],ni.[10G]
|
||||
,ni.[11E],ni.[11G]
|
||||
,ni.[12E],ni.[12G]
|
||||
,ni.[1E],ni.[1G]
|
||||
,ni.[2E],ni.[2G]
|
||||
,ni.[3E],ni.[3G]
|
||||
,ni.[4E],ni.[4G]
|
||||
,ni.[5E],ni.[5G]
|
||||
,ni.[6E],ni.[6G]
|
||||
,FelevE
|
||||
,FelevG
|
||||
,ISNULL([9E],0)+ISNULL([10E],0)+ISNULL([11E],0)+ISNULL([12E],0)+ISNULL([1E],0)+ISNULL([2E],0)+ISNULL([3E],0)+ISNULL([4E],0)+ISNULL([5E],0)+ISNULL([6E],0) AS OsszesenE
|
||||
,ISNULL([9G],0)+ISNULL([10G],0)+ISNULL([11G],0)+ISNULL([12G],0)+ISNULL([1G],0)+ISNULL([2G],0)+ISNULL([3G],0)+ISNULL([4G],0)+ISNULL([5G],0)+ISNULL([6G],0) AS OsszesenG
|
||||
,50002 Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN (SELECT * FROM (SELECT KesesPercben, ElmeletGyakorlat, TanuloId, TanuloCsoportId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (SUM(KesesPercben) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv WHERE IgazoltE = 'F' AND Tipus = 1499)ni on ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE IgazoltE = 'F' AND Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE ON felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE IgazoltE = 'F' AND Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId) felevG ON felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId
|
||||
--Igazolatlan késés (p) (end)
|
||||
|
||||
--Mindkét fajta késés (ó) (start) tempbe mert beleszámoljuk az összegezettbe
|
||||
INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
TanuloId
|
||||
,TanuloCsoportId
|
||||
,REPLACE(Tipus,'(p)','(ó)')
|
||||
,CAST(ISNULL([9E], 0) / @elmeletiOraPercben AS int)
|
||||
,CAST(ISNULL([9G], 0) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([10E], 0) + (ISNULL([9E], 0) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([10G], 0) + (ISNULL([9G], 0) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([11E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([11G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([12E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([12G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([1E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0) + ISNULL([12E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([1G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0) + ISNULL([12G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([2E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0) + ISNULL([12E], 0) + ISNULL([1E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([2G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0) + ISNULL([12G], 0) + ISNULL([1G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([3E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0) + ISNULL([12E], 0) + ISNULL([1E], 0) + ISNULL([2E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([3G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0) + ISNULL([12G], 0) + ISNULL([1G], 0) + ISNULL([2G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([4E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0) + ISNULL([12E], 0) + ISNULL([1E], 0) + ISNULL([2E], 0) + ISNULL([3E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([4G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0) + ISNULL([12G], 0) + ISNULL([1G], 0) + ISNULL([2G], 0) + ISNULL([3G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([5E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0) + ISNULL([12E], 0) + ISNULL([1E], 0) + ISNULL([2E], 0) + ISNULL([3E], 0) + ISNULL([4E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([5G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0) + ISNULL([12G], 0) + ISNULL([1G], 0) + ISNULL([2G], 0) + ISNULL([3G], 0) + ISNULL([4G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([6E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0) + ISNULL([12E], 0) + ISNULL([1E], 0) + ISNULL([2E], 0) + ISNULL([3E], 0) + ISNULL([4E], 0)) % @elmeletiOraPercben) + ISNULL([5E], 0)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([6G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0) + ISNULL([12G], 0) + ISNULL([1G], 0) + ISNULL([2G], 0) + ISNULL([3G], 0) + ISNULL([4G], 0)) % @gyakorlatiOraPercben) + ISNULL([5G], 0)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST(ISNULL(FelevE,0)/@elmeletiOraPercben AS int)
|
||||
,CAST(ISNULL(FelevG,0)/@gyakorlatiOraPercben AS int)
|
||||
,CAST(ISNULL(OsszesenE,0)/@elmeletiOraPercben AS int)
|
||||
,CAST(ISNULL(OsszesenG,0)/@gyakorlatiOraPercben AS int)
|
||||
,Rendez+3
|
||||
FROM #MulasztasVegleges
|
||||
WHERE Tipus LIKE '%*%(p)%'
|
||||
--Mindkét fajta késés (ó) (end)
|
||||
|
||||
--Igazolt hozott (start) tempbe mert beleszámoljuk az összegezettbe
|
||||
INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'hozott igazolt mulasztás'
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,IIF(@FelevVege > CAST(replace(s.BelepesDatum,'.','') AS DATE), ISNULL(tta.C_HOZOTTIGAZOLTHIANYZAS,0),0)
|
||||
,0
|
||||
,ISNULL(tta.C_HOZOTTIGAZOLTHIANYZAS,0)
|
||||
,0
|
||||
,50005 Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = s.TanuloCsoportId
|
||||
--Igazolt hozott (end)
|
||||
|
||||
--Igazolatlan hozott (start) tempbe mert beleszámoljuk az összegezettbe
|
||||
INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'hozott igazolatlan mulasztás'
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,IIF(@FelevVege > CAST(replace(s.BelepesDatum,'.','') AS DATE), ISNULL(tta.C_HOZOTTIGAZOLATLANHIANYZAS,0),0)
|
||||
,0
|
||||
,ISNULL(tta.C_HOZOTTIGAZOLATLANHIANYZAS,0)
|
||||
,0
|
||||
,50006 Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = s.TanuloCsoportId
|
||||
--Igazolatlan hozott (end)
|
||||
|
||||
-- beszurni a veglegestablaba a temp osszegezve
|
||||
--Összesített mulasztás (start)
|
||||
INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
mb.TanuloId
|
||||
,mb.TanuloCsoportId
|
||||
,CAST('mulasztás' AS NVARCHAR(MAX)) AS Tipus
|
||||
,SUM(ISNULL(mb.[9E],0))
|
||||
,SUM(ISNULL(mb.[9G],0))
|
||||
,SUM(ISNULL(mb.[10E],0))
|
||||
,SUM(ISNULL(mb.[10G],0))
|
||||
,SUM(ISNULL(mb.[11E],0))
|
||||
,SUM(ISNULL(mb.[11G],0))
|
||||
,SUM(ISNULL(mb.[12E],0))
|
||||
,SUM(ISNULL(mb.[12G],0))
|
||||
,SUM(ISNULL(mb.[1E],0))
|
||||
,SUM(ISNULL(mb.[1G],0))
|
||||
,SUM(ISNULL(mb.[2E],0))
|
||||
,SUM(ISNULL(mb.[2G],0))
|
||||
,SUM(ISNULL(mb.[3E],0))
|
||||
,SUM(ISNULL(mb.[3G],0))
|
||||
,SUM(ISNULL(mb.[4E],0))
|
||||
,SUM(ISNULL(mb.[4G],0))
|
||||
,SUM(ISNULL(mb.[5E],0))
|
||||
,SUM(ISNULL(mb.[5G],0))
|
||||
,SUM(ISNULL(mb.[6E],0))
|
||||
,SUM(ISNULL(mb.[6G],0))
|
||||
,SUM(ISNULL(mb.FelevE,0))
|
||||
,SUM(ISNULL(mb.FelevG,0))
|
||||
,SUM(ISNULL(mb.OsszesenE,0))
|
||||
,SUM(ISNULL(mb.OsszesenG,0))
|
||||
,1 AS Rendez
|
||||
FROM #MulasztasokTemp mb
|
||||
GROUP BY mb.TanuloId,mb.TanuloCsoportId
|
||||
--Összesített mulasztás (end)
|
||||
|
||||
-- beszurni a veglegestablaba a temp-bol
|
||||
INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez
|
||||
FROM #MulasztasokTemp
|
||||
|
||||
SELECT
|
||||
Tanuloid
|
||||
,TanuloCsoportId
|
||||
,Tipus
|
||||
,ISNULL([9E], 0) AS [9E], ISNULL([9G], 0) AS [9G]
|
||||
,ISNULL([10E], 0) AS [10E], ISNULL([10G], 0) AS [10G]
|
||||
,ISNULL([11E], 0) AS [11E], ISNULL([11G], 0) AS [11G]
|
||||
,ISNULL([12E], 0) AS [12E], ISNULL([12G], 0) AS [12G]
|
||||
,ISNULL([1E], 0) AS [1E], ISNULL([1G], 0) AS [1G]
|
||||
,ISNULL([2E], 0) AS [2E], ISNULL([2G], 0) AS [2G]
|
||||
,ISNULL([3E], 0) AS [3E], ISNULL([3G], 0) AS [3G]
|
||||
,ISNULL([4E], 0) AS [4E], ISNULL([4G], 0) AS [4G]
|
||||
,ISNULL([5E], 0) AS [5E], ISNULL([5G], 0) AS [5G]
|
||||
,ISNULL([6E], 0) AS [6E], ISNULL([6G], 0) AS [6G]
|
||||
,ISNULL(FelevE, 0) AS FelevE
|
||||
,ISNULL(FelevG, 0) AS FelevG
|
||||
,ISNULL(OsszesenE, 0) AS OsszesenE
|
||||
,ISNULL(OsszesenG, 0) AS OsszesenG
|
||||
,ISNULL([9E], 0) + ISNULL([9G], 0) [9Ossz]
|
||||
,ISNULL([10E], 0) + ISNULL([10G], 0) AS [10Ossz]
|
||||
,ISNULL([11E], 0) + ISNULL([11G], 0) AS [11Ossz]
|
||||
,ISNULL([12E], 0) + ISNULL([12G], 0) AS [12Ossz]
|
||||
,ISNULL([1E], 0) + ISNULL([1G], 0) AS [1Ossz]
|
||||
,ISNULL([2E], 0) + ISNULL([2G], 0) AS [2Ossz]
|
||||
,ISNULL([3E], 0) + ISNULL([3G], 0) AS [3Ossz]
|
||||
,ISNULL([4E], 0) + ISNULL([4G], 0) AS [4Ossz]
|
||||
,ISNULL([5E], 0) + ISNULL([5G], 0) AS [5Ossz]
|
||||
,ISNULL([6E], 0) + ISNULL([6G], 0) AS [6Ossz]
|
||||
,ISNULL(FelevE, 0) + ISNULL(FelevG, 0) AS FelevOssz
|
||||
,ISNULL(OsszesenE, 0) + ISNULL(OsszesenG, 0) AS OsszesenOssz
|
||||
FROM #MulasztasVegleges
|
||||
ORDER BY Rendez
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,90 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.sp_GetDokumentumTanitasiNapokSorszama
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.sp_GetDokumentumTanitasiNapokSorszama
|
||||
@tanevId INT,
|
||||
@osztalyId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
/* Tanítás nélküli hétköznapok */
|
||||
DECLARE @TanitasNelkuliNapokTanevRendjeTable TABLE (Datum DATE)
|
||||
INSERT INTO @TanitasNelkuliNapokTanevRendjeTable
|
||||
SELECT
|
||||
TanevRendje.C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES TanevRendje
|
||||
INNER JOIN T_NAPTARINAP_OSSZES NaptariNap ON NaptariNap.C_NAPDATUMA = TanevRendje.C_DATUM AND NaptariNap.C_TANEVID = @tanevId AND NaptariNap.TOROLT = 'F'
|
||||
INNER JOIN T_NAPTIPUS_OSSZES Naptipus ON Naptipus.ID = TanevRendje.C_NAPTIPUSA AND Naptipus.TOROLT = 'F' AND Naptipus.C_ALTANEVID = @tanevId
|
||||
WHERE
|
||||
TanevRendje.C_TANEVID = @tanevId
|
||||
AND TanevRendje.TOROLT = 'F'
|
||||
AND TanevRendje.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
||||
AND Naptipus.C_ISSORSZAMOZANDO = 'F'
|
||||
AND (NaptariNap.C_ALAPHETNAPJA IS NULL OR NaptariNap.C_ALAPHETNAPJA BETWEEN 1408 AND 1412)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
TanevRendje.C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES TanevRendje
|
||||
INNER JOIN T_NAPTARINAP_OSSZES NaptariNap ON NaptariNap.C_NAPDATUMA = TanevRendje.C_DATUM AND NaptariNap.C_TANEVID = @tanevId AND NaptariNap.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE OsztalyCsoportTanevRendje ON OsztalyCsoportTanevRendje.C_TANEVRENDJEID = TanevRendje.ID
|
||||
INNER JOIN T_NAPTIPUS_OSSZES Naptipus ON Naptipus.ID = TanevRendje.C_NAPTIPUSA AND Naptipus.TOROLT = 'F' AND Naptipus.C_ALTANEVID = @tanevId
|
||||
WHERE
|
||||
TanevRendje.C_TANEVID = @tanevId
|
||||
AND TanevRendje.TOROLT = 'F'
|
||||
AND TanevRendje.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
|
||||
AND Naptipus.C_ISSORSZAMOZANDO = 'F'
|
||||
AND OsztalyCsoportTanevRendje.C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND (NaptariNap.C_ALAPHETNAPJA IS NULL OR NaptariNap.C_ALAPHETNAPJA BETWEEN 1408 AND 1412)
|
||||
|
||||
/* Hétvégi tanítási napok */
|
||||
DECLARE @HetvegiTanitasiNapokTanevRendjeTable TABLE (Datum DATE)
|
||||
INSERT INTO @HetvegiTanitasiNapokTanevRendjeTable
|
||||
SELECT
|
||||
TanevRendje.C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES TanevRendje
|
||||
INNER JOIN T_NAPTARINAP_OSSZES NaptariNap ON NaptariNap.C_NAPDATUMA = TanevRendje.C_DATUM AND NaptariNap.C_TANEVID = @tanevId AND NaptariNap.TOROLT = 'F'
|
||||
INNER JOIN T_NAPTIPUS_OSSZES Naptipus ON Naptipus.ID = TanevRendje.C_NAPTIPUSA AND Naptipus.TOROLT = 'F' AND Naptipus.C_ALTANEVID = @tanevId
|
||||
WHERE
|
||||
TanevRendje.c_tanevid = @tanevId
|
||||
AND TanevRendje.TOROLT = 'F'
|
||||
AND TanevRendje.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
||||
AND Naptipus.C_ISSORSZAMOZANDO = 'T'
|
||||
AND (NaptariNap.C_ALAPHETNAPJA IS NULL OR NaptariNap.C_ALAPHETNAPJA IN (1413, 1414))
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
TanevRendje.C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES TanevRendje
|
||||
INNER JOIN T_NAPTARINAP_OSSZES NaptariNap ON NaptariNap.C_NAPDATUMA = TanevRendje.C_DATUM AND NaptariNap.C_TANEVID = @tanevId AND NaptariNap.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE OsztalyCsoportTanevRendje ON OsztalyCsoportTanevRendje.C_TANEVRENDJEID = TanevRendje.ID
|
||||
INNER JOIN T_NAPTIPUS_OSSZES Naptipus ON Naptipus.ID = TanevRendje.C_NAPTIPUSA AND Naptipus.TOROLT = 'F' AND Naptipus.C_ALTANEVID = @tanevId
|
||||
WHERE
|
||||
TanevRendje.C_TANEVID = @tanevId
|
||||
AND TanevRendje.TOROLT = 'F'
|
||||
AND TanevRendje.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
|
||||
AND Naptipus.C_ISSORSZAMOZANDO = 'T'
|
||||
AND OsztalyCsoportTanevRendje.C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND (NaptariNap.C_ALAPHETNAPJA IS NULL OR NaptariNap.C_ALAPHETNAPJA IN (1413, 1414))
|
||||
|
||||
/* Result */
|
||||
SELECT
|
||||
C_NAPDATUMA
|
||||
FROM T_NAPTARINAP_OSSZES NaptariNap
|
||||
WHERE
|
||||
NaptariNap.TOROLT = 'F'
|
||||
AND C_TANEVID = @tanevId
|
||||
AND C_NAPDATUMA NOT IN (SELECT Datum FROM @TanitasNelkuliNapokTanevRendjeTable)
|
||||
AND C_ALAPHETNAPJA BETWEEN 1408 AND 1412
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
Datum
|
||||
FROM @HetvegiTanitasiNapokTanevRendjeTable
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,36 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetDokumentumTanuloNaploSorszam
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetDokumentumTanuloNaploSorszam
|
||||
@osztalyId int
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @students TABLE (ID INT, NaploSorszam INT, Rendez INT)
|
||||
|
||||
INSERT INTO @students
|
||||
SELECT DISTINCT
|
||||
C_TANULOID
|
||||
, tanugy.C_NAPLOSORSZAM
|
||||
, IIF(MONTH(MIN(C_BELEPESDATUM)) BETWEEN 9 AND 10, 1, 2)
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_TANULO_OSSZES t on t.id=tcs.C_TANULOID
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tanugy ON tanugy.C_TANULOCSOPORTID = tcs.ID AND tanugy.TOROLT = 'F'
|
||||
WHERE C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND tcs.TOROLT = 'F'
|
||||
GROUP BY C_TANULOID, tanugy.C_NAPLOSORSZAM
|
||||
|
||||
DECLARE @max INT = (SELECT MAX(NaploSorszam) FROM @students)
|
||||
|
||||
SELECT
|
||||
s.ID Tanulo
|
||||
, ISNULL(NaploSorszam, ISNULL(@max, 0) + ROW_NUMBER() OVER (partition by NaploSorszam ORDER BY Rendez, C_NYOMTATASINEV)) Sorszam
|
||||
FROM @students s
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID=s.ID
|
||||
GROUP BY s.Id, NaploSorszam, C_NYOMTATASINEV, Rendez
|
||||
ORDER BY Sorszam
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,257 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetDokumentumTanuloOrarend
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetDokumentumTanuloOrarend
|
||||
@tanevId INT,
|
||||
@tanuloId INT,
|
||||
@aktivTanevId INT,
|
||||
@isEgyebFoglalkozasok BIT,
|
||||
@orarendErvenyessegiDatum DATE,
|
||||
@feladatKategoriaId INT = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @UtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
,@ElsoNap DATE = (SELECT TOP 1 C_KEZDONAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
|
||||
,@VizsgaltNap DATE
|
||||
,@tanuloNev NVARCHAR(MAX) = (SELECT C_NYOMTATASINEV FROM T_FELHASZNALO_OSSZES WHERE ID = @tanuloId)
|
||||
|
||||
IF (@tanevId = @aktivTanevId AND @orarendErvenyessegiDatum <= @UtolsoNap)
|
||||
BEGIN
|
||||
IF (@orarendErvenyessegiDatum <= @ElsoNap)
|
||||
BEGIN
|
||||
SET @VizsgaltNap = (SELECT TOP 1 C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES WHERE C_HETSORSZAMA = 1 AND TOROLT = 'F' AND C_TANEVID = @tanevId)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @VizsgaltNap = CONVERT(DATE, @orarendErvenyessegiDatum)
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @VizsgaltNap = @UtolsoNap
|
||||
END
|
||||
|
||||
SELECT
|
||||
C_ORASZAM OraSzam
|
||||
,CONVERT(VARCHAR(5), C_KEZDETE, 108) Kezdete
|
||||
,CONVERT(VARCHAR(5), C_VEGE, 108) Vege
|
||||
INTO #CsengetesiRendAdatok
|
||||
FROM T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra
|
||||
INNER JOIN T_CSENGETESIREND_OSSZES CsengetesiRend ON CsengetesiRend.Id = CsengetesiRendOra.C_CSENGETESIRENDID
|
||||
WHERE
|
||||
CsengetesiRendOra.C_TANEVID = @tanevId
|
||||
AND CsengetesiRendOra.TOROLT = 'F'
|
||||
AND CsengetesiRend.TOROLT = 'F'
|
||||
AND CsengetesiRend.C_AKTIV = 'T'
|
||||
|
||||
DECLARE @MinCsengetesiRendOraKezdet NVARCHAR(10) = (SELECT MIN(Kezdete) FROM #CsengetesiRendAdatok)
|
||||
DECLARE @MinCsengetesiRendOraszam INT = (SELECT MIN(OraSzam) FROM #CsengetesiRendAdatok)
|
||||
|
||||
SELECT
|
||||
OrarendiOra.C_HETIREND HetirendId
|
||||
,OrarendiOra.C_HETNAPJA HetnapjaId
|
||||
,CsengetesiRendOra.C_ORASZAM OraSzam
|
||||
,CONVERT(VARCHAR(5), OrarendiOra.C_ORAKEZDETE, 108) Kezdete
|
||||
,CONVERT(VARCHAR(5), OrarendiOra.C_ORAVEGE, 108) Vege
|
||||
,ISNULL(Tantargy.C_ROVIDNEV, Tantargy.C_NEV) TantargyNev
|
||||
,Pedagogus.C_NYOMTATASINEV PedagogusNev
|
||||
,Terem.C_NEV TeremNev
|
||||
,ocs.C_NEV OsztalyCsoportNev
|
||||
INTO #OrarendiOrak
|
||||
FROM T_ORARENDIORA_OSSZES OrarendiOra
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON
|
||||
TanuloCsoport.C_TANULOID = @tanuloId
|
||||
AND TanuloCsoport.C_OSZTALYCSOPORTID = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND @VizsgaltNap BETWEEN C_BELEPESDATUM AND ISNULL(C_KILEPESDATUM, @UtolsoNap)
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = OrarendiOra.C_TANTARGYID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES Pedagogus ON Pedagogus.Id = OrarendiOra.C_TANARID
|
||||
INNER JOIN T_TEREM_OSSZES Terem ON Terem.Id = OrarendiOra.C_TEREMID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = OrarendiOra.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @feladatKategoriaId OR @feladatKategoriaId IS NULL)
|
||||
LEFT JOIN T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra ON CsengetesiRendOra.Id = OrarendiOra.C_CSENGETESIRENDORAID
|
||||
LEFT JOIN T_CSOPORT_OSSZES Csoport ON Csoport.Id = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
OrarendiOra.Torolt = 'F'
|
||||
AND @VizsgaltNap BETWEEN OrarendiOra.C_ORAERVENYESSEGKEZDETE AND OrarendiOra.C_ORAERVENYESSEGVEGE
|
||||
AND (@isEgyebFoglalkozasok = 1 OR (Csoport.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)) OR Csoport.C_TIPUSA IS NULL))
|
||||
AND tantargy.C_ISOSZTALYORARENDBENEMLATSZIK = 'F'
|
||||
SELECT
|
||||
OraSzam
|
||||
,HetirendId
|
||||
,HetnapjaId
|
||||
,OsztalyCsoportNev
|
||||
,PedagogusNev
|
||||
,TantargyNev
|
||||
,TeremNev
|
||||
,Kezdete
|
||||
,Vege
|
||||
INTO #OrarendTEMP
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
MAX(CsengetesiRendAdatok.OraSzam) OraSzam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #CsengetesiRendAdatok CsengetesiRendAdatok
|
||||
LEFT JOIN #OrarendiOrak OrarendiOrak ON OrarendiOrak.Kezdete >= CsengetesiRendAdatok.Kezdete
|
||||
WHERE
|
||||
OrarendiOrak.OraSzam IS NULL
|
||||
GROUP BY
|
||||
OrarendiOrak.HetirendId
|
||||
,OrarendiOrak.HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev
|
||||
,OrarendiOrak.TantargyNev
|
||||
,OrarendiOrak.TeremNev
|
||||
,OrarendiOrak.Kezdete
|
||||
,OrarendiOrak.Vege
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
MAX(CsengetesiRendAdatok.OraSzam) OraSzam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #CsengetesiRendAdatok CsengetesiRendAdatok
|
||||
LEFT JOIN #OrarendiOrak OrarendiOrak ON OrarendiOrak.OraSzam = CsengetesiRendAdatok.OraSzam
|
||||
WHERE
|
||||
OrarendiOrak.OraSzam IS NOT NULL
|
||||
GROUP BY
|
||||
OrarendiOrak.HetirendId
|
||||
,OrarendiOrak.HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev
|
||||
,OrarendiOrak.TantargyNev
|
||||
,OrarendiOrak.TeremNev
|
||||
,OrarendiOrak.Kezdete
|
||||
,OrarendiOrak.Vege
|
||||
)OrarendioraOraszammal
|
||||
|
||||
INSERT INTO #OrarendTEMP
|
||||
SELECT
|
||||
@MinCsengetesiRendOraszam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #orarendiorak OrarendiOrak
|
||||
WHERE
|
||||
Kezdete < @MinCsengetesiRendOraKezdet
|
||||
|
||||
SELECT
|
||||
Orarend.OraSzam
|
||||
,HetirendId
|
||||
,HetnapjaId
|
||||
,OsztalyCsoportNev
|
||||
,PedagogusNev
|
||||
,TantargyNev
|
||||
,TeremNev
|
||||
,IIF(Orarend.Kezdete != CsengetesiRendAdatok.Kezdete OR Orarend.Vege != CsengetesiRendAdatok.Vege, Orarend.Kezdete + ' - ' + Orarend.Vege, '') KezdesVegeIdopont
|
||||
INTO #Orarend
|
||||
FROM #OrarendTEMP Orarend
|
||||
INNER JOIN #CsengetesiRendAdatok CsengetesiRendAdatok on CsengetesiRendAdatok.Oraszam = Orarend.OraSzam
|
||||
|
||||
DECLARE @Hetirendek TABLE (Id INT)
|
||||
DECLARE @HetirendCount INT = (SELECT COUNT(DISTINCT oo.C_HETIREND) FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId)
|
||||
|
||||
IF (@HetirendCount=1)
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.c_hetirend FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID = @tanevId
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.C_HETIREND from T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId AND oo.C_HETIREND <> 1554
|
||||
END
|
||||
|
||||
DECLARE @Orakezdetek TABLE (Ora INT)
|
||||
INSERT INTO @orakezdetek
|
||||
SELECT DISTINCT OraSzam from #CsengetesiRendAdatok
|
||||
|
||||
DECLARE @OsszesOra TABLE (Hetirend INT, Nap INT, Oraszam nvarchar(20))
|
||||
INSERT INTO @OsszesOra
|
||||
SELECT DISTINCT oo.Id, Nap , OraSzam FROM @Hetirendek oo
|
||||
CROSS JOIN (SELECT Ora FROM @Orakezdetek) OraSzam (OraSzam)
|
||||
CROSS JOIN (VALUES (1408),(1409),(1410),(1411),(1412), (1413)) Nap (Nap)
|
||||
|
||||
DECLARE @TenylegesOra TABLE (Hetirend INT, Nap INT, OraSzam NVARCHAR(20), Foglalkozas NVARCHAR(MAX))
|
||||
DECLARE @Orarend TABLE (TanuloId INT, Ora int, Hetirend INT, Nap INT, Foglalkozas NVARCHAR(MAX))
|
||||
|
||||
DECLARE kur CURSOR FOR
|
||||
SELECT Id FROM @Hetirendek
|
||||
|
||||
DECLARE @HetirendId int
|
||||
|
||||
OPEN kur
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
INSERT INTO @TenylegesOra
|
||||
SELECT DISTINCT
|
||||
@HetirendId
|
||||
,veg.HetnapjaId
|
||||
,veg.Oraszam
|
||||
,STUFF((SELECT DISTINCT
|
||||
CAST('<b>' + bveg.TantargyNev + '</b>' + CHAR(13) + CHAR(10)
|
||||
+ IIF(LEN(KezdesVegeIdopont) > 0, ' (' + KezdesVegeIdopont +')' + CHAR(13) + CHAR(10), '')
|
||||
+ bveg.OsztalyCsoportNev + CHAR(13) + CHAR(10)
|
||||
+ bveg.PedagogusNev + CHAR(13) + CHAR(10)
|
||||
+ bveg.TeremNev + CHAR(13) + CHAR(10) AS VARCHAR(max))
|
||||
FROM #Orarend bveg
|
||||
WHERE bveg.HetnapjaId = veg.HetnapjaId
|
||||
AND bveg.Oraszam = veg.Oraszam
|
||||
AND (bveg.HetirendId = @HetirendId OR bveg.HetirendId = 1554)
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,0,'') Foglalkozasok
|
||||
FROM #Orarend veg
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
END
|
||||
CLOSE kur
|
||||
DEALLOCATE kur
|
||||
|
||||
/*Végleges órarend*/
|
||||
INSERT INTO @Orarend
|
||||
SELECT @tanuloId
|
||||
, OsszesOra.Oraszam
|
||||
, OsszesOra.Hetirend
|
||||
, OsszesOra.Nap
|
||||
, TenylegesOra.Foglalkozas
|
||||
FROM @OsszesOra OsszesOra
|
||||
LEFT JOIN @TenylegesOra TenylegesOra ON OsszesOra.Hetirend = TenylegesOra.Hetirend AND OsszesOra.Nap = TenylegesOra.Nap AND OsszesOra.Oraszam = TenylegesOra.Oraszam
|
||||
ORDER BY OsszesOra.Hetirend, OsszesOra.Nap, OsszesOra.Oraszam
|
||||
|
||||
SELECT
|
||||
pv.*
|
||||
, dic.C_NAME HETIREND_DNAME
|
||||
,@tanuloNev TanuloNev
|
||||
FROM @Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Nap IN ([1408],[1409],[1410],[1411],[1412],[1413]))pv
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dic ON dic.id=Hetirend AND dic.C_TANEVID = @tanevId
|
||||
INNER JOIN @Orakezdetek ok ON ok.Ora = pv.Ora
|
||||
ORDER BY Ora
|
||||
END
|
||||
|
||||
DROP TABLE #CsengetesiRendAdatok
|
||||
DROP TABLE #Orarend
|
||||
DROP TABLE #OrarendiOrak
|
||||
GO
|
|
@ -0,0 +1,848 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetESL_A03T01_1
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetESL_A03T01_1]
|
||||
@tanevId int
|
||||
,@feladatEllatasiHelyId int
|
||||
,@isFelevi int = 0 /* 1 - előző tanév végi és féléves; 0 - félévtől év végi */
|
||||
,@osztalyzatTipusTypeID int = 44
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
CREATE TABLE #tmpRet(
|
||||
Kategoria nvarchar(250)
|
||||
,Evfolyam int
|
||||
,Darabszam int
|
||||
,Sorszam int
|
||||
)
|
||||
CREATE TABLE #tmpRetSum(
|
||||
Kategoria nvarchar(250)
|
||||
,Osszesen int
|
||||
,OsszesLany int
|
||||
)
|
||||
CREATE TABLE #KetFeltetelTanulok (
|
||||
Evfolyam int
|
||||
,TanuloId int
|
||||
,Neme int
|
||||
,IsHianyzasMiatt int
|
||||
,IsKiemeltMiatt int
|
||||
,IsGyermekVedelemMiatt int
|
||||
,IsAltalanosIskolaMiatt int
|
||||
,INDEX IX_01 (TanuloId)
|
||||
)
|
||||
CREATE TABLE #ErintettTanulok (
|
||||
Evfolyam int
|
||||
,TanuloId int
|
||||
,Neme int
|
||||
,TanuloNev nvarchar(255)
|
||||
,Oktatasiazonosito nvarchar(11)
|
||||
,TanuloOsztalyNev nvarchar(255)
|
||||
,IsKozepesMiatt int
|
||||
,IsRontasMiatt int
|
||||
,TanuloOsztalyId int
|
||||
,INDEX IX_01 (TanuloId)
|
||||
)
|
||||
CREATE TABLE #TanuloErtekeles (
|
||||
Id int
|
||||
,Tanulo int
|
||||
,Ertekeles int
|
||||
,Tipus int
|
||||
,INDEX IX_01 (Tanulo)
|
||||
)
|
||||
|
||||
DECLARE
|
||||
@FelevKezdete date
|
||||
,@FelevVege date
|
||||
,@ertekelesTipus int
|
||||
,@Kategoria nvarchar(250)
|
||||
,@OsszesLany int
|
||||
|
||||
SET @ertekelesTipus = IIF(@isFelevi = 1, 1519, 1520) /* féléves vagy tév végi jegy */
|
||||
|
||||
SET @FelevKezdete = (
|
||||
SELECT C_DATUM + IIF(@isFelevi = 1, 0, 1)
|
||||
FROM T_TANEVRENDJE tr
|
||||
WHERE C_NAPTIPUSA = IIF(@isFelevi = 1, 1394, 1400)
|
||||
AND tr.C_TANEVID = @tanevid AND tr.TOROLT='F')
|
||||
|
||||
SET @FelevVege = (
|
||||
SELECT C_DATUM + 1
|
||||
FROM T_TANEVRENDJE tr
|
||||
WHERE C_NAPTIPUSA = IIF(@isFelevi = 1, 1400, 1395)
|
||||
AND tr.C_TANEVID = @tanevid AND tr.TOROLT='F')
|
||||
|
||||
INSERT INTO #ErintettTanulok (
|
||||
TanuloId
|
||||
,Evfolyam
|
||||
,Neme
|
||||
,TanuloNev
|
||||
,OktatasiAzonosito
|
||||
,TanuloOsztalyNev
|
||||
,TanuloOsztalyId
|
||||
,IsKozepesMiatt
|
||||
,IsRontasMiatt
|
||||
)
|
||||
SELECT * FROM fnGetLemorzsolodottTanulokByFelhely (@feladatEllatasiHelyId, @tanevId, @isFelevi, @osztalyzatTipusTypeID)
|
||||
|
||||
INSERT INTO #TanuloErtekeles
|
||||
SELECT
|
||||
te.ID
|
||||
,C_TANULOID
|
||||
,C_ERTEKELESOSZTALYZATID
|
||||
,C_TIPUSID
|
||||
FROM T_TANULOERTEKELES te
|
||||
INNER JOIN #ErintettTanulok fht ON fht.TanuloId=te.C_TANULOID
|
||||
INNER JOIN T_TANTARGY tgy ON tgy.ID = te.C_TANTARGYID AND (tgy.C_FOTARGYE = 'T' OR tgy.C_ALTANTARGYKENTNYOMTATVANYBAN='T')
|
||||
AND C_ESLTANTARGYKATEGORIAID IS NOT NULL AND tgy.TOROLT='F'
|
||||
WHERE te.C_TIPUSID=@ertekelesTipus AND te.TOROLT='F' AND te.C_TANEVID = @tanevId
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '1'
|
||||
----------------------------------------------------------------------
|
||||
-- Szum
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'Osszesen'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT TanuloId)
|
||||
FROM #ErintettTanulok fh
|
||||
WHERE fh.Neme = 5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT TanuloId)
|
||||
,1
|
||||
FROM #ErintettTanulok
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum(
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '2'
|
||||
----------------------------------------------------------------------
|
||||
-- Szum lány
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'Lany'
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT TanuloId)
|
||||
,2
|
||||
FROM #ErintettTanulok
|
||||
WHERE Neme = 5
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum(
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '3'
|
||||
----------------------------------------------------------------------
|
||||
-- Összes rontott
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevErtekelesenelMinositesenelATanuloEgyTizedesjegyigSzamitottTanulmanyiAtlagaAMagatartasEsSzorgalomErtekelesetMinositesetNemBeleszamitvaNemEriElKozepes3Szintet'
|
||||
SELECT @Osszeslany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
WHERE fht.Neme=5 AND IsKozepesMiatt = 1
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT TanuloId)
|
||||
,3
|
||||
FROM #ErintettTanulok
|
||||
WHERE IsKozepesMiatt = 1
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum(
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '4'
|
||||
----------------------------------------------------------------------
|
||||
-- Legalább 1.1-et rontott
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AzEvVegiJegyekAlapjanAFeleviJegyekhezKepestLegalabb11NyiAtlagotRontoTanulokSzama'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
WHERE fht.Neme=5 AND IsRontasMiatt = 1
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT TanuloId)
|
||||
,4
|
||||
FROM #ErintettTanulok
|
||||
WHERE IsRontasMiatt = 1
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum(
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '5'
|
||||
----------------------------------------------------------------------
|
||||
-- egy, vagy több tantárgyból elégtelen osztályzat
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevErtekelesenelMinositesenelATanuloEgyVagyTobbTantargybolElegtelen1OsztalyzatotKapott'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #TanuloErtekeles te
|
||||
INNER JOIN #ErintettTanulok fht ON fht.TanuloId=te.Tanulo AND fht.Neme = 5
|
||||
WHERE te.Tipus = @ertekelesTipus AND te.Ertekeles = 1501
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,5
|
||||
FROM #ErintettTanulok t
|
||||
INNER JOIN #TanuloErtekeles te ON te.Tanulo = t.TanuloId
|
||||
WHERE te.Tipus = @ertekelesTipus AND te.Ertekeles = 1501
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '6'
|
||||
----------------------------------------------------------------------
|
||||
-- félév, magatartás, 2
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevMagatartasanakErtekelesenelMinositesenelATanuloRossz2ErtekelestKapott'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=fht.TanuloId AND fht.Neme = 5 AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_MAGATARTASERTEKID=1558 OR te.C_MAGATARTASOSZTALYZATID=1502) AND te.C_TIPUSID = @ertekelesTipus
|
||||
AND te.TOROLT='F'
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,6
|
||||
FROM #ErintettTanulok t
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=t.TanuloId AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_MAGATARTASERTEKID=1558 OR te.C_MAGATARTASOSZTALYZATID=1502) AND te.C_TIPUSID = @ertekelesTipus
|
||||
AND te.TOROLT='F'
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '7'
|
||||
----------------------------------------------------------------------
|
||||
-- félév, szorgalom, 2
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevSzorgalmanakErtekelesenelMinositesenelATanuloHanyag2ErtekelestKapott'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=fht.TanuloId AND fht.Neme = 5 AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_SZORGALOMERTEKID = 1562 OR te.C_SZORGALOMOSZTALYZATID=1502)
|
||||
AND te.TOROLT='F' AND te.C_TIPUSID = @ertekelesTipus
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,7
|
||||
FROM #ErintettTanulok t
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=t.TanuloId AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_SZORGALOMERTEKID = 1562 OR te.C_SZORGALOMOSZTALYZATID=1502)
|
||||
AND te.TOROLT='F' AND te.C_TIPUSID = @ertekelesTipus
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '8'
|
||||
----------------------------------------------------------------------
|
||||
-- adott évben évismétlés
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AzAdottTanitasiEvbenEvismetlesreKotelezett'
|
||||
IF @isFelevi = 0
|
||||
BEGIN
|
||||
SET @OsszesLany = (
|
||||
SELECT SUM(x.db) FROM(
|
||||
SELECT COUNT(DISTINCT fht.TanuloId) db
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN #tanuloErtekeles te ON te.Tanulo=fht.TanuloId AND te.Ertekeles=1501
|
||||
WHERE fht.Neme=5
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING COUNT(*)>=4) x)
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT x.TanuloId)
|
||||
,8
|
||||
FROM(
|
||||
SELECT
|
||||
t.TanuloId
|
||||
,t.Evfolyam
|
||||
FROM #ErintettTanulok t
|
||||
INNER JOIN #tanuloErtekeles te ON te.Tanulo=t.TanuloId AND te.Ertekeles=1501
|
||||
GROUP BY t.TanuloId,t.Evfolyam
|
||||
HAVING COUNT(*)>=4) x
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
END
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '9'
|
||||
----------------------------------------------------------------------
|
||||
-- Félévben 50 órát elérő igazolatlan hiányzás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenATanulo50OratMeghaladoHianyzassalRendelkezik'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT Tanulo) FROM (
|
||||
SELECT
|
||||
fht.Tanuloid AS Tanulo
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN #ErintettTanulok fht on fht.TanuloId=tm.C_ORATANULOIID AND fht.Neme=5
|
||||
INNER JOIN T_TANITASIORA tao on tao.ID=tm.C_TANITASIORAKID AND tao.C_DATUM >= @FelevKezdete AND tao.C_DATUM < @FelevVege
|
||||
AND tao.TOROLT='F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = tao.C_OSZTALYCSOPORTID AND cs.C_TIPUSA NOT IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))
|
||||
AND cs.TOROLT='F'
|
||||
WHERE tm.C_IGAZOLT='F' AND cs.ID IS NULL AND tm.TOROLT='F'
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING COUNT(Tanuloid) > 50) a
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT x.TanuloId)
|
||||
,9
|
||||
FROM(
|
||||
SELECT
|
||||
fht.Tanuloid
|
||||
,fht.Evfolyam
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN #ErintettTanulok fht ON fht.TanuloId=tm.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA tao ON tao.ID=tm.C_TANITASIORAKID AND tao.C_DATUM >= @FelevKezdete AND tao.C_DATUM < @FelevVege
|
||||
AND tao.TOROLT='F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = tao.C_OSZTALYCSOPORTID
|
||||
AND cs.C_TIPUSA NOT IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))
|
||||
AND cs.TOROLT='F'
|
||||
WHERE tm.C_IGAZOLT='F' AND cs.ID IS NULL AND tm.TOROLT='F'
|
||||
GROUP BY fht.TanuloId, fht.Evfolyam
|
||||
HAVING COUNT(TanuloId) > 50) x
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '10'
|
||||
----------------------------------------------------------------------
|
||||
-- Szülő kérésére magántanuló
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenSzuloiKeresreMagantanulovaValtTanulo'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID=fht.TanuloOsztalyId AND tcs.C_TANULOID=fht.TanuloId
|
||||
AND tcs.TOROLT='F'
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID=tcs.ID AND tta.C_MAGANTANULOSAGANAKOKAID IN (663, 664)
|
||||
AND tta.TOROLT='F'
|
||||
WHERE fht.Neme=5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT fht.TanuloId)
|
||||
,10
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID=fht.TanuloOsztalyId AND tcs.C_TANULOID=fht.TanuloId
|
||||
AND tcs.TOROLT='F'
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID=tcs.ID AND tta.C_MAGANTANULOSAGANAKOKAID IN (663, 664)
|
||||
AND tta.TOROLT='F'
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '11'
|
||||
----------------------------------------------------------------------
|
||||
-- Menekült, menedékjoggal rendelkező
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenMenekultOltalmazottMenedekesTanulokSzama'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_MENEDEKJOGGALRENDELKEZO='T' AND fht.TanuloId=t.ID AND fht.Neme=5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT fht.TanuloId)
|
||||
,11
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_MENEDEKJOGGALRENDELKEZO='T' AND fht.TanuloId=t.ID
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '12'
|
||||
----------------------------------------------------------------------
|
||||
-- Félévben veszélyeztetett tanulók száma
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenVeszelyezeztetteValtTanulokSzama'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t on t.ID=fht.TanuloId AND t.C_VESZELYEZTETETT='T' AND fht.Neme=5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT fht.TanuloId)
|
||||
,12
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t on t.ID=fht.TanuloId AND t.C_VESZELYEZTETETT='T'
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '13'
|
||||
----------------------------------------------------------------------
|
||||
-- ideiglenes hatállyal elhelyezett vagy nevelésbe vett tanulók
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenIdeiglenesHatallyalElhelyezettVagyNevelesbeVettTanulokSzama'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT fht.TanuloId)
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_ALLAMIGONDOZOTT='T' AND fht.TanuloId=t.ID AND fht.Neme=5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT fht.TanuloId)
|
||||
,13
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_ALLAMIGONDOZOTT='T' AND fht.TanuloId=t.ID
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '14'
|
||||
----------------------------------------------------------------------
|
||||
-- legalább 2 feltétel teljesül
|
||||
----------------------------------------------------------------------
|
||||
-- Alapadatok
|
||||
|
||||
INSERT INTO #KetFeltetelTanulok
|
||||
SELECT DISTINCT
|
||||
ftt.Evfolyam
|
||||
,ftt.TanuloId
|
||||
,ftt.Neme
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANITASIORA tno ON tno.ID = tm.C_TANITASIORAKID
|
||||
AND tno.C_DATUM >= @FelevKezdete
|
||||
AND tno.C_DATUM < @FelevVege
|
||||
AND tno.TOROLT='F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = tno.C_OSZTALYCSOPORTID AND cs.TOROLT='F'
|
||||
WHERE (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)))
|
||||
AND tm.TOROLT='F'
|
||||
AND tm.C_IGAZOLT='T'
|
||||
AND tm.C_TIPUS = 1500
|
||||
AND tm.C_ORATANULOIID = ftt.TanuloId) > 100, 1, 0) AS IsHianyzasMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULO t
|
||||
WHERE t.ID = ftt.TanuloId
|
||||
AND (t.C_SAJATOSNEVELESU='T' OR t.C_BTMPROBLEMAS='T' OR t.C_HATRANYOSHELYZETU IN (1122, 1123))) > 0, 1, 0) AS IsKiemeltMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULO t
|
||||
WHERE t.ID = ftt.TanuloId
|
||||
AND t.C_RENDSZERESGYERMEKVEDELMIKEDV IS NOT NULL) > 0, 1, 0) AS IsGyermekVedelemMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_FELHASZNALO t
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_TANULOID=t.ID AND tcs.TOROLT='F'
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID=tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.C_ISESL16EVESUTANBELEPETT = 'T' AND tta.TOROLT='F'
|
||||
INNER JOIN T_FELADATELLATASIHELY fh ON fh.ID=ocs.C_FELADATELLATASIHELYID AND fh.C_OKTATASINEVELESIFELADATTIPUS IN (1158,1178)
|
||||
AND fh.ID = @feladatEllatasiHelyId AND fh.TOROLT='F'
|
||||
WHERE t.ID = ftt.TanuloId) > 0, 1, 0) AS IsAltalanosIskolaMiatt
|
||||
FROM #ErintettTanulok ftt
|
||||
|
||||
DELETE kt FROM #KetFeltetelTanulok kt WHERE (kt.IsHianyzasMiatt + kt.IsKiemeltMiatt + kt.IsGyermekVedelemMiatt + kt.IsAltalanosIskolaMiatt) < 2
|
||||
--Alapadatok vége
|
||||
|
||||
SET @Kategoria = 'KettoFeltetelTelejesuleseEsetenLemorzsolodassalVeszelyeztetettTanulo'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT ft.TanuloId)
|
||||
FROM #KetFeltetelTanulok ft
|
||||
WHERE ft.Neme=5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,14
|
||||
FROM #KetFeltetelTanulok t
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '15'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel esetén ... félévben 100 órát elért igazolt hiányzás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolAFelevben100OratEleroIgazoltHianyzassalRendelkezoTanulokSzama'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT kt.TanuloId)
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsHianyzasMiatt = 1 AND kt.Neme = 5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,15
|
||||
FROM #KetFeltetelTanulok t
|
||||
WHERE t.IsHianyzasMiatt = 1
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '16'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... kiemelet figyelmet igénylő --sni, btmn, hh, 3h
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolKiemeltFigyelmetIgenyloTanulokSzamaAKiemeltenTehetsegesTanulokKivetelevel'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT kt.TanuloId)
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsKiemeltMiatt = 1 AND kt.Neme = 5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,16
|
||||
FROM #KetFeltetelTanulok t
|
||||
WHERE t.IsKiemeltMiatt = 1
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '17'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... --rendszeres gyermekvédelmi támogatás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolRendszeresGyermekvedelmiKedvezmenybenReszesuloTanulokSzama'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT kt.TanuloId)
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsGyermekVedelemMiatt = 1 AND kt.Neme = 5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(DISTINCT t.TanuloId)
|
||||
,17
|
||||
FROM #KetFeltetelTanulok t
|
||||
WHERE t.IsGyermekVedelemMiatt = 1
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '18'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... alapfokú oktatásban 16
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolAlapfokuOktatasbanBetoltotteA16Eletevet'
|
||||
SELECT @OsszesLany = COUNT(DISTINCT kt.TanuloId)
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsAltalanosIskolaMiatt = 1 AND kt.Neme = 5
|
||||
|
||||
INSERT INTO #tmpRet(
|
||||
Kategoria
|
||||
,Evfolyam
|
||||
,Darabszam
|
||||
,Sorszam
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,Evfolyam
|
||||
,COUNT(t.TanuloId)
|
||||
,17
|
||||
FROM #KetFeltetelTanulok t
|
||||
WHERE t.IsAltalanosIskolaMiatt = 1
|
||||
GROUP BY Evfolyam
|
||||
|
||||
INSERT INTO #tmpRetSum (
|
||||
Kategoria
|
||||
,Osszesen
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
@Kategoria
|
||||
,SUM(Darabszam)
|
||||
,@OsszesLany
|
||||
FROM #tmpRet
|
||||
WHERE Kategoria = @Kategoria
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- SELECT
|
||||
----------------------------------------------------------------------
|
||||
SELECT
|
||||
t.Kategoria
|
||||
,t.Evfolyam
|
||||
,ISNULL(t.Darabszam,0) as Darabszam
|
||||
,s.Osszesen
|
||||
,s.OsszesLany
|
||||
FROM #tmpRet t
|
||||
INNER JOIN #tmpRetSum s ON s.Kategoria = t.Kategoria
|
||||
ORDER BY t.Sorszam
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,90 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetESL_A03T02_1]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetESL_A03T02_1]
|
||||
@tanevId int
|
||||
,@feladatEllatasiHelyId int
|
||||
,@isFelevi int = 0
|
||||
,@ESLTantargykategoriaTypeId int = 136
|
||||
,@osztalyzatTipusTypeID int = 44
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
CREATE TABLE #TantargyiStat(
|
||||
Darabszam int
|
||||
,OsszesLany int
|
||||
,EslTgyKatId int
|
||||
,Evfolyam int
|
||||
,Sorrend int
|
||||
)
|
||||
|
||||
CREATE TABLE #ErintettTanulok (
|
||||
Evfolyam int
|
||||
,TanuloId int
|
||||
,Neme int
|
||||
,TanuloNev nvarchar(255)
|
||||
,Oktatasiazonosito nvarchar(11)
|
||||
,TanuloOsztalyNev nvarchar(255)
|
||||
,IsKozepesMiatt int
|
||||
,IsRontasMiatt int
|
||||
,TanuloOsztalyId int
|
||||
,INDEX IX_01 (TanuloId)
|
||||
)
|
||||
|
||||
DECLARE @ertekelesTipus int = IIF(@isFelevi = 0,1520,1519)
|
||||
|
||||
--1. érintett tanulók leválogatása
|
||||
INSERT INTO #ErintettTanulok (
|
||||
TanuloId
|
||||
,Evfolyam
|
||||
,Neme
|
||||
,TanuloNev
|
||||
,OktatasiAzonosito
|
||||
,TanuloOsztalyNev
|
||||
,TanuloOsztalyId
|
||||
,IsKozepesMiatt
|
||||
,IsRontasMiatt
|
||||
)
|
||||
SELECT * FROM fnGetLemorzsolodottTanulokByFelhely (@feladatEllatasiHelyId, @tanevId, @isFelevi, @osztalyzatTipusTypeID)
|
||||
|
||||
INSERT INTO #TantargyiStat(
|
||||
Darabszam
|
||||
,OsszesLany
|
||||
,EslTgyKatId
|
||||
,Evfolyam
|
||||
,Sorrend
|
||||
)
|
||||
SELECT
|
||||
COUNT(te.C_TANULOID) as Osszes
|
||||
,SUM(IIF(fht.Neme=5,1,0)) as OsszesLany
|
||||
,eslTgyKat.ID
|
||||
,fht.Evfolyam
|
||||
,eslTgyKat.C_ORDER
|
||||
FROM T_TANULOERTEKELES te
|
||||
INNER JOIN T_TANTARGY tgy ON tgy.ID=te.C_TANTARGYID AND (tgy.C_FOTARGYE = 'T' OR tgy.C_ALTANTARGYKENTNYOMTATVANYBAN='T') AND tgy.TOROLT='F'
|
||||
INNER JOIN #ErintettTanulok fht on fht.TANULOID=te.C_TANULOID
|
||||
INNER JOIN T_DICTIONARYITEMBASE eslTgyKat ON eslTgyKat.ID = tgy.C_ESLTANTARGYKATEGORIAID AND eslTgyKat.C_DICTIONARYTYPEID = @ESLTantargykategoriaTypeId
|
||||
AND eslTgykat.TOROLT='F' AND eslTgyKat.C_TANEVID = te.C_TANEVID
|
||||
WHERE te.C_ERTEKELESOSZTALYZATID = 1501 AND te.C_TIPUSID = @ertekelesTipus AND te.C_TANEVID = @tanevId AND te.TOROLT='F'
|
||||
GROUP BY eslTgyKat.ID,eslTgyKat.C_ORDER,fht.Evfolyam
|
||||
|
||||
SELECT
|
||||
SUM(Darabszam) as Osszes
|
||||
,SUM(OsszesLany) as OsszesLany
|
||||
,EslTgyKatId
|
||||
INTO #TantargyiStatSum
|
||||
FROM #TantargyiStat
|
||||
GROUP BY EslTgyKatId
|
||||
|
||||
SELECT
|
||||
tgy.eslTgyKatId
|
||||
,tgy.Evfolyam
|
||||
,tgy.Darabszam
|
||||
,s.Osszes
|
||||
,s.OsszesLany
|
||||
FROM #TantargyiStat tgy
|
||||
INNER JOIN #TantargyiStatSum s ON s.eslTgyKatId = tgy.eslTgyKatId
|
||||
ORDER BY tgy.Sorrend,tgy.Evfolyam
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,52 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetESL_A03T03_1]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetESL_A03T03_1]
|
||||
@tanevId int
|
||||
,@intezmenyId int
|
||||
,@feladatEllatasiHelyId int
|
||||
,@isFelevi int = 0
|
||||
,@osztalyzatTipusTypeID int = 44
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Táblák deklarálása
|
||||
declare @Dictionary table (Id int, Name nvarchar(max), Value int, Tipus nvarchar(max))
|
||||
declare @Evfolyamok table (Id int, Evfolyam int)
|
||||
declare @TanuloErtekeles table (Id int, Tanulo int, Ertekeles int, Tipus int)
|
||||
declare @FeladatEllatasiHelyekIntezmenyhez table (FHId int, IntezmenyId int)
|
||||
declare @FHhozTartozoTanulok table (Intezmeny int, FH int, Evfolyam int, TanuloId int, Neme int)
|
||||
|
||||
--Dátumok deklarásása
|
||||
declare @kezdet int,
|
||||
@veg int,
|
||||
@felev int
|
||||
|
||||
select top 1 @kezdet= iif(getdate()<=C_DATUM,1394,1400), --első félév
|
||||
@veg= iif(getdate()<=C_DATUM,1400,1395) --második félév
|
||||
from t_tanevrendje tr where c_naptipusa=1400 and c_tanevId=@tanevId and c_intezmenyId=@intezmenyId and torolt='F'
|
||||
|
||||
DECLARE @FelevKezdete DATE = (select top 1 c_datum from t_tanevrendje tr where c_naptipusa=@kezdet and c_tanevid=@tanevid and c_intezmenyid=@intezmenyid and torolt='F')
|
||||
DECLARE @FelevVege DATE = (select top 1 c_datum from t_tanevrendje tr where c_naptipusa=@veg and c_tanevid=@tanevid and c_intezmenyid=@intezmenyid and torolt='F')
|
||||
|
||||
INSERT INTO @FHhozTartozoTanulok (TanuloId, Evfolyam, Neme)
|
||||
SELECT tanulok.TanuloId, tanulok.Evfolyam, tanulok.Neme FROM fnGetLemorzsolodottTanulokByFelhely(@feladatEllatasiHelyId, @tanevId, @isFelevi, @osztalyzatTipusTypeID) as tanulok
|
||||
|
||||
--adott évben évismétlés
|
||||
declare @OsszesEvismetloTanulo int =(select count(fht.TanuloId) from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_EVISMETLO='T' and fht.TanuloId=t.id AND @isFelevi = 0)
|
||||
|
||||
declare @OsszesEvismetloTanuloLany int =(select count(fht.TanuloId) from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id and fht.Neme=5 AND @isFelevi = 0)
|
||||
|
||||
select 'AzAdottTanitasiEvbenEvismetlesreKotelezett' as Leiras, [1307] 'Evfolyam5', [1308] 'Evfolyam6', [1309] 'Evfolyam7', [1310] 'Evfolyam8', [1311] 'Evfolyam9', [1312] 'Evfolyam10', [1313] 'Evfolyam11', [1314] 'Evfolyam12', [6471] 'KH1', [6474] 'KH2', [6477] 'SzH1', [6478] 'SzH2', @OsszesEvismetloTanulo 'Osszesen', @OsszesEvismetloTanuloLany 'Lany'
|
||||
from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id AND @isFelevi = 0
|
||||
union
|
||||
select null, null where (select top 1 fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id) is null AND @isFelevi = 0)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314], [6471], [6474], [6477], [6478]))piv
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,25 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetEgyuttmukodesiMeglallapodas]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetEgyuttmukodesiMeglallapodas]
|
||||
@pTanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
/*INTEZMENYADATOK*/
|
||||
SELECT DISTINCT
|
||||
INTEZMENY.C_NEV Nev
|
||||
,INTEZMENY.C_IGAZGATONEVE IgazgatoNev
|
||||
,dbo.fnGetDokumentumIntezmenyCime (@pTanevId) IntezmenyCim
|
||||
,INTEZMENY.C_TELEFONSZAM IntezmenyTelefonszam
|
||||
,INTEZMENY.C_EMAILCIM IntezmenyEmail
|
||||
,INTEZMENY.C_OMKOD OktAzon
|
||||
FROM T_TANEV TANEV
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES INTEZMENY ON TANEV.ID = INTEZMENY.C_TANEVID
|
||||
WHERE TANEV.ID = @pTanevId
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,115 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetElfogadottTantargyfelosztasok
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetElfogadottTantargyfelosztasok
|
||||
@tanevId INT,
|
||||
@intezmenyId INT,
|
||||
@isElfogadott BIT,
|
||||
@isKlebersberg BIT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Pedagógusok
|
||||
SELECT
|
||||
foglalkozas.C_TANARID PedagogusId
|
||||
,felhasznalo.C_NYOMTATASINEV PedagogusNev
|
||||
,munkakor.C_NAME Munkakor
|
||||
,kepesites.C_NAME Kepesites
|
||||
,ISNULL(vegzettsegAdat.Vegzettseg, '') Vegzettseg
|
||||
,dbo.fnGetDokumentumPedagogusOraszam(foglalkozas.C_TANARID, @isKlebersberg) KotelezoOraszam
|
||||
,munkaugyiAdatok.C_MUNKAIDOKEDVEZMENYORASZAM MunkaidoKedvezmenyOraszam
|
||||
,munkaidoKedvezmenyOka.C_NAME MunkaidoKedvezmenyOka
|
||||
,SUM(foglalkozas.C_ORASZAM) HetiOraszam
|
||||
,ISNULL(munkaugyiAdatok.C_MUNKAIDOKEDVEZMENYORASZAM, 0) + SUM(foglalkozas.C_ORASZAM) LekotottOraszam
|
||||
INTO #PedagogusTemp
|
||||
FROM T_FOGLALKOZAS_OSSZES foglalkozas
|
||||
INNER JOIN T_MUNKAUGYIADATOK_OSSZES munkaugyiAdatok ON munkaugyiAdatok.C_ALKALMAZOTTID = foglalkozas.C_TANARID
|
||||
LEFT JOIN (
|
||||
SELECT DISTINCT
|
||||
kvegzettseg.C_TANARID TanarId
|
||||
,STUFF((
|
||||
SELECT DISTINCT ', ' + dic.C_NAME
|
||||
FROM T_VEGZETTSEG_OSSZES bvegzettseg
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dic ON bvegzettseg.C_VEGZETTSEGTIPUSID = dic.ID AND dic.C_TANEVID = @tanevId AND dic.TOROLT = 'F'
|
||||
WHERE
|
||||
bvegzettseg.C_TANARID = kvegzettseg.C_TANARID
|
||||
AND bvegzettseg.TOROLT = 'F'
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,2,'') Vegzettseg
|
||||
FROM T_VEGZETTSEG_OSSZES kvegzettseg
|
||||
WHERE
|
||||
kvegzettseg.TOROLT = 'F'
|
||||
) AS vegzettsegAdat ON munkaugyiAdatok.C_ALKALMAZOTTID = vegzettsegAdat.TanarId
|
||||
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = foglalkozas.C_TANARID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES munkakor ON munkakor.ID = munkaugyiAdatok.C_MUNKAKORTIPUSA AND munkaugyiAdatok.C_TANEVID = munkakor.C_TANEVID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES kepesites ON kepesites.ID = munkaugyiAdatok.C_BESOROLASIFOKOZAT AND munkaugyiAdatok.C_TANEVID = kepesites.C_TANEVID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES munkaidoKedvezmenyOka ON munkaidoKedvezmenyOka.ID = munkaugyiAdatok.C_MUNKAIDOKEDVEZMENYOKA AND munkaugyiAdatok.C_TANEVID = munkaidoKedvezmenyOka.C_TANEVID
|
||||
INNER JOIN T_INTEZMENYADATSZOLGALTATAS_OSSZES intezmenyAdatSzolgaltatas ON intezmenyAdatSzolgaltatas.C_TANEVID = foglalkozas.C_TANEVID AND intezmenyAdatSzolgaltatas.TOROLT = 'F'
|
||||
WHERE
|
||||
foglalkozas.C_TANEVID = @tanevId
|
||||
AND foglalkozas.TOROLT = 'F'
|
||||
AND munkaugyiAdatok.TOROLT = 'F'
|
||||
AND felhasznalo.C_NYOMTATASINEV NOT LIKE '[[]HO%'
|
||||
GROUP BY foglalkozas.C_TANARID, felhasznalo.C_NYOMTATASINEV, munkakor.C_NAME, kepesites.C_NAME, vegzettsegAdat.Vegzettseg, C_KOTELEZOORASZAM, C_MUNKAIDOKEDVEZMENYORASZAM, munkaidoKedvezmenyOka.C_NAME
|
||||
ORDER BY felhasznalo.C_NYOMTATASINEV
|
||||
|
||||
--Osztályok / csoportok
|
||||
SELECT
|
||||
osztalyCsoport.C_NEV OsztalyCsoport
|
||||
,SUM(C_ORASZAM) OsszesOraszam
|
||||
INTO #OsztalyCsoportTemp
|
||||
FROM T_FOGLALKOZAS_OSSZES foglalkozas
|
||||
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = foglalkozas.C_TANARID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = foglalkozas.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.ID = foglalkozas.C_TANTARGYID
|
||||
INNER JOIN T_INTEZMENYADATSZOLGALTATAS_OSSZES intezmenyAdatSzolgaltatas ON intezmenyAdatSzolgaltatas.C_TANEVID = foglalkozas.C_TANEVID AND intezmenyAdatSzolgaltatas.TOROLT = 'F'
|
||||
WHERE
|
||||
foglalkozas.C_TANEVID = @tanevId
|
||||
AND foglalkozas.TOROLT = 'F'
|
||||
AND felhasznalo.C_NYOMTATASINEV NOT LIKE '[[]HO%'
|
||||
GROUP BY osztalyCsoport.C_NEV
|
||||
ORDER BY osztalyCsoport.C_NEV
|
||||
|
||||
--Tantárgyfelosztás
|
||||
SELECT
|
||||
felhasznalo.C_NYOMTATASINEV PedagogusNeve
|
||||
,osztalyCsoport.C_NEV OsztalyCsoport
|
||||
,tantargy.C_NEV Tantargy
|
||||
,foglalkozas.C_ORASZAM Oraszam
|
||||
INTO #TantargyFelosztasTemp
|
||||
FROM T_FOGLALKOZAS_OSSZES foglalkozas
|
||||
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = foglalkozas.C_TANARID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = foglalkozas.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.ID = foglalkozas.C_TANTARGYID
|
||||
INNER JOIN T_INTEZMENYADATSZOLGALTATAS_OSSZES intezmenyAdatSzolgaltatas ON intezmenyAdatSzolgaltatas.C_TANEVID = foglalkozas.C_TANEVID AND intezmenyAdatSzolgaltatas.TOROLT = 'F'
|
||||
WHERE
|
||||
foglalkozas.C_TANEVID = @tanevId
|
||||
AND foglalkozas.TOROLT = 'F'
|
||||
AND felhasznalo.C_NYOMTATASINEV NOT LIKE '[[]HO%'
|
||||
ORDER BY felhasznalo.C_NYOMTATASINEV
|
||||
|
||||
--Fejléc
|
||||
SELECT
|
||||
intezmenyAdatok.C_NEV IntezmenyNeve
|
||||
,tanev.C_NEV Tanev
|
||||
,intezmenyAdatok.C_ENGEDELYEZETTALLASHELYEK EngedelyezettAllashelyek
|
||||
,ISNULL('Hatályos: <b>' + FORMAT(intezmenyAdatSzolgaltatas.C_ELFOGADOTTTTFDATUMA, 'yyyy.MM.dd.') +'</b> napjától','') ElfogadasDatuma
|
||||
,(SELECT SUM(LekotottOraszam) FROM #PedagogusTemp) PedagogusSum
|
||||
,(SELECT SUM(Osszesoraszam) FROM #OsztalyCsoportTemp) OsztalyCsoportSum
|
||||
,(SELECT SUM(Oraszam) FROM #TantargyFelosztasTemp) TantargyFelosztasSum
|
||||
FROM T_INTEZMENYADATOK_OSSZES intezmenyAdatok
|
||||
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = intezmenyAdatok.C_TANEVID
|
||||
INNER JOIN T_INTEZMENYADATSZOLGALTATAS_OSSZES intezmenyAdatSzolgaltatas ON
|
||||
intezmenyAdatSzolgaltatas.C_INTEZMENYID = intezmenyAdatok.C_INTEZMENYID
|
||||
AND intezmenyAdatSzolgaltatas.C_TANEVID = tanev.ID
|
||||
WHERE
|
||||
intezmenyAdatok.C_TANEVID = @tanevId
|
||||
|
||||
SELECT * FROM #PedagogusTemp ORDER BY PedagogusNev
|
||||
SELECT * FROM #OsztalyCsoportTemp ORDER BY OsztalyCsoport
|
||||
SELECT * FROM #TantargyFelosztasTemp ORDER BY PedagogusNeve
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,37 @@
|
|||
-- Az előző óra adati tantárgy, osztálycsoport és tanár alapján
|
||||
-- SZEKERES ANDRÁS (based on Telek Ákos fn_GetOraEvesSorszamLista)
|
||||
-- 2017.05.08.
|
||||
|
||||
-- Modifed by: Zalán Máriusz
|
||||
-- Date: 2018 10 03
|
||||
|
||||
-- Osztálycsoport - tantárgy összerendelés implementálása
|
||||
-- 2019.01.27
|
||||
-- Zalán Máriusz
|
||||
DROP PROCEDURE IF EXISTS sp_GetElozoOraAdatai
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetElozoOraAdatai
|
||||
@tantargyId int
|
||||
,@osztalycsoportId int
|
||||
,@tanarId int
|
||||
,@oraKezdeteDatum datetime
|
||||
,@intezmenyId int
|
||||
,@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
SELECT TOP 1
|
||||
tao.ID as Id
|
||||
,tao.C_TEMA as Tema
|
||||
,tao.C_DATUM as Datum
|
||||
,fh.C_NYOMTATASINEV as HelyettesNev
|
||||
,Lista.EvesSorszam
|
||||
FROM fnGetEvesOraszamLista(@tantargyId, @osztalycsoportId, @tanarId, @oraKezdeteDatum, @intezmenyId, @tanevId) Lista
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.ID = lista.ID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = tao.C_HELYETTESITOTANARID AND fh.TOROLT = 'F'
|
||||
ORDER BY tao.C_ORAKEZDETE DESC, tao.C_ORAEVESSORSZAMA DESC
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,58 @@
|
|||
-- =============================================
|
||||
-- Author: Dőrr Tamás
|
||||
-- Create date: 2017.02.24.
|
||||
-- Description: Visszaadja, hogy megy diákok hiányoztak az aktuális tanítási óra előtti órájukról
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS sp_GetElozoOranHianyzottTanulok
|
||||
GO
|
||||
CREATE PROCEDURE [sp_GetElozoOranHianyzottTanulok]
|
||||
@OsztalyCsoportId int
|
||||
,@Datum datetime
|
||||
,@OraKezdete datetime
|
||||
,@HianyzasTipus int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
CREATE TABLE #OsztalyTanuloi (TanuloId int)
|
||||
|
||||
INSERT INTO #OsztalyTanuloi (TanuloId)
|
||||
SELECT C_TANULOID
|
||||
FROM T_TANULOCSOPORT
|
||||
WHERE C_OSZTALYCSOPORTID = @OsztalyCsoportId
|
||||
AND C_BELEPESDATUM <= @Datum AND ISNULL(C_KILEPESDATUM, GETDATE()) > @Datum
|
||||
AND TOROLT = 'F'
|
||||
|
||||
CREATE TABLE #Temp (
|
||||
TanuloId int
|
||||
,Tipus int
|
||||
,Orakezdete datetime
|
||||
)
|
||||
|
||||
INSERT INTO #Temp (TanuloId, Tipus, Orakezdete)
|
||||
SELECT
|
||||
ot.TanuloId as TanuloId
|
||||
,tm.C_TIPUS as Tipus
|
||||
,tn.C_ORAKEZDETE AS Orakezdete
|
||||
FROM (
|
||||
SELECT
|
||||
tcs2.C_OSZTALYCSOPORTID AS ID
|
||||
,tcs2.C_TANULOID
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs2 ON tcs2.C_TANULOID = tcs.C_TANULOID
|
||||
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = tcs.C_TANEVID AND tanev.TOROLT = 'F'
|
||||
WHERE tcs.C_OSZTALYCSOPORTID = @OsztalyCsoportId
|
||||
AND tcs.C_BELEPESDATUM <= GETDATE() AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tanev.C_UTOLSOTANITASINAP)
|
||||
AND tcs2.C_BELEPESDATUM <= GETDATE() AND (tcs2.C_KILEPESDATUM > GETDATE() OR tcs2.C_KILEPESDATUM IS NULL OR tcs2.C_KILEPESDATUM >= tanev.C_UTOLSOTANITASINAP)
|
||||
AND tcs.TOROLT = 'F'
|
||||
AND tcs2.TOROLT = 'F') ocs
|
||||
INNER JOIN T_TANITASIORA tn ON tn.TOROLT = 'F' AND ocs.ID = tn.C_OSZTALYCSOPORTID AND tn.C_DATUM = @Datum AND tn.C_ORAKEZDETE < @OraKezdete
|
||||
LEFT JOIN T_TANULOMULASZTAS tm ON tm.TOROLT = 'F' AND tm.C_TANITASIORAKID = tn.ID AND tm.C_TIPUS = @HianyzasTipus AND ocs.C_TANULOID = tm.C_ORATANULOIID
|
||||
INNER JOIN #osztalytanuloi ot ON ot.TanuloId = ocs.C_TANULOID
|
||||
|
||||
SELECT sub.TanuloId
|
||||
FROM #OsztalyTanuloi ot
|
||||
OUTER APPLY (SELECT TOP(1) * FROM #Temp t WHERE ot.TanuloId = t.TanuloId ORDER BY Orakezdete DESC) sub
|
||||
WHERE Tipus = @HianyzasTipus
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,175 @@
|
|||
-- =============================================
|
||||
-- Author: Telek Ákos
|
||||
-- Create date: 2016.07.20.
|
||||
-- Description: Entitás törléséhez lekérdezi az aktív kapcsolatait. Van-e olyan kapcsolódása, ahol vannak nem törölt rekordok. Visszaadja
|
||||
-- Modifier: Zalán Máriusz
|
||||
-- Date: 2020.03.06
|
||||
-- Tanév paraméter kiegészítés
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS sp_GetEntitasAktivKapcsolatai
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetEntitasAktivKapcsolatai
|
||||
@EntitasIDk AS XML /* a törlésre kijelölt entitás ID-k*/
|
||||
,@EntitasNevek as XML /* a törlésre kijelölt entitások*/
|
||||
,@tanevId int = null
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT OFF;
|
||||
|
||||
/*declare @cucc xml
|
||||
set @cucc = '<EntitasNevek><Entitas>OrarendiOra</Entitas><Entitas>Tanar</Entitas></EntitasNevek>'*/
|
||||
|
||||
-- XML paraméter értelmezése
|
||||
|
||||
CREATE TABLE #tempEntitasNevek (
|
||||
EntitasNev varchar(255)
|
||||
)
|
||||
CREATE TABLE #tempentitasIdk (
|
||||
entitasId int
|
||||
)
|
||||
CREATE TABLE #tempConnections (
|
||||
ID int
|
||||
,Target_Table varchar(255)
|
||||
,Target_Column varchar(255)
|
||||
,Source_Table varchar(255)
|
||||
,Source_Column varchar(255)
|
||||
)
|
||||
DECLARE @tanevColname nvarchar(128)
|
||||
INSERT INTO #tempEntitasNevek
|
||||
SELECT DISTINCT EntitasNev = 'T_'+Entitas.value('(.)[1]', 'varchar(50)')
|
||||
FROM @EntitasNevek.nodes('EntitasNevek/Entitas') as EntitasNevek(Entitas)
|
||||
|
||||
INSERT INTO #tempentitasIdk
|
||||
SELECT DISTINCT entitasId = entitasId.value('(.)[1]', 'int')
|
||||
FROM @entitasIdk.nodes('Entitasok/EntitasId') as Entitasok(entitasId)
|
||||
|
||||
CREATE TABLE #result(
|
||||
entitasId int
|
||||
,targetTableName nvarchar(255)
|
||||
,targetColumnName nvarchar(255)
|
||||
,cnt INT
|
||||
)
|
||||
|
||||
INSERT INTO #result (
|
||||
entitasId
|
||||
,cnt
|
||||
) SELECT
|
||||
entitasId
|
||||
,0
|
||||
FROM #tempentitasIdk
|
||||
|
||||
DECLARE
|
||||
@sourceTable nvarchar(255)
|
||||
,@sourceColumn nvarchar(255)
|
||||
,@targetTable nvarchar(255)
|
||||
,@targetColumn nvarchar(255)
|
||||
,@tableName nvarchar(255)
|
||||
|
||||
CREATE TABLE #References (
|
||||
PKTABLE_QUALIFIER nvarchar(255)
|
||||
,PKTABLE_OWNER nvarchar(255)
|
||||
,PKTABLE_NAME nvarchar(255)
|
||||
,PKCOLUMN_NAME nvarchar(255)
|
||||
,FKTABLE_QUALIFIER nvarchar(255)
|
||||
,FKTABLE_OWNER nvarchar(255)
|
||||
,FKTABLE_NAME nvarchar(255)
|
||||
,FKCOLUMN_NAME nvarchar(255)
|
||||
,KEY_SEQ int
|
||||
,UPDATE_RULE int
|
||||
,DELETE_RULE int
|
||||
,FK_NAME nvarchar(255)
|
||||
,PK_NAME nvarchar(255)
|
||||
,DEFERRABILITY int
|
||||
);
|
||||
|
||||
DECLARE table_cur CURSOR LOCAL FOR
|
||||
SELECT EntitasNev FROM #tempEntitasNevek
|
||||
|
||||
OPEN table_cur
|
||||
|
||||
FETCH NEXT FROM table_cur
|
||||
INTO @tableName
|
||||
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
INSERT INTO #References
|
||||
EXEC sp_fkeys @tableName, 'dbo'
|
||||
|
||||
FETCH NEXT FROM table_cur
|
||||
INTO @tableName
|
||||
END
|
||||
CLOSE table_cur
|
||||
DEALLOCATE table_cur
|
||||
|
||||
/*A köv tanév miatt kell*/
|
||||
UPDATE r SET
|
||||
PKTABLE_NAME = PKTABLE_NAME+'_OSSZES'
|
||||
FROM #References r
|
||||
WHERE EXISTS (select 1 from sys.views WHERE name COLLATE DATABASE_DEFAULT = r.PKTABLE_NAME+'_OSSZES')
|
||||
|
||||
UPDATE r SET
|
||||
FKTABLE_NAME = FKTABLE_NAME+'_OSSZES'
|
||||
FROM #References r
|
||||
WHERE EXISTS (select 1 from sys.views WHERE name COLLATE DATABASE_DEFAULT = r.FKTABLE_NAME+'_OSSZES')
|
||||
|
||||
DECLARE ref_cur CURSOR LOCAL FOR
|
||||
SELECT PKTABLE_NAME, PKCOLUMN_NAME, FKTABLE_NAME, FKCOLUMN_NAME
|
||||
FROM #references
|
||||
WHERE FKCOLUMN_NAME != 'ID' /*Azért szűrjük az ID mezőt, mert a leszármazott tábláknál van rá referencia*/
|
||||
AND (FKTABLE_NAME NOT LIKE ('T[_]DKT[_]%') OR FKTABLE_NAME IN ('T_DKT_FELADAT_OSSZES', 'T_DKT_FELADATFILE_OSSZES', 'T_DKT_FILE_OSSZES') )
|
||||
|
||||
OPEN ref_cur
|
||||
|
||||
FETCH NEXT FROM ref_cur
|
||||
INTO @sourceTable, @sourceColumn, @targetTable, @targetColumn
|
||||
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
DECLARE @sql nvarchar(1000), @FINALQUERY nvarchar(1000)
|
||||
IF @tanevId IS NOT NULL BEGIN
|
||||
SELECT
|
||||
@tanevColname = c.name
|
||||
FROM sys.columns c
|
||||
INNER JOIN sys.tables t ON t.object_id = c.object_id ANd t.name = @targetTable
|
||||
WHERE c.name in ('C_TANEVID','C_ALTANEVID')
|
||||
END
|
||||
|
||||
SET @sql = N'
|
||||
SELECT #tempentitasIdk.entitasId, '''+@targetTable+''','''+@targetColumn+''', COUNT(1) AS cnt
|
||||
FROM '+@targetTable+'
|
||||
INNER JOIN #tempentitasIdk ON #tempentitasIdk.entitasId = '+@targetTable+'.'+@targetColumn+'
|
||||
WHERE 1=1 '
|
||||
|
||||
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = @targetTable AND COLUMN_NAME = 'TOROLT') BEGIN
|
||||
SET @sql = @sql + N'
|
||||
AND ' + @targetTable + '.TOROLT = ''F'''
|
||||
END
|
||||
IF @tanevColname IS NOT NULL BEGIN
|
||||
SET @sql += ' AND '+@targetTable+'.'+@tanevColname+' = @tanevId'
|
||||
END
|
||||
|
||||
SET @sql = @sql + N'
|
||||
GROUP BY #tempentitasIdk.entitasId'
|
||||
|
||||
INSERT INTO #result
|
||||
EXEC sp_executesql @sql,N'@tanevId int',@tanevId = @tanevId
|
||||
|
||||
FETCH NEXT FROM ref_cur
|
||||
INTO @sourceTable, @sourceColumn, @targetTable, @targetColumn
|
||||
|
||||
END
|
||||
|
||||
CLOSE ref_cur
|
||||
DEALLOCATE ref_cur
|
||||
|
||||
IF OBJECT_ID('tempdb..#tempentitasIdk') IS NOT NULL BEGIN
|
||||
DROP TABLE #tempentitasIdk
|
||||
END
|
||||
|
||||
SELECT entitasId, targetTableName, targetColumnName, SUM(cnt) SUMROWCOUNT
|
||||
FROM #result
|
||||
GROUP BY entitasId, targetTableName, targetColumnName
|
||||
HAVING SUM(cnt) > 0
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,54 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetErettsegiEredmenyekReszletekData]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Előszedjük a tanuló érettségi eredményeit részletesen>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetErettsegiEredmenyekReszletekData]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pTanuloId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
--NOTE: Azért CAST-oljuk NVARCHAR(10)-re, mert kellenek ideiglenes ID-k c# oldalon, amik stringesek!
|
||||
CAST(ErettsegiEredmeny.ID AS NVARCHAR(10)) ID
|
||||
,ErettsegiEredmeny.C_ERETTSEGITANTARGY ErettsegiTantargyId
|
||||
,ErettsegiEredmeny.C_ERETTSEGISZINT ErettsegiSzintId
|
||||
,ErettsegiEredmeny.C_ERETTSEGITIPUS ErettsegiTipusId
|
||||
,ErettsegiEredmeny.C_IRASBELIPONTSZAM IrasbeliPontszam
|
||||
,ErettsegiEredmeny.C_SZOBELIPONTSZAM SzobeliPontszam
|
||||
,ErettsegiEredmeny.C_GYAKORLATPONTSZAM GyakorlatiPontszam
|
||||
,ErettsegiEredmeny.C_MEGJEGYZES Megjegyzes
|
||||
--NOTE: Azért CAST-oljuk NVARCHAR(3)-re, mert ha nincs értéke, akkor "-"-et írunk c# oldalon, ami stringes!
|
||||
,CAST(ErettsegiEredmeny.C_OSSZPONTSZAM AS NVARCHAR(3)) OsszPontszam
|
||||
,ErettsegiTantargyAdatok.C_OSSZMAXPONTSZAM OsszMaxPontszam
|
||||
FROM
|
||||
T_ERETTSEGIEREDMENY_OSSZES ErettsegiEredmeny
|
||||
LEFT JOIN
|
||||
T_ERETTSEGITANTARGY_OSSZES ErettsegiTantargy ON
|
||||
ErettsegiTantargy.ID = ErettsegiEredmeny.C_ERETTSEGITANTARGY
|
||||
AND ErettsegiTantargy.C_ALINTEZMENYID = @pIntezmenyId
|
||||
AND ErettsegiTantargy.C_ALTANEVID = @pTanevId
|
||||
AND ErettsegiTantargy.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_ERETTSEGITANTARGYADATOK_OSSZES ErettsegiTantargyAdatok ON
|
||||
ErettsegiTantargyAdatok.C_ERETTSEGITANTARGY = ErettsegiTantargy.ID
|
||||
AND ErettsegiTantargyAdatok.C_ERETTSEGISZINT = ErettsegiEredmeny.C_ERETTSEGISZINT
|
||||
AND ErettsegiTantargyAdatok.C_INTEZMENYID = @pIntezmenyId
|
||||
AND ErettsegiTantargyAdatok.C_TANEVID = @pTanevId
|
||||
AND ErettsegiTantargyAdatok.TOROLT = 'F'
|
||||
WHERE
|
||||
ErettsegiEredmeny.C_TANULOID = @pTanuloId
|
||||
AND ErettsegiEredmeny.C_INTEZMENYID = @pIntezmenyId
|
||||
AND ErettsegiEredmeny.C_TANEVID = @pTanevId
|
||||
AND ErettsegiEredmeny.TOROLT = 'F'
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,154 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetErettsegiKerdesek]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetErettsegiKerdesek]
|
||||
@tanuloId int,
|
||||
@kerdesSzam int,
|
||||
@erettsegiTantargyId int,
|
||||
@erettsegiSzintId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @SorokSzama INT
|
||||
DECLARE @TempErettsegi TABLE
|
||||
(
|
||||
Id int,
|
||||
Cim nvarchar(1000),
|
||||
ErettsegiSzintId int,
|
||||
ErettsegiTantargyId int,
|
||||
HelyesValasz nvarchar(1000),
|
||||
Kategoria nvarchar(10),
|
||||
Kep nvarchar(max),
|
||||
Kerdes nvarchar(1000),
|
||||
Szoveg nvarchar(2000),
|
||||
Tema nvarchar(1000),
|
||||
ValaszB nvarchar(1000),
|
||||
ValaszC nvarchar(1000),
|
||||
ValaszD nvarchar(1000),
|
||||
ValaszE nvarchar(1000),
|
||||
ValaszF nvarchar(1000),
|
||||
ValaszSzoveges nvarchar(1000)
|
||||
)
|
||||
|
||||
IF (@kerdesSzam = 0)
|
||||
BEGIN
|
||||
SET @kerdesSzam = 50000
|
||||
END
|
||||
|
||||
-- Új kérdesek betöltése
|
||||
INSERT @TempErettsegi (
|
||||
Id, Cim, ErettsegiSzintId, ErettsegiTantargyId,
|
||||
HelyesValasz, Kategoria, Kep, Kerdes, Szoveg, Tema,
|
||||
ValaszB, ValaszC, ValaszD, ValaszE, ValaszF, ValaszSzoveges)
|
||||
SELECT TOP (@kerdesSzam)
|
||||
[ID] as Id
|
||||
,[C_CIM] as Cim
|
||||
,[C_ERETTSEGISZINTID] as ErettsegiSzintId
|
||||
,[C_ERETTSEGITANTARGYID] as ErettsegiTantargyId
|
||||
,[C_HELYESVALASZ] as HelyesValasz
|
||||
,[C_KATEGORIA] as Kategoria
|
||||
,[C_KEP] as Kep
|
||||
,[C_KERDES] as Kerdes
|
||||
,[C_SZOVEG] as Szoveg
|
||||
,[C_TEMA] as Tema
|
||||
,[C_VALASZB] as ValaszB
|
||||
,[C_VALASZC] as ValaszC
|
||||
,[C_VALASZD] as ValaszD
|
||||
,[C_VALASZE] as ValaszE
|
||||
,[C_VALASZF] as ValaszF
|
||||
,[C_VALASZSZOVEGES] as ValaszSzoveges
|
||||
FROM T_ERETTSEGIKERDES ek
|
||||
WHERE ek.C_ERETTSEGISZINTID = @erettsegiSzintId AND
|
||||
ek.C_ERETTSEGITANTARGYID = @erettsegiTantargyId AND
|
||||
NOT EXISTS (SELECT 1 FROM T_ERETTSEGIVALASZ tv WHERE tv.C_TANULOID = @tanuloId AND tv.C_ERETTSEGIKERDESID = ek.ID)
|
||||
ORDER BY NEWID()
|
||||
|
||||
SELECT @SorokSzama = COUNT(1) FROM @TempErettsegi
|
||||
|
||||
-- Utoljára hibás kérdések betöltése
|
||||
IF (@SorokSzama < @kerdesSzam)
|
||||
BEGIN
|
||||
INSERT @TempErettsegi (
|
||||
Id, Cim, ErettsegiSzintId, ErettsegiTantargyId,
|
||||
HelyesValasz, Kategoria, Kep, Kerdes, Szoveg, Tema,
|
||||
ValaszB, ValaszC, ValaszD, ValaszE, ValaszF, ValaszSzoveges)
|
||||
SELECT TOP (@kerdesSzam - @SorokSzama)
|
||||
[ID] as Id
|
||||
,[C_CIM] as Cim
|
||||
,[C_ERETTSEGISZINTID] as ErettsegiSzintId
|
||||
,[C_ERETTSEGITANTARGYID] as ErettsegiTantargyId
|
||||
,[C_HELYESVALASZ] as HelyesValasz
|
||||
,[C_KATEGORIA] as Kategoria
|
||||
,[C_KEP] as Kep
|
||||
,[C_KERDES] as Kerdes
|
||||
,[C_SZOVEG] as Szoveg
|
||||
,[C_TEMA] as Tema
|
||||
,[C_VALASZB] as ValaszB
|
||||
,[C_VALASZC] as ValaszC
|
||||
,[C_VALASZD] as ValaszD
|
||||
,[C_VALASZE] as ValaszE
|
||||
,[C_VALASZF] as ValaszF
|
||||
,[C_VALASZSZOVEGES] as ValaszSzoveges
|
||||
FROM T_ERETTSEGIKERDES ek
|
||||
WHERE ek.C_ERETTSEGISZINTID = @erettsegiSzintId AND
|
||||
ek.C_ERETTSEGITANTARGYID = @erettsegiTantargyId AND
|
||||
NOT EXISTS (SELECT 1 FROM @TempErettsegi te WHERE te.Id = ek.ID) AND
|
||||
'F' = (SELECT TOP 1 C_HELYES FROM T_ERETTSEGIVALASZ tv WHERE tv.C_TANULOID = @tanuloId AND tv.C_ERETTSEGIKERDESID = ek.ID ORDER BY C_DATUM DESC)
|
||||
ORDER BY NEWID()
|
||||
END
|
||||
|
||||
SELECT @SorokSzama = COUNT(1) FROM @TempErettsegi
|
||||
|
||||
-- Maradék elemek véletlenszerűen
|
||||
IF (@SorokSzama < @kerdesSzam)
|
||||
BEGIN
|
||||
INSERT @TempErettsegi (
|
||||
Id, Cim, ErettsegiSzintId, ErettsegiTantargyId,
|
||||
HelyesValasz, Kategoria, Kep, Kerdes, Szoveg, Tema,
|
||||
ValaszB, ValaszC, ValaszD, ValaszE, ValaszF, ValaszSzoveges)
|
||||
SELECT TOP (@kerdesSzam - @SorokSzama)
|
||||
[ID] as Id
|
||||
,[C_CIM] as Cim
|
||||
,[C_ERETTSEGISZINTID] as ErettsegiSzintId
|
||||
,[C_ERETTSEGITANTARGYID] as ErettsegiTantargyId
|
||||
,[C_HELYESVALASZ] as HelyesValasz
|
||||
,[C_KATEGORIA] as Kategoria
|
||||
,[C_KEP] as Kep
|
||||
,[C_KERDES] as Kerdes
|
||||
,[C_SZOVEG] as Szoveg
|
||||
,[C_TEMA] as Tema
|
||||
,[C_VALASZB] as ValaszB
|
||||
,[C_VALASZC] as ValaszC
|
||||
,[C_VALASZD] as ValaszD
|
||||
,[C_VALASZE] as ValaszE
|
||||
,[C_VALASZF] as ValaszF
|
||||
,[C_VALASZSZOVEGES] as ValaszSzoveges
|
||||
FROM T_ERETTSEGIKERDES ek
|
||||
WHERE ek.C_ERETTSEGISZINTID = @erettsegiSzintId AND
|
||||
ek.C_ERETTSEGITANTARGYID = @erettsegiTantargyId AND
|
||||
NOT EXISTS (SELECT 1 FROM @TempErettsegi te WHERE te.Id = ek.ID)
|
||||
ORDER BY NEWID()
|
||||
END
|
||||
|
||||
SELECT TOP (@kerdesSzam)
|
||||
Id as Id
|
||||
,Cim as Cim
|
||||
,ErettsegiSzintId as ErettsegiSzintId
|
||||
,ErettsegiTantargyId as ErettsegiTantargyId
|
||||
,HelyesValasz as HelyesValasz
|
||||
,Kategoria as Kategoria
|
||||
,Kep as Kep
|
||||
,Kerdes as Kerdes
|
||||
,Szoveg as Szoveg
|
||||
,Tema as Tema
|
||||
,ValaszB as ValaszB
|
||||
,ValaszC as ValaszC
|
||||
,ValaszD as ValaszD
|
||||
,ValaszE as ValaszE
|
||||
,ValaszF as ValaszF
|
||||
,ValaszSzoveges as ValaszSzoveges
|
||||
FROM @TempErettsegi
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,78 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetErtekelesFotargyiFoglalkozasData]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Felhasználóhoz köthetõ foglalkozások fõtárgy adatai az értékelések szûréséhez>
|
||||
-- =============================================
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetErtekelesFotargyiFoglalkozasData]
|
||||
@pTanarId INT
|
||||
,@pTanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT DISTINCT
|
||||
MAX(foglalkozas.ID) ID
|
||||
,foglalkozas.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
,fotargy.ID TantargyId
|
||||
,MAX(fotargy.C_NEV) TantargyNev
|
||||
,MAX(osztalyCsoport.C_NEV + ' - ' + fotargy.C_NEV) Nev
|
||||
,MAX(osztalyCsoport.C_EVFOLYAMTIPUSA) Evfolyam
|
||||
,MAX(osztalyCsoport.C_NEV) OsztalyCsoportNev
|
||||
,MAX(csoport.C_TIPUSA) CsoportTipusId
|
||||
FROM
|
||||
T_FOGLALKOZAS_OSSZES foglalkozas
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON
|
||||
osztalyCsoport.ID = foglalkozas.C_OSZTALYCSOPORTID
|
||||
AND osztalyCsoport.C_TANEVID = @pTanevId
|
||||
AND osztalyCsoport.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_CSOPORT_OSSZES csoport ON
|
||||
csoport.ID = foglalkozas.C_OSZTALYCSOPORTID
|
||||
AND csoport.C_ALTANEVID = @pTanevId
|
||||
AND csoport.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_TANTARGY_OSSZES tantargy ON
|
||||
tantargy.ID = foglalkozas.C_TANTARGYID
|
||||
AND tantargy.C_TANEVID = @pTanevId
|
||||
AND tantargy.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES felhasznalo ON
|
||||
felhasznalo.ID = foglalkozas.C_TANARID
|
||||
AND felhasznalo.C_TANEVID = @pTanevId
|
||||
AND felhasznalo.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_TANTARGY_OSSZES fotargy ON
|
||||
fotargy.C_TANEVID = @pTanevId
|
||||
AND fotargy.C_FOTARGYE = 'T'
|
||||
AND fotargy.TOROLT = 'F'
|
||||
AND fotargy.ID IN (
|
||||
SELECT
|
||||
C_FOTARGYID
|
||||
FROM
|
||||
T_TANTARGY_OSSZES
|
||||
WHERE
|
||||
ID = foglalkozas.C_TANTARGYID
|
||||
AND C_TANEVID = @pTanevId
|
||||
AND TOROLT = 'F'
|
||||
)
|
||||
WHERE
|
||||
fotargy.ID IS NOT NULL
|
||||
AND foglalkozas.C_TANARID = @pTanarId
|
||||
AND foglalkozas.C_TANEVID = @pTanevId
|
||||
AND foglalkozas.TOROLT = 'F'
|
||||
GROUP BY
|
||||
foglalkozas.C_OSZTALYCSOPORTID
|
||||
,fotargy.ID
|
||||
ORDER BY
|
||||
Evfolyam ASC
|
||||
,OsztalyCsoportNev ASC
|
||||
,TantargyNev ASC
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetErtesitendoNebuloList]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetErtesitendoNebuloList]
|
||||
@pFelvetelStatuszaTipusFelveve INT
|
||||
,@pFelvetelStatuszaTipusNemFelveve INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT *
|
||||
FROM
|
||||
T_NEBULO
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND (C_FELVETELSTATUSZA = @pFelvetelStatuszaTipusFelveve OR C_FELVETELSTATUSZA = @pFelvetelStatuszaTipusNemFelveve)
|
||||
AND (C_ERTESITESDATUMA IS NULL OR C_ERTESITESDATUMA < LASTCHANGED)
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
-- ===================================================================================================
|
||||
-- Description: <Felhasználóhoz tartozó faliújságbejegyzések és tanévrendje események lekérdezése>
|
||||
-- ===================================================================================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFaliujsagBejegyzesek]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetFaliujsagBejegyzesek]
|
||||
@pUserId int
|
||||
,@pDate datetime
|
||||
,@pEsemenyTipusFaliujsagBejegyzes int
|
||||
,@pFeladatKategoriaId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SELECT
|
||||
y.ID AS ID
|
||||
,y.Erv_kezd AS Erv_kezd
|
||||
,y.Erv_vege AS Erv_vege
|
||||
,y.Cim AS Cim
|
||||
,y.Szoveg AS Szoveg
|
||||
,y.SzovegWeb AS SzovegWeb
|
||||
,fh.C_NYOMTATASINEV AS Bejegyzo
|
||||
,fh.C_PROFILKEP AS ProfilKep
|
||||
,IIF(ma.C_VEZETOIORASZAMOK = 6571, ma.C_MUNKAKORTIPUSA, ISNULL(ma.C_VEZETOIORASZAMOK, 6331)) AS Munkakor
|
||||
,y.C_MINDENKINEK
|
||||
FROM (
|
||||
SELECT
|
||||
tes.ID AS ID
|
||||
,tes.C_KEZDETE AS Erv_kezd
|
||||
,tes.C_VEGE AS Erv_vege
|
||||
,tes.C_TARGY AS Cim
|
||||
,tes.C_TARTALOM AS Szoveg
|
||||
,tes.C_TARTALOMWEB AS SzovegWeb
|
||||
,tes.C_FELJEGYZOID
|
||||
,tes.C_MINDENKINEK
|
||||
FROM T_TANULOESEMENY tes
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANULOESEMENY ocstes ON ocstes.C_TANULOESEMENYID = tes.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = ocstes.C_OSZTALYCSOPORTID
|
||||
AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID
|
||||
AND tcs.C_TANULOID = @pUserId
|
||||
AND tcs.C_BELEPESDATUM <= @pDate
|
||||
AND (tcs.C_KILEPESDATUM >= @pDate OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND tcs.TOROLT = 'F'
|
||||
LEFT JOIN T_TANULO_TANULOESEMENY ttes ON tes.ID = ttes.C_TANULOESEMENYID
|
||||
WHERE tes.C_KEZDETE <= @pDate
|
||||
AND (tes.C_VEGE IS NULL OR tes.C_VEGE >= @pDate)
|
||||
AND tes.TOROLT = 'F'
|
||||
AND (tes.C_FALIUJSAGMEGJELENES = 'T' OR tes.C_TIPUS = @pEsemenyTipusFaliujsagBejegyzes)
|
||||
AND (ttes.C_TANULOID IS NULL OR ttes.C_TANULOID = @pUserId)
|
||||
UNION
|
||||
SELECT
|
||||
tes.ID AS ID
|
||||
,tes.C_KEZDETE AS Erv_kezd
|
||||
,tes.C_VEGE AS Erv_vege
|
||||
,tes.C_TARGY AS Cim
|
||||
,tes.C_TARTALOM AS Szoveg
|
||||
,tes.C_TARTALOMWEB AS SzovegWeb
|
||||
,tes.C_FELJEGYZOID
|
||||
,tes.C_MINDENKINEK
|
||||
FROM T_TANULOESEMENY tes
|
||||
INNER JOIN T_TANULO_TANULOESEMENY ttes ON tes.ID = ttes.C_TANULOESEMENYID
|
||||
WHERE tes.C_MINDENKINEK = 'T'
|
||||
AND tes.C_KEZDETE <= @pDate
|
||||
AND (tes.C_VEGE IS NULL OR tes.C_VEGE >= @pDate)
|
||||
AND tes.TOROLT = 'F'
|
||||
AND (tes.C_FALIUJSAGMEGJELENES = 'T' OR tes.C_TIPUS = @pEsemenyTipusFaliujsagBejegyzes)
|
||||
AND ttes.C_TANULOID = @pUserId
|
||||
) y
|
||||
INNER JOIN T_FELHASZNALO fh ON y.C_FELJEGYZOID = fh.ID
|
||||
AND fh.TOROLT = 'F'
|
||||
LEFT JOIN T_MUNKAUGYIADATOK ma ON ma.C_ALKALMAZOTTID = fh.ID
|
||||
AND ma.TOROLT = 'F'
|
||||
ORDER BY y.Erv_kezd DESC, y.ID DESC
|
||||
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFelhasznaloErintettOsztalyai]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetFelhasznaloErintettOsztalyai]
|
||||
@felhasznaloId INT
|
||||
,@feladatellatasihelyId INT = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
ocs.ID AS ID
|
||||
,ocs.C_NEV AS Nev
|
||||
,'1' AS Tipus
|
||||
,cs.C_TIPUSA AS CsoportTipusa
|
||||
,ocs.C_EVFOLYAMTIPUSA AS Evfolyam
|
||||
,feladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS AS EllatottFeladatTipusId
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
LEFT JOIN T_OSZTALY o ON o.ID=ocs.ID AND (o.C_OSZTALYFONOKID=@felhasznaloId OR o.C_OFOHELYETTESID = @felhasznaloId)
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID=ocs.ID AND cs.C_CSOPORTVEZETOID=@felhasznaloId
|
||||
INNER JOIN T_FELADATELLATASIHELY feladatellatasiHely ON ocs.C_FELADATELLATASIHELYID = feladatellatasiHely.ID
|
||||
WHERE ocs.TOROLT = 'F' AND (@feladatellatasihelyId IS NULL OR ocs.C_FELADATELLATASIHELYID=@feladatellatasihelyId)
|
||||
AND NOT (o.ID IS NULL AND cs.ID IS NULL)
|
||||
ORDER BY cs.C_TIPUSA, ocs.C_EVFOLYAMTIPUSA
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,44 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFelhasznaloErintettTargyai]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: <Hoffmann Zsolt>
|
||||
-- Create date: <2016. 03. 03.>
|
||||
-- Description: <Felhasználóhoz kötheto tantárgyak és egyéb tantárgyak>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetFelhasznaloErintettTargyai]
|
||||
@felhasznaloId INT = NULL
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
WITH q (ID,Nev,Tipus) AS
|
||||
(SELECT
|
||||
T_TANTARGY.ID,
|
||||
T_TANTARGY.C_NEV Nev,
|
||||
'1' Tipus
|
||||
FROM
|
||||
T_TANTARGY
|
||||
INNER JOIN T_FOGLALKOZAS ON T_FOGLALKOZAS.C_TANTARGYID = T_TANTARGY.ID
|
||||
WHERE
|
||||
T_TANTARGY.TOROLT = 'F' AND
|
||||
T_TANTARGY.C_FOTARGYID IS NULL AND
|
||||
(T_FOGLALKOZAS.C_TANARID = @felhasznaloId OR @felhasznaloId IS NULL)
|
||||
)
|
||||
SELECT ID,Nev,tipus FROM q
|
||||
UNION
|
||||
SELECT DISTINCT
|
||||
T_TANTARGY.ID,
|
||||
T_TANTARGY.C_NEV Nev,
|
||||
'3' Tipus
|
||||
FROM T_TANTARGY
|
||||
INNER JOIN T_FOGLALKOZAS ON T_FOGLALKOZAS.C_TANTARGYID = T_TANTARGY.ID AND T_FOGLALKOZAS.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT ON T_OSZTALYCSOPORT.ID = T_FOGLALKOZAS.C_OSZTALYCSOPORTID AND T_OSZTALYCSOPORT.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALY ON T_OSZTALY.ID = T_OSZTALYCSOPORT.ID AND T_OSZTALY.TOROLT = 'F'
|
||||
WHERE
|
||||
T_TANTARGY.TOROLT = 'F'
|
||||
AND (T_OSZTALY.C_OSZTALYFONOKID = @felhasznaloId OR T_OSZTALY.C_OFOHELYETTESID = @felhasznaloId)
|
||||
AND T_TANTARGY.ID not in (SELECT ID FROM q)
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,59 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFelhasznaloFoglalkozasokErtekelesekhez]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Felhasználóhoz köthetõ foglalkozások az értékelések szûréséhez>
|
||||
-- =============================================
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetFelhasznaloFoglalkozasokErtekelesekhez]
|
||||
@pTanarId INT
|
||||
,@pTanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
foglalkozas.ID ID
|
||||
,foglalkozas.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
,tantargy.ID TantargyId
|
||||
,tantargy.C_Nev TantargyNev
|
||||
,osztalyCsoport.C_NEV + ' - ' + tantargy.C_Nev Nev
|
||||
,osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam
|
||||
,osztalyCsoport.C_NEV OsztalyCsoportNev
|
||||
,csoport.C_TIPUSA CsoportTipusId
|
||||
FROM
|
||||
T_FOGLALKOZAS_OSSZES foglalkozas
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON
|
||||
osztalyCsoport.ID = foglalkozas.C_OSZTALYCSOPORTID
|
||||
AND osztalyCsoport.C_TANEVID = @pTanevId
|
||||
AND osztalyCsoport.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_CSOPORT_OSSZES csoport ON
|
||||
csoport.ID = foglalkozas.C_OSZTALYCSOPORTID
|
||||
AND csoport.C_ALTANEVID = @pTanevId
|
||||
AND csoport.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_TANTARGY_OSSZES tantargy ON
|
||||
tantargy.ID = foglalkozas.C_TANTARGYID
|
||||
AND tantargy.C_TANEVID = @pTanevId
|
||||
AND tantargy.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES felhasznalo ON
|
||||
felhasznalo.ID = foglalkozas.C_TANARID
|
||||
AND felhasznalo.C_TANEVID = @pTanevId
|
||||
AND felhasznalo.TOROLT = 'F'
|
||||
WHERE
|
||||
foglalkozas.C_TANEVID = @pTanevId
|
||||
AND foglalkozas.C_TANARID = @pTanarId
|
||||
AND foglalkozas.TOROLT = 'F'
|
||||
ORDER BY
|
||||
Evfolyam ASC
|
||||
,OsztalyCsoportNev ASC
|
||||
,TantargyNev ASC
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,122 @@
|
|||
-- =============================================
|
||||
-- Author: Sólyom Péter
|
||||
-- Create date: 2016.04.05.
|
||||
-- Description: Lekérdezi a felhasználóhoz tartozó jogokat (osztályfőnök, csoportvezető, stb.)
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS sp_GetFelhasznaloJogok
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetFelhasznaloJogok
|
||||
@FELHASZNALOID INT,
|
||||
@SZEREPKORTIPUS INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @TEMPJOGOK TABLE (JOG nvarchar(100))
|
||||
DECLARE @szerepkorjog nvarchar(100)
|
||||
|
||||
-- SZEREPKÖR JOGOK
|
||||
SELECT @szerepkorjog =
|
||||
CASE @SZEREPKORTIPUS
|
||||
WHEN 1758 THEN N'Adminisztrator'
|
||||
WHEN 1760 THEN N'Naplo'
|
||||
WHEN 1761 THEN N'Ellenorzo'
|
||||
WHEN 7371 THEN N'PenzugyiAdmin'
|
||||
WHEN 7372 THEN N'Penztaros'
|
||||
WHEN 7373 THEN N'Alairo'
|
||||
WHEN 7374 THEN N'eUgyintezo'
|
||||
WHEN 7703 THEN N'EtkezesiAdmin'
|
||||
WHEN 7704 THEN N'EtkezesiEllenorzo'
|
||||
WHEN 7705 THEN N'TeremberletJelenletEllenorzo'
|
||||
WHEN 7698 THEN N'GazdasagiUgyintezo'
|
||||
WHEN 7702 THEN N'FokuszMonitoring'
|
||||
WHEN 7781 THEN N'Alkalmazott'
|
||||
WHEN 7789 THEN N'IskolaEgeszsegugyiKoordinator'
|
||||
WHEN 7790 THEN N'Vedono'
|
||||
WHEN 7791 THEN N'Iskolaorvos'
|
||||
WHEN 7792 THEN N'IskolaEgeszsegugyiAsszisztens'
|
||||
WHEN 7793 THEN N'IskolaEgeszsegugyiLekerdezo'
|
||||
WHEN 8753 THEN N'BelepokartyaAdmin'
|
||||
WHEN 8755 THEN N'LELTAR_CONCERNED'
|
||||
WHEN 8824 THEN N'Konyvtaros'
|
||||
WHEN 8828 THEN N'FELTAR_EsetKezelo'
|
||||
WHEN 8829 THEN N'FELTAR_EszkozMenedzser'
|
||||
WHEN 8961 THEN N'KerdoivKitolto_KerdoivKezelo'
|
||||
WHEN 9001 THEN N'Dualis_Admin'
|
||||
WHEN 9061 THEN N'FELTAR_SzerzodesMenedzser'
|
||||
WHEN 9062 THEN N'FELTAR_EsetJovahagyo'
|
||||
WHEN 9063 THEN N'FELTAR_EsetKozremukodo'
|
||||
WHEN 9064 THEN N'FELTAR_Munkavegzo'
|
||||
END
|
||||
|
||||
INSERT INTO @TEMPJOGOK SELECT @szerepkorjog
|
||||
|
||||
-- RENDSZERGAZDA VAGY SZUPERADMIN
|
||||
INSERT INTO @TEMPJOGOK
|
||||
SELECT DISTINCT C_JOG JOG
|
||||
FROM T_JOGOSULTSAG
|
||||
JOIN T_JOGOSULTSAG_FELHASZNALO FELHASZNALOJOG ON FELHASZNALOJOG.C_JOGOSULTSAGID = T_JOGOSULTSAG.ID
|
||||
WHERE T_JOGOSULTSAG.TOROLT = 'F'
|
||||
AND FELHASZNALOJOG.C_FELHASZNALOID = @FELHASZNALOID
|
||||
AND T_JOGOSULTSAG.C_SZEREPKORTIPUS = @SZEREPKORTIPUS
|
||||
UNION
|
||||
-- OSZTÁLYFŐNÖK
|
||||
SELECT DISTINCT 'Osztalyfonok'
|
||||
FROM T_OSZTALY OSZT
|
||||
LEFT JOIN T_MUNKAUGYIADATOK MUNKAUGY ON MUNKAUGY.C_ALKALMAZOTTID = @FELHASZNALOID
|
||||
WHERE (OSZT.C_OSZTALYFONOKID = @FELHASZNALOID OR OSZT.C_OFOHELYETTESID = @FELHASZNALOID AND OSZT.TOROLT ='F')
|
||||
OR (MUNKAUGY.TOROLT='F' AND
|
||||
MUNKAUGY.C_VEZETOIORASZAMOK BETWEEN 6572 AND 6574) -- 6572 - Intézményvezető, 6573 - Tagintézmény-vezető, 6574 - Intézményegység-vezető
|
||||
OR EXISTS (SELECT 1
|
||||
FROM T_SZEREPKOR
|
||||
INNER JOIN T_FELHASZNALO_SZEREPKOR FELHASZNALOSZEREPKOR ON FELHASZNALOSZEREPKOR.C_SZEREPKORID = T_SZEREPKOR.ID
|
||||
WHERE T_SZEREPKOR.TOROLT = 'F'
|
||||
AND FELHASZNALOSZEREPKOR.C_FELHASZNALOID = @FELHASZNALOID
|
||||
AND T_SZEREPKOR.C_SZEREPKORTIPUS = 1758)
|
||||
|
||||
-- ÉVFOLYAMFELELŐS
|
||||
UNION
|
||||
SELECT TOP 1 'Evfolyamfelelos'
|
||||
FROM T_OSZTALY OSZT
|
||||
WHERE OSZT.C_OFOHELYETTESID = @FELHASZNALOID AND OSZT.TOROLT ='F'
|
||||
-- CSOPORTVEZETŐ
|
||||
UNION
|
||||
SELECT TOP 1 'CsoportVezeto'
|
||||
FROM T_CSOPORT CSOP
|
||||
WHERE CSOP.C_CSOPORTVEZETOID = @FELHASZNALOID AND CSOP.TOROLT = 'F'
|
||||
-- SZUPEROSZTÁLYFŐNÖK (IGAZGATÓ, ÉVFOLYAMFELELŐS)
|
||||
UNION
|
||||
SELECT TOP 1 'SzuperOsztalyfonok'
|
||||
FROM T_MUNKAUGYIADATOK MUNKAUGY
|
||||
WHERE (MUNKAUGY.C_ALKALMAZOTTID = @FELHASZNALOID
|
||||
AND MUNKAUGY.TOROLT='F'
|
||||
AND MUNKAUGY.C_VEZETOIORASZAMOK BETWEEN 6572 AND 6574) -- 6572 - Intézményvezető, 6573 - Tagintézmény-vezető, 6574 - Intézményegység-vezető
|
||||
OR EXISTS (SELECT 1
|
||||
FROM T_SZEREPKOR
|
||||
INNER JOIN T_FELHASZNALO_SZEREPKOR FELHASZNALOSZEREPKOR ON FELHASZNALOSZEREPKOR.C_SZEREPKORID = T_SZEREPKOR.ID
|
||||
WHERE T_SZEREPKOR.TOROLT = 'F'
|
||||
AND FELHASZNALOSZEREPKOR.C_FELHASZNALOID = @FELHASZNALOID
|
||||
AND T_SZEREPKOR.C_SZEREPKORTIPUS = 1758)
|
||||
UNION -- TANÁR
|
||||
SELECT TOP 1 'Tanar'
|
||||
FROM T_FOGLALKOZAS FOGL
|
||||
WHERE FOGL.C_TANARID = @FELHASZNALOID AND FOGL.TOROLT = 'F'
|
||||
UNION
|
||||
SELECT TOP 1 'Tanar'
|
||||
FROM T_HELYETTESITESIIDOSZAK HEID
|
||||
WHERE HEID.C_HELYETTESTANAROKID = @FELHASZNALOID AND HEID.TOROLT = 'F'
|
||||
UNION
|
||||
SELECT TOP 1 'Tanar'
|
||||
FROM T_TANITASIORA TNO
|
||||
WHERE (TNO.C_HELYETTESITOTANARID = @FELHASZNALOID OR TNO.C_TANARID = @FELHASZNALOID) AND TNO.TOROLT = 'F'
|
||||
UNION
|
||||
SELECT TOP 1 'Tanulo'
|
||||
FROM T_TANULO tt
|
||||
WHERE ID= @FELHASZNALOID AND tt.TOROLT = 'F'
|
||||
|
||||
SELECT t.JOG
|
||||
FROM @TEMPJOGOK T
|
||||
JOIN T_JOGOSULTSAG JOGOS ON JOGOS.C_JOG = T.JOG
|
||||
WHERE JOGOS.C_SZEREPKORTIPUS = @SZEREPKORTIPUS
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,53 @@
|
|||
-- =============================================
|
||||
-- Description: <Felhasználóhoz köthető osztályok foglalkozások alapján az értékelések szűréséhez>
|
||||
-- =============================================
|
||||
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFelhasznaloOsztalyaiByFoglalkozas]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetFelhasznaloOsztalyaiByFoglalkozas]
|
||||
@felhasznaloId INT
|
||||
,@osztaly VARCHAR(32)
|
||||
,@csoport VARCHAR(32)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT DISTINCT
|
||||
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END AS NumberOrder
|
||||
,CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END AS NumberAndTextOrder
|
||||
,osztalyCsoport.ID AS ID
|
||||
,osztalyCsoport.C_NEV AS Nev
|
||||
,CASE WHEN Osztaly IS NOT NULL THEN @osztaly ELSE @csoport END AS Tipus
|
||||
,osztalyCsoport.C_EVFOLYAMTIPUSA AS Evfolyam
|
||||
,feladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS AS EllatottFeladatTipusId
|
||||
,csoport.C_TIPUSA AS CsoportTipusId
|
||||
FROM
|
||||
T_FOGLALKOZAS foglalkozas
|
||||
LEFT JOIN T_OSZTALYCSOPORT osztalyCsoport
|
||||
ON osztalyCsoport.ID = foglalkozas.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN
|
||||
T_CSOPORT csoport ON
|
||||
csoport.ID = foglalkozas.C_OSZTALYCSOPORTID
|
||||
AND csoport.TOROLT = 'F'
|
||||
LEFT JOIN T_TANTARGY tantargy
|
||||
ON tantargy.ID = foglalkozas.C_TANTARGYID
|
||||
LEFT JOIN T_FELHASZNALO felhasznalo
|
||||
ON felhasznalo.ID = foglalkozas.C_TANARID
|
||||
LEFT JOIN (SELECT ID, 'T' AS Osztaly FROM T_OSZTALY_OSSZES) AS o
|
||||
ON o.ID = osztalyCsoport.ID
|
||||
LEFT JOIN (SELECT ID, C_TIPUSA FROM T_CSOPORT_OSSZES WHERE TOROLT = 'F') AS cs
|
||||
ON cs.ID = osztalyCsoport.ID
|
||||
INNER JOIN T_FELADATELLATASIHELY feladatellatasiHely
|
||||
ON osztalyCsoport.C_FELADATELLATASIHELYID = feladatellatasiHely.ID
|
||||
WHERE
|
||||
foglalkozas.TOROLT = 'F' AND
|
||||
foglalkozas.C_TANARID = @felhasznaloId
|
||||
ORDER BY
|
||||
NumberOrder ASC, NumberAndTextOrder ASC, osztalyCsoport.C_NEV ASC
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,64 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFeljegyzesBeirasokData]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Előszedjük az osztály csoport tanulóinak feljegyzéseit a faliújság bejegyzések oldalhoz>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetFeljegyzesBeirasokData]
|
||||
@pTanevId INT
|
||||
,@pIntezmenyId INT
|
||||
,@pOsztalyCsoportId INT
|
||||
,@pStartDate DATE
|
||||
,@pTanarId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT DISTINCT
|
||||
TanuloEsemeny.ID AS ID
|
||||
,TanuloEsemeny.C_ESEMENYDATUMA AS EsemenyDatuma
|
||||
,TanuloEsemeny.C_TARGY AS Targy
|
||||
,TanuloEsemeny.C_TARTALOM AS Tartalom
|
||||
,TanuloEsemeny.C_TIPUS AS Tipus
|
||||
,Tanulo.ID AS TanuloId
|
||||
,Tanulo.C_NYOMTATASINEV AS TanuloNev
|
||||
,IIF(Tanulo.C_NEVSORREND = 'T',
|
||||
Tanulo.C_UTONEV + ' ' + Tanulo.C_VEZETEKNEV,
|
||||
Tanulo.C_VEZETEKNEV + ' ' + Tanulo.C_UTONEV) AS TanuloNevElotagNelkul
|
||||
,Tanulo.C_ANYJANEVE AS AnyjaNeve
|
||||
,Tanulo.C_SZULETESIDATUM AS SzuletesiIdo
|
||||
,Tanar.C_NYOMTATASINEV AS FeljegyzoNeve
|
||||
,OsztalyCsoport.C_NEV AS OsztalyNev
|
||||
,CASE
|
||||
WHEN TanuloEsemeny.C_FELJEGYZOID = @pTanarId
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Modosithato
|
||||
,mua.C_SZERVEZETID AS FeljegyzoSzervezetId
|
||||
FROM T_FELHASZNALO_OSSZES Tanulo
|
||||
LEFT JOIN T_TANULO_TANULOESEMENY TanuloTanuloEsemeny ON TanuloTanuloEsemeny.C_TANULOID = Tanulo.ID
|
||||
LEFT JOIN T_TANULOESEMENY_OSSZES TanuloEsemeny ON TanuloEsemeny.ID = TanuloTanuloEsemeny.C_TANULOESEMENYID
|
||||
AND CAST(TanuloEsemeny.C_ESEMENYDATUMA AS DATE) >= @pStartDate
|
||||
AND CAST(TanuloEsemeny.C_ESEMENYDATUMA AS DATE) <= CAST(GETDATE() AS DATE)
|
||||
AND TanuloEsemeny.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES Tanar ON Tanar.ID = TanuloEsemeny.C_FELJEGYZOID
|
||||
AND Tanar.TOROLT = 'F'
|
||||
LEFT JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.C_TANULOID = TANULO.ID
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
LEFT JOIN T_MUNKAUGYIADATOK_OSSZES mua ON mua.C_ALKALMAZOTTID = Tanar.ID
|
||||
AND mua.TOROLT = 'F'
|
||||
WHERE Tanulo.TOROLT = 'F'
|
||||
AND OsztalyCsoport.ID = @pOsztalyCsoportId
|
||||
AND Tanulo.C_TANEVID = @pTanevId
|
||||
AND Tanulo.C_INTEZMENYID = @pIntezmenyId
|
||||
ORDER BY
|
||||
TanuloNevElotagNelkul
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFeljegyzesBeirasokReszletek]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Előszedjük a tanuló feljegyzéseit a beirások oldalhoz részletesen>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetFeljegyzesBeirasokReszletek]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pTanuloId INT
|
||||
,@pToroltElemek CHAR = 'F'
|
||||
,@pTanarId INT
|
||||
,@pEsemenyTipusElektronikusUzenetId INT
|
||||
,@pEsemenyTipusFaliujsagBejegyzesId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
TanuloEsemeny.ID AS ID
|
||||
,TanuloEsemeny.C_ESEMENYDATUMA AS EsemenyDatuma
|
||||
,TanuloEsemeny.C_TIPUS AS Tipus
|
||||
,TanuloEsemeny.C_TARGY AS Targy
|
||||
,TanuloEsemeny.C_TARTALOM AS Tartalom
|
||||
,TanuloEsemeny.TOROLT AS Torolt
|
||||
,Tanulo.ID AS TanuloId
|
||||
,Tanulo.C_NYOMTATASINEV AS TanuloNev
|
||||
,Tanar.C_NYOMTATASINEV AS FeljegyzoNeve
|
||||
,CASE
|
||||
WHEN TanuloEsemeny.C_FELJEGYZOID = @pTanarId
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Modosithato
|
||||
,mua.C_SZERVEZETID AS FeljegyzoSzervezetId
|
||||
FROM T_TANULOESEMENY_OSSZES TanuloEsemeny
|
||||
LEFT JOIN T_TANULO_TANULOESEMENY TanuloTanuloEsemeny ON TanuloTanuloEsemeny.C_TANULOESEMENYID = TanuloEsemeny.ID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES Tanulo ON Tanulo.ID = TanuloTanuloEsemeny.C_TANULOID
|
||||
AND Tanulo.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES Tanar ON Tanar.ID = TanuloEsemeny.C_FELJEGYZOID
|
||||
AND Tanar.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Tanar.C_TANEVID = @pTanevId
|
||||
AND Tanar.TOROLT = 'F'
|
||||
LEFT JOIN T_MUNKAUGYIADATOK_OSSZES mua ON mua.C_ALKALMAZOTTID = Tanar.ID
|
||||
AND mua.TOROLT = 'F'
|
||||
WHERE Tanulo.ID = @pTanuloId
|
||||
AND TanuloEsemeny.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloEsemeny.C_TANEVID = @pTanevId
|
||||
AND TanuloEsemeny.C_TIPUS <> @pEsemenyTipusElektronikusUzenetId
|
||||
AND TanuloEsemeny.C_TIPUS <> @pEsemenyTipusFaliujsagBejegyzesId
|
||||
--Ha a törölt flag True, a törölt elemeket is visszaadjuk
|
||||
AND TanuloEsemeny.TOROLT = IIF(@pToroltElemek = 'T',TanuloEsemeny.TOROLT, 'F')
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFeljegyzesElektronikusUzenetekListaNezetData]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Előszedjük az osztály csoport tanulóinak feljegyzéseit az elektronikus üzenetek oldal lista nézet tab-jához>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetFeljegyzesElektronikusUzenetekListaNezetData]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pOsztalyCsoportId INT
|
||||
,@pTanarId INT
|
||||
,@pEsemenyTipusElektronikusUzenetId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT DISTINCT
|
||||
TanuloEsemeny.ID AS ID
|
||||
,TanuloEsemeny.C_ESEMENYDATUMA AS EsemenyDatuma
|
||||
,TanuloEsemeny.C_TARGY AS Targy
|
||||
,TanuloEsemeny.C_TARTALOM AS Tartalom
|
||||
,TanuloEsemeny.C_FALIUJSAGMEGJELENES AS IsFaliujsagMegjelenes
|
||||
,Tanar.C_NYOMTATASINEV AS FeljegyzoNeve
|
||||
,mua.C_SZERVEZETID AS FeljegyzoSzervezetId
|
||||
FROM T_TANULOESEMENY_OSSZES TanuloEsemeny
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES Tanar ON Tanar.ID = TanuloEsemeny.C_FELJEGYZOID
|
||||
AND Tanar.TOROLT = 'F'
|
||||
LEFt JOIN T_MUNKAUGYIADATOK_OSSZES mua ON mua.C_ALKALMAZOTTID = Tanar.ID
|
||||
AND mua.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANULOESEMENY OsztalyCsoportTanuloEsemeny ON OsztalyCsoportTanuloEsemeny.C_TANULOESEMENYID = TanuloEsemeny.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = OsztalyCsoportTanuloEsemeny.C_OSZTALYCSOPORTID
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
WHERE TanuloEsemeny.C_TIPUS = @pEsemenyTipusElektronikusUzenetId
|
||||
AND TanuloEsemeny.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloEsemeny.C_TANEVID = @pTanevId
|
||||
AND TanuloEsemeny.C_FELJEGYZOID = @pTanarId
|
||||
AND TanuloEsemeny.TOROLT = 'F'
|
||||
AND OsztalyCsoport.ID = @pOsztalyCsoportId
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFeljegyzesElektronikusUzenetekModifyPopupData]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Előszedjük az osztály csoport tanulóit elektronikus üzenetek oldal modosító popup-jához>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetFeljegyzesElektronikusUzenetekModifyPopupData]
|
||||
@pOsztalyCsoportId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT DISTINCT
|
||||
Tanulo.ID ID
|
||||
,Tanulo.ID TanuloId
|
||||
,Tanulo.C_NYOMTATASINEV TanuloNev
|
||||
,Tanulo.C_ANYJANEVE AnyjaNeve
|
||||
,Tanulo.C_SZULETESIDATUM SzuletesiIdo
|
||||
,OsztalyCsoport.C_NEV OsztalyNev
|
||||
FROM
|
||||
T_FELHASZNALO Tanulo
|
||||
LEFT JOIN
|
||||
T_TANULOCSOPORT TanuloCsoport ON
|
||||
TanuloCsoport.C_TANULOID = Tanulo.ID
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT OsztalyCsoport ON
|
||||
OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
WHERE
|
||||
Tanulo.TOROLT = 'F'
|
||||
AND OsztalyCsoport.ID = @pOsztalyCsoportId
|
||||
ORDER BY
|
||||
Tanulo.C_NYOMTATASINEV
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFeljegyzesElektronikusUzenetekNaploNezetData]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Előszedjük az osztály csoport tanulóinak feljegyzéseit az elektronikus üzenetek oldal napló nézet tab-jához>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetFeljegyzesElektronikusUzenetekNaploNezetData]
|
||||
@pTanevId INT
|
||||
,@pIntezmenyId INT
|
||||
,@pOsztalyCsoportId INT
|
||||
,@pStartDate DATE
|
||||
,@pTanarId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT DISTINCT
|
||||
TanuloEsemeny.ID AS ID
|
||||
,TanuloEsemeny.C_ESEMENYDATUMA AS EsemenyDatuma
|
||||
,TanuloEsemeny.C_TARGY AS Targy
|
||||
,TanuloEsemeny.C_TARTALOM AS Tartalom
|
||||
,TanuloEsemeny.C_TIPUS AS Tipus
|
||||
,Tanulo.ID AS TanuloId
|
||||
,Tanulo.C_NYOMTATASINEV AS TanuloNev
|
||||
,IIF(Tanulo.C_NEVSORREND = 'T',
|
||||
Tanulo.C_UTONEV + ' ' + Tanulo.C_VEZETEKNEV,
|
||||
Tanulo.C_VEZETEKNEV + ' ' + Tanulo.C_UTONEV) AS TanuloNevElotagNelkul
|
||||
,Tanulo.C_ANYJANEVE AS AnyjaNeve
|
||||
,Tanulo.C_SZULETESIDATUM As SzuletesiIdo
|
||||
,Tanar.C_NYOMTATASINEV AS FeljegyzoNeve
|
||||
,IIF(Tanar.C_NEVSORREND = 'T',
|
||||
Tanar.C_UTONEV + ' ' + Tanar.C_VEZETEKNEV,
|
||||
Tanar.C_VEZETEKNEV + ' ' + Tanar.C_UTONEV) FeljegyzoNeveElotagNelkul
|
||||
,OsztalyCsoport.C_NEV AS OsztalyNev
|
||||
,CASE
|
||||
WHEN TanuloEsemeny.C_FELJEGYZOID = @pTanarId
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Modosithato
|
||||
,mua.C_SZERVEZETID AS FeljegyzoSzervezetId
|
||||
FROM T_FELHASZNALO_OSSZES Tanulo
|
||||
INNER JOIN T_TANULO_OSSZES t ON t.ID = Tanulo.ID
|
||||
AND t.C_ALTANEVID = Tanulo.C_TANEVID
|
||||
AND t.C_ALINTEZMENYID = Tanulo.C_INTEZMENYID
|
||||
AND t.TOROLT = 'F'
|
||||
LEFT JOIN T_TANULO_TANULOESEMENY TanuloTanuloEsemeny ON TanuloTanuloEsemeny.C_TANULOID = Tanulo.ID
|
||||
LEFT JOIN T_TANULOESEMENY_OSSZES TanuloEsemeny ON TanuloEsemeny.ID = TanuloTanuloEsemeny.C_TANULOESEMENYID
|
||||
AND CAST(TanuloEsemeny.C_ESEMENYDATUMA AS DATE) >= @pStartDate
|
||||
AND CAST(TanuloEsemeny.C_ESEMENYDATUMA AS DATE) <= CAST(GETDATE() AS DATE)
|
||||
AND TanuloEsemeny.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES Tanar ON Tanar.ID = TanuloEsemeny.C_FELJEGYZOID
|
||||
AND Tanar.TOROLT = 'F'
|
||||
LEFT JOIN T_MUNKAUGYIADATOK_OSSZES mua ON mua.C_ALKALMAZOTTID = Tanar.ID
|
||||
AND mua.TOROLT = 'F'
|
||||
LEFT JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.C_TANULOID = Tanulo.ID
|
||||
AND TanuloCsoport.C_KILEPESDATUM IS NULL
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
WHERE Tanulo.TOROLT = 'F'
|
||||
AND OsztalyCsoport.ID = @pOsztalyCsoportId
|
||||
AND Tanulo.C_TANEVID = @pTanevId
|
||||
AND Tanulo.C_INTEZMENYID = @pIntezmenyId
|
||||
ORDER BY TanuloNevElotagNelkul
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFeljegyzesElektronikusUzenetekNaploNezetReszletek]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Előszedjük a tanuló feljegyzéseit az elektronikus üzenetek oldal napló nézet tab-jához részletesen>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetFeljegyzesElektronikusUzenetekNaploNezetReszletek]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pTanuloId INT
|
||||
,@pToroltElemek CHAR = 'F'
|
||||
,@pTanarId INT
|
||||
,@pEsemenyTipusElektronikusUzenetId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
TanuloEsemeny.ID AS ID
|
||||
,TanuloEsemeny.C_ESEMENYDATUMA AS EsemenyDatuma
|
||||
,TanuloEsemeny.C_TIPUS AS Tipus
|
||||
,TanuloEsemeny.C_TARGY AS Targy
|
||||
,TanuloEsemeny.C_TARTALOM AS Tartalom
|
||||
,TanuloEsemeny.TOROLT AS Torolt
|
||||
,Tanulo.ID AS TanuloId
|
||||
,Tanulo.C_NYOMTATASINEV AS TanuloNev
|
||||
,Tanar.C_NYOMTATASINEV AS FeljegyzoNeve
|
||||
,CASE
|
||||
WHEN TanuloEsemeny.C_FELJEGYZOID = @pTanarId
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Modosithato
|
||||
,mua.C_SZERVEZETID AS FeljegyzoSzervezetId
|
||||
FROM T_TANULOESEMENY_OSSZES TanuloEsemeny
|
||||
LEFT JOIN T_TANULO_TANULOESEMENY TanuloTanuloEsemeny ON TanuloTanuloEsemeny.C_TANULOESEMENYID = TanuloEsemeny.ID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES Tanulo ON Tanulo.ID = TanuloTanuloEsemeny.C_TANULOID
|
||||
AND Tanulo.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES Tanar ON Tanar.ID = TanuloEsemeny.C_FELJEGYZOID
|
||||
AND Tanar.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Tanar.C_TANEVID = @pTanevId
|
||||
AND Tanar.TOROLT = 'F'
|
||||
LEFT JOIN T_MUNKAUGYIADATOK_OSSZES mua ON mua.C_ALKALMAZOTTID = Tanar.ID
|
||||
AND mua.TOROLT = 'F'
|
||||
WHERE Tanulo.ID = @pTanuloId
|
||||
AND TanuloEsemeny.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloEsemeny.C_TANEVID = @pTanevId
|
||||
AND TanuloEsemeny.C_TIPUS = @pEsemenyTipusElektronikusUzenetId
|
||||
--Ha a törölt flag True, a törölt elemeket is visszaadjuk
|
||||
AND TanuloEsemeny.TOROLT = IIF(@pToroltElemek = 'T',TanuloEsemeny.TOROLT, 'F')
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFeljegyzesFaliujsagBejegyzesekData]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Előszedjük a faliújság-bejegyzés feljegyzéseket>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetFeljegyzesFaliujsagBejegyzesekData]
|
||||
@pTanarId INT
|
||||
,@pEsemenyTipusFaliujsagBejegyzesId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT DISTINCT
|
||||
TanuloEsemeny.ID ID
|
||||
,TanuloEsemeny.C_Kezdete Kezdete
|
||||
,TanuloEsemeny.C_Vege Vege
|
||||
,TanuloEsemeny.C_TARGY Targy
|
||||
,TanuloEsemeny.C_TARTALOM Tartalom
|
||||
,TanuloEsemeny.C_FALIUJSAGMEGJELENES IsFaliujsagMegjelenes
|
||||
,Tanar.C_NYOMTATASINEV FeljegyzoNeve
|
||||
,IIF(TanuloEsemeny.C_MINDENKINEK = 'T',
|
||||
'Egész intézmény',
|
||||
STUFF(
|
||||
(SELECT DISTINCT
|
||||
', ' + OsztalyCsoportInner.C_NEV
|
||||
FROM
|
||||
T_OSZTALYCSOPORT OsztalyCsoportInner
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT_TANULOESEMENY OsztalyCsoportTanuloEsemeny ON
|
||||
OsztalyCsoportTanuloEsemeny.C_TANULOESEMENYID = TanuloEsemeny.ID
|
||||
WHERE OsztalyCsoportInner.ID = OsztalyCsoportTanuloEsemeny.C_OSZTALYCSOPORTID
|
||||
FOR XML PATH (''))
|
||||
, 1, 2, '')
|
||||
) Cimzettek
|
||||
FROM
|
||||
T_TANULOESEMENY TanuloEsemeny
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO Tanar ON
|
||||
Tanar.ID = TanuloEsemeny.C_FELJEGYZOID
|
||||
AND Tanar.TOROLT = 'F'
|
||||
WHERE
|
||||
TanuloEsemeny.C_TIPUS = @pEsemenyTipusFaliujsagBejegyzesId
|
||||
AND TanuloEsemeny.C_FELJEGYZOID = @pTanarId
|
||||
AND TanuloEsemeny.TOROLT = 'F'
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFeljegyzesFaliujsagBejegyzesekPopupData]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Előszedjük az osztálycsoportokat a faliújság bejegyzések popup-jához>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetFeljegyzesFaliujsagBejegyzesekPopupData]
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SELECT
|
||||
T_OSZTALYCSOPORT.ID AS ID
|
||||
,T_OSZTALYCSOPORT.C_NEV AS OsztalyCsoportNeve
|
||||
FROM
|
||||
T_OSZTALYCSOPORT
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFogadooraInfo]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetFogadooraInfo]
|
||||
@alkalmazottId INT,
|
||||
@tanevId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @DefaultFeladatKategoriaId int = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
|
||||
--fejléc
|
||||
SELECT
|
||||
i.C_NEV as intezmeny
|
||||
,m.C_NEV as mukodesihely
|
||||
,d.C_NAME as oktatasiNevelesiFeladatTipus
|
||||
,ISNULL(i.C_VAROS + ', ', '') + FORMAT(GETDATE(), 'yyyy. MMMM dd.', 'hu-hu') AS kelt
|
||||
FROM T_INTEZMENYADATOK_OSSZES i
|
||||
INNER JOIN T_MUKODESIHELY_OSSZES m ON i.C_INTEZMENYID = m.C_INTEZMENYID AND m.TOROLT = 'F'
|
||||
INNER JOIN T_FELADATELLATASIHELY_OSSZES f ON m.ID = f.C_MUKODESIHELYID AND f.TOROLT = 'F' AND f.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.id = f.C_OKTATASINEVELESIFELADATTIPUS AND d.C_TANEVID = @tanevId
|
||||
WHERE
|
||||
i.C_TANEVID = @tanevId
|
||||
|
||||
--#tanulok
|
||||
SELECT DISTINCT
|
||||
tn.ID tanuloID
|
||||
,tn.C_NYOMTATASINEV TanuloNeve
|
||||
,tn.C_SZULETESIDATUM szulDat
|
||||
INTO #Tanulok_tmp
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON f.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
WHERE
|
||||
f.C_TANARID = @alkalmazottId
|
||||
AND f.C_TANEVID=@TANEVID
|
||||
AND f.TOROLT='F'
|
||||
ORDER BY TanuloNeve
|
||||
|
||||
SELECT tanuloNeve
|
||||
INTO #duplikatNevek
|
||||
FROM #Tanulok_tmp
|
||||
GROUP BY tanuloNeve
|
||||
HAVING COUNT(tanuloNeve) > 1
|
||||
|
||||
SELECT tanuloID,
|
||||
TanuloNeve + IIF(TanuloNeve IN (SELECT tanuloNeve FROM #duplikatNevek), ' - ('
|
||||
+ (FORMAT(szulDat, 'yyyy.MM.dd') + ', '
|
||||
+ dbo.fnGetDokumentumTanuloAktualisOsztaly (tanuloID) +')' ), '') TanuloNeve /*TODO:Tobb Osztaly*//*OM-1652*/
|
||||
FROM #Tanulok_tmp
|
||||
ORDER BY tanuloNeve
|
||||
|
||||
--tanuloinfo
|
||||
SELECT e.ID, tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev, FORMAT(e.C_ERTEKELESDATUM, 'd', 'hu-hu') as ertekelesDatuma,
|
||||
dt.C_NAME as ertekelesTipusa, dm.C_NAME as ertekelesModja, e.C_ERTEKELESSZOVEG as feljegyzes,
|
||||
fh.C_NYOMTATASINEV as tanarNev, do.C_NAME as osztalyzat, ocs.ID as csoportID, ocs.C_NEV as csoportNev,
|
||||
t.id as tantargyID, t.C_NEV as tantargyNev
|
||||
FROM T_TANULOERTEKELES_OSSZES e
|
||||
INNER JOIN T_OSZTALYZATERTEKELES_OSSZES oe ON e.ID = oe.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = e.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID and e.C_TANTARGYID = t.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = f.C_TANARID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA AND dt.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON (dm.ID = oe.C_ERTEKELESMODJA AND DM.C_INTEZMENYID = OE.C_ALINTEZMENYID AND DM.C_TANEVID = OE.C_ALTANEVID)
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES do ON (do.ID = e.C_OSZTALYZAT AND Do.C_INTEZMENYID = E.C_INTEZMENYID AND Do.C_TANEVID = E.C_TANEVID)
|
||||
WHERE
|
||||
f.C_TANARID = @alkalmazottId
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
|
||||
AND e.C_TANEVID=@tanevId
|
||||
AND e.TOROLT='F'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT e.ID, tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev, FORMAT(e.C_ERTEKELESDATUM, 'd', 'hu-hu') as ertekelesDatuma,
|
||||
dt.C_NAME as ertekelesTipusa, null as ertekelesModja, e.C_ERTEKELESSZOVEG as feljegyzes,
|
||||
fh.C_NYOMTATASINEV as tanarNev, dm.C_NAME + ', ' + ds.C_NAME as osztalyzat, ocs.ID as csoportID, ocs.C_NEV as csoportNev,
|
||||
t.id as tantargyID, t.C_NEV as tantargyNev
|
||||
FROM T_TANULOERTEKELES_OSSZES e
|
||||
INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES oe ON e.ID = oe.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = e.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID and e.C_TANTARGYID = t.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = f.C_TANARID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA AND dt.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON dm.ID = oe.C_MAGATARTAS AND dm.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ds ON ds.ID = oe.C_SZORGALOM AND ds.C_TANEVID = @tanevId
|
||||
WHERE
|
||||
f.C_TANARID = @alkalmazottId
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
|
||||
AND e.C_TANEVID=@TANEVID
|
||||
AND e.TOROLT='F'
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,65 @@
|
|||
-- =============================================
|
||||
-- Description: Foglalkozások egész évben megtartandó óráinak száma.
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFoglalkozasokMegtartandoOraSzama]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetFoglalkozasokMegtartandoOraSzama]
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
select ID foglalkozasID, count(OraID) OraSzam from(
|
||||
select t_foglalkozas_OSSZES.ID ID, T_ORARENDIORA_OSSZES.ID OraID from
|
||||
T_ORARENDIORA_OSSZES
|
||||
inner join t_foglalkozas_OSSZES on T_ORARENDIORA_OSSZES.C_FOGLALKOZASID = T_FOGLALKOZAS_OSSZES.ID
|
||||
inner join T_NAPTARINAP_OSSZES on T_ORARENDIORA_OSSZES.C_HETNAPJA = T_NAPTARINAP_OSSZES.C_HETNAPJA
|
||||
and (T_ORARENDIORA_OSSZES.C_HETIREND = T_NAPTARINAP_OSSZES.C_HETIREND OR T_ORARENDIORA_OSSZES.C_HETIREND = 1554)
|
||||
|
||||
INNER JOIN T_TANEV_OSSZES ON T_NAPTARINAP_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID and t_foglalkozas_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID
|
||||
left join T_TANITASIORA_OSSZES on T_NAPTARINAP_OSSZES.C_NAPDATUMA = T_TANITASIORA_OSSZES.C_DATUM
|
||||
and T_TANITASIORA_OSSZES.C_ORARENDIORAGROUPID = T_ORARENDIORA_OSSZES.C_ORARENDIORAGROUPID
|
||||
and T_TANITASIORA_OSSZES.C_DATUM BETWEEN T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE
|
||||
and T_TANITASIORA_OSSZES.C_MEGTARTOTT ='F'
|
||||
and T_TANITASIORA_OSSZES.TOROLT='F'
|
||||
|
||||
left join T_OSZTALYCSOPORT_TANEVRENDJE on T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
|
||||
|
||||
where NOT EXISTS (Select 1 from
|
||||
T_TANEVRENDJE_OSSZES
|
||||
left join T_OSZTALYCSOPORT_TANEVRENDJE on t_foglalkozas_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
|
||||
WHERE T_NAPTARINAP_OSSZES.C_NAPDATUMA = T_TANEVRENDJE_OSSZES.C_DATUM
|
||||
and (T_TANEVRENDJE_OSSZES.C_HETIREND = T_NAPTARINAP_OSSZES.C_HETIREND OR T_TANEVRENDJE_OSSZES.C_HETIREND = 1554)
|
||||
and T_TANEVRENDJE_OSSZES.C_ORARENDINAP ='F'
|
||||
and (T_TANEVRENDJE_OSSZES.C_OSSZESCSOPORTRAVONATKOZIK='T' OR T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
and T_TANEVRENDJE_OSSZES.TOROLT='F'
|
||||
and T_NAPTARINAP_OSSZES.C_NAPDATUMA >= T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE
|
||||
and T_NAPTARINAP_OSSZES.C_NAPDATUMA <= T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE
|
||||
))
|
||||
AND T_TANITASIORA_OSSZES.ID is null
|
||||
AND T_TANEV_OSSZES.C_AKTIV = 'T' AND T_TANEV_OSSZES.TOROLT='F'
|
||||
|
||||
union all
|
||||
|
||||
select foglalkozas.ID ID, T_TANITASIORA_OSSZES.id OraID
|
||||
from T_TANITASIORA_OSSZES
|
||||
inner join ( select ID, C_OSZTALYCSOPORTID from t_foglalkozas_OSSZES where torolt='F' ) foglalkozas on T_TANITASIORA_OSSZES.C_FOGLALKOZASID = foglalkozas.ID
|
||||
inner join T_NAPTARINAP_OSSZES on T_TANITASIORA_OSSZES.C_HETNAPJA = T_NAPTARINAP_OSSZES.C_HETNAPJA
|
||||
left join T_OSZTALYCSOPORT_TANEVRENDJE on foglalkozas.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
|
||||
where
|
||||
C_ORARENDIORAGROUPID is null and T_TANITASIORA_OSSZES.TOROLT='F'
|
||||
and
|
||||
NOT EXISTS (Select 1 from
|
||||
T_TANEVRENDJE_OSSZES
|
||||
left join T_OSZTALYCSOPORT_TANEVRENDJE on foglalkozas.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
|
||||
WHERE T_NAPTARINAP_OSSZES.C_NAPDATUMA = T_TANEVRENDJE_OSSZES.C_DATUM
|
||||
and (T_TANEVRENDJE_OSSZES.C_HETIREND = T_NAPTARINAP_OSSZES.C_HETIREND OR T_TANEVRENDJE_OSSZES.C_HETIREND = 1554)
|
||||
and T_TANEVRENDJE_OSSZES.C_ORARENDINAP ='F'
|
||||
and (T_TANEVRENDJE_OSSZES.C_OSSZESCSOPORTRAVONATKOZIK='T' OR T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
and T_TANEVRENDJE_OSSZES.TOROLT='F'))
|
||||
) orak
|
||||
|
||||
Group by ID
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,32 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFotargyakhozTartozoAltargyak]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetFotargyakhozTartozoAltargyak]
|
||||
@pFotargyIdList nvarchar(max)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @command nvarchar(max)
|
||||
|
||||
SET @command = '
|
||||
SELECT
|
||||
fotargy.C_NEV fotargyNev
|
||||
,altargy.C_NEV altargyNev
|
||||
FROM
|
||||
T_TANTARGY_OSSZES fotargy
|
||||
INNER JOIN
|
||||
T_TANTARGY_OSSZES altargy ON altargy.C_FOTARGYID = fotargy.ID
|
||||
WHERE
|
||||
fotargy.ID IN ('+ @pFotargyIdList + ')
|
||||
AND fotargy.C_FOTARGYE = ''T''
|
||||
AND altargy.C_FOTARGYE = ''F''
|
||||
AND altargy.TOROLT = ''F''';
|
||||
|
||||
EXEC sp_executesql @command
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,260 @@
|
|||
-- =============================================
|
||||
-- Author: Dőrr Tamás
|
||||
-- Create date: 2017.12.14.
|
||||
-- Description: -
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetHazifeladatOrarend]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetHazifeladatOrarend]
|
||||
@IntezmenyId int,
|
||||
@TanevId int,
|
||||
@IdoszakKezdete datetime,
|
||||
@IdoszakVege datetime,
|
||||
@TanarId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
CREATE TABLE #HaziFeladatok (
|
||||
Id int
|
||||
,ORARENDIID int
|
||||
,Datum datetime
|
||||
,Bontott char(1)
|
||||
,Hetirend int
|
||||
,HetNapja int
|
||||
,HetSorszam int
|
||||
,ErvenyessegKezdete datetime
|
||||
,ErvenyessegVege datetime
|
||||
,OraKezdete datetime
|
||||
,OraVege datetime
|
||||
,Oraszam int
|
||||
,TargyNev nvarchar(300)
|
||||
,TargyNevForMobile nvarchar(300)
|
||||
,TargykategoriaID int
|
||||
,Megtartott char(1)
|
||||
,CsengetesiRendOraID int
|
||||
,CsengetesiRendID int
|
||||
,MaxNapiOraszam int
|
||||
,OsztalyNev nvarchar(255)
|
||||
,TanevRendOsztalyCsoportId int
|
||||
,MegjelenesOka nvarchar(300)
|
||||
,TanarNev nvarchar(255)
|
||||
,TeremNev nvarchar(255)
|
||||
,OraTipus nvarchar(200)
|
||||
,Hianyzas char(1)
|
||||
,Keses char(1)
|
||||
,Ures char(1)
|
||||
,HelyettesitoTanarID int
|
||||
,HelyettesitoTanarNev nvarchar(255)
|
||||
,HelyettesitesId int
|
||||
,TanarID int
|
||||
,AdminAltalKiirt char(1)
|
||||
,GroupId int
|
||||
,Tema nvarchar(max)
|
||||
,TantargyId int
|
||||
,OsztCsopId int
|
||||
,HaziFeladatSzoveg nvarchar(max)
|
||||
)
|
||||
|
||||
INSERT INTO #HaziFeladatok (
|
||||
Id
|
||||
,ORARENDIID
|
||||
,Datum
|
||||
,Bontott
|
||||
,Hetirend
|
||||
,HetNapja
|
||||
,HetSorszam
|
||||
,ErvenyessegKezdete
|
||||
,ErvenyessegVege
|
||||
,OraKezdete
|
||||
,OraVege
|
||||
,Oraszam
|
||||
,TargyNev
|
||||
,TargyNevForMobile
|
||||
,TargykategoriaID
|
||||
,Megtartott
|
||||
,CsengetesiRendOraID
|
||||
,CsengetesiRendID
|
||||
,MaxNapiOraszam
|
||||
,OsztalyNev
|
||||
,TanevRendOsztalyCsoportId
|
||||
,MegjelenesOka
|
||||
,TanarNev
|
||||
,TeremNev
|
||||
,OraTipus
|
||||
,Hianyzas
|
||||
,Keses
|
||||
,Ures
|
||||
,HelyettesitoTanarID
|
||||
,HelyettesitoTanarNev
|
||||
,HelyettesitesId
|
||||
,TanarID
|
||||
,AdminAltalKiirt
|
||||
,GroupId
|
||||
,Tema
|
||||
,TantargyId
|
||||
,OsztCsopId
|
||||
,HaziFeladatSzoveg
|
||||
) SELECT h.ID Id
|
||||
,null ORARENDIID
|
||||
,h.C_FELADASDATUMA Datum
|
||||
,'F' Bontott
|
||||
,null Hetirend --minden héten?
|
||||
,null HetNapja
|
||||
,NULL HetSorszam
|
||||
,h.C_FELADASDATUMA ErvenyessegKezdete
|
||||
,h.C_HATARIDO ErvenyessegVege
|
||||
,h.C_FELADASDATUMA OraKezdete
|
||||
,h.C_FELADASDATUMA OraVege
|
||||
,h.C_ORASZAM Oraszam
|
||||
,ISNULL(t.C_ROVIDNEV, t.C_NEV) TargyNev
|
||||
,COALESCE(t.C_ROVIDNEV, t.C_NEV) TargyNevForMobile
|
||||
,NULL TargykategoriaID
|
||||
,NULL Megtartott
|
||||
,NULL CsengetesiRendOraID
|
||||
,NULL CsengetesiRendID
|
||||
,NULL MaxNapiOraszam
|
||||
,ocs.C_NEV OsztalyNev
|
||||
,NULL TanevRendOsztalyCsoportId
|
||||
,NULL MegjelenesOka
|
||||
,f.C_NYOMTATASINEV TanarNev
|
||||
,NULL TeremNev
|
||||
,'HaziFeladat' OraTipus
|
||||
,NULL Hianyzas
|
||||
,NULL Keses
|
||||
,NULL Ures
|
||||
,NULL HelyettesitoTanarID
|
||||
,NULL HelyettesitoTanarNev
|
||||
,NULL HelyettesitesId
|
||||
,f.ID TanarID
|
||||
,NULL AdminAltalKiirt
|
||||
,NULL GroupId
|
||||
,NULL Tema
|
||||
,h.C_TANTARGYID TantargyId
|
||||
,h.C_OSZTALYCSOPORTID OsztCsopId
|
||||
,h.C_FELADATSZOVEGE HaziFeladatSzoveg
|
||||
FROM T_HAZIFELADATOK h
|
||||
INNER JOIN T_TANTARGY t ON t.id = h.C_TANTARGYID
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.id = h.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_FELHASZNALO f ON f.id = h.C_ROGZITOID
|
||||
WHERE f.id = @TanarId
|
||||
|
||||
CREATE TABLE #OrarendiOrakTanorak (
|
||||
Id int
|
||||
,ORARENDIID int
|
||||
,Datum datetime
|
||||
,Bontott char(1)
|
||||
,Hetirend int
|
||||
,HetNapja int
|
||||
,HetSorszam int
|
||||
,ErvenyessegKezdete datetime
|
||||
,ErvenyessegVege datetime
|
||||
,OraKezdete datetime
|
||||
,OraVege datetime
|
||||
,Oraszam int
|
||||
,TargyNev nvarchar(300)
|
||||
,TargyNevForMobile nvarchar(300)
|
||||
,TargykategoriaID int
|
||||
,Megtartott char(1)
|
||||
,CsengetesiRendOraID int
|
||||
,CsengetesiRendID int
|
||||
,MaxNapiOraszam int
|
||||
,OsztalyNev nvarchar(255)
|
||||
,TanevRendOsztalyCsoportId int
|
||||
,MegjelenesOka nvarchar(300)
|
||||
,TanarNev nvarchar(255)
|
||||
,TeremNev nvarchar(255)
|
||||
,OraTipus nvarchar(200)
|
||||
,Hianyzas char(1)
|
||||
,Keses char(1)
|
||||
,Ures char(1)
|
||||
,HelyettesitoTanarID int
|
||||
,HelyettesitoTanarNev nvarchar(255)
|
||||
,HelyettesitesId int
|
||||
,TanarID int
|
||||
,AdminAltalKiirt char(1)
|
||||
,GroupId int
|
||||
,Tema nvarchar(max)
|
||||
,TantargyId int
|
||||
,OsztCsopId int
|
||||
,OsztalyBontasId int
|
||||
,IsEgyediNap char(1)
|
||||
,TeremTobbOratLehetTartani char(1)
|
||||
,KozpontiOraGroupId uniqueidentifier NULL
|
||||
,KozpontilagToroltOraGroupId uniqueidentifier NULL
|
||||
)
|
||||
|
||||
INSERT INTO #orarendiOrakTanorak (
|
||||
Id
|
||||
,ORARENDIID
|
||||
,Datum
|
||||
,Bontott
|
||||
,Hetirend
|
||||
,HetNapja
|
||||
,HetSorszam
|
||||
,ErvenyessegKezdete
|
||||
,ErvenyessegVege
|
||||
,OraKezdete
|
||||
,OraVege
|
||||
,Oraszam
|
||||
,TargyNev
|
||||
,TargyNevForMobile
|
||||
,TargykategoriaID
|
||||
,Megtartott
|
||||
,CsengetesiRendOraID
|
||||
,CsengetesiRendID
|
||||
,MaxNapiOraszam
|
||||
,OsztalyNev
|
||||
,TanevRendOsztalyCsoportId
|
||||
,MegjelenesOka
|
||||
,TanarNev
|
||||
,TeremNev
|
||||
,OraTipus
|
||||
,Hianyzas
|
||||
,Keses
|
||||
,Ures
|
||||
,HelyettesitoTanarID
|
||||
,HelyettesitoTanarNev
|
||||
,HelyettesitesId
|
||||
,TanarID
|
||||
,AdminAltalKiirt
|
||||
,GroupId
|
||||
,Tema
|
||||
,TantargyId
|
||||
,OsztCsopId
|
||||
,OsztalyBontasId
|
||||
,IsEgyediNap
|
||||
,TeremTobbOratLehetTartani
|
||||
,KozpontiOraGroupId
|
||||
,KozpontilagToroltOraGroupId
|
||||
)
|
||||
|
||||
EXEC dbo.sp_GetOrarend
|
||||
@pIntezmenyId = @IntezmenyId
|
||||
,@pTanevId = @TanevId
|
||||
,@pIdoszakKezdete = @IdoszakKezdete
|
||||
,@pIdoszakVege = @IdoszakVege
|
||||
,@pTanarId = @TanarId
|
||||
,@pIsHelyettesitesNelkul = 0
|
||||
,@pOsztalyCsoportId = NULL
|
||||
,@pTanuloId = NULL
|
||||
,@pTantargyId = NULL
|
||||
,@pTeremId = NULL
|
||||
,@pCsakOrarendiOrak = 0
|
||||
,@pIsNapirend = 0 --utolsó paraméter: egyelőre csak órarendi (csengetési rendhez kötött) órák
|
||||
|
||||
INSERT INTO #HaziFeladatok
|
||||
SELECT * ,NULL HaziFeladatSzoveg
|
||||
FROM #orarendiOrakTanorak oot
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM #HaziFeladatok h
|
||||
WHERE h.TanarID = oot.TanarID
|
||||
AND h.TantargyId = oot.TantargyId
|
||||
AND h.OsztCsopId = oot.OsztCsopId
|
||||
AND h.Oraszam = oot.Oraszam)
|
||||
|
||||
SELECT * FROM #HaziFeladatok
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,31 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetHelyettesitesIdoszakLetrehozoSzerepkor]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: Dőrr Tamás
|
||||
-- Create date: 2016.09.07.
|
||||
-- Description:
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetHelyettesitesIdoszakLetrehozoSzerepkor]
|
||||
@IntezmenyId int
|
||||
,@TanevId int
|
||||
,@HelyettesitesId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
declare @helyettesitesCreatorId int;
|
||||
set @helyettesitesCreatorId = (
|
||||
select
|
||||
ISNULL(hi.CREATOR, 0)
|
||||
from T_HELYETTESITESIIDOSZAK hi
|
||||
where
|
||||
hi.ID = @HelyettesitesId
|
||||
and hi.C_INTEZMENYID = @IntezmenyId
|
||||
and hi.C_TANEVID = @TanevId
|
||||
)
|
||||
|
||||
exec [sp_GetUserRoles] @FELHASZNALOID = @helyettesitesCreatorId
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,275 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.sp_GetHelyettesitesiNaplo
|
||||
GO
|
||||
-- ===================================================================
|
||||
-- Author: Tóth Imre Attila
|
||||
-- Create date: 2016. 08. 01.
|
||||
-- Description: Lekérdezések a helyettesítési naplóhoz
|
||||
-- ===================================================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetHelyettesitesiNaplo]
|
||||
@tanarID int,
|
||||
@tanevID int,
|
||||
@intezmenyid int,
|
||||
@bontas int = 0, -- 0 = havi, 1 = heti
|
||||
@startDayOfWeek int = 1 -- 1 = Hétfő, 7 = Vasárnap
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET DATEFIRST @startDayOfWeek
|
||||
-- ===================================
|
||||
-- FEJLÉC
|
||||
-- ===================================
|
||||
DECLARE @table TABLE (
|
||||
EvHonap nvarchar(7),
|
||||
Helyettesito nvarchar(100)
|
||||
,HelyettesitoId int
|
||||
,FeladatEllatasiHelyId INT
|
||||
)
|
||||
|
||||
INSERT INTO @table
|
||||
SELECT DISTINCT
|
||||
CASE
|
||||
WHEN @bontas = 0 THEN FORMAT(C_DATUM, 'yyyy.MM')
|
||||
WHEN @bontas = 1 THEN CAST(C_HETSORSZAMA AS nvarchar)
|
||||
END AS EvHonap,
|
||||
felhHelyettes.C_NYOMTATASINEV AS Helyettesito
|
||||
,felhHelyettes.ID AS HelyettesitoId
|
||||
,mua.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
|
||||
FROM T_TANITASIORA_OSSZES tOra
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES felhHelyettes on felhHelyettes.ID = tOra.C_HELYETTESITOTANARID
|
||||
LEFT JOIN T_MUNKAUGYIADATOK_OSSZES mua ON mua.C_ALKALMAZOTTID = tOra.C_HELYETTESITOTANARID
|
||||
WHERE tOra.C_HELYETTESITOTANARID = @tanarID
|
||||
AND tOra.C_TANEVID = @tanevID
|
||||
AND tOra.Torolt='F'
|
||||
|
||||
SELECT * FROM @table
|
||||
|
||||
SELECT DISTINCT
|
||||
CASE
|
||||
WHEN @bontas = 0 THEN FORMAT(C_NAPDATUMA, 'yyyy.MM')
|
||||
WHEN @bontas = 1 THEN CAST(C_HETSORSZAMA AS nvarchar)
|
||||
END AS EvHonap,
|
||||
C_ALAPHETNAPJA AS Nap
|
||||
,@tanarID AS HelyettesitoId
|
||||
,C_NAPDATUMA
|
||||
FROM T_NAPTARINAP_OSSZES AS nn
|
||||
INNER JOIN @table AS eh ON CASE
|
||||
WHEN @bontas = 0 THEN FORMAT(nn.C_NAPDATUMA, 'yyyy.MM')
|
||||
WHEN @bontas = 1 THEN CAST(C_HETSORSZAMA AS nvarchar)
|
||||
END = eh.EvHonap
|
||||
WHERE nn.C_TANEVID = @tanevID AND nn.C_INTEZMENYID = @intezmenyid AND nn.TOROLT = 'F'
|
||||
ORDER BY C_NAPDATUMA
|
||||
-- ===================================
|
||||
-- HELYETTESÍTÉSEK (SOROK)
|
||||
-- ===================================
|
||||
|
||||
SELECT DISTINCT
|
||||
C_DATUM
|
||||
,CAST(IIF(tOra.C_PARHUZAMOSORA = 'T', NULL, ROW_NUMBER() OVER(PARTITION BY tOra.C_PARHUZAMOSORA ORDER BY C_DATUM)) as nvarchar(5)) + '.' AS Sorsz
|
||||
,IIF(tOra.C_ORASZAM IS NOT NULL,CONVERT(NVARCHAR(5), tOra.C_ORASZAM) + '.',
|
||||
CONCAT(CONVERT(NVARCHAR(5), tOra.C_ORAKEZDETE, 108), '-', CONVERT(NVARCHAR(5), tOra.C_ORAVEGE, 108))) AS Oraszam
|
||||
,DicItemBase.C_NAME AS HelyettesitesTipusa
|
||||
,FORMAT(C_DATUM, 'yyyy.MM.dd.') AS Datum
|
||||
,CASE
|
||||
WHEN @bontas = 0 THEN FORMAT(C_DATUM, 'yyyy.MM')
|
||||
WHEN @bontas = 1 THEN CAST(C_HETSORSZAMA AS nvarchar)
|
||||
END AS EvHonap
|
||||
,felhOraTul.C_NYOMTATASINEV AS Helyettesitett
|
||||
,osztcsop.C_NEV AS OsztalyCsoport
|
||||
,tant.C_NEV AS Tantargy
|
||||
,tOra.C_TEMA AS Tema
|
||||
,tOra.C_ORAEVESSORSZAMA AS EvesSorszam
|
||||
,helyettesito.ID AS HelyettesitoId
|
||||
,helyettesito.C_OKTATASIAZONOSITO AS HelyettesitoOktatasiAzon
|
||||
,tOra.C_HELYETTESITESOKA AS HelyettesitesOka
|
||||
FROM T_TANITASIORA_OSSZES tOra
|
||||
LEFT JOIN T_ORARENDIORA_OSSZES oo ON oo.ID = tOra.C_ORARENDIORAID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES felhOraTul ON felhOraTul.ID = tOra.C_TANARID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.ID = tOra.C_HELYETTESITOTANARID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES DicItemBase ON DicItemBase.ID = tOra.C_HELYETTESITESTIPUSA AND DicItemBase.C_TANEVID = tOra.C_TANEVID AND DicItemBase.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES osztcsop ON osztcsop.ID = tOra.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANTARGY_OSSZES tant ON tant.ID = tOra.C_TANTARGYID
|
||||
WHERE helyettesito.ID = @tanarID
|
||||
AND tOra.C_TANEVID = @tanevID
|
||||
AND tOra.Torolt = 'F'
|
||||
AND tOra.C_HELYETTESITESTIPUSA IN (1496, 1495, 1494, 7367)
|
||||
|
||||
-- ===================================
|
||||
-- HELYETTESÍTÉSEK NAPIBONTÁSBAN
|
||||
-- ===================================
|
||||
CREATE TABLE #Helyettesitesek (
|
||||
EvHonap nvarchar(15)
|
||||
,OsztalyCsoport nvarchar(550),
|
||||
[1] nvarchar(5) , [2] nvarchar(5), [3] nvarchar(5), [4] nvarchar(5), [5] nvarchar(5), [6] nvarchar(5), [7] nvarchar(5), [8] nvarchar(5), [9] nvarchar(5), [10] nvarchar(5),
|
||||
[11] nvarchar(5), [12] nvarchar(5), [13] nvarchar(5), [14] nvarchar(5), [15] nvarchar(5), [16] nvarchar(5), [17] nvarchar(5), [18] nvarchar(5), [19] nvarchar(5), [20] nvarchar(5),
|
||||
[21] nvarchar(5), [22] nvarchar(5), [23] nvarchar(5), [24] nvarchar(5), [25] nvarchar(5), [26] nvarchar(5), [27] nvarchar(5), [28] nvarchar(5), [29] nvarchar(5), [30] nvarchar(5), [31] nvarchar(5)
|
||||
,Ossz int, HelyettesitoId int)
|
||||
|
||||
CREATE TABLE #HelyettesitesekParhuzamosOra (
|
||||
EvHonap nvarchar(15)
|
||||
,OsztalyCsoport nvarchar(550),
|
||||
[1] nvarchar(5) , [2] nvarchar(5), [3] nvarchar(5), [4] nvarchar(5), [5] nvarchar(5), [6] nvarchar(5), [7] nvarchar(5), [8] nvarchar(5), [9] nvarchar(5), [10] nvarchar(5),
|
||||
[11] nvarchar(5), [12] nvarchar(5), [13] nvarchar(5), [14] nvarchar(5), [15] nvarchar(5), [16] nvarchar(5), [17] nvarchar(5), [18] nvarchar(5), [19] nvarchar(5), [20] nvarchar(5),
|
||||
[21] nvarchar(5), [22] nvarchar(5), [23] nvarchar(5), [24] nvarchar(5), [25] nvarchar(5), [26] nvarchar(5), [27] nvarchar(5), [28] nvarchar(5), [29] nvarchar(5), [30] nvarchar(5), [31] nvarchar(5)
|
||||
,HelyettesitoId int)
|
||||
|
||||
INSERT INTO #Helyettesitesek
|
||||
SELECT
|
||||
EvHonap
|
||||
,OsztalyCsoport = TantargyN + ' - ' + OsztCsopN,
|
||||
ISNULL([1], 0) AS [1], ISNULL([2], 0) AS [2], ISNULL([3], 0) AS [3], ISNULL([4], 0) AS [4], ISNULL([5], 0) AS [5], ISNULL([6], 0) AS [6], ISNULL([7], 0) AS [7], ISNULL([8], 0) AS [8], ISNULL([9], 0) AS [9], ISNULL([10], 0) AS [10],
|
||||
ISNULL([11], 0) AS [11], ISNULL([12], 0) AS [12], ISNULL([13], 0) AS [13], ISNULL([14], 0) AS [14], ISNULL([15], 0) AS [15], ISNULL([16], 0) AS [16], ISNULL([17], 0) AS [17], ISNULL([18], 0) AS [18], ISNULL([19], 0) AS [19], ISNULL([20], 0) AS [20],
|
||||
ISNULL([21], 0) AS [21], ISNULL([22], 0) AS [22], ISNULL([23], 0) AS [23], ISNULL([24], 0) AS [24], ISNULL([25], 0) AS [25], ISNULL([26], 0) AS [26], ISNULL([27], 0) AS [27], ISNULL([28], 0) AS [28], ISNULL([29], 0) AS [29], ISNULL([30], 0) AS [30],
|
||||
ISNULL([31], 0) AS [31],
|
||||
ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) + ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10], 0) +
|
||||
ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([13], 0) + ISNULL([14], 0) + ISNULL([15], 0) + ISNULL([16], 0) + ISNULL([17], 0) + ISNULL([18], 0) + ISNULL([19], 0) + ISNULL([20], 0) +
|
||||
ISNULL([21], 0) + ISNULL([22], 0) + ISNULL([23], 0) + ISNULL([24], 0) + ISNULL([25], 0) + ISNULL([26], 0) + ISNULL([27], 0) + ISNULL([28], 0) + ISNULL([29], 0) + ISNULL([30], 0) +
|
||||
ISNULL([31], 0) AS Ossz
|
||||
,HelyettesitoId
|
||||
FROM (
|
||||
SELECT
|
||||
SUM(IIF(tOra.c_helyettesitestipusa IN(1496, 1495, 1494, 7367) AND tOra.C_PARHUZAMOSORA = 'F', 1 , 0)) as Tant,
|
||||
osztCsop.C_NEV AS osztcsopN,
|
||||
tant.C_NEV AS TantargyN,
|
||||
CASE
|
||||
WHEN @bontas = 0 THEN DATEPART(DAY, C_DATUM)
|
||||
WHEN @bontas = 1 THEN DATEPART(dw, C_DATUM)
|
||||
END AS Nap,
|
||||
CASE
|
||||
WHEN @bontas = 0 THEN FORMAT(C_DATUM, 'yyyy.MM')
|
||||
WHEN @bontas = 1 THEN CAST(nn.C_HETSORSZAMA AS nvarchar)
|
||||
END AS EvHonap
|
||||
,tOra.C_HELYETTESITOTANARID AS HelyettesitoId
|
||||
FROM T_TANITASIORA_OSSZES tOra
|
||||
INNER JOIN T_TANTARGY_OSSZES tant on tant.ID = tOra.C_TANTARGYID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztCsop on osztCsop.ID = tOra.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_NAPTARINAP_OSSZES nn ON nn.C_NAPDATUMA = tOra.C_DATUM AND nn.C_TANEVID = @tanevID AND nn.C_INTEZMENYID = @intezmenyid AND nn.TOROLT = 'F'
|
||||
WHERE
|
||||
tOra.C_HELYETTESITOTANARID = @tanarID
|
||||
AND tOra.C_TANEVID = @tanevID
|
||||
AND TOra.TOROLT='F'
|
||||
GROUP BY
|
||||
osztCsop.C_NEV, tant.C_NEV, C_DATUM, nn.C_HETSORSZAMA, tOra.c_helyettesitestipusa
|
||||
, tOra.C_HELYETTESITOTANARID, C_PARHUZAMOSORA
|
||||
) T
|
||||
PIVOT (
|
||||
MAX(Tant)
|
||||
FOR Nap IN (
|
||||
[1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
||||
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
||||
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31]
|
||||
)
|
||||
) Helyettesitesek
|
||||
|
||||
INSERT INTO #HelyettesitesekParhuzamosOra
|
||||
SELECT
|
||||
EvHonap
|
||||
,OsztalyCsoport = TantargyN + ' - ' + OsztCsopN,
|
||||
ISNULL([1], 0) AS [1], ISNULL([2], 0) AS [2], ISNULL([3], 0) AS [3], ISNULL([4], 0) AS [4], ISNULL([5], 0) AS [5], ISNULL([6], 0) AS [6], ISNULL([7], 0) AS [7], ISNULL([8], 0) AS [8], ISNULL([9], 0) AS [9], ISNULL([10], 0) AS [10],
|
||||
ISNULL([11], 0) AS [11], ISNULL([12], 0) AS [12], ISNULL([13], 0) AS [13], ISNULL([14], 0) AS [14], ISNULL([15], 0) AS [15], ISNULL([16], 0) AS [16], ISNULL([17], 0) AS [17], ISNULL([18], 0) AS [18], ISNULL([19], 0) AS [19], ISNULL([20], 0) AS [20],
|
||||
ISNULL([21], 0) AS [21], ISNULL([22], 0) AS [22], ISNULL([23], 0) AS [23], ISNULL([24], 0) AS [24], ISNULL([25], 0) AS [25], ISNULL([26], 0) AS [26], ISNULL([27], 0) AS [27], ISNULL([28], 0) AS [28], ISNULL([29], 0) AS [29], ISNULL([30], 0) AS [30],
|
||||
ISNULL([31], 0) AS [31]
|
||||
,HelyettesitoId
|
||||
FROM (
|
||||
SELECT
|
||||
SUM(IIF(tOra.c_helyettesitestipusa IN(1496, 1495, 1494, 7367) AND tOra.C_PARHUZAMOSORA = 'T', 1 , 0)) as Tant,
|
||||
osztCsop.C_NEV AS osztcsopN,
|
||||
tant.C_NEV AS TantargyN,
|
||||
CASE
|
||||
WHEN @bontas = 0 THEN DATEPART(DAY, C_DATUM)
|
||||
WHEN @bontas = 1 THEN DATEPART(dw, C_DATUM)
|
||||
END AS Nap,
|
||||
CASE
|
||||
WHEN @bontas = 0 THEN FORMAT(C_DATUM, 'yyyy.MM')
|
||||
WHEN @bontas = 1 THEN CAST(nn.C_HETSORSZAMA AS nvarchar)
|
||||
END AS EvHonap
|
||||
,tOra.C_HELYETTESITOTANARID AS HelyettesitoId
|
||||
FROM T_TANITASIORA_OSSZES tOra
|
||||
INNER JOIN T_TANTARGY_OSSZES tant on tant.ID = tOra.C_TANTARGYID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztCsop on osztCsop.ID = tOra.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_NAPTARINAP_OSSZES nn ON nn.C_NAPDATUMA = tOra.C_DATUM AND nn.C_TANEVID = @tanevID AND nn.C_INTEZMENYID = @intezmenyid AND nn.TOROLT = 'F'
|
||||
WHERE
|
||||
tOra.C_HELYETTESITOTANARID = @tanarID
|
||||
AND tOra.C_TANEVID = @tanevID
|
||||
AND TOra.TOROLT='F'
|
||||
GROUP BY
|
||||
osztCsop.C_NEV, tant.C_NEV, C_DATUM, nn.C_HETSORSZAMA, tOra.c_helyettesitestipusa
|
||||
, tOra.C_HELYETTESITOTANARID, C_PARHUZAMOSORA
|
||||
) T
|
||||
PIVOT (
|
||||
max(Tant)
|
||||
FOR Nap IN (
|
||||
[1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
||||
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
||||
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31]
|
||||
)
|
||||
) Helyettesitesek
|
||||
|
||||
CREATE TABLE #Ossz (
|
||||
EvHonap nvarchar(15)
|
||||
,Összesen nvarchar(20),
|
||||
[1] int , [2] int, [3] int, [4] int, [5] int, [6] int, [7] int, [8] int, [9] int, [10] int,
|
||||
[11] int, [12] int, [13] int, [14] int, [15] int, [16] int, [17] int, [18] int, [19] int, [20] int,
|
||||
[21] int, [22] int, [23] int, [24] int, [25] int, [26] int, [27] int, [28] int, [29] int, [30] int, [31] int
|
||||
,Ossz int, HelyettesitoId int)
|
||||
|
||||
INSERT INTO #Ossz
|
||||
SELECT EvHonap, 'Összesen',
|
||||
SUM(CAST([1] as int)), SUM(CAST([2] as int)), SUM(CAST([3] as int)), SUM(CAST([4] as int)), SUM(CAST([5] as int)), SUM(CAST([6] as int)), SUM(CAST([7] as int)), SUM(CAST([8] as int)), SUM(CAST([9] as int)), SUM(CAST([10] as int)),
|
||||
SUM(CAST([11] as int)), SUM(CAST([12] as int)), SUM(CAST([13] as int)), SUM(CAST([14] as int)), SUM(CAST([15] as int)), SUM(CAST([16] as int)), SUM(CAST([17] as int)), SUM(CAST([18] as int)), SUM(CAST([19] as int)), SUM(CAST([20] as int)),
|
||||
SUM(CAST([21] as int)), SUM(CAST([22] as int)), SUM(CAST([23] as int)), SUM(CAST([24] as int)), SUM(CAST([25] as int)), SUM(CAST([26] as int)), SUM(CAST([27] as int)), SUM(CAST([28] as int)), SUM(CAST([29] as int)), SUM(CAST([30] as int)), SUM(CAST([31] as int))
|
||||
,(SUM(CAST([1] as int)) + SUM(CAST([2] as int)) + SUM(CAST([3] as int)) + SUM(CAST([4] as int)) + SUM(CAST([5] as int)) + SUM(CAST([6] as int)) + SUM(CAST([7] as int)) + SUM(CAST([8] as int)) + SUM(CAST([9] as int)) + SUM(CAST([10] as int)) +
|
||||
SUM(CAST([11] as int)) + SUM(CAST([12] as int)) + SUM(CAST([13] as int)) + SUM(CAST([14] as int)) + SUM(CAST([15] as int)) + SUM(CAST([16] as int)) + SUM(CAST([17] as int)) + SUM(CAST([18] as int)) + SUM(CAST([19] as int)) + SUM(CAST([20] as int)) +
|
||||
SUM(CAST([21] as int)) + SUM(CAST([22] as int)) + SUM(CAST([23] as int)) + SUM(CAST([24] as int)) + SUM(CAST([25] as int)) + SUM(CAST([26] as int)) + SUM(CAST([27] as int)) + SUM(CAST([28] as int)) + SUM(CAST([29] as int)) + SUM(CAST([30] as int)) + SUM(CAST([31] as int))) AS [Ossz]
|
||||
,HelyettesitoId
|
||||
FROM #Helyettesitesek
|
||||
GROUP BY EvHonap, HelyettesitoId
|
||||
|
||||
UPDATE h1 SET
|
||||
[1] += CASE WHEN h2.[1] > 0 THEN ' ('+ h2.[1] + ')' ELSE '' END
|
||||
,[2] += CASE WHEN h2.[2] > 0 THEN ' ('+ h2.[2] + ')' ELSE '' END
|
||||
,[3] += CASE WHEN h2.[3] > 0 THEN ' ('+ h2.[3] + ')' ELSE '' END
|
||||
,[4] += CASE WHEN h2.[4] > 0 THEN ' ('+ h2.[4] + ')' ELSE '' END
|
||||
,[5] += CASE WHEN h2.[5] > 0 THEN ' ('+ h2.[5] + ')' ELSE '' END
|
||||
,[6] += CASE WHEN h2.[6] > 0 THEN ' ('+ h2.[6] + ')' ELSE '' END
|
||||
,[7] += CASE WHEN h2.[7] > 0 THEN ' ('+ h2.[7] + ')' ELSE '' END
|
||||
,[8] += CASE WHEN h2.[8] > 0 THEN ' ('+ h2.[8] + ')' ELSE '' END
|
||||
,[9] += CASE WHEN h2.[9] > 0 THEN ' ('+ h2.[9] + ')' ELSE '' END
|
||||
,[10] += CASE WHEN h2.[10] > 0 THEN ' ('+ h2.[10] + ')' ELSE '' END
|
||||
,[11] += CASE WHEN h2.[11] > 0 THEN ' ('+ h2.[11] + ')' ELSE '' END
|
||||
,[12] += CASE WHEN h2.[12] > 0 THEN ' ('+ h2.[12] + ')' ELSE '' END
|
||||
,[13] += CASE WHEN h2.[13] > 0 THEN ' ('+ h2.[13] + ')' ELSE '' END
|
||||
,[14] += CASE WHEN h2.[14] > 0 THEN ' ('+ h2.[14] + ')' ELSE '' END
|
||||
,[15] += CASE WHEN h2.[15] > 0 THEN ' ('+ h2.[15] + ')' ELSE '' END
|
||||
,[16] += CASE WHEN h2.[16] > 0 THEN ' ('+ h2.[16] + ')' ELSE '' END
|
||||
,[17] += CASE WHEN h2.[17] > 0 THEN ' ('+ h2.[17] + ')' ELSE '' END
|
||||
,[18] += CASE WHEN h2.[18] > 0 THEN ' ('+ h2.[18] + ')' ELSE '' END
|
||||
,[19] += CASE WHEN h2.[19] > 0 THEN ' ('+ h2.[19] + ')' ELSE '' END
|
||||
,[20] += CASE WHEN h2.[20] > 0 THEN ' ('+ h2.[20] + ')' ELSE '' END
|
||||
,[21] += CASE WHEN h2.[21] > 0 THEN ' ('+ h2.[21] + ')' ELSE '' END
|
||||
,[22] += CASE WHEN h2.[22] > 0 THEN ' ('+ h2.[22] + ')' ELSE '' END
|
||||
,[23] += CASE WHEN h2.[23] > 0 THEN ' ('+ h2.[23] + ')' ELSE '' END
|
||||
,[24] += CASE WHEN h2.[24] > 0 THEN ' ('+ h2.[24] + ')' ELSE '' END
|
||||
,[25] += CASE WHEN h2.[25] > 0 THEN ' ('+ h2.[25] + ')' ELSE '' END
|
||||
,[26] += CASE WHEN h2.[26] > 0 THEN ' ('+ h2.[26] + ')' ELSE '' END
|
||||
,[27] += CASE WHEN h2.[27] > 0 THEN ' ('+ h2.[27] + ')' ELSE '' END
|
||||
,[28] += CASE WHEN h2.[28] > 0 THEN ' ('+ h2.[28] + ')' ELSE '' END
|
||||
,[29] += CASE WHEN h2.[29] > 0 THEN ' ('+ h2.[29] + ')' ELSE '' END
|
||||
,[30] += CASE WHEN h2.[30] > 0 THEN ' ('+ h2.[30] + ')' ELSE '' END
|
||||
,[31] += CASE WHEN h2.[31] > 0 THEN ' ('+ h2.[31] + ')' ELSE '' END
|
||||
FROM #Helyettesitesek h1
|
||||
INNER JOIN #HelyettesitesekParhuzamosOra h2 on
|
||||
h1.EvHonap = h2.EvHonap
|
||||
AND h1.HelyettesitoId = h2.HelyettesitoId
|
||||
AND h1.OsztalyCsoport = h2.OsztalyCsoport
|
||||
|
||||
--Helyettesítések párhuzamosan helyettesített órákkal
|
||||
SELECT * FROM #Helyettesitesek
|
||||
|
||||
--Havi/Heti összesen helyettesített órák száma
|
||||
SELECT * FROM #Ossz
|
||||
|
||||
DROP TABLE #Helyettesitesek
|
||||
DROP TABLE #HelyettesitesekParhuzamosOra
|
||||
DROP TABLE #Ossz
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,24 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetHelyettesitoTanarTanorahoz]
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: <Zsiga Attila>
|
||||
-- Create date: <2016.03.09.>
|
||||
-- Description: <Tanorahoz tartozo helyettesito tanar>
|
||||
-- =============================================
|
||||
Create PROCEDURE [dbo].[sp_GetHelyettesitoTanarTanorahoz]
|
||||
@pOrarendiOraID int,
|
||||
@pDatum DateTime
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
tto.C_HELYETTESITOTANARID HelyettesitoID
|
||||
FROM T_ORARENDIORA oo
|
||||
JOIN T_TANITASIORA tto ON tto.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID AND tto.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
WHERE
|
||||
oo.ID = @pOrarendiOraID
|
||||
AND tto.C_DATUM = @pDatum
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,51 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetHianyzoOrabeirasok]
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: <Zsiga Attila>
|
||||
-- Create date: <2016.03.09.>
|
||||
-- Description: <Hiányzó órabeírások (órarendióra, ami nem lett lenaplózva tanításiórává) értesítés generáláshoz>
|
||||
-- =============================================
|
||||
Create PROCEDURE [dbo].[sp_GetHianyzoOrabeirasok]
|
||||
@pIdoszakVege DateTime
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- :TOKNOW:
|
||||
-- 1608: Hiányzó óra naplózás
|
||||
-- 1554: Minden héten
|
||||
|
||||
DECLARE @pIdoszakKezdete DateTime;
|
||||
SET @pIdoszakKezdete =
|
||||
(
|
||||
SELECT
|
||||
TOP 1 CREATED LastCreated
|
||||
FROM
|
||||
T_ERTESITES
|
||||
WHERE
|
||||
T_ERTESITES.C_TIPUS = 1608
|
||||
ORDER BY
|
||||
T_ERTESITES.CREATED DESC
|
||||
);
|
||||
|
||||
DECLARE @pLastCreated DateTime;
|
||||
SET @pLastCreated = @pIdoszakKezdete;
|
||||
|
||||
SELECT
|
||||
T_ORARENDIORA.ID OrarendiOraID,
|
||||
T_NAPTARINAP.C_NAPDATUMA Datum,
|
||||
T_ORARENDIORA.C_ORASZAM Oraszam
|
||||
FROM
|
||||
(SELECT * FROM T_ORARENDIORA WHERE T_ORARENDIORA.TOROLT = 'F' AND ((T_ORARENDIORA.C_ORAERVENYESSEGVEGE >= @pIdoszakKezdete AND T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE <= @pIdoszakVege) OR (T_ORARENDIORA.CREATED > @pLastCreated AND T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE <= @pIdoszakVege))) T_ORARENDIORA
|
||||
LEFT JOIN T_NAPTARINAP ON
|
||||
T_NAPTARINAP.C_NAPDATUMA >= CONVERT(DATE, T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE) AND T_NAPTARINAP.C_NAPDATUMA <= CONVERT(DATE, T_ORARENDIORA.C_ORAERVENYESSEGVEGE)
|
||||
AND ((T_NAPTARINAP.C_NAPDATUMA >= @pIdoszakKezdete AND T_NAPTARINAP.C_NAPDATUMA <= @pIdoszakVege) OR (T_ORARENDIORA.CREATED > @pLastCreated AND T_NAPTARINAP.C_NAPDATUMA <= @pIdoszakVege))
|
||||
AND T_NAPTARINAP.C_HETNAPJA = T_ORARENDIORA.C_HETNAPJA
|
||||
AND (T_ORARENDIORA.C_HETIREND = 1554 OR T_NAPTARINAP.C_HETIREND = T_ORARENDIORA.C_HETIREND)
|
||||
AND T_NAPTARINAP.TOROLT = 'F'
|
||||
LEFT JOIN T_TANITASIORA ON T_TANITASIORA.C_ORARENDIORAGROUPID = T_ORARENDIORA.C_ORARENDIORAGROUPID AND T_TANITASIORA.C_DATUM BETWEEN T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE AND T_TANITASIORA.C_DATUM = T_NAPTARINAP.C_NAPDATUMA AND T_TANITASIORA.TOROLT = 'F'
|
||||
WHERE
|
||||
T_TANITASIORA.C_MEGTARTOTT IS NULL
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,42 @@
|
|||
-- =============================================
|
||||
-- Description: Tanulók gondviselõinek belépési adatai
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetHozzatartozok]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetHozzatartozok]
|
||||
@osztalyId int = null,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
declare @Hozzaferesek table (Osztaly nvarchar(max), OsztalyId int, Intezmeny nvarchar(max), TanuloNev nvarchar(max), Gondviselo nvarchar(max), Azonosito nvarchar(max), Jelszo nvarchar(max), Link nvarchar(max))
|
||||
insert into @Hozzaferesek
|
||||
select distinct Osztaly.Osztaly, Osztaly.Osztalyid, ia.c_nev Intezmeny, f.c_nyomtatasinev TanuloNev, g.c_nev Gondviselo, fb.c_bejelentkezesinev Azonosito, fb.c_jelszo Jelszo, 'https://'+lower(i.c_azonosito)+'.e-kreta.hu' as Link from t_gondviselo g
|
||||
inner join t_tanulo t on t.id=g.c_tanuloid and t.c_alintezmenyid=@intezmenyid and t.c_altanevid=@tanevid
|
||||
inner join t_felhasznalo f on f.id=t.id and f.torolt='F'
|
||||
inner join t_felhasznalobelepes fb on fb.c_gondviseloid=g.id and fb.torolt='F' and fb.C_KOTELEZOVALTOZTATNI = 'T'
|
||||
left join (select tcs.c_tanuloid TanuloId, ocs.c_nev as Osztaly, o.Id OsztalyId from t_tanulocsoport tcs
|
||||
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid and o.torolt='F' and o.c_alintezmenyid=@intezmenyid and o.c_altanevid=@tanevid
|
||||
inner join t_osztalycsoport ocs on ocs.id=o.id and ocs.c_intezmenyid=@intezmenyid and ocs.c_tanevid=@tanevid
|
||||
AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
where tcs.torolt='F' and tcs.c_intezmenyid=@intezmenyid and tcs.c_tanevid=@tanevId) Osztaly on Osztaly.Tanuloid=t.id
|
||||
inner join t_intezmenyadatok ia on ia.c_intezmenyid=t.c_alintezmenyid and ia.c_tanevid=@tanevId and ia.torolt='F'
|
||||
inner join t_intezmeny i on i.id=ia.c_intezmenyid and i.torolt='F'
|
||||
where g.torolt='F'
|
||||
order by TanuloNev
|
||||
|
||||
if @osztalyId is null
|
||||
begin
|
||||
select Osztaly, Intezmeny, TanuloNev, Gondviselo, Azonosito, Jelszo, Link from @Hozzaferesek
|
||||
end
|
||||
else
|
||||
begin
|
||||
select Osztaly, Intezmeny, TanuloNev, Gondviselo, Azonosito, Jelszo, Link from @Hozzaferesek where Osztalyid=@osztalyid
|
||||
end
|
||||
End
|
||||
go
|
|
@ -0,0 +1,97 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetIktSzandeknyilatkozatAdatok]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Elõszedjük az IKT szándéknyilatkozat adatokat>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetIktSzandeknyilatkozatAdatok]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pBesorolasiFokozatTipusEnumNa INT
|
||||
,@pCimTipusEnumAllandoLakcim INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT DISTINCT
|
||||
felhasznalo.C_NYOMTATASINEV PedagogusNev
|
||||
,cim.C_IRANYITOSZAM + ', ' + cim.C_VAROS + ', ' + cim.C_KOZTERULET + ' ' +
|
||||
cim.C_KOZTERULETJELLEGENEV + ' ' + ISNULL(cim.C_HAZSZAM, '') +
|
||||
IIF (felhasznalo.C_IGAZOLVANYSZAM IS NOT NULL, ', ' + felhasznalo.C_IGAZOLVANYSZAM, '') PedagogusAdatok
|
||||
,REPLACE(REPLACE(felhasznalo.C_NYOMTATASINEV, '[', ''), ']', '') +
|
||||
IIF (felhasznalo.C_IGAZOLVANYSZAM IS NOT NULL, ' - ' + felhasznalo.C_IGAZOLVANYSZAM, '') Qr
|
||||
FROM
|
||||
T_FELHASZNALO_OSSZES felhasznalo
|
||||
INNER JOIN
|
||||
T_MUNKAUGYIADATOK_OSSZES munkaugyiAdatok ON
|
||||
munkaugyiAdatok.C_ALKALMAZOTTID = felhasznalo.ID
|
||||
AND munkaugyiAdatok.C_INTEZMENYID = @pIntezmenyId
|
||||
AND munkaugyiAdatok.C_TANEVID = @pTanevId
|
||||
AND munkaugyiAdatok.TOROLT = 'F'
|
||||
INNER JOIN
|
||||
T_ALKALMAZOTT_OSSZES alkalmazott ON
|
||||
alkalmazott.ID = felhasznalo.ID
|
||||
AND alkalmazott.C_ALINTEZMENYID = @pIntezmenyId
|
||||
AND alkalmazott.C_ALTANEVID = @pTanevId
|
||||
AND alkalmazott.TOROLT = 'F'
|
||||
CROSS APPLY
|
||||
(SELECT TOP 1 *
|
||||
FROM
|
||||
T_CIM_OSSZES cim
|
||||
WHERE
|
||||
cim.C_FELHASZNALOID = felhasznalo.ID
|
||||
AND cim.TOROLT = 'F'
|
||||
AND cim.C_CIMTIPUSA = @pCimTipusEnumAllandoLakcim
|
||||
) cim
|
||||
WHERE
|
||||
felhasznalo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND felhasznalo.C_TANEVID = @pTanevId
|
||||
AND felhasznalo.TOROLT = 'F'
|
||||
AND munkaugyiAdatok.C_BESOROLASIFOKOZAT NOT IN (@pBesorolasiFokozatTipusEnumNa)
|
||||
AND alkalmazott.C_ELFOGADOTTSZANDEKNYILATKOZAT = 'T'
|
||||
|
||||
SELECT
|
||||
intezmenyAdatok.C_VAROS Szekhely
|
||||
,intezmenyAdatok.C_NEV Nev
|
||||
,intezmenyAdatok.C_OMKOD OmKod
|
||||
,intezmenyAdatok.C_IGAZGATONEVE Vezeto
|
||||
,IIF (felhasznalo.ID IS NOT NULL,
|
||||
cim.C_IRANYITOSZAM + ', ' + cim.C_VAROS + ', ' + cim.C_KOZTERULET + ' ' +
|
||||
cim.C_KOZTERULETJELLEGENEV + ' ' + ISNULL(cim.C_HAZSZAM, '') +
|
||||
IIF (felhasznalo.C_IGAZOLVANYSZAM IS NOT NULL, ', ' + felhasznalo.C_IGAZOLVANYSZAM, ''),
|
||||
+ '-') VezetoAdatok
|
||||
FROM
|
||||
T_INTEZMENYADATOK_OSSZES intezmenyAdatok
|
||||
OUTER APPLY
|
||||
(SELECT TOP 1 *
|
||||
FROM
|
||||
T_FELHASZNALO_OSSZES felhasznalo
|
||||
WHERE
|
||||
felhasznalo.C_NYOMTATASINEV LIKE '%' + intezmenyAdatok.C_IGAZGATONEVE + '%'
|
||||
AND felhasznalo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND felhasznalo.C_TANEVID = @pTanevId
|
||||
AND felhasznalo.TOROLT = 'F'
|
||||
) felhasznalo
|
||||
OUTER APPLY
|
||||
(SELECT TOP 1 *
|
||||
FROM
|
||||
T_CIM_OSSZES cim
|
||||
WHERE
|
||||
cim.C_FELHASZNALOID = felhasznalo.ID
|
||||
AND cim.C_INTEZMENYID = @pIntezmenyId
|
||||
AND cim.C_TANEVID = @pTanevId
|
||||
AND cim.TOROLT = 'F'
|
||||
ORDER BY
|
||||
cim.C_ALAPERTELMEZETT DESC
|
||||
,cim.LASTCHANGED DESC
|
||||
) cim
|
||||
WHERE
|
||||
intezmenyAdatok.C_INTEZMENYID = @pIntezmenyId
|
||||
AND intezmenyAdatok.C_TANEVID = @pTanevId
|
||||
AND intezmenyAdatok.TOROLT = 'F'
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,38 @@
|
|||
-- =============================================
|
||||
-- Description: <Előszedjük az informatikai adatszolgáltatáshoz szükséges adatokat>
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetInformatikaiAdatszolgaltatasGrid]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetInformatikaiAdatszolgaltatasGrid]
|
||||
@pIntezmenyId INT,
|
||||
@pTanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
MukodesiHely.ID ID,
|
||||
MukodesiHely.C_NEV MukodesiHelyNeve,
|
||||
MukodesiHelyAdatszolgaltatas.C_INTSZOLGALTATO InternetszolgaltatoNeve,
|
||||
MukodesiHelyAdatszolgaltatas.C_INTLETOLTESSAV InternetLetoltesiSavszelessege,
|
||||
MukodesiHelyAdatszolgaltatas.C_INTFELTOLTESSAV InternetFeltoltesiSavszelessege,
|
||||
MukodesiHelyAdatszolgaltatas.C_INTHAVIDIJ InternetszolgaltatasHaviNettoDija,
|
||||
MukodesiHelyAdatszolgaltatas.C_INFORMATIKAOKTATAS InformatikaOktatasVanNincs
|
||||
FROM
|
||||
T_MUKODESIHELY_OSSZES MukodesiHely
|
||||
LEFT JOIN
|
||||
T_MUKODESIHELYADATSZOLGALTATAS MukodesiHelyAdatszolgaltatas ON
|
||||
MukodesiHelyAdatszolgaltatas.C_MUKODESIHELYID = MukodesiHely.ID
|
||||
AND MukodesiHelyAdatszolgaltatas.C_INTEZMENYID = @pIntezmenyId
|
||||
AND MukodesiHelyAdatszolgaltatas.C_TANEVID = @pTanevId
|
||||
AND MukodesiHelyAdatszolgaltatas.TOROLT = 'F'
|
||||
|
||||
WHERE
|
||||
MukodesiHely.C_INTEZMENYID = @pIntezmenyId AND
|
||||
MukodesiHely.C_TANEVID = @pTanevId AND
|
||||
MukodesiHely.TOROLT = 'F'
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetKozossegiJelentkezesLap]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetKozossegiJelentkezesLap]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pOsztalyId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyId)
|
||||
|
||||
/* TANULO */
|
||||
SELECT
|
||||
dbo.fnGetDokumentumDatumFormatum(f.C_SZULETESIDATUM) AS SzulIdo
|
||||
,f.C_NYOMTATASINEV AS TanuloNeve
|
||||
,f.C_SZULETESINEV AS SzuletesiNev
|
||||
,ocs.C_NEV AS Osztaly
|
||||
,t.ID AS TanuloId
|
||||
,f.C_OKTATASIAZONOSITO AS OktAzon
|
||||
INTO #Tanulok
|
||||
FROM T_TANULO_OSSZES AS t
|
||||
INNER JOIN T_FELHASZNALO_OSSZES AS f ON f.ID = t.ID AND f.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES AS tcs ON tcs.C_TANULOID = t.ID AND tcs.TOROLT = 'F' AND tcs.C_OSZTALYCSOPORTID = @pOsztalyId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F' AND ocs.C_FELADATKATEGORIAID = @kategoriaId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS d ON d.id=f.C_ALLAMPOLGARSAGA AND d.C_TANEVID = f.C_TANEVID AND d.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
WHERE ocs.ID = @pOsztalyId
|
||||
AND t.C_ALINTEZMENYID = @pIntezmenyId
|
||||
AND t.C_ALTANEVID = @pTanevId
|
||||
|
||||
SELECT * FROM #Tanulok
|
||||
|
||||
/* INTEZMENYADATOK */
|
||||
SELECT DISTINCT
|
||||
ia.C_NEV AS IntezmenyNev
|
||||
,ia.C_IGAZGATONEVE AS IgazgatoNev
|
||||
,dbo.fnGetDokumentumIntezmenyCime (@pTanevId) AS IntezmenyCim
|
||||
,ia.C_TELEFONSZAM AS IntezmenyTelefonszam
|
||||
,ia.C_EMAILCIM AS IntezmenyEmail
|
||||
,ia.C_OMKOD AS OktAzon
|
||||
,tv.C_NEV AS Tanev
|
||||
FROM T_TANEV_OSSZES AS tv
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES AS ia ON tv.ID = ia.C_TANEVID
|
||||
WHERE tv.ID = @pTanevId
|
||||
|
||||
/* GONDVISELO */
|
||||
SELECT g.C_NEV AS GondviseloNeve
|
||||
,g.C_TANULOID AS TanuloId
|
||||
FROM T_GONDVISELO_OSSZES AS g
|
||||
INNER JOIN #Tanulok AS Tanulok ON Tanulok.TanuloId = g.C_TANULOID
|
||||
WHERE g.C_ISTORVENYESKEPVISELO = 'T'
|
||||
AND (g.C_ISCSOKKENTETTGONDVISELO IS NULL OR g.C_ISCSOKKENTETTGONDVISELO = 'F')
|
||||
AND g.C_TANEVID = @pTanevId
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
-- =============================================
|
||||
-- Description: <Előszedjük a tanuló összes közösségi szolgálat óraszámát>
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetKozossegiSzolgalatOsszesOraszam]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetKozossegiSzolgalatOsszesOraszam]
|
||||
@pIntezmenyId AS INT
|
||||
,@pTanuloId AS INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT IIF(SUM(KozossegiSzolgalat.C_ORASZAM) IS NULL, 0, SUM(KozossegiSzolgalat.C_ORASZAM))
|
||||
FROM
|
||||
T_FELHASZNALO_OSSZES Tanulo
|
||||
LEFT JOIN (
|
||||
SELECT DISTINCT
|
||||
Tanulo.C_OKTATASIAZONOSITO OktatasiAzonosito
|
||||
FROM
|
||||
T_FELHASZNALO_OSSZES Tanulo
|
||||
WHERE
|
||||
Tanulo.TOROLT = 'F'
|
||||
AND Tanulo.ID = @pTanuloId
|
||||
) CurrentTanulo ON
|
||||
CurrentTanulo.OktatasiAzonosito IS NOT NULL
|
||||
LEFT JOIN
|
||||
T_TANULOKOZOSSEGISZOLGALAT_OSSZES KozossegiSzolgalat ON
|
||||
KozossegiSzolgalat.C_TANULOID = Tanulo.ID
|
||||
AND KozossegiSzolgalat.C_INTEZMENYID = @pIntezmenyId
|
||||
AND KozossegiSzolgalat.TOROLT = 'F'
|
||||
WHERE
|
||||
Tanulo.C_OKTATASIAZONOSITO = CurrentTanulo.OktatasiAzonosito
|
||||
AND Tanulo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Tanulo.TOROLT = 'F'
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,129 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetKozossegiSzolgalatokReszletek
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetKozossegiSzolgalatokReszletek
|
||||
@pIntezmenyId int
|
||||
,@pTanevId int
|
||||
,@pTanuloId int = NULL
|
||||
,@pTanarId int = NULL
|
||||
,@pToroltElemek char = 'F'
|
||||
,@pIntervallumKezdete datetime = NULL
|
||||
,@pIntervallumVege datetime = NULL
|
||||
,@pTeljesitesHelye nvarchar(100) = NULL
|
||||
,@pOraszam int = NULL
|
||||
,@pTanuloNev nvarchar(100) = NULL
|
||||
,@pOsztalyNev nvarchar(100) = NULL
|
||||
,@pKozossegiSzolgalatTipusa int = NULL
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE
|
||||
@sql nvarchar(max)
|
||||
,@selectSql nvarchar(max)
|
||||
,@whereSql nvarchar(max)
|
||||
,@orderSql nvarchar(max)
|
||||
|
||||
SET @selectSql = N'
|
||||
SELECT
|
||||
KozossegiSzolgalat.ID AS ID
|
||||
,KozossegiSzolgalat.C_INTERVALLUMKEZDETE AS IntervallumKezdete
|
||||
,KozossegiSzolgalat.C_INTERVALLUMVEGE AS IntervallumVege
|
||||
,KozossegiSzolgalat.C_ROGZITESDATUM AS RogzitesDatuma
|
||||
,KozossegiSzolgalat.C_TELJESITESIHELYE AS TeljesitesiHelye
|
||||
,KozossegiSzolgalat.C_ORASZAM AS Oraszam
|
||||
,KozossegiSzolgalat.C_KOZOSSEGISZOLGALATTIPUSA AS KozossegiSzolgalatTipusa
|
||||
,KozossegiSzolgalat.C_MEGJEGYZES AS Megjegyzes
|
||||
,KozossegiSzolgalat.TOROLT AS Torolt
|
||||
,ISNULL(@pTanuloId, ISNULL(AktTanuloOktazon.ID, AktTanuloIdp.ID)) AS TanuloId
|
||||
,Tanulo.C_NYOMTATASINEV AS TanuloNev
|
||||
,dbo.fnGetTanuloAktualisOsztaly(ISNULL(@pTanuloId, ISNULL(AktTanuloOktazon.ID, AktTanuloIdp.ID))) AS OsztalyNev
|
||||
,KozossegiSzolgalat.C_UGYIRATSZAM AS Ugyiratszam
|
||||
,CASE WHEN KozossegiSzolgalat.C_FELJEGYZOID = @pTanarId AND @pToroltElemek = ''T'' THEN ''T'' ELSE ''F'' END AS Modosithato
|
||||
FROM T_TANULOKOZOSSEGISZOLGALAT_OSSZES KozossegiSzolgalat
|
||||
INNER JOIN T_FELHASZNALO_OSSZES Tanulo ON KozossegiSzolgalat.C_TANULOID = Tanulo.ID
|
||||
AND Tanulo.TOROLT = IIF(@pToroltElemek = ''T'', Tanulo.TOROLT, ''F'')
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES AktTanuloOktazon ON AktTanuloOktazon.C_OKTATASIAZONOSITO = Tanulo.C_OKTATASIAZONOSITO
|
||||
AND AktTanuloOktazon.TOROLT = IIF(@pToroltElemek = ''T'', AktTanuloOktazon.TOROLT, ''F'') AND AktTanuloOktazon.C_TANEVID = @pTanevId
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES AktTanuloIdp ON AktTanuloIdp.C_IDPEGYEDIAZONOSITO = Tanulo.C_IDPEGYEDIAZONOSITO
|
||||
AND AktTanuloIdp.TOROLT = IIF(@pToroltElemek = ''T'', AktTanuloIdp.TOROLT, ''F'') AND AktTanuloIdp.C_TANEVID = @pTanevId'
|
||||
|
||||
SET @whereSql = N'
|
||||
WHERE KozossegiSzolgalat.TOROLT = IIF(@pToroltElemek = ''T'', KozossegiSzolgalat.TOROLT, ''F'')'
|
||||
|
||||
IF @pTanuloId IS NOT NULL BEGIN
|
||||
SET @whereSql += N'
|
||||
AND ISNULL(AktTanuloOktazon.ID, AktTanuloIdp.ID) = @pTanuloId'
|
||||
END
|
||||
|
||||
IF @pIntervallumKezdete IS NOT NULL BEGIN
|
||||
SET @whereSql += N'
|
||||
AND KozossegiSzolgalat.C_INTERVALLUMKEZDETE >= @pIntervallumKezdete'
|
||||
END
|
||||
|
||||
IF @pIntervallumVege IS NOT NULL BEGIN
|
||||
SET @whereSql += N'
|
||||
AND KozossegiSzolgalat.C_INTERVALLUMVEGE <= @pIntervallumVege'
|
||||
END
|
||||
|
||||
IF @pTeljesitesHelye IS NOT NULL BEGIN
|
||||
SET @whereSql += N'
|
||||
AND KozossegiSzolgalat.C_TELJESITESIHELYE = @pTeljesitesHelye'
|
||||
END
|
||||
|
||||
IF @pOraszam IS NOT NULL BEGIN
|
||||
SET @whereSql += N'
|
||||
AND KozossegiSzolgalat.C_ORASZAM = @pOraszam'
|
||||
END
|
||||
|
||||
IF @pKozossegiSzolgalatTipusa IS NOT NULL BEGIN
|
||||
SET @whereSql += N'
|
||||
AND KozossegiSzolgalat.C_KOZOSSEGISZOLGALATTIPUSA = @pKozossegiSzolgalatTipusa'
|
||||
END
|
||||
|
||||
IF @pTanuloNev IS NOT NULL BEGIN
|
||||
SET @whereSql += N'
|
||||
AND Tanulo.C_NYOMTATASINEV LIKE N''%'' + @pTanuloNev + N''%'''
|
||||
END
|
||||
|
||||
IF @pOsztalyNev IS NOT NULL BEGIN
|
||||
SET @whereSql += N'
|
||||
AND dbo.fnGetTanuloAktualisOsztaly(KozossegiSzolgalat.C_TANULOID) = @pOsztalyNev'
|
||||
END
|
||||
|
||||
SET @orderSql = N'
|
||||
ORDER BY KozossegiSzolgalat.C_INTERVALLUMKEZDETE DESC'
|
||||
|
||||
SET @sql = @selectSql + @whereSql + @orderSql
|
||||
|
||||
EXEC sp_executesql @sql, N'
|
||||
@pIntezmenyId int
|
||||
,@pTanevId int
|
||||
,@pTanuloId int = NULL
|
||||
,@pTanarId int = NULL
|
||||
,@pToroltElemek char
|
||||
,@pIntervallumKezdete datetime = NULL
|
||||
,@pIntervallumVege datetime = NULL
|
||||
,@pTeljesitesHelye nvarchar(100) = NULL
|
||||
,@pOraszam int = NULL
|
||||
,@pTanuloNev nvarchar(100) = NULL
|
||||
,@pOsztalyNev nvarchar(100) = NULL
|
||||
,@pKozossegiSzolgalatTipusa int = NULL'
|
||||
,@pIntezmenyId = @pIntezmenyId
|
||||
,@pTanevId = @pTanevId
|
||||
,@pTanuloId = @pTanuloId
|
||||
,@pTanarId = @pTanarId
|
||||
,@pToroltElemek = @pToroltElemek
|
||||
,@pIntervallumKezdete = @pIntervallumKezdete
|
||||
,@pIntervallumVege = @pIntervallumVege
|
||||
,@pTeljesitesHelye = @pTeljesitesHelye
|
||||
,@pOraszam = @pOraszam
|
||||
,@pTanuloNev = @pTanuloNev
|
||||
,@pOsztalyNev = @pOsztalyNev
|
||||
,@pKozossegiSzolgalatTipusa = @pKozossegiSzolgalatTipusa
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,182 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.sp_GetMulasztasokNaploNezetData
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.sp_GetMulasztasokNaploNezetData
|
||||
@pTanevId int
|
||||
,@pIntezmenyId int
|
||||
,@pOsztalyCsoportId int
|
||||
,@pDatum date
|
||||
,@pCsoportTipusTanoraiCeluId int
|
||||
,@pIsCsoportVez int = 0
|
||||
,@pSzervezetTipusId INT = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
CREATE TABLE #TempTable(
|
||||
TanitasiOraId INT NOT NULL,
|
||||
OsztalyCsoportId INT NOT NULL,
|
||||
OsztalyCsoportNev NVARCHAR(255) NOT NULL,
|
||||
OsztalyNev NVARCHAR(255) NOT NULL,
|
||||
IsOsztalyOraja BIT NOT NULL,
|
||||
IsTanoraiCelu BIT NOT NULL,
|
||||
IsTanoraiCelunakJelolt BIT NOT NULL,
|
||||
TantargyId INT NOT NULL,
|
||||
TantargyNev NVARCHAR(255) NOT NULL,
|
||||
TanarId INT NOT NULL,
|
||||
TanarNev NVARCHAR(255) NOT NULL,
|
||||
OraSorszam INT NULL,
|
||||
OraKezdete DATETIME NULL
|
||||
);
|
||||
|
||||
DECLARE @sql nvarchar(max) = ''
|
||||
|
||||
SET @sql += N'
|
||||
SELECT
|
||||
tn.ID AS TanitasiOraId
|
||||
,ocs.ID AS OsztalyCsoportId
|
||||
,ocs.C_NEV AS OsztalyCsoportNev
|
||||
,o.C_NEV AS OsztalyNev
|
||||
,IIF(ocs.ID = @pOsztalyCsoportId, 1, 0) AS IsOsztalyOraja
|
||||
,IIF(cst.ID = @pCsoportTipusTanoraiCeluId, 1, 0) AS IsTanoraiCelu
|
||||
,IIF(cst.C_ISTANORAICELU = ''T'', 1, 0) AS IsTanoraiCelunakJelolt
|
||||
,tt.ID AS TantargyId
|
||||
,tt.C_NEV AS TantargyNev
|
||||
,fa.ID AS TanarId
|
||||
,fa.C_NYOMTATASINEV AS TanarNev
|
||||
,IIF(tn.C_CSENGETESIRENDORAID IS NOT NULL, tn.C_ORASZAM, NULL) AS OraSorszam
|
||||
,IIF(tn.C_CSENGETESIRENDORAID IS NULL, tn.C_ORAKEZDETE, NULL) AS OraKezdete
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
' + IIF(@pIsCsoportVez = 0, N' INNER JOIN dbo.fnGetKapcsolodoOsztalycsoportokByDate(@pOsztalyCsoportId, @pDatum, @pDatum) kocs ON kocs.ID = tn.C_OSZTALYCSOPORTID ', '')
|
||||
SET @sql += N'
|
||||
INNER JOIN T_TANTARGY_OSSZES tt ON tt.ID = tn.C_TANTARGYID AND tt.TOROLT = ''F'' AND tt.C_TANEVID = @pTanevId AND tt.C_INTEZMENYID = @pIntezmenyId
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fa ON fa.ID = tn.C_ORATULAJDONOSID AND fa.TOROLT = ''F'' AND fa.C_TANEVID = @pTanevId AND fa.C_INTEZMENYID = @pIntezmenyId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tn.C_OSZTALYCSOPORTID AND ocs.TOROLT = ''F'' AND ocs.C_TANEVID = @pTanevId AND ocs.C_INTEZMENYID = @pIntezmenyId
|
||||
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = tn.C_OSZTALYCSOPORTID AND cs.TOROLT = ''F'' AND cs.C_ALTANEVID = @pTanevId AND cs.C_ALINTEZMENYID = @pIntezmenyId
|
||||
LEFT JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = ''F'' AND cst.C_ALTANEVID = @pTanevId AND cst.C_ALINTEZMENYID = @pIntezmenyId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES o ON o.ID = @pOsztalyCsoportId AND o.TOROLT = ''F'' AND ocs.C_TANEVID = @pTanevId AND ocs.C_INTEZMENYID = @pIntezmenyId
|
||||
INNER JOIN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportokByDate(@pOsztalyCsoportId, @pDatum, @pDatum)) f on f.ID = tn.C_OSZTALYCSOPORTID
|
||||
WHERE tn.C_DATUM = @pDatum
|
||||
AND tn.C_MEGTARTOTT = ''T''
|
||||
AND tn.TOROLT = ''F''
|
||||
AND tn.C_TANEVID = @pTanevId
|
||||
AND tn.C_INTEZMENYID = @pIntezmenyId
|
||||
' + IIF(@pIsCsoportVez = 1, N' AND tn.C_OSZTALYCSOPORTID = @pOsztalyCsoportId ','')
|
||||
|
||||
INSERT INTO #TempTable
|
||||
EXEC sp_executesql @sql, N'
|
||||
@pTanevId INT
|
||||
,@pIntezmenyId INT
|
||||
,@pOsztalyCsoportId INT
|
||||
,@pDatum DATE
|
||||
,@pCsoportTipusTanoraiCeluId INT
|
||||
,@pIsCsoportVez INT'
|
||||
,@pTanevId = @pTanevId
|
||||
,@pIntezmenyId = @pIntezmenyId
|
||||
,@pOsztalyCsoportId = @pOsztalyCsoportId
|
||||
,@pDatum = @pDatum
|
||||
,@pCsoportTipusTanoraiCeluId = @pCsoportTipusTanoraiCeluId
|
||||
,@pIsCsoportVez = @pIsCsoportVez
|
||||
|
||||
SET @sql = N''
|
||||
SET @sql += N'
|
||||
SELECT
|
||||
tcs.C_TANULOID AS TanuloId
|
||||
,ft.C_NYOMTATASINEV AS TanuloNev
|
||||
,ft.C_ANYJANEVE AS AnyjaNeve
|
||||
,ft.C_SZULETESIDATUM AS SzuletesiIdo
|
||||
,tbl.OsztalyCsoportId
|
||||
,tbl.OsztalyCsoportNev
|
||||
,tbl.OsztalyNev
|
||||
,tbl.IsOsztalyOraja
|
||||
,tbl.IsTanoraiCelu
|
||||
,tbl.IsTanoraiCelunakJelolt
|
||||
,tbl.TantargyId
|
||||
,tbl.TantargyNev
|
||||
,tbl.TanarId
|
||||
,tbl.TanarNev
|
||||
,tbl.OraSorszam
|
||||
,tbl.OraKezdete
|
||||
,tbl.TanitasiOraId
|
||||
,tm.ID AS MulasztasId
|
||||
,tm.C_TIPUS AS MulasztasTipus
|
||||
,tm.C_IGAZOLT AS IsIgazolt
|
||||
,tm.C_IGAZOLASTIPUSA AS IgazolasTipus
|
||||
,tm.C_MEGJEGYZES AS Megjegyzes
|
||||
,tm.C_KESESPERCBEN AS KesesPercben
|
||||
FROM (
|
||||
SELECT
|
||||
C_TANULOID
|
||||
,C_OSZTALYCSOPORTID
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs ' +
|
||||
IIF(@pSzervezetTipusId IS NULL, 'INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID
|
||||
AND tta.TOROLT = ''F''
|
||||
AND tta.C_TANEVID = @pTanevId
|
||||
AND tta.C_INTEZMENYID = @pIntezmenyId
|
||||
AND tta.C_JOGVISZONYATSZUNETELTETO = ''F''','')+'
|
||||
WHERE C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND C_BELEPESDATUM <= @pDatum
|
||||
AND (C_KILEPESDATUM > @pDatum OR C_KILEPESDATUM IS NULL)
|
||||
AND tcs.TOROLT = ''F''
|
||||
AND tcs.C_TANEVID = @pTanevId
|
||||
AND tcs.C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANULOID IN (
|
||||
SELECT
|
||||
C_TANULOID
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs2
|
||||
WHERE tcs2.C_OSZTALYCSOPORTID IN (SELECT OsztalyCsoportId FROM #TempTable)
|
||||
AND tcs2.C_TANEVID = @pTanevId
|
||||
AND tcs2.C_INTEZMENYID = @pIntezmenyId
|
||||
AND tcs2.TOROLT = ''F''
|
||||
AND tcs2.C_BELEPESDATUM <= @pDatum
|
||||
AND (tcs2.C_KILEPESDATUM > @pDatum OR tcs2.C_KILEPESDATUM IS NULL)
|
||||
)
|
||||
) tcs
|
||||
CROSS JOIN #TempTable tbl
|
||||
INNER JOIN T_FELHASZNALO_OSSZES ft ON tcs.C_TANULOID = ft.ID
|
||||
AND ft.TOROLT = ''F''
|
||||
AND ft.C_TANEVID = @pTanevId
|
||||
AND ft.C_INTEZMENYID = @pIntezmenyId
|
||||
LEFT JOIN T_TANULOMULASZTAS_OSSZES tm ON tcs.C_TANULOID = tm.C_ORATANULOIID
|
||||
AND tm.C_TANITASIORAKID = tbl.TanitasiOraId
|
||||
AND tm.TOROLT = ''F''
|
||||
AND tm.C_TANEVID = @pTanevId
|
||||
AND tm.C_INTEZMENYID = @pIntezmenyId
|
||||
LEFT JOIN T_TANULOMENTESSEG_OSSZES mentesseg ON mentesseg.C_TANULOID = tcs.C_TANULOID
|
||||
AND mentesseg.C_TANTARGYID = tbl.TantargyId
|
||||
AND mentesseg.C_ORAMENTESITES = ''T''
|
||||
AND mentesseg.TOROLT = ''F''
|
||||
AND mentesseg.C_TANEVID = @pTanevId
|
||||
AND mentesseg.C_INTEZMENYID = @pIntezmenyId
|
||||
WHERE
|
||||
tcs.C_TANULOID IN (
|
||||
SELECT
|
||||
C_TANULOID
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs2
|
||||
WHERE tbl.OsztalyCsoportId = tcs2.C_OSZTALYCSOPORTID
|
||||
AND tcs2.C_TANEVID = @pTanevId
|
||||
AND tcs2.C_INTEZMENYID = @pIntezmenyId
|
||||
AND tcs2.TOROLT = ''F''
|
||||
AND tcs2.C_BELEPESDATUM <= @pDatum
|
||||
AND (tcs2.C_KILEPESDATUM > @pDatum OR tcs2.C_KILEPESDATUM IS NULL)
|
||||
)
|
||||
AND (tm.C_TIPUS <> 1817 OR tm.C_TIPUS IS NULL)
|
||||
AND (mentesseg.ID IS NULL OR (mentesseg.C_KEZDETE > @pDatum OR mentesseg.C_VEGE < @pDatum))
|
||||
ORDER BY ft.C_NYOMTATASINEV '
|
||||
|
||||
EXEC sp_executesql @sql, N'
|
||||
@pTanevId INT
|
||||
,@pIntezmenyId INT
|
||||
,@pOsztalyCsoportId INT
|
||||
,@pDatum DATE
|
||||
,@pCsoportTipusTanoraiCeluId INT
|
||||
,@pIsCsoportVez INT'
|
||||
,@pTanevId = @pTanevId
|
||||
,@pIntezmenyId = @pIntezmenyId
|
||||
,@pOsztalyCsoportId = @pOsztalyCsoportId
|
||||
,@pDatum = @pDatum
|
||||
,@pCsoportTipusTanoraiCeluId = @pCsoportTipusTanoraiCeluId
|
||||
,@pIsCsoportVez = @pIsCsoportVez
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetNapkozisCsoportTanuloinakHaviMulasztasiOsszesitoje]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetNapkozisCsoportTanuloinakHaviMulasztasiOsszesitoje]
|
||||
@tanevID int
|
||||
,@intezmenyId int
|
||||
,@honapAdatszotarTypeId int = 55
|
||||
,@alapkepzesId int = 7553
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
declare @honapok table(honap int, honapnev nvarchar(max));
|
||||
insert into @honapok
|
||||
select distinct d.c_value as Honap, d.c_name as Honap from t_dictionaryitembase d where d.C_DICTIONARYTYPEID = @honapAdatszotarTypeId order by d.c_value
|
||||
|
||||
declare @napkoziscsoportok table(csoport int, csoportNev nvarchar(max));
|
||||
insert into @napkoziscsoportok
|
||||
select distinct tcs.c_osztalycsoportid as Csoport, ocs.c_nev from t_csoport cs
|
||||
inner join t_osztalycsoport ocs on ocs.id=cs.id AND ocs.C_FELADATKATEGORIAID = @alapkepzesId
|
||||
inner join t_tanulocsoport tcs on tcs.c_osztalycsoportid=ocs.id
|
||||
where cs.c_tipusa=1035 and cs.c_altanevid=@tanevid and cs.c_alintezmenyid=@intezmenyid and cs.torolt='F'
|
||||
|
||||
--
|
||||
DECLARE kurzorHonap CURSOR FOR
|
||||
select Honap from @honapok
|
||||
DECLARE @Honap int
|
||||
|
||||
DECLARE kurzorCsoport CURSOR FOR
|
||||
select csoport from @napkoziscsoportok
|
||||
DECLARE @Csoport int
|
||||
|
||||
OPEN kurzorHonap
|
||||
FETCH NEXT FROM kurzorHonap INTO @Honap
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
OPEN kurzorCsoport
|
||||
FETCH NEXT FROM kurzorCsoport INTO @Csoport
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
create table #tabla(COLUMN108 nvarchar(max), [1] int,[2] int,[3] int,[4] int,[5] int,[6] int,[7] int,[8] int,[9] int,[10] int,[11] int,[12] int,[13] int,[14] int,[15] int,[16] int,[17] int,[18] int,[19] int,[20] int,[21] int,[22] int,[23] int,[24] int,[25] int,[26] int,[27] int,[28] int,[29] int,[30] int,[31] int, COLUMN2672 int, COLUMN1910 int, COLUMN5197 int, COLUMN1786 int, COLUMN1787 int, COLUMN1788 int, COLUMN1789 int, COLUMN1911 int)
|
||||
insert into #tabla
|
||||
EXEC [dbo].[sp_GetNapkozisCsoportTanuloinakHaviMulasztasiOsszesitoje_1] @tanevID, @intezmenyId, @Csoport, @honap
|
||||
SELECT * from #tabla
|
||||
drop table #tabla
|
||||
FETCH NEXT FROM kurzorCsoport INTO @Csoport
|
||||
END
|
||||
FETCH NEXT FROM kurzorHonap INTO @Honap
|
||||
CLOSE kurzorCsoport
|
||||
END
|
||||
CLOSE kurzorHonap
|
||||
DEALLOCATE kurzorCsoport
|
||||
DEALLOCATE kurzorHonap
|
||||
--
|
||||
select honapnev from @honapok
|
||||
select csoportnev from @napkoziscsoportok
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetNapkozisCsoportTanuloinakHaviMulasztasiOsszesitoje_1]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetNapkozisCsoportTanuloinakHaviMulasztasiOsszesitoje_1]
|
||||
@tanevID int,
|
||||
@intezmenyId int,
|
||||
@csoportid int,
|
||||
@honap int
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Napközis csoportok tan
|
||||
create table #tanulo (Id int, Osztaly int)
|
||||
insert into #tanulo
|
||||
select tcs.c_tanuloid Tanulo, tcs.c_osztalycsoportid as Csoport from t_csoport cs
|
||||
inner join t_osztalycsoport ocs on ocs.id=cs.id
|
||||
inner join t_tanulocsoport tcs on tcs.c_osztalycsoportid=ocs.id
|
||||
where cs.c_tipusa=1035 and cs.c_altanevid=@tanevid and cs.c_alintezmenyid=@intezmenyid and cs.torolt='F' and tcs.c_osztalycsoportid=@csoportid
|
||||
|
||||
--Igazolások és típusai
|
||||
create table #igazolas (Tanulo int, IgazoltE nvarchar(1), IgazolasTipus int)
|
||||
insert into #igazolas
|
||||
select tm.c_oratanuloiid as Tanulo, tm.c_igazolt as IgazoltE, tm.c_igazolastipusa as IgazolasTipus from t_tanulomulasztas tm
|
||||
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid and tao.torolt='F' and tao.c_tanevid=@tanevid and tao.c_intezmenyid=@intezmenyid and (CAST(MONTH(tao.c_datum) AS VARCHAR))=@honap
|
||||
inner join t_csoport cs on cs.id=tao.c_osztalycsoportid and cs.c_tipusa=1035
|
||||
where tm.torolt='F' and tm.c_intezmenyid=@intezmenyid and tm.c_tanevid=@tanevid
|
||||
|
||||
--Mulasztások
|
||||
create table #mulasztas (Nap int, Tanulo int, Osztaly int)
|
||||
insert into #mulasztas
|
||||
select CAST(DAY(tao.c_datum) as int) as Nap, tm.c_oratanuloiid as Tanulo, tao.c_osztalycsoportid as Osztaly from t_tanulomulasztas tm
|
||||
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid and tao.torolt='F' and tao.c_tanevid=@tanevid and tao.c_intezmenyid=@intezmenyid and (CAST(MONTH(tao.c_datum) AS VARCHAR))=@honap
|
||||
inner join t_csoport cs on cs.id=tao.c_osztalycsoportid and cs.c_tipusa=1035
|
||||
where tm.torolt='F' and tm.c_intezmenyid=@intezmenyid and tm.c_tanevid=@tanevid
|
||||
|
||||
select f.c_nyomtatasinev as COLUMN379,
|
||||
iif(m.[1]=0, null, m.[1]) as [1], iif(m.[2]=0, null, m.[2]) as [2], iif(m.[3]=0, null, m.[3]) as [3], iif(m.[4]=0, null, m.[4]) as [4], iif(m.[5]=0, null, m.[5]) as [5],
|
||||
iif(m.[6]=0, null, m.[6]) as [6], iif(m.[7]=0, null, m.[7]) as [7], iif(m.[8]=0, null, m.[8]) as [8], iif(m.[9]=0, null, m.[9]) as [9], iif(m.[10]=0, null, m.[10]) as [10],
|
||||
iif(m.[11]=0, null, m.[11]) as [11], iif(m.[12]=0, null, m.[12]) as [12], iif(m.[13]=0, null, m.[13]) as [13], iif(m.[14]=0, null, m.[14]) as [14], iif(m.[15]=0, null, m.[15]) as [15],
|
||||
iif(m.[16]=0, null, m.[16]) as [16], iif(m.[17]=0, null, m.[17]) as [17], iif(m.[18]=0, null, m.[18]) as [18], iif(m.[19]=0, null, m.[19]) as [19], iif(m.[20]=0, null, m.[20]) as [20],
|
||||
iif(m.[21]=0, null, m.[21]) as [21], iif(m.[22]=0, null, m.[22]) as [22], iif(m.[23]=0, null, m.[23]) as [23], iif(m.[24]=0, null, m.[24]) as [24], iif(m.[25]=0, null, m.[25]) as [25],
|
||||
iif(m.[26]=0, null, m.[26]) as [26], iif(m.[27]=0, null, m.[27]) as [27], iif(m.[28]=0, null, m.[28]) as [28], iif(m.[29]=0, null, m.[29]) as [29], iif(m.[30]=0, null, m.[30]) as [30],
|
||||
iif(m.[31]=0, null, m.[31]) as [31]
|
||||
, Osszes.Osszes as COLUMN2672, Igazolt.Igazolt as COLUMN2568, Egyeb.Egyeb as COLUMN5197, Orvosi.Orvosi as COLUMN1786, Szuloi.Szuloi as COLUMN1787, Hivatalos.Hivatalos as COLUMN1788, IskolaErdeku.IskolaErdeku as COLUMN1789, Igazolatlan.Igazolatlan as COLUMN1911
|
||||
from #tanulo t
|
||||
left join (select * from #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31]))pv)m on m.Tanulo=t.id
|
||||
left join (select Tanulo, count(Tanulo) as Osszes from #igazolas group by Tanulo) Osszes on Osszes.Tanulo=t.Id
|
||||
left join (select Tanulo, count(Tanulo) as Igazolt from #igazolas i where i.IgazoltE='T' group by Tanulo) Igazolt on Igazolt.Tanulo=t.Id
|
||||
left join (select Tanulo, count(Tanulo) as Igazolatlan from #igazolas i where i.IgazoltE='F' group by Tanulo) Igazolatlan on Igazolatlan.Tanulo=t.Id
|
||||
left join (select Tanulo, count(Tanulo) as Egyeb from #igazolas i where i.IgazolasTipus=1529 group by Tanulo) Egyeb on Egyeb.Tanulo=t.Id
|
||||
left join (select Tanulo, count(Tanulo) as Orvosi from #igazolas i where i.IgazolasTipus=1530 group by Tanulo) Orvosi on Orvosi.Tanulo=t.Id
|
||||
left join (select Tanulo, count(Tanulo) as Szuloi from #igazolas i where i.IgazolasTipus=1531 group by Tanulo) Szuloi on Szuloi.Tanulo=t.Id
|
||||
left join (select Tanulo, count(Tanulo) as Hivatalos from #igazolas i where i.IgazolasTipus=1532 group by Tanulo) Hivatalos on Hivatalos.Tanulo=t.Id
|
||||
left join (select Tanulo, count(Tanulo) as IskolaErdeku from #igazolas i where i.IgazolasTipus=1533 group by Tanulo) IskolaErdeku on IskolaErdeku.Tanulo=t.Id
|
||||
inner join t_felhasznalo f on f.id=t.Id
|
||||
order by f.c_nyomtatasinev
|
||||
|
||||
drop table #mulasztas
|
||||
drop table #tanulo
|
||||
drop table #igazolas
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
Binary file not shown.
|
@ -0,0 +1,42 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetNatKerdoivDataSetByAlkalmazott]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Előszedjük az NAT kérdőív adatokat az alkalmazott alapján>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetNatKerdoivDataSetByAlkalmazott]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pAlkalmazottId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
ID ID
|
||||
,C_KERDES01 Kerdes01
|
||||
,C_KERDES02 Kerdes02
|
||||
,C_KERDES03 Kerdes03
|
||||
,C_KERDES04 Kerdes04
|
||||
,C_KERDES05 Kerdes05
|
||||
,C_KERDES06 Kerdes06
|
||||
,C_KERDES07 Kerdes07
|
||||
,C_KERDES08 Kerdes08
|
||||
,C_KERDES09 Kerdes09
|
||||
,C_KERDES10 Kerdes10
|
||||
,C_KERDES11 Kerdes11
|
||||
,C_KERDES12 Kerdes12
|
||||
FROM
|
||||
T_NATKERDOIV_OSSZES
|
||||
WHERE
|
||||
C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
AND TOROLT = 'F'
|
||||
AND C_ALKALMAZOTTID = @pAlkalmazottId
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetNebuloErtesito]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetNebuloErtesito]
|
||||
@intezmenyId INT
|
||||
,@tanevId INT
|
||||
,@nebulo INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
nebulo.ID NebuloId
|
||||
,ISNULL(C_ELOTAG + ' ', '') + C_SZULETESICSALADINEVE + ' ' + C_SZULETESIUTONEVE NebuloSzuletesiNeve
|
||||
,ISNULL(C_ELOTAG + ' ', '') + C_TANULOCSALADINEVE + ' ' + C_TANULOUTONEVE NebuloNeve
|
||||
,ISNULL(intezmenyAdatok.C_NEV, '') IntezmenyNeve
|
||||
,ISNULL(tagozat.C_NAME, '') Tagozat
|
||||
,ISNULL(C_EDESANYJASZULETESICSALADINEV, '') + ' ' + ISNULL(C_EDESANYJASZULETESIUTONEVE, '') AnyjaSzuletesiNeve
|
||||
,ISNULL(neme.C_NAME, '') TanuloNeme
|
||||
,ISNULL(C_SZULETESIHELY, '') SzulHely
|
||||
,FORMAT(C_SZULETESIIDO, 'yyyy.MM.dd.') SzulIdo
|
||||
,ISNULL(anyanyelv.C_NAME, '') AnyaNyelv
|
||||
,ISNULL(allampolgarsag1.C_NAME, '') AllamPolgarsag1
|
||||
,ISNULL(allampolgarsag2.C_NAME, '') AllamPolgarsag2
|
||||
,CONVERT(NVARCHAR(MAX), nebulo.C_IRANYITOSZAM) + ', ' +
|
||||
C_HELYSEGNEV +
|
||||
ISNULL(', ' + nebulo.C_KOZTERULETNEV, '') + ' ' +
|
||||
nebulo.C_KOZTERULETJELLEGENEV +
|
||||
ISNULL(' ' + nebulo.C_HAZSZAM + ', ', '') +
|
||||
ISNULL(nebulo.C_EMELET + ' emelet', '') + ' ' +
|
||||
ISNULL(nebulo.C_AJTO + ' ajtó', '') NebuloAllandoCim
|
||||
,CONVERT(NVARCHAR(MAX), nebulo.C_THIRANYITOSZAM) +
|
||||
ISNULL(', ' + C_THHELYSEGNEV, '') +
|
||||
ISNULL(', ' + nebulo.C_THKOZTERULETNEV, '') + ' ' +
|
||||
nebulo.C_KOZTERULETJELLEGENEV +
|
||||
ISNULL(' ' + nebulo.C_THHAZSZAM + ', ', '') +
|
||||
ISNULL(nebulo.C_THEMELET + ' emelet', '') +
|
||||
ISNULL(' ' + nebulo.C_THAJTO + ' ajtó', '') NebuloCimTh
|
||||
,ISNULL(C_OKTATASIAZONOSITOSZAMA, '') OktAzon
|
||||
,ISNULL(C_ETIKAHITERKOLCSTAN, '') EtikaHitErkolcsTan
|
||||
,C_TKNEVE TorvGondNeve1
|
||||
,tk1Foka.C_NAME TorvRokFoka1
|
||||
,C_TKTELEFON TorvGondTel1
|
||||
,C_TKEMAILCIM TorvGondEmail1
|
||||
,CONVERT(NVARCHAR(MAX), nebulo.C_TKIRANYITOSZAM) +
|
||||
ISNULL(', ' + C_TKHELYSEGNEV, '') +
|
||||
ISNULL(', ' + nebulo.C_TKKOZTERULETNEV, '') + ' ' +
|
||||
ISNULL(nebulo.C_TKKOZTERULETJELLEGENEV, '') +
|
||||
ISNULL(nebulo.C_TKHAZSZAM + ', ', '') +
|
||||
ISNULL(nebulo.C_TKEMELET + ' emelet', '') +
|
||||
ISNULL(' ' + nebulo.C_TKAJTO + ' ajtó', '') TorvGond1Cim
|
||||
,C_TKNEVE2 TorvGondNeve2
|
||||
,tk2Foka.C_NAME TorvRokFoka2
|
||||
,C_TKTELEFON2 TorvGondTel2
|
||||
,C_TKEMAILCIM2 TorvGondEmail2
|
||||
,CONVERT(NVARCHAR(MAX), nebulo.C_TKIRANYITOSZAM2) +
|
||||
ISNULL(', ' + C_TKHELYSEGNEV2, '') +
|
||||
ISNULL(', ' + nebulo.C_TKKOZTERULETNEV2, '') + ' ' +
|
||||
ISNULL(nebulo.C_TKKOZTERULETJELLEGENEV2, '') +
|
||||
ISNULL(', ' + nebulo.C_TKHAZSZAM2 + ', ', '') +
|
||||
ISNULL(nebulo.C_TKEMELET2 + ' emelet', '') +
|
||||
ISNULL(' ' + nebulo.C_TKAJTO2 + ' ajtó', '') TorvGond2Cim
|
||||
,intezmenyAdatok.C_IGAZGATONEVE IntezmenyVezetoNeve
|
||||
,intezmenyAdatok.C_NEV IntezmenyNeve
|
||||
,CONVERT(NVARCHAR(MAX),intezmenyAdatok.C_IRANYITOSZAM) +
|
||||
ISNULL(', ' + intezmenyAdatok.C_VAROS, '') +
|
||||
ISNULL(', ' + intezmenyAdatok.C_KOZTERULETNEV, '') + ' ' +
|
||||
ISNULL(intezmenyAdatok.C_KOZTERULETJELLEGENEV, '') +
|
||||
ISNULL(intezmenyAdatok.C_HAZSZAM + ', ', '') +
|
||||
ISNULL(intezmenyAdatok.C_EMELET + ' emelet', '') +
|
||||
ISNULL(intezmenyAdatok.C_AJTO + ' ajtó', '') IntezmenyCim
|
||||
,intezmenyAdatok.C_EMAILCIM IntezmenyEmail
|
||||
,intezmenyAdatok.C_TELEFONSZAM IntezmenyTelefon
|
||||
,intezmenyAdatok.C_DOKUMENTUMFEJLEC Fejlec
|
||||
,intezmenyAdatok.C_DOKUMENTUMLABLEC Lablec
|
||||
FROM T_NEBULO_OSSZES nebulo
|
||||
LEFT JOIN
|
||||
T_INTEZMENYADATOK_OSSZES intezmenyAdatok ON
|
||||
intezmenyAdatok.C_INTEZMENYID = nebulo.C_INTEZMENYID AND nebulo.C_TANEVID = intezmenyAdatok.C_TANEVID
|
||||
LEFT JOIN
|
||||
T_DICTIONARYITEMBASE_OSSZES tagozat ON
|
||||
tagozat.ID = nebulo.C_TAGOZAT AND tagozat.C_TANEVID = nebulo.C_TANEVID AND tagozat.C_INTEZMENYID = nebulo.C_INTEZMENYID
|
||||
LEFT JOIN
|
||||
T_DICTIONARYITEMBASE_OSSZES neme ON
|
||||
neme.ID = nebulo.C_NEME AND neme.C_TANEVID = nebulo.C_TANEVID AND neme.C_INTEZMENYID = nebulo.C_INTEZMENYID
|
||||
LEFT JOIN
|
||||
T_DICTIONARYITEMBASE_OSSZES anyanyelv ON
|
||||
anyanyelv.ID = nebulo.C_ANYANYELVE AND anyanyelv.C_TANEVID = nebulo.C_TANEVID AND anyanyelv.C_INTEZMENYID = nebulo.C_INTEZMENYID
|
||||
LEFT JOIN
|
||||
T_DICTIONARYITEMBASE_OSSZES allampolgarsag1 ON
|
||||
allampolgarsag1.ID = nebulo.C_ALLAMPOLGARSAGA AND allampolgarsag1.C_TANEVID = nebulo.C_TANEVID AND allampolgarsag1.C_INTEZMENYID = nebulo.C_INTEZMENYID
|
||||
LEFT JOIN
|
||||
T_DICTIONARYITEMBASE_OSSZES allampolgarsag2 ON
|
||||
allampolgarsag2.ID = nebulo.C_ALLAMPOLGARSAGA2 AND allampolgarsag2.C_TANEVID = nebulo.C_TANEVID AND allampolgarsag2.C_INTEZMENYID = nebulo.C_INTEZMENYID
|
||||
LEFT JOIN
|
||||
T_DICTIONARYITEMBASE_OSSZES tk1Foka ON
|
||||
tk1Foka.ID = nebulo.C_TKROKONSAGIFOKA AND tk1Foka.C_TANEVID = nebulo.C_TANEVID AND tk1Foka.C_INTEZMENYID = nebulo.C_INTEZMENYID
|
||||
LEFT JOIN
|
||||
T_DICTIONARYITEMBASE_OSSZES tk2Foka ON
|
||||
tk2Foka.ID = nebulo.C_TKROKONSAGIFOKA2 AND tk2Foka.C_TANEVID = nebulo.C_TANEVID AND tk2Foka.C_INTEZMENYID = nebulo.C_INTEZMENYID
|
||||
WHERE
|
||||
nebulo.TOROLT = 'F'
|
||||
AND nebulo.C_TANEVID = @tanevId
|
||||
AND nebulo.C_INTEZMENYID = @intezmenyId
|
||||
AND nebulo.ID = @nebulo --5401 FELVETT, 5402 NEM FELVÉVE
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetNebuloErtesitoStatusz]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetNebuloErtesitoStatusz]
|
||||
@intezmenyId INT
|
||||
,@tanevId INT
|
||||
,@statusz INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
ID NebuloId
|
||||
FROM
|
||||
T_NEBULO_OSSZES
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND C_TANEVID = @tanevId
|
||||
AND C_INTEZMENYID = @intezmenyId
|
||||
AND C_FELVETELSTATUSZA = @statusz
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetNebuloList]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetNebuloList]
|
||||
@pTanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT *
|
||||
FROM
|
||||
T_NEBULO_OSSZES
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND C_TANEVID = @pTanevId
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,25 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetNebuloListByIdList]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetNebuloListByIdList]
|
||||
@pNebuloIdList AS XML
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @tempNebuloIdList TABLE (nebuloId INT)
|
||||
|
||||
INSERT INTO @tempNebuloIdList
|
||||
SELECT DISTINCT nebuloId = nebuloId.value('(.)[1]', 'INT')
|
||||
FROM @pNebuloIdList.nodes('nebuloIdList/nebuloId') as nebuloIdList(nebuloId)
|
||||
|
||||
SELECT *
|
||||
FROM
|
||||
T_NEBULO
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND ID IN (SELECT nebuloId FROM @tempNebuloIdList)
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,57 @@
|
|||
DROP PROCEDURE IF EXISTS [sp_GetNemKotottMunkaIdoDateByInsert]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [sp_GetNemKotottMunkaIdoDateByInsert]
|
||||
@IntezmenyId int
|
||||
,@TanevId int
|
||||
,@IdoszakKezdete datetime
|
||||
,@IdoszakVege datetime
|
||||
,@KivalaszottDatum datetime
|
||||
,@HetirendId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @tmp TABLE (Hetirend INT NOT NULL, HetNapja INT NOT NULL, HetSorszama INT NOT NULL);
|
||||
INSERT @tmp
|
||||
SELECT nn.C_HETIREND, nn.C_HETNAPJA, nn.C_HETSORSZAMA
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
WHERE
|
||||
nn.C_INTEZMENYID = @intezmenyId AND nn.C_TANEVID = @tanevId AND nn.C_NAPDATUMA = @KivalaszottDatum
|
||||
|
||||
IF(@hetirendId = 1554)
|
||||
BEGIN
|
||||
SELECT
|
||||
C_NAPDATUMA Datum
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
WHERE
|
||||
nn.C_NAPDATUMA BETWEEN @IdoszakKezdete AND @IdoszakVege AND TOROLT = 'F'
|
||||
AND C_ORARENDINAP = 'T' AND C_HETNAPJA = (SELECT HetNapja FROM @tmp)
|
||||
AND C_INTEZMENYID = @intezmenyId AND C_TANEVID = @tanevId
|
||||
EXCEPT
|
||||
SELECT
|
||||
C_DATUM Datum
|
||||
FROM T_TANEVRENDJE_OSSZES TANEVRENDJE
|
||||
WHERE
|
||||
(TOROLT = 'F' AND (C_NAPTIPUSA IN (1386,1389,1391,1392,1396,1397,1398,1399,1401) OR C_ORARENDINAP = 'F') AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT
|
||||
C_NAPDATUMA as Datum
|
||||
FROM
|
||||
T_NAPTARINAP_OSSZES nn
|
||||
WHERE
|
||||
nn.C_NAPDATUMA BETWEEN @IdoszakKezdete AND @IdoszakVege AND TOROLT = 'F'
|
||||
AND C_ORARENDINAP = 'T' AND C_HETNAPJA = (SELECT HetNapja FROM @tmp)
|
||||
AND C_INTEZMENYID = @intezmenyId AND C_TANEVID = @tanevId AND C_HETIREND = @hetirendId
|
||||
EXCEPT
|
||||
SELECT
|
||||
C_DATUM Datum
|
||||
FROM T_TANEVRENDJE_OSSZES TANEVRENDJE
|
||||
WHERE
|
||||
(TOROLT = 'F' AND (C_NAPTIPUSA IN (1386,1389,1391,1392,1396,1397,1398,1399,1401) OR C_ORARENDINAP = 'F') AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
END
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,22 @@
|
|||
DROP PROCEDURE IF EXISTS [sp_GetNemKotottMunkaIdoIdByDelete]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [sp_GetNemKotottMunkaIdoIdByDelete]
|
||||
@IntezmenyId int
|
||||
,@TanevId int
|
||||
,@IdoszakKezdete datetime
|
||||
,@IdoszakVege datetime
|
||||
,@GroupId nvarchar(36)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
nkm.ID
|
||||
FROM T_NEMKOTOTTMUNKAIDO_OSSZES nkm
|
||||
WHERE
|
||||
C_GROUPID = @GroupId AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID = @TanevId AND TOROLT = 'F'
|
||||
AND nkm.C_KEZDETE BETWEEN @IdoszakKezdete AND @IdoszakVege
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,75 @@
|
|||
-- ==========================================================================================
|
||||
-- Nem kötött munkaidő részletező nyomtatványhoz tárolt eljárás -- Rudlof Kristóf
|
||||
-- ==========================================================================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetNemKotottMunkaidoReszletezo]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetNemKotottMunkaidoReszletezo]
|
||||
@tanevId int
|
||||
,@intezmenyId int
|
||||
,@tanarId int
|
||||
,@honapId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @Honap int = (
|
||||
SELECT
|
||||
dictionaryItemBase.C_VALUE
|
||||
FROM T_DICTIONARYITEMBASE_OSSZES dictionaryItemBase
|
||||
WHERE dictionaryItemBase.ID = @honapId
|
||||
AND dictionaryItemBase.C_TANEVID = @tanevId
|
||||
AND dictionaryItemBase.C_INTEZMENYID = @intezmenyId
|
||||
)
|
||||
|
||||
IF @honapId = -1 BEGIN
|
||||
SELECT
|
||||
FORMAT(nkm.C_KEZDETE, 'yyyy.MM.dd.') AS Datum
|
||||
,FORMAT(nkm.C_KEZDETE, 'HH:mm') AS Kezdete
|
||||
,FORMAT(nkm.C_VEGE, 'HH:mm') AS Vege
|
||||
,f.C_NYOMTATASINEV AS Tanar
|
||||
,IIF(nkm.C_ISTANARALTALTOROLT = 'T', 'Törölt', d.C_NAME) AS Tevekenyseg
|
||||
,ISNULL(nkm.C_NAPLOZOTTMEGJEGYZES, nkm.C_MEGJEGYZES) AS Megjegyzes
|
||||
,nn.C_HETSORSZAMA AS Het
|
||||
FROM T_FELHASZNALO_OSSZES f
|
||||
LEFT JOIN T_NEMKOTOTTMUNKAIDO_OSSZES nkm ON f.ID=nkm.C_TANARID AND nkm.TOROLT='F' AND nkm.C_TANEVID=@tanevId AND nkm.C_MEGTARTOTT='T'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID=nkm.C_TEVEKENYSEGTIPUSA AND d.C_TANEVID=nkm.C_TANEVID AND d.C_INTEZMENYID=nkm.C_INTEZMENYID
|
||||
LEFT JOIN T_NAPTARINAP_OSSZES nn ON CONVERT(DATE,nn.C_NAPDATUMA)=CONVERT(DATE,nkm.C_KEZDETE) AND nn.C_INTEZMENYID=@intezmenyId AND nn.C_TANEVID=@tanevId AND nn.TOROLT='F'
|
||||
WHERE f.ID = @tanarId
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT
|
||||
FORMAT(nkm.C_KEZDETE, 'yyyy.MM.dd.') AS Datum
|
||||
,FORMAT(nkm.C_KEZDETE, 'HH:mm') AS Kezdete
|
||||
,FORMAT(nkm.C_VEGE, 'HH:mm') AS Vege
|
||||
,f.C_NYOMTATASINEV AS Tanar
|
||||
,IIF(nkm.C_ISTANARALTALTOROLT = 'T', 'Törölt', d.C_NAME) AS Tevekenyseg
|
||||
,ISNULL(nkm.C_NAPLOZOTTMEGJEGYZES, nkm.C_MEGJEGYZES) AS Megjegyzes
|
||||
,nn.C_HETSORSZAMA AS Het
|
||||
,@Honap AS Honap
|
||||
FROM T_FELHASZNALO_OSSZES f
|
||||
LEFT JOIN T_NEMKOTOTTMUNKAIDO_OSSZES nkm ON f.ID=nkm.C_TANARID AND nkm.TOROLT='F' AND nkm.C_TANEVID=@tanevId AND nkm.C_MEGTARTOTT='T' AND DATEPART(MONTH,nkm.C_KEZDETE) = @Honap
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID=nkm.C_TEVEKENYSEGTIPUSA AND d.C_TANEVID=nkm.C_TANEVID AND d.C_INTEZMENYID=nkm.C_INTEZMENYID
|
||||
LEFT JOIN T_NAPTARINAP_OSSZES nn ON CONVERT(DATE,nn.C_NAPDATUMA)=CONVERT(DATE,nkm.C_KEZDETE) AND nn.C_INTEZMENYID=@intezmenyId AND nn.C_TANEVID=@tanevId AND nn.TOROLT='F'
|
||||
WHERE f.ID = @tanarId
|
||||
|
||||
SELECT TOP(1)
|
||||
FORMAT(naptariNap.C_NAPDATUMA, 'yyyy') AS Ev
|
||||
,FORMAT(naptariNap.C_NAPDATUMA, 'MM') AS Honap
|
||||
FROM T_NAPTARINAP_OSSZES naptariNap
|
||||
WHERE DATEPART(MONTH, naptariNap.C_NAPDATUMA) = @Honap
|
||||
AND naptariNap.C_TANEVID = @TanevId
|
||||
AND naptariNap.TOROLT = 'F'
|
||||
END
|
||||
|
||||
-- Iktatási adatok
|
||||
SELECT
|
||||
f.ID AS PedagogusId
|
||||
,f.C_OKTATASIAZONOSITO AS PedagogusOktAzon
|
||||
,mua.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
|
||||
FROM T_FELHASZNALO_OSSZES f
|
||||
INNER JOIN T_MUNKAUGYIADATOK_OSSZES mua ON mua.C_ALKALMAZOTTID = f.ID
|
||||
WHERE f.ID = @tanarId
|
||||
AND f.C_TANEVID = @tanevId AND f.C_INTEZMENYID = @intezmenyId
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,106 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetOraEvesSorszama
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOraEvesSorszama
|
||||
@tantargyId int,
|
||||
@osztalyCsoportId int,
|
||||
@datum datetime,
|
||||
@oraTulajdonosId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @tanarSzamit bit,
|
||||
@osztalybontasEgybe bit,
|
||||
@osztalybontasCsoport bit
|
||||
|
||||
SET @tanarSzamit = dbo.fnGetRendszerbeallitasEnumBool(3075, @intezmenyId, @tanevId)
|
||||
SET @osztalybontasEgybe = dbo.fnGetRendszerbeallitasEnumBool(3078, @intezmenyId, @tanevId)
|
||||
SET @osztalybontasCsoport = 0
|
||||
|
||||
IF EXISTS (SELECT 1 FROM T_CSOPORT WHERE (ID = @osztalyCsoportId AND C_OSZTALYBONTASID IS NOT NULL) OR C_OSZTALYBONTASID = @osztalyCsoportId) BEGIN
|
||||
SET @osztalybontasCsoport = 1
|
||||
END
|
||||
|
||||
IF @osztalybontasEgybe = 0 OR @osztalybontasCsoport = 0 BEGIN
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
SELECT COUNT(1) AS cnt
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND t.C_TANARID = @oraTulajdonosId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_TANEVID = @tanevId
|
||||
AND t.TOROLT = 'F'
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT COUNT(1) AS cnt
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_TANEVID = @tanevId
|
||||
AND t.TOROLT = 'F'
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
SELECT COUNT(1) AS cnt
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID IN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = (SELECT scs.C_OSZTALYBONTASID FROM T_CSOPORT scs WHERE scs.ID = @osztalyCsoportId)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND t.C_TANARID = @oraTulajdonosId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_TANEVID = @tanevId
|
||||
AND t.TOROLT = 'F'
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT COUNT(1) AS cnt
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID IN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = (SELECT scs.C_OSZTALYBONTASID FROM T_CSOPORT scs WHERE scs.ID = @osztalyCsoportId)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_TANEVID = @tanevId
|
||||
AND t.TOROLT = 'F'
|
||||
END
|
||||
END
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetOraEvesSorszamaLista
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOraEvesSorszamaLista
|
||||
@tantargyId int,
|
||||
@osztalyCsoportId int,
|
||||
@datum datetime,
|
||||
@tanarId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
AS
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT Id AS TanitasiOraId, EvesSorszam AS OraEvesSorszam
|
||||
FROM fnGetEvesOraszamLista(@tantargyId, @osztalyCsoportId, @tanarId, @datum, @intezmenyId, @tanevId)
|
||||
GO
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.sp_GetOraMentessegList
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetOraMentessegList]
|
||||
@osztalyCsoportId int,
|
||||
@start datetime,
|
||||
@end datetime,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE
|
||||
@JogviszonyList NVARCHAR(MAX)
|
||||
,@jogviszonyDb int
|
||||
,@SzakmaiList NVARCHAR(MAX)
|
||||
,@szakmaiDb int
|
||||
|
||||
CREATE TABLE #tmp (Nev nvarchar(250), SzakmaiGyak char(1), Jogviszony char(1))
|
||||
INSERT INTO #tmp (Nev, SzakmaiGyak, Jogviszony)
|
||||
SELECT
|
||||
f.C_NYOMTATASINEV
|
||||
,tta.C_SZAKMAIGYAKORLATON
|
||||
,ISNULL(jogviszony.C_JOGVISZONYATSZUNETELTETO, tta.C_JOGVISZONYATSZUNETELTETO)
|
||||
FROM T_TANULOCSOPORT tcs
|
||||
INNER JOIN T_TANULO t ON t.ID = tcs.C_TANULOID
|
||||
INNER JOIN fnGetOsztalyCsoportTanuloinakTanugyiAdatai(@osztalyCsoportId,@end) tta ON tta.TanuloId=t.ID
|
||||
INNER JOIN T_FELHASZNALO f ON f.ID = t.ID
|
||||
OUTER APPLY (
|
||||
SELECT TOP (1)
|
||||
IIF(jogviszony.C_KEZDETE <= @start AND DATEADD(day, 1, jogviszony.C_VEGE) > @end , 'T', 'F') C_JOGVISZONYATSZUNETELTETO
|
||||
FROM T_JOGVISZONYSZUNETELTETES_OSSZES jogviszony
|
||||
WHERE
|
||||
jogviszony.C_TANULOTANUGYIADATOKID = tta.ID
|
||||
AND jogviszony.C_TANULOID = tta.TanuloId
|
||||
AND jogviszony.TOROLT = 'F'
|
||||
AND jogviszony.C_INTEZMENYID = tcs.C_INTEZMENYID
|
||||
AND jogviszony.C_TANEVID = tcs.C_TANEVID
|
||||
ORDER BY C_JOGVISZONYATSZUNETELTETO DESC
|
||||
) jogviszony
|
||||
WHERE tcs.C_BELEPESDATUM <= GETDATE() AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= GETDATE()) AND tcs.c_osztalycsoportid = @osztalyCsoportId
|
||||
|
||||
SELECT @SzakmaiList = ISNULL(@SzakmaiList + ', ', '') + Nev FROM #tmp WHERE SzakmaiGyak = 'T'
|
||||
SELECT @szakmaiDb = COUNT(*) FROM #tmp WHERE SzakmaiGyak='T'
|
||||
SELECT @JogviszonyList = COALESCE(@JogviszonyList + ', ', '') + Nev FROM #tmp WHERE Jogviszony = 'T'
|
||||
SELECT @jogviszonyDb = COUNT(*) FROM #tmp WHERE Jogviszony='T'
|
||||
|
||||
SELECT
|
||||
@szakmaiDb as SzakmaiGyakDb
|
||||
,@SzakmaiList as SzakmaiGyakNevSor
|
||||
,@jogviszonyDb as JogviszonyDb
|
||||
,@JogviszonyList as JogviszonyNevSor
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,315 @@
|
|||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP PROCEDURE IF EXISTS dbo.sp_GetOrarend
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.sp_GetOrarend
|
||||
@pIntezmenyId int
|
||||
,@pTanevId int
|
||||
,@pIdoszakKezdete date
|
||||
,@pIdoszakVege date
|
||||
,@pTanarId int = NULL
|
||||
,@pIsHelyettesitesNelkul bit = 0
|
||||
,@pOsztalyCsoportId int = NULL
|
||||
,@pTanuloId int = NULL
|
||||
,@pTantargyId int = NULL
|
||||
,@pTeremId int = NULL
|
||||
,@pCsakOrarendiOrak bit
|
||||
,@pIsNapirend bit = 0
|
||||
,@pFeladatKategoriaId int = NULL
|
||||
,@pOrakezdete time = NULL
|
||||
,@pOravege time = NULL
|
||||
,@pHetnapja int = NULL
|
||||
,@pIsKozpontilagToroltOrak int = 0
|
||||
,@pOszlopok nvarchar(4000) = '*' -- sql injection rulez
|
||||
AS
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @SQL NVARCHAR(MAX) = '';
|
||||
--SET @pOrakezdete = CONVERT(datetime, CONVERT(TIME, @pOrakezdete));
|
||||
--SET @pOravege = CONVERT(datetime, CONVERT(TIME, @pOravege));
|
||||
|
||||
-- DROP TABLE IF EXISTS #KapcsolodoCsoportok
|
||||
SET @SQL += '
|
||||
CREATE TABLE #KapcsolodoCsoportok(
|
||||
ID int NOT NULL,
|
||||
Kezdete date NOT NULL,
|
||||
Vege date NOT NULL,
|
||||
IsOsztaly bit,
|
||||
PRIMARY KEY CLUSTERED(ID, Kezdete, Vege)
|
||||
);
|
||||
';
|
||||
|
||||
-- Összes osztályhoz vagy csoporthoz kapcsolódó további osztályok vagy csoportok megkeresése
|
||||
IF @pOsztalyCsoportId IS NOT NULL
|
||||
SET @SQL += '
|
||||
INSERT INTO #KapcsolodoCsoportok(ID, Kezdete, Vege, IsOsztaly)
|
||||
SELECT DISTINCT ID, Kezdete, Vege, 1 as IsOsztaly
|
||||
FROM dbo.fnGetKapcsolodoOsztalyCsoportokByDateRange(@pOsztalyCsoportId, @pIdoszakKezdete, @pIdoszakVege, @pIntezmenyId, @pTanevId) t;
|
||||
';
|
||||
|
||||
-- Összes a tanulóhoz kapcsolódó további osztályok vagy csoportok megkeresése (amelyek még nincsenek meg)
|
||||
IF @pTanuloId IS NOT NULL
|
||||
SET @SQL += '
|
||||
INSERT INTO #KapcsolodoCsoportok(ID, Kezdete, Vege, IsOsztaly)
|
||||
SELECT DISTINCT tcs.C_OSZTALYCSOPORTID AS ID, tcs.C_BELEPESDATUM AS Kezdete, ISNULL(tcs.C_KILEPESDATUM, t.C_UTOLSONAP) AS Vege, 0 As IsOsztaly
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_TANEV_OSSZES t on t.ID = tcs.C_TANEVID
|
||||
WHERE t.TOROLT = ''F''
|
||||
AND tcs.C_INTEZMENYID = @pIntezmenyId
|
||||
AND tcs.C_TANEVID = @pTanevId
|
||||
AND tcs.C_TANULOID = @pTanuloId
|
||||
AND tcs.TOROLT = ''F''
|
||||
AND tcs.C_BELEPESDATUM <= @pIdoszakVege
|
||||
AND (tcs.C_KILEPESDATUM > @pIdoszakKezdete OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND NOT EXISTS(SELECT * FROM #KapcsolodoCsoportok k WHERE k.ID = tcs.C_OSZTALYCSOPORTID);
|
||||
';
|
||||
|
||||
-- Fő lekérdezés
|
||||
SET @SQL += '
|
||||
SELECT ' + @pOszlopok + '
|
||||
FROM (
|
||||
SELECT
|
||||
ISNULL(tn.Id, oo.Id) AS Id
|
||||
,ISNULL(tn.ORARENDIID, oo.ORARENDIID) AS ORARENDIID
|
||||
,ISNULL(tn.Datum, oo.Datum) AS Datum
|
||||
,ISNULL(tn.Bontott, oo.Bontott) AS Bontott
|
||||
,ISNULL(tn.Hetirend, oo.Hetirend) AS Hetirend
|
||||
,ISNULL(tn.HetNapja, oo.HetNapja) AS HetNapja
|
||||
,ISNULL(tn.HetSorszam, oo.HetSorszam) AS HetSorszam
|
||||
,IIF(tn.Id IS NOT NULL, NULL, oo.ErvenyessegKezdete) AS ErvenyessegKezdete
|
||||
,IIF(tn.Id IS NOT NULL, NULL, oo.ErvenyessegVege) AS ErvenyessegVege
|
||||
,ISNULL(tn.OraKezdet, oo.OraKezdet) AS OraKezdete
|
||||
,ISNULL(tn.OraVeg, oo.OraVeg) AS OraVege
|
||||
,ISNULL(tn.Oraszam, oo.Oraszam) AS Oraszam
|
||||
,ISNULL(tantargy.C_ROVIDNEV, tantargy.C_NEV) AS TargyNev -- [3]: itt kellene javítani ISNULL helyett COALESCE
|
||||
,COALESCE(tantargy.C_ROVIDNEV, tantargy.C_NEV) AS TargyNevForMobile
|
||||
,tantargy.C_TARGYKATEGORIA AS TargykategoriaID
|
||||
,ISNULL(tn.Megtartott, oo.Megtartott) AS Megtartott
|
||||
,ISNULL(tn.CsengetesiRendOraID, oo.CsengetesiRendOraID) AS CsengetesiRendOraID
|
||||
,ISNULL(tn.CsengetesiRendID, oo.CsengetesiRendID) AS CsengetesiRendID
|
||||
,CAST(ISNULL(oo.MaxOraszam, 48) AS INT) AS MaxNapiOraszam
|
||||
,osztaly.C_NEV AS OsztalyNev
|
||||
,ISNULL(tn.TanevRendOsztalyCsoportId, oo.TanevRendOsztalyCsoportId) AS TanevRendOsztalyCsoportId
|
||||
,ISNULL(tn.MegjelenesOka, oo.MegjelenesOka) AS MegjelenesOka
|
||||
,tanar.C_NYOMTATASINEV AS TanarNev
|
||||
,tanar.C_IDPEGYEDIAZONOSITO AS TanarIdpUniqueId
|
||||
,terem.C_NEV AS TeremNev
|
||||
,ISNULL(tn.TeremId, oo.TeremId) AS TeremId
|
||||
,ISNULL(tn.OraTipus, oo.OraTipus) AS OraTipus
|
||||
,ISNULL(tn.Hianyzas, oo.Hianyzas) AS Hianyzas
|
||||
,ISNULL(tn.Keses, oo.Keses) AS Keses
|
||||
,ISNULL(tn.Ures, oo.Ures) AS Ures
|
||||
,ISNULL(tn.HelyettesitoTanarID, oo.HelyettesitoTanarID) AS HelyettesitoTanarID
|
||||
,helyettes.C_NYOMTATASINEV AS HelyettesitoTanarNev
|
||||
,helyettes.C_IDPEGYEDIAZONOSITO AS HelyettesitoTanarIdpUniqueId
|
||||
,oo.HelyettesitesId AS HelyettesitesId
|
||||
,ISNULL(tn.TanarID, oo.TanarID) AS TanarID
|
||||
,ISNULL(tn.AdminAltalKiirt, oo.AdminAltalKiirt) AS AdminAltalKiirt
|
||||
,ISNULL(tn.GroupId, oo.GroupId) AS GroupId
|
||||
,tn.Tema AS Tema
|
||||
,tn.EvesOraSorszam AS EvesOraSorszam
|
||||
,ISNULL(tn.TantargyId, oo.TantargyId) AS TantargyId
|
||||
,ISNULL(tn.OsztCsopId, oo.OsztCsopId) AS OsztCsopId
|
||||
,csoport.C_OSZTALYBONTASID AS OsztalyBontasId
|
||||
,ISNULL(tn.IsEgyediNap, oo.IsEgyediNap) as IsEgyediNap
|
||||
,terem.C_TOBBORATLEHETTARTANI AS TeremTobbOratLehetTartani
|
||||
,oo.KozpontiOraGroupId
|
||||
,oo.KozpontilagToroltOraGroupId
|
||||
,ISNULL(oo.CREATED, tn.CREATED) CREATED
|
||||
,ISNULL(oo.LASTCHANGED, tn.LASTCHANGED) LASTCHANGED
|
||||
FROM (
|
||||
-- Órarendi órák + helyettesítések
|
||||
SELECT
|
||||
orr.C_ORARENDIORAID AS Id
|
||||
,orr.C_ORARENDIORAID AS ORARENDIID
|
||||
,orr.C_DATUM AS Datum
|
||||
,orr.C_BONTOTT AS Bontott
|
||||
,orr.C_HETIREND AS Hetirend
|
||||
,orr.C_HETNAPJA AS HetNapja
|
||||
,orr.C_HETSORSZAMA AS HetSorszam
|
||||
,orr.C_ORAERVENYESSEGKEZDETE AS ErvenyessegKezdete
|
||||
,orr.C_ORAERVENYESSEGVEGE AS ErvenyessegVege
|
||||
,CAST(orr.C_DATUM AS DATETIME) + CAST(orr.C_ORAKEZDETE AS DATETIME) AS OraKezdet
|
||||
,CAST(orr.C_DATUM AS DATETIME) + CAST(orr.C_ORAVEGE AS DATETIME) AS OraVeg
|
||||
,orr.C_ORAKEZDETE AS OraKezdete
|
||||
,orr.C_ORAVEGE AS OraVege
|
||||
,orr.C_ORASZAM AS Oraszam
|
||||
,orr.C_MAXORASZAM AS MaxOraszam
|
||||
,''F'' AS Megtartott
|
||||
,csro.ID AS CsengetesiRendOraID
|
||||
,csro.C_CSENGETESIRENDID AS CsengetesiRendID
|
||||
,orr.C_OSZTALYCSOPORTID AS TanevRendOsztalyCsoportId
|
||||
,'''' AS MegjelenesOka
|
||||
,orr.C_TEREMID AS TeremId
|
||||
,''OrarendiOra'' AS OraTipus
|
||||
,''F'' AS Hianyzas
|
||||
,''F'' AS Keses
|
||||
,''F'' AS Ures
|
||||
,orr.C_HELYETTESTANAROKID AS HelyettesitoTanarID
|
||||
,orr.C_HELYETTESITESID AS HelyettesitesId
|
||||
,orr.C_TANARID AS TanarID
|
||||
,NULL AS AdminAltalKiirt
|
||||
,orr.C_ORARENDIORAGROUPID AS GroupId
|
||||
,NULL AS Tema
|
||||
,orr.C_TANTARGYID AS TantargyId
|
||||
,orr.C_OSZTALYCSOPORTID AS OsztCsopId
|
||||
,orr.C_EGYEDINAP as IsEgyediNap
|
||||
,orr.C_KOZPONTIORAGROUPID as KozpontiOraGroupId
|
||||
,orr.C_KOZPONTILAGTOROLTORAGROUPID as KozpontilagToroltOraGroupId
|
||||
,orr.CREATED
|
||||
,orr.LASTCHANGED
|
||||
FROM T_ORARENDTELJES_OSSZES orr
|
||||
LEFT JOIN T_CSENGETESIRENDORA_OSSZES csro ON csro.C_CSENGETESIRENDID = orr.C_CSENGETESIRENDID AND csro.C_ORASZAM = orr.C_ORASZAM AND csro.TOROLT = ''F''
|
||||
LEFT JOIN #KapcsolodoCsoportok kocs ON orr.C_OSZTALYCSOPORTID = kocs.Id AND orr.C_DATUM >= kocs.Kezdete AND orr.C_DATUM < kocs.Vege
|
||||
WHERE 0 = 0
|
||||
AND orr.C_INTEZMENYID = @pIntezmenyId
|
||||
AND orr.C_TANEVID = @pTanevId
|
||||
AND orr.C_DATUM >= @pIdoszakKezdete
|
||||
AND orr.C_DATUM < @pIdoszakVege
|
||||
AND ((@pIsNapirend = 1 OR @pIsNapirend IS NULL) OR csro.ID IS NOT NULL)
|
||||
AND ((@pIsNapirend = 0 OR @pIsNapirend IS NULL) OR orr.C_CSENGETESIRENDID IS NULL)
|
||||
AND ((@pIsNapirend = 0 OR @pIsNapirend = 1) OR ((orr.C_CSENGETESIRENDID IS NOT NULL AND csro.C_CSENGETESIRENDID IS NOT NULL) OR (orr.C_CSENGETESIRENDID IS NULL AND csro.C_CSENGETESIRENDID IS NULL)))
|
||||
AND (@pTantargyId IS NULL OR orr.C_TANTARGYID = @pTantargyId)
|
||||
AND ((@pOravege IS NULL OR @pOrakezdete IS NULL) OR (orr.C_ORAVEGE > @pOrakezdete AND orr.C_ORAKEZDETE < @pOravege))
|
||||
AND (@pHetnapja IS NULL OR orr.C_HETNAPJA = @pHetnapja)
|
||||
AND (@pTeremId IS NULL OR orr.C_TEREMID = @pTeremId)
|
||||
AND (@pOsztalyCsoportId IS NULL OR kocs.Id IS NOT NULL)
|
||||
AND (@pTanuloId IS NULL OR kocs.Id IS NOT NULL)
|
||||
AND (@pFeladatKategoriaId IS NULL OR orr.C_FELADATKATEGORIAID = @pFeladatKategoriaId)
|
||||
AND ((@pOsztalyCsoportId IS NULL AND @pTanuloId IS NULL) OR orr.C_ISOSZTALYORARENDBENEMLATSZIK = ''F'')
|
||||
AND (
|
||||
((@pTanarId IS NULL AND @pIsHelyettesitesNelkul = 1) AND (orr.C_TANARID IS NOT NULL OR orr.C_HELYETTESTANAROKID IS NULL))
|
||||
OR
|
||||
((@pTanarId IS NULL AND @pIsHelyettesitesNelkul = 0) AND (orr.C_TANARID IS NOT NULL OR orr.C_HELYETTESTANAROKID IS NOT NULL))
|
||||
OR
|
||||
((@pTanarId IS NOT NULL AND @pIsHelyettesitesNelkul = 1) AND orr.C_TANARID = @pTanarId)
|
||||
OR
|
||||
((@pTanarId IS NOT NULL AND @pIsHelyettesitesNelkul = 0) AND (orr.C_TANARID = @pTanarId OR orr.C_HELYETTESTANAROKID = @pTanarId))
|
||||
)
|
||||
|
||||
) oo
|
||||
FULL JOIN (
|
||||
-- Tanítási órák + helyettesítések
|
||||
SELECT
|
||||
tao.ID AS Id
|
||||
,NULL AS ORARENDIID
|
||||
,CAST(tao.C_DATUM AS DATE) AS Datum
|
||||
,tao.C_BONTOTT AS Bontott
|
||||
,1554 AS Hetirend
|
||||
,tao.C_HETNAPJA AS HetNapja
|
||||
,tao.C_HETSORSZAMA AS HetSorszam
|
||||
,tao.C_ORAKEZDETE AS OraKezdet
|
||||
,tao.C_ORAVEGE AS OraVeg
|
||||
,CAST(tao.C_ORAKEZDETE AS TIME) AS OraKezdete
|
||||
,CAST(tao.C_ORAVEGE AS TIME) AS OraVege
|
||||
,tao.C_ORASZAM AS Oraszam
|
||||
,tao.C_MEGTARTOTT AS Megtartott
|
||||
,tao.C_CSENGETESIRENDORAID AS CsengetesiRendOraID
|
||||
,tao.C_CSENGETESIRENDID AS CsengetesiRendID
|
||||
,tao.C_OSZTALYCSOPORTID AS TanevRendOsztalyCsoportId
|
||||
,'''' AS MegjelenesOka
|
||||
,tao.C_TEREMID as TeremId
|
||||
,''TanitasiOra'' AS OraTipus
|
||||
,IIF(mh.ID IS NULL, ''F'', ''T'') AS Hianyzas
|
||||
,IIF(mk.ID IS NULL, ''F'', ''T'') AS Keses
|
||||
,IIF(mu.ID IS NULL, ''F'', ''T'') AS Ures
|
||||
,tao.C_HELYETTESITOTANARID AS HelyettesitoTanarID
|
||||
,tao.C_TANARID AS TanarID
|
||||
,tao.C_ADMINALTALKIIRT AS AdminAltalKiirt
|
||||
,tao.C_ORARENDIORAGROUPID AS GroupId
|
||||
,tao.C_TEMA AS Tema
|
||||
,tao.C_TANTARGYID AS TantargyId
|
||||
,tao.C_OSZTALYCSOPORTID AS OsztCsopId
|
||||
,tao.C_EGYEDINAP as IsEgyediNap
|
||||
,tao.C_ORAEVESSORSZAMA AS EvesOraSorszam
|
||||
,tao.CREATED
|
||||
,tao.LASTCHANGED
|
||||
FROM T_TANITASIORA_OSSZES tao
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT = ''F'' AND ocs.C_INTEZMENYID = @pIntezmenyId AND ocs.C_TANEVID = @pTanevId
|
||||
INNER JOIN T_TANTARGY_OSSZES tt ON tao.C_TANTARGYID = tt.ID AND tt.C_INTEZMENYID = @pIntezmenyId AND tt.C_TANEVID = @pTanevId
|
||||
LEFT JOIN #KapcsolodoCsoportok kocs ON tao.C_OSZTALYCSOPORTID = kocs.Id AND tao.C_DATUM >= kocs.Kezdete AND tao.C_DATUM < kocs.Vege
|
||||
LEFT JOIN T_TANULOMULASZTAS_OSSZES mh ON mh.C_TANITASIORAKID = tao.ID AND mh.C_ORATANULOIID = @pTanuloId AND mh.C_TIPUS = 1500 AND mh.TOROLT = ''F''
|
||||
LEFT JOIN T_TANULOMULASZTAS_OSSZES mk ON mk.C_TANITASIORAKID = tao.ID AND mk.C_ORATANULOIID = @pTanuloId AND mk.C_TIPUS = 1499 AND mk.TOROLT = ''F''
|
||||
LEFT JOIN T_TANULOMULASZTAS_OSSZES mu ON mu.C_TANITASIORAKID = tao.ID AND mu.C_ORATANULOIID = @pTanuloId AND mu.C_TIPUS = 1817 AND mu.TOROLT = ''F''
|
||||
WHERE 0 = 0
|
||||
AND (@pCsakOrarendiOrak = 0)
|
||||
AND tao.TOROLT = ''F''
|
||||
AND tao.C_INTEZMENYID = @pIntezmenyId
|
||||
AND tao.C_TANEVID = @pTanevId
|
||||
AND tao.C_DATUM >= @pIdoszakKezdete
|
||||
AND tao.C_DATUM < @pIdoszakVege
|
||||
AND (@pOsztalyCsoportId IS NULL OR kocs.Id IS NOT NULL)
|
||||
AND (@pTanuloId IS NULL OR kocs.Id IS NOT NULL)
|
||||
AND ((@pIsNapirend = 0 OR @pIsNapirend IS NULL) OR tao.C_CSENGETESIRENDID IS NULL)
|
||||
AND ((@pIsNapirend = 1 OR @pIsNapirend IS NULL) OR tao.C_CSENGETESIRENDID IS NOT NULL)
|
||||
AND ((@pTanarId IS NULL OR @pIsHelyettesitesNelkul = 1) OR (tao.C_TANARID = @pTanarId OR tao.C_HELYETTESITOTANARID = @pTanarId))
|
||||
AND ((@pTanarId IS NULL OR @pIsHelyettesitesNelkul = 0) OR (tao.C_TANARID = @pTanarId))
|
||||
AND (@pTantargyId IS NULL OR tao.C_TANTARGYID = @pTantargyId)
|
||||
AND ((@pOravege IS NULL OR @pOrakezdete IS NULL) OR (CAST(tao.C_ORAVEGE AS TIME) > @pOrakezdete AND CAST(tao.C_ORAKEZDETE AS TIME) < @pOravege))
|
||||
AND (@pHetnapja IS NULL OR tao.C_HETNAPJA = @pHetnapja)
|
||||
AND (@pTeremId IS NULL OR tao.C_TEREMID = @pTeremId)
|
||||
AND (@pFeladatKategoriaId IS NULL OR ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId)
|
||||
AND (@pTanuloId IS NULL OR ((mu.C_TIPUS <> 1817 OR mu.C_TIPUS IS NULL) OR (tt.C_ISOSZTALYORARENDBENEMLATSZIK = ''F'')))
|
||||
|
||||
) tn ON 0 = 0
|
||||
AND tn.Datum = oo.Datum
|
||||
AND tn.HetNapja = oo.HetNapja
|
||||
AND ((@pIsNapirend IS NULL OR @pIsNapirend = 0) OR (tn.OraKezdete = oo.OraKezdete AND tn.OraVege = oo.OraVege))
|
||||
AND ((@pIsNapirend IS NULL OR @pIsNapirend = 1) OR (tn.Oraszam = oo.Oraszam))
|
||||
AND (@pIsNapirend IS NOT NULL OR ((tn.CsengetesiRendID IS NULL AND tn.OraKezdete = oo.OraKezdete AND tn.OraVege = oo.OraVege) OR (tn.CsengetesiRendID IS NOT NULL AND tn.Oraszam = oo.Oraszam)))
|
||||
AND tn.TanevRendOsztalyCsoportId = oo.TanevRendOsztalyCsoportId
|
||||
AND tn.TantargyId = oo.TantargyId
|
||||
AND tn.TanarID = oo.TanarID
|
||||
|
||||
LEFT JOIN T_TANTARGY_OSSZES tantargy ON tantargy.ID = ISNULL(tn.TantargyId, oo.TantargyId) AND (@pOsztalyCsoportId IS NULL OR tantargy.C_ISOSZTALYORARENDBENEMLATSZIK = ''F'') AND tantargy.C_INTEZMENYID = @pIntezmenyId AND tantargy.C_TANEVID = @pTanevId
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES tanar ON tanar.ID = ISNULL(tn.TanarID, oo.TanarID) AND tanar.C_INTEZMENYID = @pIntezmenyId AND tanar.C_TANEVID = @pTanevId
|
||||
LEFT JOIN T_TEREM_OSSZES terem ON terem.ID = ISNULL(tn.TeremId, oo.TeremId) AND terem.C_INTEZMENYID = @pIntezmenyId AND terem.C_TANEVID = @pTanevId
|
||||
LEFT JOIN T_CSOPORT_OSSZES csoport ON csoport.ID = ISNULL(tn.OsztCsopId, oo.OsztCsopId) AND csoport.C_ALINTEZMENYID = @pIntezmenyId AND csoport.C_ALTANEVID = @pTanevId
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES helyettes ON helyettes.ID = ISNULL(tn.HelyettesitoTanarID, oo.HelyettesitoTanarID) AND helyettes.C_INTEZMENYID = @pIntezmenyId AND helyettes.C_TANEVID = @pTanevId
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES osztaly ON osztaly.ID = ISNULL(tn.OsztCsopId, oo.OsztCsopId) AND (@pFeladatKategoriaId IS NULL OR osztaly.C_FELADATKATEGORIAID = @pFeladatKategoriaId) AND osztaly.C_INTEZMENYID = @pIntezmenyId AND osztaly.C_TANEVID = @pTanevId
|
||||
) main
|
||||
OPTION (OPTIMIZE FOR UNKNOWN)
|
||||
';
|
||||
|
||||
EXEC sp_executesql
|
||||
@stmt = @SQL
|
||||
,@params = N'
|
||||
@pIntezmenyId int
|
||||
,@pTanevId int
|
||||
,@pIdoszakKezdete date
|
||||
,@pIdoszakVege date
|
||||
,@pTanarId int
|
||||
,@pIsHelyettesitesNelkul bit
|
||||
,@pOsztalyCsoportId int
|
||||
,@pTanuloId int
|
||||
,@pTantargyId int
|
||||
,@pTeremId int
|
||||
,@pCsakOrarendiOrak bit
|
||||
,@pIsNapirend bit
|
||||
,@pFeladatKategoriaId int
|
||||
,@pOrakezdete time
|
||||
,@pOravege time
|
||||
,@pHetnapja int
|
||||
,@pIsKozpontilagToroltOrak int'
|
||||
,@pIntezmenyId = @pIntezmenyId
|
||||
,@pTanevId = @pTanevId
|
||||
,@pIdoszakKezdete = @pIdoszakKezdete
|
||||
,@pIdoszakVege = @pIdoszakVege
|
||||
,@pTanarId = @pTanarId
|
||||
,@pIsHelyettesitesNelkul = @pIsHelyettesitesNelkul
|
||||
,@pOsztalyCsoportId = @pOsztalyCsoportId
|
||||
,@pTanuloId = @pTanuloId
|
||||
,@pTantargyId = @pTantargyId
|
||||
,@pTeremId = @pTeremId
|
||||
,@pCsakOrarendiOrak = @pCsakOrarendiOrak
|
||||
,@pIsNapirend = @pIsNapirend
|
||||
,@pFeladatKategoriaId = @pFeladatKategoriaId
|
||||
,@pOrakezdete = @pOrakezdete
|
||||
,@pOravege = @pOravege
|
||||
,@pHetnapja = @pHetnapja
|
||||
,@pIsKozpontilagToroltOrak = @pIsKozpontilagToroltOrak
|
||||
GO
|
|
@ -0,0 +1,205 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetOrarendKereszttabla_Osztaly
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOrarendKereszttabla_Osztaly
|
||||
@tanevId INT,
|
||||
@aktivTanevId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @UtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA=1395 AND C_TANEVID=@tanevid AND TOROLT='F')
|
||||
,@HetEleje DATE
|
||||
,@HetVege DATE
|
||||
|
||||
IF (@tanevId = @AktivtanevId AND GETDATE() <= @UtolsoNap)
|
||||
BEGIN
|
||||
SET @HetEleje = (SELECT TOP 1 nh.C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE CONVERT(DATE, GETDATE())>=CONVERT(DATE, NH.C_HETKEZDONAPJA) AND CONVERT(DATE, GETDATE())<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) and nh.TOROLT='F' and nh.C_TANEVID=@tanevid)
|
||||
SET @HetVege = (SELECT TOP 1 nh.C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE CONVERT(DATE, GETDATE())>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND CONVERT(DATE, GETDATE())<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) and nh.TOROLT='F' and nh.C_TANEVID=@tanevid)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
|
||||
SET @HetEleje = (SELECT TOP 1 nh.C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNap>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNap<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) AND nh.TOROLT='F' AND nh.C_TANEVID=@tanevId)
|
||||
SET @HetVege = (SELECT TOP 1 nh.C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNap>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNap<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) AND nh.TOROLT='F' AND nh.C_TANEVID=@tanevId)
|
||||
END
|
||||
|
||||
CREATE TABLE #KapcsolodoCsoportok (OsztalyId INT, OsztalyCsoportId INT)
|
||||
INSERT INTO #KapcsolodoCsoportok
|
||||
SELECT DISTINCT
|
||||
o.ID Osztaly
|
||||
,k.ID KapcsolodoCsoport
|
||||
FROM T_OSZTALY_OSSZES o
|
||||
CROSS APPLY fnGetKapcsolodoOsztalycsoportokByDate(ID, @HetEleje, @HetVege) k
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND C_ALTANEVID = @tanevId
|
||||
|
||||
DECLARE @OsztalyhozKapcsolodoOsszesOrarendiora TABLE (OsztalyId INT, OsztalyCsoportId INT, OrarendiOraId INT, TantargyId INT, TanarId INT, TeremId INT, HetirendId INT, HetnapjaId INT, Oraszam INT, OraErvenyessegKezdete DATE, OraErvenyessegVege DATE)
|
||||
INSERT INTO @OsztalyhozKapcsolodoOsszesOrarendiora
|
||||
SELECT
|
||||
k.OsztalyId
|
||||
,k.OsztalyCsoportId
|
||||
,o.ID
|
||||
,C_TANTARGYID
|
||||
,C_TANARID
|
||||
,C_TEREMID
|
||||
,C_HETIREND
|
||||
,C_HETNAPJA
|
||||
,C_ORASZAM
|
||||
,C_ORAERVENYESSEGKEZDETE
|
||||
,C_ORAERVENYESSEGVEGE
|
||||
FROM #KapcsolodoCsoportok k
|
||||
LEFT JOIN T_ORARENDIORA_OSSZES o ON o.C_OSZTALYCSOPORTID = k.OsztalyCsoportId
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
|
||||
DECLARE @temp TABLE (OsztalyId INT, OsztalyCsoportNev NVARCHAR(MAX), OsztalyNev NVARCHAR(MAX), HetirendId INT, HetirendNev NVARCHAR(MAX), HetnapjaId INT, Oraszam INT, TantargyNev NVARCHAR(MAX), PedagogusNev NVARCHAR(MAX), TeremNev NVARCHAR(MAX))
|
||||
INSERT INTO @temp
|
||||
SELECT
|
||||
OrarendiOra.OsztalyId OsztalyId
|
||||
,ocs.C_NEV OsztalyCsoportNev
|
||||
,osztalyNev.C_NEV OsztalyNev
|
||||
,OrarendiOra.HetirendId HetirendId
|
||||
,hetirend.C_NAME HetirendNev
|
||||
,OrarendiOra.HetnapjaId HetnapjaId
|
||||
,OrarendiOra.Oraszam Oraszam
|
||||
,ISNULL(Tantargy.C_NEVNYOMTATVANYBAN, Tantargy.C_NEV) TantargyNev
|
||||
,Pedagogus.C_NYOMTATASINEV PedagogusNev
|
||||
,Terem.C_NEV TeremNev
|
||||
FROM @OsztalyhozKapcsolodoOsszesOrarendiora OrarendiOra
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = OrarendiOra.TantargyId
|
||||
INNER JOIN T_FELHASZNALO_OSSZES Pedagogus ON Pedagogus.Id = OrarendiOra.TanarId
|
||||
INNER JOIN T_TEREM_OSSZES Terem ON Terem.Id = OrarendiOra.TeremId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES hetirend ON hetirend.Id = OrarendiOra.HetirendId AND hetirend.C_TANEVID = @tanevId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = OrarendiOra.OsztalyCsoportId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyNev ON osztalyNev.ID = OrarendiOra.OsztalyId
|
||||
WHERE
|
||||
OrarendiOra.OraErvenyessegKezdete <= @Hetvege
|
||||
AND OrarendiOra.OraErvenyessegVege >= @Heteleje
|
||||
|
||||
DECLARE @Hetirendek TABLE (Id INT)
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT HetirendId FROM @temp
|
||||
|
||||
DECLARE @OsszesOra TABLE (OsztalyId INT, Hetirend INT, Nap INT, Oraszam INT)
|
||||
INSERT INTO @OsszesOra
|
||||
SELECT DISTINCT Osztaly, oo.Id, Nap.Nap , OraSzam.OraSzam FROM @Hetirendek oo
|
||||
CROSS JOIN (SELECT DISTINCT OsztalyId FROM #KapcsolodoCsoportok) Osztaly(Osztaly)
|
||||
CROSS JOIN (SELECT DISTINCT Oraszam FROM @temp) OraSzam (OraSzam)
|
||||
CROSS JOIN (VALUES (1408),(1409),(1410),(1411),(1412),(1413)) Nap (Nap)
|
||||
|
||||
DECLARE @TenylegesOra TABLE (OsztalyId INT, Nap INT, OraSzam INT, Foglalkozas NVARCHAR(MAX))
|
||||
INSERT INTO @TenylegesOra
|
||||
SELECT
|
||||
OsztalyId
|
||||
,HetnapjaId
|
||||
,Oraszam
|
||||
,STUFF((SELECT DISTINCT ', ' + CAST(bveg.TantargyNev+' ('+IIF(bveg.OsztalyCsoportNev <> bveg.OsztalyNev, bveg.OsztalyCsoportNev +', ', '') +bveg.PedagogusNev+', '+bveg.TeremNev+', ' +HetirendNev+')' AS VARCHAR(max))
|
||||
FROM @temp bveg
|
||||
WHERE
|
||||
bveg.HetnapjaId=veg.HetnapjaId
|
||||
AND bveg.Oraszam=veg.Oraszam
|
||||
AND (bveg.HetirendId=HetirendId OR bveg.HetirendId=1554)
|
||||
AND bveg.OsztalyId = veg.OsztalyId
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,2,' ') Foglalkozasok
|
||||
FROM @temp veg
|
||||
|
||||
/*Végleges órarend*/
|
||||
CREATE TABLE #Orarend (OsztalyId INT, OsztalyNev NVARCHAR(MAX), Ora INT, Nap INT, Foglalkozas NVARCHAR(MAX))
|
||||
INSERT INTO #Orarend
|
||||
SELECT
|
||||
OsszesOra.OsztalyId
|
||||
,ocs.C_NEV
|
||||
,OsszesOra.Oraszam
|
||||
,OsszesOra.Nap
|
||||
,TenylegesOra.Foglalkozas
|
||||
FROM @OsszesOra OsszesOra
|
||||
LEFT JOIN @TenylegesOra TenylegesOra ON OsszesOra.Nap=TenylegesOra.Nap AND OsszesOra.Oraszam=TenylegesOra.Oraszam AND TenylegesOra.OsztalyId = OsszesOra.OsztalyId
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = OsszesOra.OsztalyId
|
||||
ORDER BY OsszesOra.Hetirend, OsszesOra.Nap, OsszesOra.Oraszam
|
||||
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
CREATE TABLE #Napok (Nev NVARCHAR(MAX), Oraszam INT, Rendez INT)
|
||||
INSERT INTO #Napok
|
||||
SELECT DISTINCT
|
||||
*
|
||||
, CASE
|
||||
WHEN nap = 'hetfo' THEN 1
|
||||
WHEN nap = 'kedd' THEN 2
|
||||
WHEN nap = 'szerda' THEN 3
|
||||
WHEN nap = 'csutortok' THEN 4
|
||||
WHEN nap = 'pentek' THEN 5
|
||||
END
|
||||
FROM (VALUES ('hetfo'), ('kedd'), ('szerda'), ('csutortok'), ('pentek')) AS napok(nap)
|
||||
CROSS JOIN (SELECT DISTINCT Oraszam FROM @temp) OraSzam (OraSzam)
|
||||
|
||||
DECLARE @Oraszamok NVARCHAR(MAX),
|
||||
@OraszamokAlias NVARCHAR(MAX)
|
||||
|
||||
SELECT @Oraszamok = ISNULL(@Oraszamok + ', ', '') + '[' + CAST(Oraszam AS NVARCHAR(MAX)) + ']'
|
||||
FROM (SELECT DISTINCT Oraszam FROM @temp ) o
|
||||
|
||||
SELECT @OraszamokAlias = ISNULL(@OraszamokAlias + ', ', '') + Nev +'.' + '[' + CAST(Oraszam AS NVARCHAR(MAX)) + ']' FROM #Napok ORDER BY Rendez, Oraszam
|
||||
|
||||
DECLARE @sql NVARCHAR(MAX)
|
||||
SET @sql = '
|
||||
SELECT DISTINCT
|
||||
ocs.C_NEV OsztalyNev,
|
||||
' + @OraszamokAlias + '
|
||||
FROM #KapcsolodoCsoportok k
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
OsztalyId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1408
|
||||
) hetfo ON hetfo.OsztalyId = k.OsztalyId
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
OsztalyId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1409
|
||||
) kedd ON kedd.OsztalyId = k.OsztalyId
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
OsztalyId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1410
|
||||
) szerda ON szerda.OsztalyId = k.OsztalyId
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
OsztalyId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1411
|
||||
) csutortok ON csutortok.OsztalyId = k.OsztalyId
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
OsztalyId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1412
|
||||
) pentek ON pentek.OsztalyId = k.OsztalyId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.Id = k.OsztalyId
|
||||
ORDER BY C_NEV
|
||||
'
|
||||
|
||||
EXEC sp_executesql @sql
|
||||
|
||||
DROP TABLE #Napok
|
||||
DROP TABLE #Orarend
|
||||
DROP TABLE #KapcsolodoCsoportok
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,201 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetOrarendKereszttabla_Pedagogus
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOrarendKereszttabla_Pedagogus
|
||||
@tanevId INT,
|
||||
@aktivTanevId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @UtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA=1395 AND C_TANEVID=@tanevid AND TOROLT='F')
|
||||
,@HetEleje DATE
|
||||
,@HetVege DATE
|
||||
|
||||
IF (@tanevId = @AktivtanevId AND GETDATE() <= @UtolsoNap)
|
||||
BEGIN
|
||||
SET @HetEleje = (SELECT TOP 1 nh.C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE CONVERT(DATE, GETDATE())>=CONVERT(DATE, NH.C_HETKEZDONAPJA) AND CONVERT(DATE, GETDATE())<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) and nh.TOROLT='F' and nh.C_TANEVID=@tanevid)
|
||||
SET @HetVege = (SELECT TOP 1 nh.C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE CONVERT(DATE, GETDATE())>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND CONVERT(DATE, GETDATE())<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) and nh.TOROLT='F' and nh.C_TANEVID=@tanevid)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
|
||||
SET @HetEleje = (SELECT TOP 1 nh.C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNap>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNap<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) AND nh.TOROLT='F' AND nh.C_TANEVID=@tanevId)
|
||||
SET @HetVege = (SELECT TOP 1 nh.C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNap>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNap<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) AND nh.TOROLT='F' AND nh.C_TANEVID=@tanevId)
|
||||
END
|
||||
|
||||
CREATE TABLE #KapcsolodoCsoportok (OsztalyId INT, OsztalyCsoportId INT)
|
||||
INSERT INTO #KapcsolodoCsoportok
|
||||
SELECT DISTINCT
|
||||
o.ID Osztaly
|
||||
,k.ID KapcsolodoCsoport
|
||||
FROM T_OSZTALY_OSSZES o
|
||||
CROSS APPLY fnGetKapcsolodoOsztalycsoportokByDate(ID, @HetEleje, @HetVege) k
|
||||
WHERE
|
||||
o.TOROLT = 'F'
|
||||
AND o.C_ALTANEVID = @tanevId
|
||||
|
||||
DECLARE @PedagogushozKapcsolodoOsszesOrarendiora TABLE (OsztalyId INT, OsztalyCsoportId INT, OrarendiOraId INT, TantargyId INT, PedagogusId INT, TeremId INT, HetirendId INT, HetnapjaId INT, Oraszam INT, OraErvenyessegKezdete DATE, OraErvenyessegVege DATE)
|
||||
INSERT INTO @PedagogushozKapcsolodoOsszesOrarendiora
|
||||
SELECT
|
||||
k.OsztalyId
|
||||
,K.OsztalyCsoportId
|
||||
,o.ID
|
||||
,C_TANTARGYID
|
||||
,C_TANARID
|
||||
,C_TEREMID
|
||||
,C_HETIREND
|
||||
,C_HETNAPJA
|
||||
,C_ORASZAM
|
||||
,C_ORAERVENYESSEGKEZDETE
|
||||
,C_ORAERVENYESSEGVEGE
|
||||
FROM #KapcsolodoCsoportok k
|
||||
LEFT JOIN T_ORARENDIORA_OSSZES o ON o.C_OSZTALYCSOPORTID = k.OsztalyCsoportId
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
|
||||
CREATE TABLE #temp (PedagogusId INT, HetirendId INT, HetirendNev NVARCHAR(MAX), HetnapjaId INT, Oraszam INT, TantargyNev NVARCHAR(MAX), TeremNev NVARCHAR(MAX), OsztalyNev NVARCHAR(MAX))
|
||||
INSERT INTO #temp
|
||||
SELECT
|
||||
OrarendiOra.PedagogusId PedagogusId
|
||||
,OrarendiOra.HetirendId HetirendId
|
||||
,hetirend.C_NAME HetirendNev
|
||||
,OrarendiOra.HetnapjaId HetnapjaId
|
||||
,OrarendiOra.Oraszam Oraszam
|
||||
,ISNULL(Tantargy.C_NEVNYOMTATVANYBAN, Tantargy.C_NEV) TantargyNev
|
||||
,Terem.C_NEV TeremNev
|
||||
,ocs.C_NEV OsztalyNev
|
||||
FROM @PedagogushozKapcsolodoOsszesOrarendiora OrarendiOra
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = OrarendiOra.TantargyId
|
||||
INNER JOIN T_TEREM_OSSZES Terem ON Terem.Id = OrarendiOra.TeremId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES hetirend ON hetirend.Id = OrarendiOra.HetirendId AND hetirend.C_TANEVID = @tanevId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.Id = OrarendiOrA.OsztalyCsoportId
|
||||
WHERE
|
||||
OrarendiOra.OraErvenyessegKezdete <= @Hetvege
|
||||
AND OrarendiOra.OraErvenyessegVege >= @Heteleje
|
||||
|
||||
DECLARE @Hetirendek TABLE (Id INT)
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT HetirendId FROM #temp
|
||||
|
||||
DECLARE @OsszesOra TABLE (PedagogusId INT, Hetirend INT, Nap INT, Oraszam INT)
|
||||
INSERT INTO @OsszesOra
|
||||
SELECT DISTINCT PedagogusId, oo.Id, Nap.Nap , OraSzam.OraSzam FROM @Hetirendek oo
|
||||
CROSS JOIN (SELECT DISTINCT PedagogusId FROM #temp) Pedagogus(PedagogusId)
|
||||
CROSS JOIN (SELECT DISTINCT Oraszam FROM #temp) OraSzam (OraSzam)
|
||||
CROSS JOIN (VALUES (1408),(1409),(1410),(1411),(1412),(1413)) Nap (Nap)
|
||||
|
||||
DECLARE @TenylegesOra TABLE (PedagogusId INT, Nap INT, OraSzam INT, Foglalkozas NVARCHAR(MAX))
|
||||
INSERT INTO @TenylegesOra
|
||||
SELECT
|
||||
PedagogusId
|
||||
,HetnapjaId
|
||||
,Oraszam
|
||||
,STUFF((SELECT DISTINCT ', ' + CAST(bveg.TantargyNev+' (' +bveg.OsztalyNev+', ' + bveg.TeremNev +', ' +HetirendNev+')' AS VARCHAR(max))
|
||||
FROM #temp bveg
|
||||
WHERE
|
||||
bveg.HetnapjaId=veg.HetnapjaId
|
||||
AND bveg.Oraszam=veg.Oraszam
|
||||
AND (bveg.HetirendId=HetirendId OR bveg.HetirendId=1554)
|
||||
AND bveg.PedagogusId = veg.PedagogusId
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,2,' ') Foglalkozasok
|
||||
FROM #temp veg
|
||||
|
||||
/*Végleges órarend*/
|
||||
CREATE TABLE #Orarend (PedagogusId INT, PedagogusNev NVARCHAR(MAX), Ora INT, Nap INT, Foglalkozas NVARCHAR(MAX))
|
||||
INSERT INTO #Orarend
|
||||
SELECT
|
||||
OsszesOra.PedagogusId
|
||||
,ped.C_NYOMTATASINEV
|
||||
,OsszesOra.Oraszam
|
||||
,OsszesOra.Nap
|
||||
,TenylegesOra.Foglalkozas
|
||||
FROM @OsszesOra OsszesOra
|
||||
LEFT JOIN @TenylegesOra TenylegesOra ON OsszesOra.Nap=TenylegesOra.Nap AND OsszesOra.Oraszam=TenylegesOra.Oraszam AND TenylegesOra.PedagogusId = OsszesOra.PedagogusId
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES ped ON ped.ID = OsszesOra.PedagogusId
|
||||
ORDER BY OsszesOra.Hetirend, OsszesOra.Nap, OsszesOra.Oraszam
|
||||
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
CREATE TABLE #Napok (Nev NVARCHAR(MAX), Oraszam INT, Rendez INT)
|
||||
INSERT INTO #Napok
|
||||
SELECT DISTINCT
|
||||
*
|
||||
, CASE
|
||||
WHEN nap = 'hetfo' THEN 1
|
||||
WHEN nap = 'kedd' THEN 2
|
||||
WHEN nap = 'szerda' THEN 3
|
||||
WHEN nap = 'csutortok' THEN 4
|
||||
WHEN nap = 'pentek' THEN 5
|
||||
END
|
||||
FROM (VALUES ('hetfo'), ('kedd'), ('szerda'), ('csutortok'), ('pentek')) AS napok(nap)
|
||||
CROSS JOIN (SELECT DISTINCT Oraszam FROM #temp) OraSzam (OraSzam)
|
||||
|
||||
DECLARE @Oraszamok NVARCHAR(MAX),
|
||||
@OraszamokAlias NVARCHAR(MAX)
|
||||
|
||||
SELECT @Oraszamok = ISNULL(@Oraszamok + ', ', '') + '[' + CAST(Oraszam AS NVARCHAR(MAX)) + ']'
|
||||
FROM (SELECT DISTINCT Oraszam FROM #temp ) o
|
||||
|
||||
SELECT @OraszamokAlias = ISNULL(@OraszamokAlias + ', ', '') + Nev +'.' + '[' + CAST(Oraszam AS NVARCHAR(MAX)) + ']' FROM #Napok ORDER BY Rendez, Oraszam
|
||||
|
||||
DECLARE @sql NVARCHAR(MAX)
|
||||
SET @sql = '
|
||||
SELECT DISTINCT
|
||||
f.C_NYOMTATASINEV PedagogusNev,
|
||||
' + @OraszamokAlias + '
|
||||
FROM (SELECT DISTINCT PedagogusId FROM #temp) k
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
PedagogusId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1408
|
||||
) hetfo ON hetfo.PedagogusId = k.PedagogusId
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
PedagogusId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1409
|
||||
) kedd ON kedd.PedagogusId = k.PedagogusId
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
PedagogusId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1410
|
||||
) szerda ON szerda.PedagogusId = k.PedagogusId
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
PedagogusId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1411
|
||||
) csutortok ON csutortok.PedagogusId = k.PedagogusId
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
PedagogusId
|
||||
,'+ @Oraszamok +'
|
||||
FROM #Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Ora IN (' + @Oraszamok + '))a
|
||||
WHERE Nap = 1412
|
||||
) pentek ON pentek.PedagogusId = k.PedagogusId
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.Id = k.PedagogusId
|
||||
ORDER BY C_NYOMTATASINEV
|
||||
'
|
||||
|
||||
EXEC sp_executesql @sql
|
||||
|
||||
DROP TABLE #Napok
|
||||
DROP TABLE #Orarend
|
||||
DROP TABLE #KapcsolodoCsoportok
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,260 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetOrarendOsztalyonkent
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOrarendOsztalyonkent
|
||||
@intezmenyId INT,
|
||||
@tanevId INT,
|
||||
@osztalyId INT,
|
||||
@aktivTanevId INT,
|
||||
@isEgyebFoglalkozasok BIT,
|
||||
@orarendErvenyessegiDatum DATE,
|
||||
@isOsztalyTanuloOrarendbenNemLatszik BIT = null
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @UtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
,@ElsoNap DATE = (SELECT TOP 1 C_KEZDONAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
|
||||
,@VizsgaltNap DATE
|
||||
,@isVegzos VARCHAR(1) = (SELECT TOP 1 C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
|
||||
,@VegzosUtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND C_NAPTIPUSA = 1402 AND TOROLT = 'F')
|
||||
,@osztalyNev NVARCHAR(MAX) = (SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
|
||||
|
||||
SET @UtolsoNap = (SELECT IIF(@isVegzos = 'T', @VegzosUtolsoNap, @UtolsoNap))
|
||||
|
||||
IF (@tanevId = @aktivTanevId AND @orarendErvenyessegiDatum <= @UtolsoNap)
|
||||
BEGIN
|
||||
IF (@orarendErvenyessegiDatum <= @ElsoNap)
|
||||
BEGIN
|
||||
SET @VizsgaltNap = (SELECT TOP 1 C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES WHERE C_HETSORSZAMA = 1 AND TOROLT = 'F' AND C_TANEVID = @tanevId)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @VizsgaltNap = CONVERT(DATE, @orarendErvenyessegiDatum)
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @VizsgaltNap = @UtolsoNap
|
||||
END
|
||||
|
||||
SELECT
|
||||
C_ORASZAM OraSzam
|
||||
,CONVERT(VARCHAR(5), C_KEZDETE, 108) Kezdete
|
||||
,CONVERT(VARCHAR(5), C_VEGE, 108) Vege
|
||||
INTO #CsengetesiRendAdatok
|
||||
FROM T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra
|
||||
INNER JOIN T_CSENGETESIREND_OSSZES CsengetesiRend ON CsengetesiRend.Id = CsengetesiRendOra.C_CSENGETESIRENDID
|
||||
WHERE
|
||||
CsengetesiRendOra.C_TANEVID = @tanevId
|
||||
AND CsengetesiRendOra.TOROLT = 'F'
|
||||
AND CsengetesiRend.TOROLT = 'F'
|
||||
AND CsengetesiRend.C_AKTIV = 'T'
|
||||
|
||||
DECLARE @MinCsengetesiRendOraKezdet NVARCHAR(10) = (SELECT MIN(Kezdete) FROM #CsengetesiRendAdatok)
|
||||
DECLARE @MinCsengetesiRendOraszam INT = (SELECT MIN(OraSzam) FROM #CsengetesiRendAdatok)
|
||||
|
||||
SELECT
|
||||
OrarendiOra.C_HETIREND HetirendId
|
||||
,OrarendiOra.C_HETNAPJA HetnapjaId
|
||||
,CsengetesiRendOra.C_ORASZAM OraSzam
|
||||
,CONVERT(VARCHAR(5), OrarendiOra.C_ORAKEZDETE, 108) Kezdete
|
||||
,CONVERT(VARCHAR(5), OrarendiOra.C_ORAVEGE, 108) Vege
|
||||
,ISNULL(Tantargy.C_NEVNYOMTATVANYBAN, Tantargy.C_NEV) TantargyNev
|
||||
,Pedagogus.C_NYOMTATASINEV PedagogusNev
|
||||
,Terem.C_NEV TeremNev
|
||||
,ocs.C_NEV OsztalyCsoportNev
|
||||
INTO #OrarendiOrak
|
||||
FROM T_ORARENDIORA_OSSZES OrarendiOra
|
||||
INNER JOIN fnGetKapcsolodoOsztalycsoportokByDate(@osztalyId, @VizsgaltNap, @VizsgaltNap) Kapcsolodo ON Kapcsolodo.Id = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = OrarendiOra.C_TANTARGYID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES Pedagogus ON Pedagogus.Id = OrarendiOra.C_TANARID
|
||||
INNER JOIN T_TEREM_OSSZES Terem ON Terem.Id = OrarendiOra.C_TEREMID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra ON CsengetesiRendOra.Id = OrarendiOra.C_CSENGETESIRENDORAID
|
||||
LEFT JOIN T_CSOPORT_OSSZES Csoport ON Csoport.Id = Kapcsolodo.Id
|
||||
WHERE
|
||||
OrarendiOra.Torolt = 'F'
|
||||
AND @VizsgaltNap BETWEEN OrarendiOra.C_ORAERVENYESSEGKEZDETE AND OrarendiOra.C_ORAERVENYESSEGVEGE
|
||||
AND (@isEgyebFoglalkozasok = 1 OR (Csoport.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)) OR Csoport.C_TIPUSA IS NULL))
|
||||
AND (@isOsztalyTanuloOrarendbenNemLatszik <> 1 OR @isOsztalyTanuloOrarendbenNemLatszik IS NULL OR Tantargy.C_ISOSZTALYORARENDBENEMLATSZIK = 'F')
|
||||
|
||||
SELECT
|
||||
OraSzam
|
||||
,HetirendId
|
||||
,HetnapjaId
|
||||
,OsztalyCsoportNev
|
||||
,PedagogusNev
|
||||
,TantargyNev
|
||||
,TeremNev
|
||||
,Kezdete
|
||||
,Vege
|
||||
INTO #OrarendTEMP
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
MAX(CsengetesiRendAdatok.OraSzam) OraSzam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #CsengetesiRendAdatok CsengetesiRendAdatok
|
||||
LEFT JOIN #OrarendiOrak OrarendiOrak ON OrarendiOrak.Kezdete >= CsengetesiRendAdatok.Kezdete
|
||||
WHERE
|
||||
OrarendiOrak.OraSzam IS NULL
|
||||
GROUP BY
|
||||
OrarendiOrak.HetirendId
|
||||
,OrarendiOrak.HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev
|
||||
,OrarendiOrak.TantargyNev
|
||||
,OrarendiOrak.TeremNev
|
||||
,OrarendiOrak.Kezdete
|
||||
,OrarendiOrak.Vege
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
MAX(CsengetesiRendAdatok.OraSzam) OraSzam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #CsengetesiRendAdatok CsengetesiRendAdatok
|
||||
LEFT JOIN #OrarendiOrak OrarendiOrak ON OrarendiOrak.OraSzam = CsengetesiRendAdatok.OraSzam
|
||||
WHERE
|
||||
OrarendiOrak.OraSzam IS NOT NULL
|
||||
GROUP BY
|
||||
OrarendiOrak.HetirendId
|
||||
,OrarendiOrak.HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev
|
||||
,OrarendiOrak.TantargyNev
|
||||
,OrarendiOrak.TeremNev
|
||||
,OrarendiOrak.Kezdete
|
||||
,OrarendiOrak.Vege
|
||||
)OrarendioraOraszammal
|
||||
|
||||
INSERT INTO #OrarendTEMP
|
||||
SELECT
|
||||
@MinCsengetesiRendOraszam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #orarendiorak OrarendiOrak
|
||||
WHERE
|
||||
Kezdete < @MinCsengetesiRendOraKezdet
|
||||
|
||||
SELECT
|
||||
Orarend.OraSzam
|
||||
,HetirendId
|
||||
,HetnapjaId
|
||||
,OsztalyCsoportNev
|
||||
,PedagogusNev
|
||||
,TantargyNev
|
||||
,TeremNev
|
||||
,IIF(Orarend.Kezdete != CsengetesiRendAdatok.Kezdete OR Orarend.Vege != CsengetesiRendAdatok.Vege, Orarend.Kezdete + ' - ' + Orarend.Vege, '') KezdesVegeIdopont
|
||||
INTO #Orarend
|
||||
FROM #OrarendTEMP Orarend
|
||||
INNER JOIN #CsengetesiRendAdatok CsengetesiRendAdatok on CsengetesiRendAdatok.Oraszam = Orarend.OraSzam
|
||||
|
||||
DECLARE @Hetirendek TABLE (Id INT)
|
||||
DECLARE @HetirendCount INT = (SELECT COUNT(DISTINCT oo.C_HETIREND) FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId)
|
||||
|
||||
IF (@HetirendCount=1)
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.c_hetirend FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID = @tanevId
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.C_HETIREND from T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId AND oo.C_HETIREND <> 1554
|
||||
END
|
||||
|
||||
DECLARE @Orakezdetek TABLE (Ora INT)
|
||||
INSERT INTO @orakezdetek
|
||||
SELECT DISTINCT OraSzam from #CsengetesiRendAdatok
|
||||
|
||||
DECLARE @OsszesOra TABLE (Hetirend INT, Nap INT, Oraszam nvarchar(20))
|
||||
INSERT INTO @OsszesOra
|
||||
SELECT DISTINCT oo.Id, Nap , OraSzam FROM @Hetirendek oo
|
||||
CROSS JOIN (SELECT Ora FROM @Orakezdetek) OraSzam (OraSzam)
|
||||
CROSS JOIN (VALUES (1408),(1409),(1410),(1411),(1412), (1413),(1414)) Nap (Nap)
|
||||
|
||||
DECLARE @TenylegesOra TABLE (Hetirend INT, Nap INT, OraSzam NVARCHAR(20), Foglalkozas NVARCHAR(MAX))
|
||||
DECLARE @Orarend TABLE (osztalyId INT, Ora int, Hetirend INT, Nap INT, Foglalkozas NVARCHAR(MAX))
|
||||
|
||||
DECLARE kur CURSOR FOR
|
||||
SELECT Id FROM @Hetirendek
|
||||
|
||||
DECLARE @HetirendId int
|
||||
|
||||
OPEN kur
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
INSERT INTO @TenylegesOra
|
||||
SELECT DISTINCT
|
||||
@HetirendId
|
||||
,veg.HetnapjaId
|
||||
,veg.Oraszam
|
||||
,STUFF((SELECT DISTINCT
|
||||
CAST('<b>' + bveg.TantargyNev + '</b>' + CHAR(13) + CHAR(10)
|
||||
+ IIF(LEN(KezdesVegeIdopont) > 0, ' (' + KezdesVegeIdopont +')' + CHAR(13) + CHAR(10), '')
|
||||
+ IIF(bveg.OsztalyCsoportNev <> @osztalyNev, bveg.OsztalyCsoportNev + CHAR(13) + CHAR(10), '')
|
||||
+ bveg.PedagogusNev + CHAR(13) + CHAR(10)
|
||||
+ bveg.TeremNev + CHAR(13) + CHAR(10) AS VARCHAR(max))
|
||||
FROM #Orarend bveg
|
||||
WHERE bveg.HetnapjaId = veg.HetnapjaId
|
||||
AND bveg.Oraszam = veg.Oraszam
|
||||
AND (bveg.HetirendId = @HetirendId OR bveg.HetirendId = 1554)
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,0,'') Foglalkozasok
|
||||
FROM #Orarend veg
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
END
|
||||
CLOSE kur
|
||||
DEALLOCATE kur
|
||||
|
||||
/*Végleges órarend*/
|
||||
INSERT INTO @Orarend
|
||||
SELECT @osztalyId
|
||||
, OsszesOra.Oraszam
|
||||
, OsszesOra.Hetirend
|
||||
, OsszesOra.Nap
|
||||
, TenylegesOra.Foglalkozas
|
||||
FROM @OsszesOra OsszesOra
|
||||
LEFT JOIN @TenylegesOra TenylegesOra ON OsszesOra.Hetirend = TenylegesOra.Hetirend AND OsszesOra.Nap = TenylegesOra.Nap AND OsszesOra.Oraszam = TenylegesOra.Oraszam
|
||||
ORDER BY OsszesOra.Hetirend, OsszesOra.Nap, OsszesOra.Oraszam
|
||||
|
||||
SELECT
|
||||
pv.*
|
||||
, dic.C_NAME HETIREND_DNAME
|
||||
,@osztalyNev OsztalyNev
|
||||
FROM @Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Nap IN ([1408],[1409],[1410],[1411],[1412],[1413],[1414]))pv
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dic ON dic.id=Hetirend AND dic.C_TANEVID = @tanevId
|
||||
INNER JOIN @Orakezdetek ok ON ok.Ora = pv.Ora
|
||||
ORDER BY Ora
|
||||
END
|
||||
|
||||
DROP TABLE #CsengetesiRendAdatok
|
||||
DROP TABLE #Orarend
|
||||
DROP TABLE #OrarendiOrak
|
||||
GO
|
|
@ -0,0 +1,57 @@
|
|||
-- =============================================
|
||||
-- Author: Zsiga Attila
|
||||
-- Create date: 2016.10.21.
|
||||
-- Description: Az input órarendi órákhoz tartozó tanárokat adja vissza.
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS sp_GetOrarendiOrakhozTartozoTanarok
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOrarendiOrakhozTartozoTanarok
|
||||
@pXml XML,
|
||||
@pTanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT ON
|
||||
|
||||
SELECT
|
||||
sor.value('.', 'int') AS OrarendiOraId
|
||||
INTO
|
||||
#TEMPORARENDIORAID
|
||||
FROM
|
||||
@pXml.nodes('/OrarendiOrak/IdLista/Id') as sorok(sor)
|
||||
|
||||
--TEMP TABLES
|
||||
SELECT * INTO #TEMPFELHASZNALO FROM T_FELHASZNALO
|
||||
WHERE TOROLT = 'F' AND C_TANEVID = @pTanevId
|
||||
---------------
|
||||
SELECT * INTO #TEMPORARENDIORA FROM T_ORARENDIORA
|
||||
WHERE TOROLT = 'F' AND C_TANEVID = @pTanevId
|
||||
---------------
|
||||
SELECT * INTO #TEMPORARENDIORAK
|
||||
FROM #TEMPORARENDIORAID
|
||||
LEFT JOIN #TEMPORARENDIORA ON #TEMPORARENDIORA.ID = #TEMPORARENDIORAID.OrarendiOraId
|
||||
---------------
|
||||
SELECT
|
||||
*
|
||||
INTO
|
||||
#TEMPERINTETTTANAROK
|
||||
FROM
|
||||
#TEMPFELHASZNALO
|
||||
WHERE
|
||||
ID IN (SELECT C_TANARID FROM #TEMPORARENDIORAK)
|
||||
---------------
|
||||
|
||||
SELECT DISTINCT
|
||||
ID TanarId,
|
||||
C_NYOMTATASINEV Nev
|
||||
FROM
|
||||
#TEMPERINTETTTANAROK
|
||||
|
||||
DROP TABLE #TEMPORARENDIORAID
|
||||
DROP TABLE #TEMPFELHASZNALO
|
||||
DROP TABLE #TEMPORARENDIORA
|
||||
DROP TABLE #TEMPORARENDIORAK
|
||||
DROP TABLE #TEMPERINTETTTANAROK
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,58 @@
|
|||
-- =============================================
|
||||
-- Author: Zsiga Attila
|
||||
-- Create date: 2016.10.21.
|
||||
-- Description: Az input órarendi órákhoz tartozó tanulókat adja vissza.
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS sp_GetOrarendiorakhozTartozoTanulok
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOrarendiorakhozTartozoTanulok
|
||||
@pXml xml,
|
||||
@pTanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT ON
|
||||
|
||||
DECLARE @T_ORARENDIORAID TABLE (id int);
|
||||
DECLARE @T_TANULOID TABLE (TanuloId INT, OsztalyCsoportId INT, OsztalyCsoportNev VARCHAR(MAX));
|
||||
|
||||
INSERT INTO @T_ORARENDIORAID
|
||||
SELECT
|
||||
sor.value('.', 'int') AS id
|
||||
FROM @pXml.nodes('/OrarendiOrak/IdLista/Id') as sorok(sor)
|
||||
|
||||
--TEMP TABLES
|
||||
SELECT * INTO #TEMPORARENDIORA FROM T_ORARENDIORA
|
||||
WHERE TOROLT = 'F' AND C_TANEVID = @pTanevId
|
||||
---------------
|
||||
SELECT * INTO #TEMPTANULO FROM T_TANULO
|
||||
WHERE TOROLT = 'F' AND C_ALTANEVID = @pTanevId
|
||||
---------------
|
||||
SELECT * INTO #TEMPOSZTALYCSOPORT FROM T_OSZTALYCSOPORT
|
||||
WHERE TOROLT = 'F' AND C_TANEVID = @pTanevId
|
||||
---------------
|
||||
SELECT * INTO #TEMPTANULOCSOPORT FROM T_TANULOCSOPORT
|
||||
WHERE TOROLT = 'F' AND C_TANEVID = @pTanevId
|
||||
---------------
|
||||
INSERT INTO @T_TANULOID(TanuloId, OsztalyCsoportId, OsztalyCsoportNev)
|
||||
SELECT
|
||||
#TEMPTANULOCSOPORT.C_TANULOID TanuloId,
|
||||
#TEMPOSZTALYCSOPORT.ID OsztalyCsoportId,
|
||||
#TEMPOSZTALYCSOPORT.C_NEV OsztalyCsoportNev
|
||||
FROM
|
||||
#TEMPORARENDIORA
|
||||
LEFT JOIN #TEMPOSZTALYCSOPORT ON #TEMPOSZTALYCSOPORT.ID = #TEMPORARENDIORA.C_OSZTALYCSOPORTID
|
||||
INNER JOIN #TEMPTANULOCSOPORT ON #TEMPTANULOCSOPORT.C_OSZTALYCSOPORTID = #TEMPOSZTALYCSOPORT.ID
|
||||
WHERE
|
||||
#TEMPORARENDIORA.ID IN (SELECT Id FROM @T_ORARENDIORAID)
|
||||
---------------
|
||||
|
||||
SELECT DISTINCT TanuloId FROM @T_TANULOID;
|
||||
|
||||
DROP TABLE #TEMPORARENDIORA
|
||||
DROP TABLE #TEMPTANULO
|
||||
DROP TABLE #TEMPOSZTALYCSOPORT
|
||||
DROP TABLE #TEMPTANULOCSOPORT
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,55 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetOsszesNemBejegyzettOra]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: <Kelemen Attila>
|
||||
-- Create date: <2016. 01. 07.>
|
||||
-- Description: <Azok a megtartott, vagy elmaradt órák, amik nincsenek bejegyezve a naplóba, havi bontásban, tanáronként>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetOsszesNemBejegyzettOra]
|
||||
@tanevID int,
|
||||
@mindenHeten int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Nem naplózott órák
|
||||
select
|
||||
MONTH(naptar.C_NAPDATUMA) Honap,
|
||||
T_FELHASZNALO.C_NYOMTATASINEV TanarNeve,
|
||||
COUNT(*)
|
||||
|
||||
FROM
|
||||
T_ORARENDIORA
|
||||
inner join T_FOGLALKOZAS on T_FOGLALKOZAS.ID= T_ORARENDIORA.C_FOGLALKOZASID
|
||||
inner join T_NAPTARINAP naptar on ((naptar.C_NAPDATUMA BETWEEN T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE)
|
||||
AND (naptar.C_HETIREND = T_ORARENDIORA.C_HETIREND OR T_ORARENDIORA.C_HETIREND = @mindenHeten)) -- Minden héten
|
||||
INNER JOIN T_CSENGETESIRENDORA on T_ORARENDIORA.C_CSENGETESIRENDORAID=T_CSENGETESIRENDORA.ID
|
||||
LEFT JOIN T_TANITASIORA ON T_TANITASIORA.C_ORARENDIORAGROUPID = T_ORARENDIORA.C_ORARENDIORAGROUPID AND T_TANITASIORA.C_DATUM BETWEEN T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE AND T_TANITASIORA.TOROLT='F'
|
||||
inner join T_FELHASZNALO on T_FOGLALKOZAS.C_TANARID = T_FELHASZNALO.ID
|
||||
WHERE
|
||||
T_ORARENDIORA.TOROLT='F'
|
||||
AND naptar.TOROLT = 'F' AND T_FOGLALKOZAS.TOROLT='F'
|
||||
AND T_FOGLALKOZAS.TOROLT='F'
|
||||
AND T_FELHASZNALO.TOROLT='F'
|
||||
AND GETDATE() >= naptar.C_NAPDATUMA
|
||||
AND T_TANITASIORA.ID IS NULL
|
||||
AND T_FOGLALKOZAS.C_TANEVID = @tanevID
|
||||
|
||||
group by MONTH(naptar.C_NAPDATUMA), T_FELHASZNALO.C_NYOMTATASINEV
|
||||
order by case --Hónapok sorrendje
|
||||
when MONTH(naptar.C_NAPDATUMA) = 9 then 1
|
||||
when MONTH(naptar.C_NAPDATUMA) = 10 then 2
|
||||
when MONTH(naptar.C_NAPDATUMA) = 11 then 3
|
||||
when MONTH(naptar.C_NAPDATUMA) = 12 then 4
|
||||
when MONTH(naptar.C_NAPDATUMA) = 1 then 5
|
||||
when MONTH(naptar.C_NAPDATUMA) = 2 then 6
|
||||
when MONTH(naptar.C_NAPDATUMA) = 3 then 7
|
||||
when MONTH(naptar.C_NAPDATUMA) = 4 then 8
|
||||
when MONTH(naptar.C_NAPDATUMA) = 5 then 9
|
||||
when MONTH(naptar.C_NAPDATUMA) = 6 then 10
|
||||
when MONTH(naptar.C_NAPDATUMA) = 7 then 11
|
||||
when MONTH(naptar.C_NAPDATUMA) = 8 then 12
|
||||
end;
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,29 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetOsztalyCsoportokForFeljegyzesek]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetOsztalyCsoportokForFeljegyzesek]
|
||||
@felhasznaloId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @tmp TABLE (ID int)
|
||||
INSERT INTO @tmp (ID)
|
||||
exec sp_GetTanarKapcsolodoOsztalyai @felhasznaloId
|
||||
|
||||
DECLARE @tipus int = 1;
|
||||
IF (SELECT C_MUNKAKORTIPUSA FROM T_MUNKAUGYIADATOK WHERE C_ALKALMAZOTTID = @felhasznaloId) IN (1762, 1763, 3027, 3028) SET @tipus = 3;
|
||||
|
||||
SELECT
|
||||
ocs.ID AS ID,
|
||||
ocs.C_NEV AS Nev,
|
||||
CAST(@tipus AS nvarchar(1)) AS Tipus,
|
||||
ocs.C_EVFOLYAMTIPUSA AS Evfolyam,
|
||||
CASE WHEN ocs.C_EVFOLYAMTIPUSA IS NULL THEN 0 ELSE dic.C_ORDER END AS C_ORDER
|
||||
FROM @tmp t
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = t.ID and ocs.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE dic ON dic.ID = ocs.C_EVFOLYAMTIPUSA and dic.TOROLT = 'F'
|
||||
ORDER BY
|
||||
Tipus DESC, C_ORDER ASC, Nev ASC
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,83 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetOsztalyTanuloinakHaviMulasztasaiOsszesitoje]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetOsztalyTanuloinakHaviMulasztasaiOsszesitoje]
|
||||
@pTanevId int
|
||||
,@pIntezmenyId int
|
||||
,@pOsztalyId int
|
||||
,@pElmeletgyakorlat bit = 0
|
||||
,@pMulasztandoOrakszamaTeljesNaposMulasztashoz int = 3
|
||||
,@pHonapAdatszotarTypeId int = 55
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @honapok TABLE(honap INT, honapnev NVARCHAR(max));
|
||||
|
||||
INSERT INTO @honapok
|
||||
SELECT DISTINCT (3 + d.c_value) % 12 + 1 AS c_value, d.c_name as Honap
|
||||
FROM T_DICTIONARYITEMBASE_OSSZES d
|
||||
WHERE d.C_DICTIONARYTYPEID = @pHonapAdatszotarTypeId
|
||||
ORDER BY c_value;
|
||||
|
||||
SELECT honapnev FROM @honapok;
|
||||
|
||||
DECLARE honap_cursor CURSOR FOR
|
||||
SELECT DISTINCT (3 + d.c_value) % 12 + 1 AS honap_sorrend, d.c_value AS honap
|
||||
FROM T_DICTIONARYITEMBASE_OSSZES d
|
||||
WHERE d.C_DICTIONARYTYPEID = @pHonapAdatszotarTypeId
|
||||
ORDER BY honap_sorrend;
|
||||
|
||||
DECLARE @honap_sorrend INT, @honap INT;
|
||||
OPEN honap_cursor
|
||||
FETCH NEXT FROM honap_cursor
|
||||
INTO @honap_sorrend, @honap;
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
EXEC [sp_GetOsztalyTanuloinakHaviMulasztasaiOsszesitoje_honapra] @pTanevId, @pIntezmenyId, @pOsztalyId, @honap, @pElmeletgyakorlat, @pMulasztandoOrakszamaTeljesNaposMulasztashoz
|
||||
FETCH NEXT FROM honap_cursor
|
||||
INTO @honap_sorrend, @honap
|
||||
END
|
||||
CLOSE honap_cursor
|
||||
DEALLOCATE honap_cursor
|
||||
|
||||
SELECT
|
||||
ocs.ID AS OsztalyId
|
||||
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
|
||||
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
|
||||
,o.C_OSZTALYFONOKID AS OsztalyfonokId
|
||||
,o.C_TANTERVID AS TantervId
|
||||
,ocs.C_KEPZESIFORMA AS KepzesiForma
|
||||
,o.C_AGAZAT AS Agazat
|
||||
,o.C_SZAKMACSOPORT AS SzakmaCsoport
|
||||
,o.C_SZAKKEPESITES Szakkepesites
|
||||
,o.C_RESZSZAKKEPESITES Reszszakkepesites
|
||||
,o.C_AGAZATUJSZKTTIPUSID AS UjSzktAgazat
|
||||
,o.C_SZAKMATIPUSID AS UjSzktSzakma
|
||||
,o.C_SZAKMAIRANYTIPUSID AS UjSzktSzakmairany
|
||||
,o.C_TANULMANYITERULETNKTTIPUSID AS NktTanulmanyiTerulet
|
||||
,o.C_SZAKKEPESITESNKTTIPUSID AS NktSzakkepesites
|
||||
,o.C_SZAKIRANYNKTTIPUSID AS NktSzakirany
|
||||
,ocs.C_KERESZTFELEVES OJCSJKeresztfeleves
|
||||
,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu
|
||||
,ocs.C_ISTECHNIKAI OJTechnikaiOsztaly
|
||||
,o.C_NEMZETISEGI OJNemzetisegi
|
||||
,o.C_KETTANNYELVU OJKettannyelvu
|
||||
,o.C_NYELVIELOKESZITO OJNyelviElokeszito
|
||||
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI OJIsGyogypedagogiaiLogopediai
|
||||
,o.C_SPORT OJSportOsztaly
|
||||
,o.C_AJPROGRAM OJAranyJanosProgram
|
||||
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID
|
||||
WHERE ocs.ID = @pOsztalyId
|
||||
AND ocs.C_TANEVID = @pTanevId
|
||||
AND ocs.C_INTEZMENYID = @pIntezmenyId
|
||||
AND ocs.TOROLT = 'F'
|
||||
END
|
||||
|
||||
SELECT
|
||||
tanuloID AS TanuloId
|
||||
,tanuloNeve AS TanuloNeve
|
||||
,oktAzon AS OktAzon
|
||||
FROM fnGetDokumentumTanuloiAlapadatok(@pOsztalyId, @pTanevId, 'T')
|
||||
|
||||
GO
|
|
@ -0,0 +1,387 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetOsztalyTanuloinakHaviMulasztasaiOsszesitoje_honapra]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetOsztalyTanuloinakHaviMulasztasaiOsszesitoje_honapra]
|
||||
@pTanevId INT,
|
||||
@pIntezmenyId INT,
|
||||
@pOsztalyId INT,
|
||||
@pHonap INT,
|
||||
@pElmeletgyakorlat BIT = 0,
|
||||
@pMulasztandoOrakszamaTeljesNaposMulasztashoz INT = 3
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @idoszakEleje DATE = (SELECT TOP 1 C_KEZDONAP FROM T_TANEV_OSSZES WHERE ID = @pTanevId);
|
||||
DECLARE @iskolaErdekuParam INT = 1683;
|
||||
DECLARE @iskolaErdekuSzamit BIT = dbo.fnGetRendszerbeallitasEnumBool(@iskolaErdekuParam, @pIntezmenyId, @pTanevId);
|
||||
DECLARE @pAtsoroltTanuloAdatok INT = 1;
|
||||
DECLARE @pMulasztasTipusIdKeses INT = 1499;
|
||||
DECLARE @pMulasztasTipusIdHianyzas INT = 1500;
|
||||
--Osztály tanulói
|
||||
CREATE TABLE #tanulo (Id INT)
|
||||
INSERT INTO #tanulo
|
||||
SELECT DISTINCT tcs.c_tanuloid AS Id
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.id = tcs.c_tanuloid
|
||||
WHERE tcs.torolt='F' AND f.torolt='F' AND tcs.c_tanevid=@pTanevId AND tcs.c_intezmenyid=@pIntezmenyId AND tcs.c_osztalycsoportid=@pOsztalyId;
|
||||
|
||||
--Igazolástípusok
|
||||
CREATE TABLE #igazolastipus (Id INT, Nev NVARCHAR(MAX), Sorrend INT);
|
||||
INSERT INTO #igazolastipus
|
||||
SELECT T_IGAZOLASTIPUS_OSSZES.ID AS Id, C_NAME AS Nev, C_ORDER AS Sorrrend
|
||||
FROM T_IGAZOLASTIPUS_OSSZES
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ON T_IGAZOLASTIPUS_OSSZES.ID = T_DICTIONARYITEMBASE_OSSZES.ID
|
||||
WHERE T_DICTIONARYITEMBASE_OSSZES.C_INTEZMENYID = @pIntezmenyId AND T_DICTIONARYITEMBASE_OSSZES.C_TANEVID = @pTanevId AND T_IGAZOLASTIPUS_OSSZES.C_ALINTEZMENYID = @pIntezmenyId AND T_IGAZOLASTIPUS_OSSZES.C_ALTANEVID = @pTanevId
|
||||
AND T_IGAZOLASTIPUS_OSSZES.TOROLT = 'F' AND T_DICTIONARYITEMBASE_OSSZES.TOROLT = 'F'
|
||||
ORDER BY C_ORDER, C_NAME;
|
||||
|
||||
--Igazolások és típusai
|
||||
CREATE TABLE #igazolas (Tanulo INT, IgazoltE NVARCHAR(1), IgazolasTipus INT, Gyakorlati CHAR(1), HianyzasErtek FLOAT, KesettPerc FLOAT)
|
||||
INSERT INTO #igazolas
|
||||
SELECT TanuloId AS Tanulo, Igazolt AS IgazoltE, IgazolasTipusa AS IgazolasTipus, IIF(@pElmeletgyakorlat=0, 'F', Gyakorlati) AS Gyakorlati,
|
||||
SUM(CAST(IIF(Tipusa = @pMulasztasTipusIdHianyzas, 1, IIF(Tipusa = @pMulasztasTipusIdKeses,CAST(KesesPercben AS FLOAT) / 45, 0)) AS FLOAT)) AS HianyzasErtek, KesesPercben AS KesettPerc
|
||||
FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes (@pTanevId, @pOsztalyId, @iskolaErdekuSzamit, 0, IIF(@pAtsoroltTanuloAdatok > 0, 1, 0), @idoszakEleje, GETDATE(), DEFAULT) AS MULASZTASOK
|
||||
WHERE (CAST(MONTH(Datum) AS VARCHAR)) = @pHonap AND Tipusa IN (@pMulasztasTipusIdKeses, @pMulasztasTipusIdHianyzas)
|
||||
GROUP BY IIF(@pElmeletgyakorlat=0, 'F', Gyakorlati), TanuloId, Igazolt, IgazolasTipusa, KesesPercben;
|
||||
|
||||
--Mulasztások
|
||||
CREATE TABLE #mulasztas (Nap NVARCHAR(5), Tanulo INT, Osztaly INT, HianyzasErtek FLOAT)
|
||||
INSERT INTO #mulasztas
|
||||
SELECT CAST(CAST(DAY(Datum) AS INT) AS NVARCHAR) + (IIF(@pElmeletgyakorlat=0, '', IIF(Gyakorlati = 'T', '_GY', '_E'))) AS Nap, TanuloId AS Tanulo, OsztalyCsoportId AS Osztaly,
|
||||
SUM(CAST(IIF(Tipusa = @pMulasztasTipusIdHianyzas, 1, IIF(Tipusa = @pMulasztasTipusIdKeses, CAST(KesesPercben AS FLOAT) / 45, 0)) AS FLOAT)) AS HianyzasErtek
|
||||
FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes (@pTanevId, @pOsztalyId, @iskolaErdekuSzamit, 0, IIF(@pAtsoroltTanuloAdatok > 0, 1, 0), @idoszakEleje, GETDATE(), DEFAULT) AS MULASZTASOK
|
||||
WHERE (CAST(MONTH(Datum) AS VARCHAR)) = @pHonap AND Tipusa IN (@pMulasztasTipusIdKeses, @pMulasztasTipusIdHianyzas)
|
||||
GROUP BY CAST(DAY(Datum) AS INT), Gyakorlati, TanuloId, OsztalyCsoportId;
|
||||
|
||||
--Teljes napos mulasztások száma
|
||||
CREATE TABLE #teljesnaposmul (Tanulo INT, HianyzasErtek INT)
|
||||
INSERT INTO #teljesnaposmul
|
||||
SELECT Tanulo, SUM(TeljesNapiMul) AS HianyzasErtek
|
||||
FROM (
|
||||
SELECT Tanulo, Nap, IIF(SUM(HianyzasErtek) >= @pMulasztandoOrakszamaTeljesNaposMulasztashoz, 1, 0) AS TeljesNapiMul
|
||||
FROM #mulasztas
|
||||
GROUP BY Tanulo, Nap
|
||||
) AS TeljesNapiMulasztasok
|
||||
GROUP BY Tanulo
|
||||
DECLARE @query AS NVARCHAR(MAX);
|
||||
IF @pElmeletgyakorlat=0
|
||||
BEGIN
|
||||
DECLARE @colsHeader AS NVARCHAR(MAX);
|
||||
DECLARE @cols AS NVARCHAR(MAX);
|
||||
DECLARE @colsSum AS NVARCHAR(MAX);
|
||||
SELECT @colsHeader = ISNULL(@colsHeader + ', ', '') + QUOTENAME(Id) + ' AS ' + QUOTENAME(Nev),
|
||||
@cols = ISNULL(@cols + ', ', '') + QUOTENAME(Id),
|
||||
@colsSum = ISNULL(@colsSum + ', ', '') + 'SUM( [' + CAST(Id as nvarchar(max)) + '] ) AS ' + QUOTENAME(Id)
|
||||
FROM #igazolastipus AS Igazolastipus
|
||||
ORDER BY Sorrend, Nev;
|
||||
PRINT @cols;
|
||||
PRINT @colsSum;
|
||||
PRINT @colsHeader;
|
||||
SET @query =
|
||||
'SELECT
|
||||
f.c_nyomtatasinev AS COLUMN108,
|
||||
f.C_OKTATASIAZONOSITO AS COLUMN109,
|
||||
IIF(m.[1]=0, NULL, FLOOR(m.[1])) AS [1],
|
||||
IIF(m.[2]=0, NULL, FLOOR(m.[2])) AS [2],
|
||||
IIF(m.[3]=0, NULL, FLOOR(m.[3])) AS [3],
|
||||
IIF(m.[4]=0, NULL, FLOOR(m.[4])) AS [4],
|
||||
IIF(m.[5]=0, NULL, FLOOR(m.[5])) AS [5],
|
||||
IIF(m.[6]=0, NULL, FLOOR(m.[6])) AS [6],
|
||||
IIF(m.[7]=0, NULL, FLOOR(m.[7])) AS [7],
|
||||
IIF(m.[8]=0, NULL, FLOOR(m.[8])) AS [8],
|
||||
IIF(m.[9]=0, NULL, FLOOR(m.[9])) AS [9],
|
||||
IIF(m.[10]=0, NULL, FLOOR(m.[10])) AS [10],
|
||||
IIF(m.[11]=0, NULL, FLOOR(m.[11])) AS [11],
|
||||
IIF(m.[12]=0, NULL, FLOOR(m.[12])) AS [12],
|
||||
IIF(m.[13]=0, NULL, FLOOR(m.[13])) AS [13],
|
||||
IIF(m.[14]=0, NULL, FLOOR(m.[14])) AS [14],
|
||||
IIF(m.[15]=0, NULL, FLOOR(m.[15])) AS [15],
|
||||
IIF(m.[16]=0, NULL, FLOOR(m.[16])) AS [16],
|
||||
IIF(m.[17]=0, NULL, FLOOR(m.[17])) AS [17],
|
||||
IIF(m.[18]=0, NULL, FLOOR(m.[18])) AS [18],
|
||||
IIF(m.[19]=0, NULL, FLOOR(m.[19])) AS [19],
|
||||
IIF(m.[20]=0, NULL, FLOOR(m.[20])) AS [20],
|
||||
IIF(m.[21]=0, NULL, FLOOR(m.[21])) AS [21],
|
||||
IIF(m.[22]=0, NULL, FLOOR(m.[22])) AS [22],
|
||||
IIF(m.[23]=0, NULL, FLOOR(m.[23])) AS [23],
|
||||
IIF(m.[24]=0, NULL, FLOOR(m.[24])) AS [24],
|
||||
IIF(m.[25]=0, NULL, FLOOR(m.[25])) AS [25],
|
||||
IIF(m.[26]=0, NULL, FLOOR(m.[26])) AS [26],
|
||||
IIF(m.[27]=0, NULL, FLOOR(m.[27])) AS [27],
|
||||
IIF(m.[28]=0, NULL, FLOOR(m.[28])) AS [28],
|
||||
IIF(m.[29]=0, NULL, FLOOR(m.[29])) AS [29],
|
||||
IIF(m.[30]=0, NULL, FLOOR(m.[30])) AS [30],
|
||||
IIF(m.[31]=0, NULL, FLOOR(m.[31])) AS [31],
|
||||
FLOOR(OSSZES.MULASZTASOKSZAMA) AS COLUMN2672,
|
||||
FLOOR(IGAZOLT.IGAZOLTSZAMA) AS COLUMN2568, ' + @colsHeader + ',
|
||||
FLOOR(IGAZOLATLAN.IGAZOLATLANSZAMA) AS COLUMN1911,
|
||||
TELJESNAPOSMULASZTAS.HianyzasErtek AS COLUMNTELJESNAPOSMULASZTASOK,
|
||||
IGAZOLTKESES.IGAZOLTPERC AS COLUMNIGAZOLTKESESPERCBEN,
|
||||
IGAZOLATLANKESES.IGAZOLATLANPERC AS COLUMNIGAZOLATLANKESESPERCBEN
|
||||
FROM #tanulo AS tanulok
|
||||
LEFT JOIN (
|
||||
SELECT Tanulo, ' + @colsSum + '
|
||||
FROM #igazolas AS igazolasok
|
||||
PIVOT (SUM(HianyzasErtek) FOR IgazolasTipus IN (' + @cols + ')) AS PIVOTTABLE
|
||||
GROUP BY Tanulo
|
||||
) AS IGAZOLASTIPUSOKSZERINT ON IGAZOLASTIPUSOKSZERINT.Tanulo = tanulok.Id
|
||||
LEFT JOIN (
|
||||
SELECT Tanulo, HianyzasErtek
|
||||
FROM #teljesnaposmul AS teljesnaposmul
|
||||
) AS TELJESNAPOSMULASZTAS ON TELJESNAPOSMULASZTAS.Tanulo = tanulok.Id
|
||||
LEFT JOIN (
|
||||
SELECT Tanulo,
|
||||
SUM([1]) AS [1],
|
||||
SUM([2]) AS [2],
|
||||
SUM([3]) AS [3],
|
||||
SUM([4]) AS [4],
|
||||
SUM([5]) AS [5],
|
||||
SUM([6]) AS [6],
|
||||
SUM([7]) AS [7],
|
||||
SUM([8]) AS [8],
|
||||
SUM([9]) AS [9],
|
||||
SUM([10]) AS [10],
|
||||
SUM([11]) AS [11],
|
||||
SUM([12]) AS [12],
|
||||
SUM([13]) AS [13],
|
||||
SUM([14]) AS [14],
|
||||
SUM([15]) AS [15],
|
||||
SUM([16]) AS [16],
|
||||
SUM([17]) AS [17],
|
||||
SUM([18]) AS [18],
|
||||
SUM([19]) AS [19],
|
||||
SUM([20]) AS [20],
|
||||
SUM([21]) AS [21],
|
||||
SUM([22]) AS [22],
|
||||
SUM([23]) AS [23],
|
||||
SUM([24]) AS [24],
|
||||
SUM([25]) AS [25],
|
||||
SUM([26]) AS [26],
|
||||
SUM([27]) AS [27],
|
||||
SUM([28]) AS [28],
|
||||
SUM([29]) AS [29],
|
||||
SUM([30]) AS [30],
|
||||
SUM([31]) AS [31]
|
||||
FROM #mulasztas AS mulasztas
|
||||
PIVOT (SUM(mulasztas.HianyzasErtek) for Nap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31])) pv
|
||||
GROUP BY Tanulo
|
||||
) m ON m.Tanulo = tanulok.id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(HianyzasErtek) AS MULASZTASOKSZAMA FROM #igazolas GROUP BY Tanulo) AS OSSZES ON OSSZES.Tanulo = tanulok.Id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(HianyzasErtek) AS IGAZOLTSZAMA FROM #igazolas i WHERE i.IgazoltE=''T'' GROUP BY Tanulo) AS IGAZOLT ON IGAZOLT.Tanulo = tanulok.Id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(HianyzasErtek) AS IGAZOLATLANSZAMA FROM #igazolas i WHERE i.IgazoltE=''F'' GROUP BY Tanulo) AS IGAZOLATLAN ON IGAZOLATLAN.Tanulo = tanulok.Id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(KesettPerc) AS IGAZOLTPERC FROM #igazolas i WHERE i.IgazoltE=''T'' GROUP BY Tanulo) AS IGAZOLTKESES ON IGAZOLTKESES.Tanulo = tanulok.Id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(KesettPerc) AS IGAZOLATLANPERC FROM #igazolas i WHERE (i.IgazoltE=''F'' OR i.IgazoltE IS NULL) GROUP BY Tanulo) AS IGAZOLATLANKESES ON IGAZOLATLANKESES.Tanulo = tanulok.Id
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.id = tanulok.Id
|
||||
--GROUP BY f.c_nyomtatasinev, tanulok.Id, f.id
|
||||
ORDER BY f.c_nyomtatasinev';
|
||||
exec sp_executesql @query;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
DECLARE @colsHeader_E AS NVARCHAR(MAX);
|
||||
DECLARE @colsHeader_GY AS NVARCHAR(MAX);
|
||||
DECLARE @cols_E AS NVARCHAR(MAX);
|
||||
DECLARE @cols_GY AS NVARCHAR(MAX);
|
||||
DECLARE @colsSum_E AS NVARCHAR(MAX);
|
||||
DECLARE @colsSum_GY AS NVARCHAR(MAX);
|
||||
SELECT @colsHeader_E = ISNULL(@colsHeader_E + ', ', '') + QUOTENAME(Id) + ' AS ' + QUOTENAME(Nev + ' (elméleti)'),
|
||||
@colsHeader_GY = ISNULL(@colsHeader_GY + ', ', '') + QUOTENAME(-Id) + ' AS ' + QUOTENAME(Nev + ' (gyakorlati)'),
|
||||
@cols_E = ISNULL(@cols_E + ', ', '') + QUOTENAME(Id),
|
||||
@cols_GY = ISNULL(@cols_GY + ', ', '') + QUOTENAME(-Id),
|
||||
@colsSum_E = ISNULL(@colsSum_E + ', ', '') + 'SUM( [' + CAST(Id as nvarchar(max)) + '] ) AS ' + QUOTENAME(Id),
|
||||
@colsSum_GY = ISNULL(@colsSum_GY + ', ', '') + 'SUM( [' + CAST(-Id as nvarchar(max)) + '] ) AS ' + QUOTENAME(-Id)
|
||||
FROM #igazolastipus AS Igazolastipus
|
||||
ORDER BY Sorrend, Nev;
|
||||
|
||||
SET @query =
|
||||
'SELECT f.c_nyomtatasinev AS COLUMN108,
|
||||
f.C_OKTATASIAZONOSITO AS COLUMN109,
|
||||
IIF(m.[1_E]=0, NULL, FLOOR(m.[1_E])) AS [1 E],
|
||||
IIF(m.[1_GY]=0, NULL, FLOOR(m.[1_GY])) AS [1 GY],
|
||||
IIF(m.[2_E]=0, NULL, FLOOR(m.[2_E])) AS [2 E],
|
||||
IIF(m.[2_GY]=0, NULL, FLOOR(m.[2_GY])) AS [2 GY],
|
||||
IIF(m.[3_E]=0, NULL, FLOOR(m.[3_E])) AS [3 E],
|
||||
IIF(m.[3_GY]=0, NULL, FLOOR(m.[3_GY])) AS [3 GY],
|
||||
IIF(m.[4_E]=0, NULL, FLOOR(m.[4_E])) AS [4 E],
|
||||
IIF(m.[4_GY]=0, NULL, FLOOR(m.[4_GY])) AS [4 GY],
|
||||
IIF(m.[5_E]=0, NULL, FLOOR(m.[5_E])) AS [5 E],
|
||||
IIF(m.[5_GY]=0, NULL, FLOOR(m.[5_GY])) AS [5 GY],
|
||||
IIF(m.[6_E]=0, NULL, FLOOR(m.[6_E])) AS [6 E],
|
||||
IIF(m.[6_GY]=0, NULL, FLOOR(m.[6_GY])) AS [6 GY],
|
||||
IIF(m.[7_E]=0, NULL, FLOOR(m.[7_E])) AS [7 E],
|
||||
IIF(m.[7_GY]=0, NULL, FLOOR(m.[7_GY])) AS [7 GY],
|
||||
IIF(m.[8_E]=0, NULL, FLOOR(m.[8_E])) AS [8 E],
|
||||
IIF(m.[8_GY]=0, NULL, FLOOR(m.[8_GY])) AS [8 GY],
|
||||
IIF(m.[9_E]=0, NULL, FLOOR(m.[9_E])) AS [9 E],
|
||||
IIF(m.[9_GY]=0, NULL, FLOOR(m.[9_GY])) AS [9 GY],
|
||||
IIF(m.[10_E]=0, NULL, FLOOR(m.[10_E])) AS [10 E],
|
||||
IIF(m.[10_GY]=0, NULL, FLOOR(m.[10_GY])) AS [10 GY],
|
||||
IIF(m.[11_E]=0, NULL, FLOOR(m.[11_E])) AS [11 E],
|
||||
IIF(m.[11_GY]=0, NULL, FLOOR(m.[11_GY])) AS [11 GY],
|
||||
IIF(m.[12_E]=0, NULL, FLOOR(m.[12_E])) AS [12 E],
|
||||
IIF(m.[12_GY]=0, NULL, FLOOR(m.[12_GY])) AS [12 GY],
|
||||
IIF(m.[13_E]=0, NULL, FLOOR(m.[13_E])) AS [13 E],
|
||||
IIF(m.[13_GY]=0, NULL, FLOOR(m.[13_GY])) AS [13 GY],
|
||||
IIF(m.[14_E]=0, NULL, FLOOR(m.[14_E])) AS [14 E],
|
||||
IIF(m.[14_GY]=0, NULL, FLOOR(m.[14_GY])) AS [14 GY],
|
||||
IIF(m.[15_E]=0, NULL, FLOOR(m.[15_E])) AS [15 E],
|
||||
IIF(m.[15_GY]=0, NULL, FLOOR(m.[15_GY])) AS [15 GY],
|
||||
IIF(m.[16_E]=0, NULL, FLOOR(m.[16_E])) AS [16 E],
|
||||
IIF(m.[16_GY]=0, NULL, FLOOR(m.[16_GY])) AS [16 GY],
|
||||
IIF(m.[17_E]=0, NULL, FLOOR(m.[17_E])) AS [17 E],
|
||||
IIF(m.[17_GY]=0, NULL, FLOOR(m.[17_GY])) AS [17 GY],
|
||||
IIF(m.[18_E]=0, NULL, FLOOR(m.[18_E])) AS [18 E],
|
||||
IIF(m.[18_GY]=0, NULL, FLOOR(m.[18_GY])) AS [18 GY],
|
||||
IIF(m.[19_E]=0, NULL, FLOOR(m.[19_E])) AS [19 E],
|
||||
IIF(m.[19_GY]=0, NULL, FLOOR(m.[19_GY])) AS [19 GY],
|
||||
IIF(m.[20_E]=0, NULL, FLOOR(m.[20_E])) AS [20 E],
|
||||
IIF(m.[20_GY]=0, NULL, FLOOR(m.[20_GY])) AS [20 GY],
|
||||
IIF(m.[21_E]=0, NULL, FLOOR(m.[21_E])) AS [21 E],
|
||||
IIF(m.[21_GY]=0, NULL, FLOOR(m.[21_GY])) AS [21 GY],
|
||||
IIF(m.[22_E]=0, NULL, FLOOR(m.[22_E])) AS [22 E],
|
||||
IIF(m.[22_GY]=0, NULL, FLOOR(m.[22_GY])) AS [22 GY],
|
||||
IIF(m.[23_E]=0, NULL, FLOOR(m.[23_E])) AS [23 E],
|
||||
IIF(m.[23_GY]=0, NULL, FLOOR(m.[23_GY])) AS [23 GY],
|
||||
IIF(m.[24_E]=0, NULL, FLOOR(m.[24_E])) AS [24 E],
|
||||
IIF(m.[24_GY]=0, NULL, FLOOR(m.[24_GY])) AS [24 GY],
|
||||
IIF(m.[25_E]=0, NULL, FLOOR(m.[25_E])) AS [25 E],
|
||||
IIF(m.[25_GY]=0, NULL, FLOOR(m.[25_GY])) AS [25 GY],
|
||||
IIF(m.[26_E]=0, NULL, FLOOR(m.[26_E])) AS [26 E],
|
||||
IIF(m.[26_GY]=0, NULL, FLOOR(m.[26_GY])) AS [26 GY],
|
||||
IIF(m.[27_E]=0, NULL, FLOOR(m.[27_E])) AS [27 E],
|
||||
IIF(m.[27_GY]=0, NULL, FLOOR(m.[27_GY])) AS [27 GY],
|
||||
IIF(m.[28_E]=0, NULL, FLOOR(m.[28_E])) AS [28 E],
|
||||
IIF(m.[28_GY]=0, NULL, FLOOR(m.[28_GY])) AS [28 GY],
|
||||
IIF(m.[29_E]=0, NULL, FLOOR(m.[29_E])) AS [29 E],
|
||||
IIF(m.[29_GY]=0, NULL, FLOOR(m.[29_GY])) AS [29 GY],
|
||||
IIF(m.[30_E]=0, NULL, FLOOR(m.[30_E])) AS [30 E],
|
||||
IIF(m.[30_GY]=0, NULL, FLOOR(m.[30_GY])) AS [30 GY],
|
||||
IIF(m.[31_E]=0, NULL, FLOOR(m.[31_E])) AS [31 E],
|
||||
FLOOR(osszes_e.MULASZTASOKSZAMA) AS COLUMN2672_E,
|
||||
FLOOR(igazolt_e.IGAZOLTSZAMA) AS COLUMN2568_E,
|
||||
' + @colsHeader_E + ',
|
||||
FLOOR(igazolatlan_e.IGAZOLATLANSZAMA) AS COLUMN1911_E,
|
||||
FLOOR(osszes_gy.MULASZTASOKSZAMA) AS COLUMN2672_GY,
|
||||
FLOOR(igazolt_gy.IGAZOLTSZAMA) AS COLUMN2568_GY,
|
||||
' + @colsHeader_GY + ',
|
||||
FLOOR(igazolatlan_gy.IGAZOLATLANSZAMA) AS COLUMN1911_GY,
|
||||
TELJESNAPOSMULASZTAS.HianyzasErtek AS COLUMNTELJESNAPOSMULASZTASOK,
|
||||
igazoltkeses_e.IGAZOLTPERC AS COLUMNIGAZOLTKESESPERCBEN_E,
|
||||
igazoltkeses_gy.IGAZOLTPERC AS COLUMNIGAZOLTKESESPERCBEN_GY,
|
||||
igazolatlankeses_e.IGAZOLATLANPERC AS COLUMNIGAZOLATLANKESESPERCBEN_E,
|
||||
igazolatlankeses_gy.IGAZOLATLANPERC AS COLUMNIGAZOLATLANKESESPERCBEN_GY
|
||||
FROM #tanulo AS tanulok
|
||||
LEFT JOIN (
|
||||
SELECT Tanulo, ' + @colsSum_E + '
|
||||
FROM (
|
||||
SELECT *
|
||||
FROM #igazolas AS igazolasok
|
||||
WHERE Gyakorlati = ''F'' OR Gyakorlati IS NULL
|
||||
) AS igazolasok
|
||||
PIVOT (SUM(HianyzasErtek) FOR IgazolasTipus IN (' + @cols_E + ')) AS PIVOTTABLE_E
|
||||
GROUP BY Tanulo
|
||||
) AS IGAZOLASTIPUSOKSZERINT_E ON IGAZOLASTIPUSOKSZERINT_E.Tanulo = tanulok.Id
|
||||
LEFT JOIN (
|
||||
SELECT Tanulo, ' + @colsSum_Gy + '
|
||||
FROM (
|
||||
SELECT Tanulo, IgazoltE, -IgazolasTipus AS IgazolasTipus, Gyakorlati, HianyzasErtek
|
||||
FROM #igazolas AS igazolasok
|
||||
WHERE Gyakorlati = ''T''
|
||||
) AS igazolasok
|
||||
PIVOT (SUM(HianyzasErtek) FOR IgazolasTipus IN (' + @cols_GY + ')) AS PIVOTTABLE_GY
|
||||
GROUP BY Tanulo
|
||||
) AS IGAZOLASTIPUSOKSZERINT_GY ON IGAZOLASTIPUSOKSZERINT_GY.Tanulo = tanulok.Id
|
||||
LEFT JOIN (
|
||||
SELECT Tanulo, HianyzasErtek
|
||||
FROM #teljesnaposmul AS teljesnaposmul
|
||||
) AS TELJESNAPOSMULASZTAS ON TELJESNAPOSMULASZTAS.Tanulo = tanulok.Id
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
Tanulo,
|
||||
SUM([1_E]) AS [1_E],
|
||||
SUM([2_E]) AS [2_E],
|
||||
SUM([3_E]) AS [3_E],
|
||||
SUM([4_E]) AS [4_E],
|
||||
SUM([5_E]) AS [5_E],
|
||||
SUM([6_E]) AS [6_E],
|
||||
SUM([7_E]) AS [7_E],
|
||||
SUM([8_E]) AS [8_E],
|
||||
SUM([9_E]) AS [9_E],
|
||||
SUM([10_E]) AS [10_E],
|
||||
SUM([11_E]) AS [11_E],
|
||||
SUM([12_E]) AS [12_E],
|
||||
SUM([13_E]) AS [13_E],
|
||||
SUM([14_E]) AS [14_E],
|
||||
SUM([15_E]) AS [15_E],
|
||||
SUM([16_E]) AS [16_E],
|
||||
SUM([17_E]) AS [17_E],
|
||||
SUM([18_E]) AS [18_E],
|
||||
SUM([19_E]) AS [19_E],
|
||||
SUM([20_E]) AS [20_E],
|
||||
SUM([21_E]) AS [21_E],
|
||||
SUM([22_E]) AS [22_E],
|
||||
SUM([23_E]) AS [23_E],
|
||||
SUM([24_E]) AS [24_E],
|
||||
SUM([25_E]) AS [25_E],
|
||||
SUM([26_E]) AS [26_E],
|
||||
SUM([27_E]) AS [27_E],
|
||||
SUM([28_E]) AS [28_E],
|
||||
SUM([29_E]) AS [29_E],
|
||||
SUM([30_E]) AS [30_E],
|
||||
SUM([31_E]) AS [31_E],
|
||||
SUM([1_GY]) AS [1_GY],
|
||||
SUM([2_GY]) AS [2_GY],
|
||||
SUM([3_GY]) AS [3_GY],
|
||||
SUM([4_GY]) AS [4_GY],
|
||||
SUM([5_GY]) AS [5_GY],
|
||||
SUM([6_GY]) AS [6_GY],
|
||||
SUM([7_GY]) AS [7_GY],
|
||||
SUM([8_GY]) AS [8_GY],
|
||||
SUM([9_GY]) AS [9_GY],
|
||||
SUM([10_GY]) AS [10_GY],
|
||||
SUM([11_GY]) AS [11_GY],
|
||||
SUM([12_GY]) AS [12_GY],
|
||||
SUM([13_GY]) AS [13_GY],
|
||||
SUM([14_GY]) AS [14_GY],
|
||||
SUM([15_GY]) AS [15_GY],
|
||||
SUM([16_GY]) AS [16_GY],
|
||||
SUM([17_GY]) AS [17_GY],
|
||||
SUM([18_GY]) AS [18_GY],
|
||||
SUM([19_GY]) AS [19_GY],
|
||||
SUM([20_GY]) AS [20_GY],
|
||||
SUM([21_GY]) AS [21_GY],
|
||||
SUM([22_GY]) AS [22_GY],
|
||||
SUM([23_GY]) AS [23_GY],
|
||||
SUM([24_GY]) AS [24_GY], SUM([25_GY]) AS [25_GY], SUM([26_GY]) AS [26_GY], SUM([27_GY]) AS [27_GY], SUM([28_GY]) AS [28_GY], SUM([29_GY]) AS [29_GY],SUM([30_GY]) AS [30_GY], SUM([31_GY]) AS [31_GY]
|
||||
FROM #mulasztas AS m
|
||||
PIVOT (SUM(HianyzasErtek) for Nap in
|
||||
(
|
||||
[1_E],[2_E],[3_E],[4_E],[5_E],[6_E],[7_E],[8_E],[9_E],[10_E],[11_E],[12_E],[13_E],[14_E],[15_E],[16_E],[17_E],[18_E],[19_E],[20_E],[21_E],[22_E],[23_E],[24_E],[25_E],[26_E],[27_E],[28_E],[29_E],[30_E],[31_E],
|
||||
[1_GY],[2_GY],[3_GY],[4_GY],[5_GY],[6_GY],[7_GY],[8_GY],[9_GY],[10_GY],[11_GY],[12_GY],[13_GY],[14_GY],[15_GY],[16_GY],[17_GY],[18_GY],[19_GY],[20_GY],[21_GY],[22_GY],[23_GY],[24_GY],[25_GY],[26_GY],[27_GY],[28_GY],[29_GY],[30_GY],[31_GY]
|
||||
)
|
||||
) pv
|
||||
GROUP BY Tanulo
|
||||
) m ON m.Tanulo = tanulok.id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(HianyzasErtek) AS MULASZTASOKSZAMA FROM #igazolas WHERE (Gyakorlati = ''F'' OR Gyakorlati IS NULL) GROUP BY Tanulo) AS Osszes_E ON Osszes_E.Tanulo = tanulok.Id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(HianyzasErtek) AS IGAZOLTSZAMA FROM #igazolas i WHERE (Gyakorlati = ''F'' OR Gyakorlati IS NULL) AND i.IgazoltE=''T'' GROUP BY Tanulo) AS Igazolt_E ON Igazolt_E.Tanulo = tanulok.Id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(HianyzasErtek) AS IGAZOLATLANSZAMA FROM #igazolas i WHERE (Gyakorlati = ''F'' OR Gyakorlati IS NULL) AND i.IgazoltE=''F'' GROUP BY Tanulo) AS Igazolatlan_E ON Igazolatlan_E.Tanulo = tanulok.Id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(HianyzasErtek) AS MULASZTASOKSZAMA FROM #igazolas WHERE Gyakorlati = ''T'' GROUP BY Tanulo) AS Osszes_Gy ON Osszes_Gy.Tanulo = tanulok.Id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(HianyzasErtek) AS IGAZOLTSZAMA FROM #igazolas i WHERE Gyakorlati = ''T'' AND i.IgazoltE=''T'' GROUP BY Tanulo) AS Igazolt_Gy ON Igazolt_Gy.Tanulo = tanulok.Id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(HianyzasErtek) AS IGAZOLATLANSZAMA FROM #igazolas i WHERE Gyakorlati = ''T'' AND i.IgazoltE=''F'' GROUP BY Tanulo) AS Igazolatlan_Gy ON Igazolatlan_Gy.Tanulo = tanulok.Id'
|
||||
SET @query +=
|
||||
' LEFT JOIN (SELECT Tanulo, SUM(KesettPerc) AS IGAZOLTPERC FROM #igazolas i WHERE (Gyakorlati = ''F'' OR Gyakorlati IS NULL) AND i.IgazoltE=''T'' GROUP BY Tanulo) AS igazoltkeses_e ON igazoltkeses_e.Tanulo = tanulok.Id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(KesettPerc) AS IGAZOLTPERC FROM #igazolas i WHERE Gyakorlati = ''T'' AND i.IgazoltE=''T'' GROUP BY Tanulo) AS igazoltkeses_gy ON igazoltkeses_gy.Tanulo = tanulok.Id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(KesettPerc) AS IGAZOLATLANPERC FROM #igazolas i WHERE (Gyakorlati = ''F'' OR Gyakorlati IS NULL) AND (i.IgazoltE=''F'' OR i.IgazoltE IS NULL) GROUP BY Tanulo) AS igazolatlankeses_e ON igazolatlankeses_e.Tanulo = tanulok.Id
|
||||
LEFT JOIN (SELECT Tanulo, SUM(KesettPerc) AS IGAZOLATLANPERC FROM #igazolas i WHERE Gyakorlati = ''T'' AND (i.IgazoltE=''F'' OR i.IgazoltE IS NULL) GROUP BY Tanulo) AS igazolatlankeses_gy ON igazolatlankeses_gy.Tanulo = tanulok.Id
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.id = tanulok.Id
|
||||
ORDER BY f.c_nyomtatasinev';
|
||||
exec sp_executesql @query;
|
||||
END
|
||||
DROP TABLE #mulasztas
|
||||
DROP TABLE #tanulo
|
||||
DROP TABLE #igazolas
|
||||
DROP TABLE #igazolastipus
|
||||
DROP TABLE #teljesnaposmul
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,67 @@
|
|||
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
|
|
@ -0,0 +1,38 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetOsztalyokHaviHianyzasiOsszesitoje
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOsztalyokHaviHianyzasiOsszesitoje
|
||||
@tanevID int
|
||||
,@intezmenyId int
|
||||
,@honapAdatszotarTypeId int = 55
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
declare @honapok table(honap int, honapnev nvarchar(max));
|
||||
insert into @honapok
|
||||
select distinct d.c_value, d.c_name as Honap from t_dictionaryitembase d where d.C_DICTIONARYTYPEID = @honapAdatszotarTypeId order by d.c_value
|
||||
|
||||
select honapnev from @honapok
|
||||
|
||||
DECLARE kur CURSOR FOR
|
||||
select distinct d.c_value as Honap from t_dictionaryitembase d where d.C_DICTIONARYTYPEID = @honapAdatszotarTypeId
|
||||
|
||||
DECLARE @Honap int
|
||||
|
||||
OPEN kur
|
||||
FETCH NEXT FROM kur INTO @Honap
|
||||
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
create table #tabla(COLUMN379 nvarchar(max), [1] int,[2] int,[3] int,[4] int,[5] int,[6] int,[7] int,[8] int,[9] int,[10] int,[11] int,[12] int,[13] int,[14] int,[15] int,[16] int,[17] int,[18] int,[19] int,[20] int,[21] int,[22] int,[23] int,[24] int,[25] int,[26] int,[27] int,[28] int,[29] int,[30] int,[31] int, COLUMN2672 int, COLUMN1910 int, COLUMN5197 int, COLUMN1786 int, COLUMN1787 int, COLUMN1788 int, COLUMN1789 int, COLUMN1911 int)
|
||||
insert into #tabla
|
||||
EXEC uspGetOsztalyokHaviHianyzasiOsszesitoje_honapra @tanevID, @intezmenyId, @honap
|
||||
SELECT * from #tabla
|
||||
drop table #tabla
|
||||
FETCH NEXT FROM kur INTO @honap
|
||||
END
|
||||
|
||||
CLOSE kur
|
||||
DEALLOCATE kur
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,38 @@
|
|||
-- =============================================
|
||||
-- Description: <Előszedjük a pedagógusok IKT kompetenciáit>
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS sp_GetPedagogusIKTAdatszolgaltatasForGrid
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetPedagogusIKTAdatszolgaltatasForGrid
|
||||
@pIntezmenyId INT,
|
||||
@pTanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
Alkalmazott.ID AS ID,
|
||||
Felhasznalo.C_NYOMTATASINEV AS TanarNev,
|
||||
Felhasznalo.C_ANYJANEVE AS AnyjaNeve,
|
||||
Felhasznalo.C_SZULETESIDATUM AS SzuletesiIdo,
|
||||
PedagogusIKTAdatszolgatlatas.C_IKTKOMPETENCIASZINTJE AS IKTKompetenciaSzint,
|
||||
PedagogusIKTAdatszolgatlatas.C_IKTESZKOZHASZNALATMODJA AS IKTEszkozhasznalatModja,
|
||||
PedagogusIKTAdatszolgatlatas.C_ELSODLEGESIKTESZKOZE AS ElsodlegesIKTEszkoz
|
||||
FROM
|
||||
T_ALKALMAZOTT_OSSZES AS Alkalmazott
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES AS Felhasznalo ON
|
||||
Felhasznalo.ID = Alkalmazott.ID AND Felhasznalo.TOROLT = 'F'
|
||||
AND Felhasznalo.C_INTEZMENYID = Alkalmazott.C_ALINTEZMENYID AND Felhasznalo.C_TANEVID = Alkalmazott.C_ALTANEVID
|
||||
LEFT JOIN
|
||||
T_PEDAGOGUSIKTADATSZOLGALTATAS_OSSZES AS PedagogusIKTAdatszolgatlatas ON
|
||||
PedagogusIKTAdatszolgatlatas.C_ALKALMAZOTTID = Alkalmazott.ID AND PedagogusIKTAdatszolgatlatas.TOROLT = 'F'
|
||||
AND PedagogusIKTAdatszolgatlatas.C_INTEZMENYID = Alkalmazott.C_ALINTEZMENYID AND PedagogusIKTAdatszolgatlatas.C_TANEVID = Alkalmazott.C_ALTANEVID
|
||||
WHERE
|
||||
Alkalmazott.C_ALINTEZMENYID = @pIntezmenyId AND
|
||||
Alkalmazott.C_ALTANEVID = @pTanevId AND
|
||||
Alkalmazott.TOROLT = 'F'
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,41 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetShowNatKerdoivPopup]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Előszedjük a NAT kérdőív adatokat az alkalmazott alapján>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetShowNatKerdoivPopup]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pAlkalmazottId INT
|
||||
,@pBesorolasiFokozatTipusNa INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM
|
||||
T_ALKALMAZOTT Alkalmazott
|
||||
INNER JOIN
|
||||
T_NATKERDOIV_OSSZES NatKerdoiv ON
|
||||
NatKerdoiv.C_ALKALMAZOTTID = Alkalmazott.ID
|
||||
AND NatKerdoiv.C_INTEZMENYID = @pIntezmenyId
|
||||
AND NatKerdoiv.C_TANEVID = @pTanevId
|
||||
AND NatKerdoiv.TOROLT = 'F'
|
||||
AND NatKerdoiv.C_ISLATTA = 'T'
|
||||
WHERE
|
||||
Alkalmazott.ID = @pAlkalmazottId
|
||||
AND Alkalmazott.C_ALINTEZMENYID = @pIntezmenyId
|
||||
AND Alkalmazott.C_ALTANEVID = @pTanevId
|
||||
AND Alkalmazott.TOROLT = 'F'
|
||||
)
|
||||
SELECT 0
|
||||
ELSE
|
||||
SELECT 1
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetStatPedagogusTanuloinakTantargyiMulasztasaiMegtartott]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetStatPedagogusTanuloinakTantargyiMulasztasaiMegtartott]
|
||||
@tanarId INT,
|
||||
@tanevId INT,
|
||||
@iskolaErekeduTavolletId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Tanár
|
||||
DECLARE @osztalyCsoportTantargy TABLE (osztalyCsoport INT, Tantargy INT)
|
||||
INSERT INTO @osztalyCsoportTantargy
|
||||
SELECT DISTINCT
|
||||
C_OSZTALYCSOPORTID
|
||||
,C_TANTARGYID
|
||||
FROM T_ORARENDIORA_OSSZES
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID = ocs.ID AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
WHERE
|
||||
T_ORARENDIORA_OSSZES.C_TANARID=@tanarId
|
||||
AND T_ORARENDIORA_OSSZES.TOROLT = 'F'
|
||||
|
||||
--Tanulók
|
||||
CREATE TABLE #students (TanuloId INT)
|
||||
INSERT INTO #students
|
||||
SELECT DISTINCT
|
||||
C_TANULOID
|
||||
FROM T_TANULOCSOPORT_OSSZES
|
||||
WHERE C_OSZTALYCSOPORTID IN (SELECT osztalyCsoport FROM @osztalyCsoportTantargy)
|
||||
AND TOROLT = 'F'
|
||||
|
||||
--Taulók mulasztásai
|
||||
CREATE TABLE #mulasztas (Ossz INT, Tanulo INT, Tantargy INT, OsztalyCsoport INT)
|
||||
INSERT INTO #mulasztas
|
||||
SELECT
|
||||
COUNT(tm.ID)
|
||||
, tm.C_ORATANULOIID
|
||||
, t.ID
|
||||
, tao.C_OSZTALYCSOPORTID
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao on tao.ID = tm.C_TANITASIORAKID
|
||||
INNER JOIN T_TANTARGY_OSSZES t on t.ID = tao.C_TANTARGYID
|
||||
INNER JOIN #students s on s.TanuloID = tm.C_ORATANULOIID
|
||||
INNER JOIN @osztalyCsoportTantargy ocst on ocst.osztalyCsoport=tao.C_OSZTALYCSOPORTID and ocst.Tantargy=tao.C_TANTARGYID
|
||||
WHERE
|
||||
tm.Torolt = 'F'
|
||||
AND tm.C_TIPUS = 1500
|
||||
AND ((tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES)) OR (tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)))))
|
||||
AND tm.C_IGAZOLASTIPUSA <> @iskolaErekeduTavolletId
|
||||
GROUP BY tm.C_ORATANULOIID, t.ID, tao.C_OSZTALYCSOPORTID
|
||||
|
||||
--Naplózott óra tanulónként
|
||||
CREATE TABLE #naplozott (Tanulo INT, Tantargy INT, OsztalyCsoport INT, Ossz INT)
|
||||
INSERT INTO #naplozott
|
||||
SELECT
|
||||
m.Tanulo
|
||||
, m.Tantargy
|
||||
, m.OsztalyCsoport
|
||||
, COUNT(DISTINCT tao.ID)
|
||||
FROM #mulasztas m
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.C_OSZTALYCSOPORTID=m.OsztalyCsoport AND tao.C_TANTARGYID=m.Tantargy AND tao.C_MEGTARTOTT='T'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID=m.Tanulo AND tcs.C_OSZTALYCSOPORTID=m.OsztalyCsoport
|
||||
AND ((tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES)) OR (tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)))))
|
||||
INNER JOIN @osztalyCsoportTantargy ocst on ocst.osztalyCsoport=tao.C_OSZTALYCSOPORTID and ocst.Tantargy=tao.C_TANTARGYID
|
||||
WHERE
|
||||
tao.TOROLT='F'
|
||||
AND tao.C_DATUM >= tcs.C_BELEPESDATUM
|
||||
GROUP BY m.Tanulo, m.Tantargy, m.OsztalyCsoport
|
||||
|
||||
DECLARE @cols AS NVARCHAR(MAX),
|
||||
@query AS NVARCHAR(MAX),
|
||||
@colsIn AS NVARCHAR(MAX)
|
||||
|
||||
SELECT @cols= ISNULL(@cols + ',','') + QUOTENAME(Tantargy) FROM (SELECT DISTINCT m.Tantargy Tantargy FROM #mulasztas m) Tantargy
|
||||
SELECT @colsIn= ISNULL(@colsIn + ',','') +'CONVERT(NVARCHAR(MAX),'+QUOTENAME(Tantargy) + ')+''%'' as ' + QUOTENAME(nev) FROM (SELECT DISTINCT m.Tantargy AS Tantargy, t.c_nev nev FROM #mulasztas m
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.id=m.Tantargy) TantargyCols
|
||||
|
||||
set @query='
|
||||
SELECT
|
||||
fel.C_NYOMTATASINEV Tanulo
|
||||
, '+@colsIn+'
|
||||
FROM (SELECT
|
||||
mulasztas.Tanulo
|
||||
, ROUND(CONVERT(FLOAT, mulasztas.Ossz)/CONVERT(FLOAT, naplozott.Ossz)*100, 0) Osszes
|
||||
, mulasztas.Tantargy
|
||||
FROM #students s
|
||||
INNER JOIN #mulasztas mulasztas on mulasztas.Tanulo=s.TanuloId
|
||||
INNER JOIN #naplozott naplozott on naplozott.Tantargy=mulasztas.Tantargy and naplozott.OsztalyCsoport=mulasztas.OsztalyCsoport and naplozott.Tanulo=mulasztas.Tanulo
|
||||
)a
|
||||
PIVOT (MAX(Osszes) FOR Tantargy IN ('+@cols+'))pv
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fel on fel.ID=Tanulo
|
||||
ORDER BY fel.C_NYOMTATASINEV
|
||||
'
|
||||
EXEC sp_executesql @query
|
||||
|
||||
DROP TABLE #students
|
||||
DROP TABLE #mulasztas
|
||||
DROP TABLE #naplozott
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,146 @@
|
|||
-- ================================
|
||||
-- CREATED: 2017-02-17
|
||||
-- CREATOR: Telek Ákos
|
||||
-- ================================
|
||||
--
|
||||
-- A négy paraméter az alábbi:
|
||||
-- • Tanár ID-ja
|
||||
-- • Kellenek-e osztályok (ez szinte mindig igaz érték, azt állítja, hogy a lekérdezés a kapcsolódó osztályokat is include-olja)
|
||||
-- • Kellenek-e csoportok (ez azt állítja, hogy a lekérdezés a kapcsolódó csoportokat is include-olja)
|
||||
-- • Kellenek-e azok, amelyekben "csak" tanít, azaz nem ofő, vagy ilyesmi, hanem csak tanítja (ez pl osztályfőnöki funkcióknál, mulasztások kezelése hasonló esetekben hamis, azaz 0, de például feljegyzéseknél igaz).
|
||||
-- Ahol át kell vezetni (zárójelben a három változó paraméter státusza):
|
||||
-- • Tanári feladatok / Feljegyzések (1,1,1), Faliújság (1,1,1) illetve Tanított tanulók (1,1,1)
|
||||
-- • Osztályfőnöki feladatok / Igazolások (1,1,0), Mulasztások kezelése (1,1,0), Naplóellenőrzés (1,0,0), Osztály tanulói (1,0,0)
|
||||
-- • Dokumentumoknál, ha tanár nyitja meg, akkor szintén
|
||||
--
|
||||
-- Használata:
|
||||
--
|
||||
-- DECLARE @kapcsolodoOsztalyok TABLE (ID int)
|
||||
-- INSERT INTO @kapcsolodoOsztalyok (ID)
|
||||
-- EXEC sp_GetTanarKapcsolodoOsztalyai (150621, 1, 1, 1)
|
||||
--
|
||||
-- SELECT *
|
||||
-- FROM T_TABLE t
|
||||
-- INNER JOIN @kapcsolodoOsztalyok k ON t.C_OSZTALYCSOPORTID = k.ID
|
||||
--
|
||||
/*TODO:Tobb Osztaly*//*OM-1668*/
|
||||
|
||||
DROP PROCEDURE IF EXISTS dbo.sp_GetTanarKapcsolodoOsztalyai
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.sp_GetTanarKapcsolodoOsztalyai
|
||||
@tanarId int
|
||||
,@osztalyKell bit = 1
|
||||
,@csoportKell bit = 1
|
||||
,@tartottOraKell bit = 1
|
||||
,@feladatKategoriaId int = null
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @sql nvarchar(max)
|
||||
|
||||
IF 1758 IN (SELECT C_SZEREPKORTIPUS FROM T_FELHASZNALO_SZEREPKOR INNER JOIN T_SZEREPKOR ON T_SZEREPKOR.ID = T_FELHASZNALO_SZEREPKOR.C_SZEREPKORID WHERE T_FELHASZNALO_SZEREPKOR.C_FELHASZNALOID = @tanarId) BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = N'
|
||||
SELECT o.ID
|
||||
FROM T_OSZTALY o
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND (@feladatKategoriaId IS NULL OR OsztalyCsoport.C_FELADATKATEGORIAID = @feladatKategoriaId)
|
||||
WHERE o.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND o.TOROLT = ''F'''
|
||||
END
|
||||
IF @csoportKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = cs.ID AND (@feladatKategoriaId IS NULL OR OsztalyCsoport.C_FELADATKATEGORIAID = @feladatKategoriaId)
|
||||
WHERE cs.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND cs.TOROLT = ''F'''
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF (SELECT C_MUNKAKORTIPUSA FROM T_MUNKAUGYIADATOK WHERE C_ALKALMAZOTTID = @tanarId) IN (1762, 1763, 3027, 3028) BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = N'
|
||||
SELECT o.ID
|
||||
FROM T_OSZTALY o
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND (@feladatKategoriaId IS NULL OR OsztalyCsoport.C_FELADATKATEGORIAID = @feladatKategoriaId)
|
||||
WHERE o.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND o.TOROLT = ''F'''
|
||||
END
|
||||
IF @csoportKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = cs.ID AND (@feladatKategoriaId IS NULL OR OsztalyCsoport.C_FELADATKATEGORIAID = @feladatKategoriaId)
|
||||
WHERE cs.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND cs.TOROLT = ''F'''
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF (SELECT C_VEZETOIORASZAMOK FROM T_MUNKAUGYIADATOK WHERE C_ALKALMAZOTTID = @tanarId) IN (6572, 6573, 6574) -- 6572 - Intézményvezető, 6573 - Tagintézmény-vezető, 6574 - Intézményegység-vezető
|
||||
BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = N'
|
||||
SELECT o.ID
|
||||
FROM T_OSZTALY o
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = o.ID AND (@feladatKategoriaId IS NULL OR OsztalyCsoport.C_FELADATKATEGORIAID = @feladatKategoriaId)
|
||||
WHERE o.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND o.TOROLT = ''F'''
|
||||
END
|
||||
IF @csoportKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = cs.ID AND (@feladatKategoriaId IS NULL OR OsztalyCsoport.C_FELADATKATEGORIAID = @feladatKategoriaId)
|
||||
WHERE cs.C_ALTANEVID = (SELECT ID FROM T_TANEV WHERE C_AKTIV = ''T'')
|
||||
AND cs.TOROLT = ''F'''
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = N'
|
||||
SELECT ocs.ID
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID
|
||||
WHERE (o.C_OSZTALYFONOKID = @tanarId OR o.C_OFOHELYETTESID = @tanarId)
|
||||
AND (@feladatKategoriaId IS NULL OR ocs.C_FELADATKATEGORIAID = @feladatKategoriaId)
|
||||
AND ocs.TOROLT = ''F'''
|
||||
END
|
||||
|
||||
IF @csoportKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + N'UNION' + CHAR(13) + CHAR(10), N'') + N'
|
||||
SELECT ocs.ID
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_CSOPORT cs ON cs.ID = ocs.ID
|
||||
WHERE cs.C_CSOPORTVEZETOID = @tanarId
|
||||
AND (@feladatKategoriaId IS NULL OR ocs.C_FELADATKATEGORIAID = @feladatKategoriaId)
|
||||
AND ocs.TOROLT = ''F'''
|
||||
END
|
||||
|
||||
IF @tartottOraKell = 1 BEGIN
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + 'UNION' + CHAR(13) + CHAR(10), '') + '
|
||||
SELECT f.C_OSZTALYCSOPORTID
|
||||
FROM T_FOGLALKOZAS f
|
||||
INNER JOIN T_OSZTALY o ON o.id = f.C_OSZTALYCSOPORTID
|
||||
WHERE f.C_TANARID = @tanarId
|
||||
AND f.TOROLT = ''F''
|
||||
AND o.TOROLT = ''F'''
|
||||
END
|
||||
IF @osztalyKell = 1 BEGIN
|
||||
SET @sql = ISNULL(@sql + CHAR(13) + CHAR(10) + 'UNION' + CHAR(13) + CHAR(10), '') + '
|
||||
SELECT f.C_OSZTALYCSOPORTID
|
||||
FROM T_FOGLALKOZAS f
|
||||
INNER JOIN T_CSOPORT cs ON cs.id = f.C_OSZTALYCSOPORTID
|
||||
WHERE f.C_TANARID = @tanarId
|
||||
AND f.TOROLT = ''F''
|
||||
AND cs.TOROLT = ''F'''
|
||||
END
|
||||
END
|
||||
END
|
||||
END
|
||||
END
|
||||
EXEC sp_executesql @sql, N'@tanarId int, @feladatKategoriaId int', @tanarId, @feladatKategoriaId
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,73 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetTanarOrarendLefedettseg]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanarOrarendLefedettseg]
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @AktivtanevId INT = (SELECT Id FROM T_TANEV_OSSZES tanev WHERE C_AKTIV='T' AND C_INTEZMENYID = @intezmenyId AND TOROLT = 'F')
|
||||
|
||||
DECLARE @UtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA=1395 AND C_TANEVID=@tanevid AND TOROLT='F')
|
||||
,@ElsoNap DATE = (select C_KEZDONAP from T_TANEV_OSSZES WHERE ID = @tanevid)
|
||||
,@IdoszakKezdete DATE
|
||||
,@IdoszakVege DATE
|
||||
|
||||
IF (@tanevId = @AktivtanevId AND GETDATE() <= @UtolsoNap)
|
||||
BEGIN
|
||||
IF (GETDATE() <= @ElsoNap)
|
||||
BEGIN
|
||||
SET @IdoszakKezdete = (SELECT TOP 1 C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES WHERE C_HETSORSZAMA = 1 AND TOROLT = 'F' AND C_TANEVID = @tanevId)
|
||||
SET @IdoszakVege = (SELECT TOP 1 C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES WHERE C_HETSORSZAMA = 3 AND TOROLT = 'F' AND C_TANEVID = @tanevId)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @IdoszakKezdete =(SELECT TOP 1 nh.C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE CONVERT(DATE, GETDATE())>=CONVERT(DATE, NH.C_HETKEZDONAPJA) AND CONVERT(DATE, GETDATE())<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) and nh.TOROLT='F' and nh.C_TANEVID=@tanevid)
|
||||
SET @IdoszakVege = DATEADD(DAY, 13, @IdoszakKezdete)
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @IdoszakVege =(SELECT TOP 1 nh.C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNap>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNap<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) AND nh.TOROLT='F' AND nh.C_TANEVID=@tanevId)
|
||||
SET @IdoszakKezdete = DATEADD(DAY, -13, @IdoszakVege)
|
||||
END
|
||||
|
||||
--Órarendi lefedettség
|
||||
CREATE TABLE #csoportok (CsoportId INT, Pedagogus NVARCHAR(MAX), CsoportTipus NVARCHAR(MAX), Oraszam float, Hetirend NVARCHAR(MAX))
|
||||
INSERT INTO #csoportok
|
||||
SELECT DISTINCT
|
||||
cs.ID
|
||||
,f.C_NYOMTATASINEV
|
||||
,d.C_NAME
|
||||
,fog.C_ORASZAM
|
||||
,Hetirend.C_NAME
|
||||
FROM T_FOGLALKOZAS_OSSZES fog
|
||||
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.Id = fog.C_OSZTALYCSOPORTID AND cs.TOROLT='F' AND cs.C_ALTANEVID=@tanevId
|
||||
LEFT JOIN T_OSZTALY_OSSZES o ON o.Id = fog.C_OSZTALYCSOPORTID AND o.TOROLT='F' AND o.C_ALTANEVID=@tanevId
|
||||
INNER JOIN T_ORARENDIORA_OSSZES oo ON oo.C_FOGLALKOZASID = fog.ID
|
||||
AND C_ORAERVENYESSEGKEZDETE <= @IdoszakVege
|
||||
AND C_ORAERVENYESSEGVEGE >= @IdoszakKezdete
|
||||
AND oo.C_TANEVID=@tanevid
|
||||
AND oo.torolt='F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID=fog.C_TANARID AND f.C_INTEZMENYID=@intezmenyId AND f.C_TANEVID=@tanevid AND f.TOROLT='F'
|
||||
LEFT JOIN (SELECT DISTINCT d.ID, d.C_NAME FROM T_DICTIONARYITEMBASE_OSSZES d)d ON d.ID=cs.C_TIPUSA
|
||||
INNER JOIN (SELECT DISTINCT d.ID, d.C_NAME FROM T_DICTIONARYITEMBASE_OSSZES d) Hetirend ON Hetirend.ID=oo.C_HETIREND
|
||||
|
||||
SELECT Pedagogus COLUMN456, ISNULL(CsoportTipus, 'Osztály') COLUMN262, SUM(Oraszam) COLUMN3670 FROM #csoportok cs GROUP BY Pedagogus, CsoportTipus ORDER BY Pedagogus, ISNULL(CsoportTipus, 'Osztály')
|
||||
|
||||
DECLARE @cols AS NVARCHAR(MAX),
|
||||
@query AS NVARCHAR(MAX)
|
||||
|
||||
SELECT DISTINCT @cols= ISNULL(@cols + ',','') + QUOTENAME(Hetirend) FROM #csoportok
|
||||
|
||||
SET @query='SELECT DISTINCT Pedagogus COLUMN456, ISNULL(CsoportTipus, ''Osztály'') COLUMN262, '+@cols+' FROM #csoportok cs PIVOT (SUM(Oraszam) FOR Hetirend IN ('+@cols+')) pv ORDER BY Pedagogus, ISNULL(CsoportTipus, ''Osztály'')'
|
||||
|
||||
EXEC sp_executesql @query;
|
||||
DROP TABLE #csoportok
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,102 @@
|
|||
-- =============================================
|
||||
-- Author: Zsiga Attila
|
||||
-- Create date: 2016.04.22.
|
||||
-- Description: Tanévrendi események szerinti csengetési rendek
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetTanevRendjeCsengetesiRend]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanevRendjeCsengetesiRend]
|
||||
@pKezdoDatum DATETIME,
|
||||
@pVegDatum DATETIME,
|
||||
@pOsztalyCsoportID INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
Datum,
|
||||
CsengetesiRendID,
|
||||
LastChangedMax
|
||||
INTO
|
||||
#tmpMindenOsztalyraVonatkozo
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
TANEVRENDJE.C_DATUM Datum,
|
||||
MAX(LASTCHANGED) LastChangedMax
|
||||
FROM
|
||||
(SELECT * FROM T_TANEVRENDJE WHERE T_TANEVRENDJE.TOROLT = 'F' AND T_TANEVRENDJE.C_DATUM BETWEEN @pKezdoDatum AND @pVegDatum AND T_TANEVRENDJE.C_OSSZESCSOPORTRAVONATKOZIK = 'T') TANEVRENDJE
|
||||
GROUP BY
|
||||
TANEVRENDJE.C_DATUM
|
||||
) MindenOsztalyra
|
||||
LEFT JOIN (SELECT C_CSENGETESIRENDID CsengetesiRendID, C_DATUM, LASTCHANGED FROM T_TANEVRENDJE WHERE T_TANEVRENDJE.TOROLT = 'F' AND T_TANEVRENDJE.C_DATUM BETWEEN @pKezdoDatum AND @pVegDatum AND T_TANEVRENDJE.C_OSSZESCSOPORTRAVONATKOZIK = 'T') TANEVRENDJE ON TANEVRENDJE.C_DATUM = MindenOsztalyra.Datum AND TANEVRENDJE.LASTCHANGED = MindenOsztalyra.LastChangedMax
|
||||
|
||||
CREATE TABLE #tmpAdottOsztalyraVonatkozo
|
||||
(
|
||||
Datum DATETIME,
|
||||
CsengetesiRendID INT,
|
||||
LastChangedMax DATETIME
|
||||
)
|
||||
|
||||
IF @pOsztalyCsoportID IS NULL
|
||||
BEGIN
|
||||
INSERT INTO #tmpAdottOsztalyraVonatkozo
|
||||
SELECT
|
||||
NULL Datum,
|
||||
NULL CsengetesiRendID,
|
||||
NULL LastChangedMax
|
||||
FROM
|
||||
(SELECT NULL Datum, NULL CsengetesiRendID FROM T_TANEVRENDJE WHERE 1=2) AdottOsztalyra
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO #tmpAdottOsztalyraVonatkozo
|
||||
SELECT
|
||||
Datum,
|
||||
CsengetesiRendID,
|
||||
LastChangedMax
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
TANEVRENDJE.C_DATUM Datum,
|
||||
MAX(LASTCHANGED) LastChangedMax
|
||||
FROM
|
||||
(SELECT * FROM T_TANEVRENDJE WHERE T_TANEVRENDJE.TOROLT = 'F' AND T_TANEVRENDJE.C_DATUM BETWEEN @pKezdoDatum AND @pVegDatum AND T_TANEVRENDJE.C_OSSZESCSOPORTRAVONATKOZIK = 'F') TANEVRENDJE
|
||||
INNER JOIN
|
||||
(SELECT * FROM T_OSZTALYCSOPORT_TANEVRENDJE WHERE C_OSZTALYCSOPORTID = @pOsztalyCsoportID) OSZTALYCSOPORT_TANEVRENDJE ON OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = TANEVRENDJE.ID
|
||||
GROUP BY
|
||||
TANEVRENDJE.C_DATUM
|
||||
) AdottOsztalyra
|
||||
LEFT JOIN (SELECT C_CSENGETESIRENDID CsengetesiRendID, C_DATUM, LASTCHANGED FROM T_TANEVRENDJE WHERE T_TANEVRENDJE.TOROLT = 'F' AND T_TANEVRENDJE.C_DATUM BETWEEN @pKezdoDatum AND @pVegDatum AND T_TANEVRENDJE.C_OSSZESCSOPORTRAVONATKOZIK = 'F') TANEVRENDJE ON TANEVRENDJE.C_DATUM = AdottOsztalyra.Datum AND TANEVRENDJE.LASTCHANGED = AdottOsztalyra.LastChangedMax
|
||||
END
|
||||
|
||||
SELECT
|
||||
CASE
|
||||
WHEN
|
||||
AdottOsztalyraVonatkozo.CsengetesiRendID IS NOT NULL
|
||||
THEN
|
||||
AdottOsztalyraVonatkozo.Datum
|
||||
ELSE
|
||||
MindenOsztalyraVonatkozo.Datum
|
||||
END Datum,
|
||||
CASE
|
||||
WHEN
|
||||
AdottOsztalyraVonatkozo.CsengetesiRendID IS NOT NULL
|
||||
THEN
|
||||
AdottOsztalyraVonatkozo.CsengetesiRendID
|
||||
ELSE
|
||||
MindenOsztalyraVonatkozo.CsengetesiRendID
|
||||
END CsengetesiRendID
|
||||
FROM
|
||||
#tmpMindenOsztalyraVonatkozo AS MindenOsztalyraVonatkozo
|
||||
FULL OUTER JOIN
|
||||
#tmpAdottOsztalyraVonatkozo
|
||||
AS AdottOsztalyraVonatkozo ON
|
||||
AdottOsztalyraVonatkozo.Datum = MindenOsztalyraVonatkozo.Datum
|
||||
|
||||
DROP TABLE #tmpMindenOsztalyraVonatkozo
|
||||
DROP TABLE #tmpAdottOsztalyraVonatkozo
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,61 @@
|
|||
-- =============================================
|
||||
-- Author: Kelemen Attila
|
||||
-- Create date: 2016.04.05.
|
||||
-- Description: Tanév rendjében tárolt negyedévekhez tartozó dátumok
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetTanevrendNegyedevek]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanevrendNegyedevek]
|
||||
@elsonap int,
|
||||
@I_negyedev_vege int,
|
||||
@felevvege int,
|
||||
@III_negyedev_vege int,
|
||||
@utolsonap int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SELECT
|
||||
'Elso_Nap' Tipus ,
|
||||
C_DATUM Datum
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
INNER JOIN T_TANEV_OSSZES ON T_TANEVRENDJE_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID
|
||||
WHERE T_TANEV_OSSZES.C_AKTIV = 'T' AND T_TANEV_OSSZES.TOROLT='F' AND T_TANEVRENDJE_OSSZES.TOROLT='F' AND C_NAPTIPUSA = @elsonap
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
'I_Negyedev_Vege' Tipus ,
|
||||
C_DATUM Datum
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
INNER JOIN T_TANEV_OSSZES ON T_TANEVRENDJE_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID
|
||||
WHERE T_TANEV_OSSZES.C_AKTIV = 'T' AND T_TANEV_OSSZES.TOROLT='F' AND T_TANEVRENDJE_OSSZES.TOROLT='F' AND C_NAPTIPUSA = @I_negyedev_vege
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
'Felev_Vege' Tipus ,
|
||||
C_DATUM Datum
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
INNER JOIN T_TANEV_OSSZES ON T_TANEVRENDJE_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID
|
||||
WHERE T_TANEV_OSSZES.C_AKTIV = 'T' AND T_TANEV_OSSZES.TOROLT='F' AND T_TANEVRENDJE_OSSZES.TOROLT='F' AND C_NAPTIPUSA = @felevvege
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
'III_Negyedev_Vege' Tipus ,
|
||||
C_DATUM Datum
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
INNER JOIN T_TANEV_OSSZES ON T_TANEVRENDJE_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID
|
||||
WHERE T_TANEV_OSSZES.C_AKTIV = 'T' AND T_TANEV_OSSZES.TOROLT='F' AND T_TANEVRENDJE_OSSZES.TOROLT='F' AND C_NAPTIPUSA = @III_negyedev_vege
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
'Utolso_Nap' Tipus ,
|
||||
C_DATUM Datum
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
INNER JOIN T_TANEV_OSSZES ON T_TANEVRENDJE_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID
|
||||
WHERE T_TANEV_OSSZES.C_AKTIV = 'T' AND T_TANEV_OSSZES.TOROLT='F' AND T_TANEVRENDJE_OSSZES.TOROLT='F' AND C_NAPTIPUSA = @utolsonap
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,116 @@
|
|||
-- =============================================
|
||||
-- Author: Zsiga Attila
|
||||
-- Create date: 2016.10.21.
|
||||
-- Description: Tanév rendje esemény alapján melyik órarendi órák érintettek.
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS sp_GetTanevrendjeErintettOrarendiOrai
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetTanevrendjeErintettOrarendiOrai
|
||||
@pTanevId INT,
|
||||
@pNapTipusa INT,
|
||||
@pKezdete DATETIME,
|
||||
@pVege DATETIME
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--TEMP TABLES
|
||||
SELECT * INTO #TEMPNAPTARINAP FROM T_NAPTARINAP
|
||||
WHERE TOROLT = 'F' AND C_TANEVID = @pTanevId
|
||||
---------------
|
||||
SELECT * INTO #TEMPFELHASZNALO FROM T_FELHASZNALO
|
||||
WHERE TOROLT = 'F' AND C_TANEVID = @pTanevId
|
||||
---------------
|
||||
SELECT * INTO #TEMPORARENDIORA FROM T_ORARENDIORA
|
||||
WHERE TOROLT = 'F' AND C_TANEVID = @pTanevId
|
||||
---------------
|
||||
SELECT * INTO #TEMPTANEVRENDJE FROM T_TANEVRENDJE
|
||||
WHERE TOROLT = 'F' AND C_TANEVID = @pTanevId
|
||||
---------------
|
||||
SELECT * INTO #TEMPOSZTALYCSOPORT_TANEVRENDJE FROM T_OSZTALYCSOPORT_TANEVRENDJE
|
||||
LEFT JOIN #TEMPTANEVRENDJE ON #TEMPTANEVRENDJE.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE TOROLT = 'F' AND C_TANEVID = @pTanevId
|
||||
---------------
|
||||
SELECT * INTO #TEMPOSZTALYCSOPORT FROM T_OSZTALYCSOPORT
|
||||
WHERE TOROLT = 'F' AND C_TANEVID = @pTanevId
|
||||
---------------
|
||||
SELECT
|
||||
*
|
||||
INTO
|
||||
#TEMPTANEVRENDJEGLOBAL
|
||||
FROM
|
||||
#TEMPTANEVRENDJE
|
||||
WHERE
|
||||
C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
||||
AND C_DATUM >= @pKezdete
|
||||
AND C_DATUM <= @pVege
|
||||
AND C_NAPTIPUSA = @pNapTipusa
|
||||
---------------
|
||||
SELECT
|
||||
#TEMPTANEVRENDJE.*,
|
||||
#TEMPOSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
|
||||
INTO
|
||||
#TEMPTANEVRENDJEOSZTALYOKRA
|
||||
FROM
|
||||
#TEMPOSZTALYCSOPORT_TANEVRENDJE
|
||||
LEFT JOIN #TEMPOSZTALYCSOPORT ON #TEMPOSZTALYCSOPORT.ID = #TEMPOSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN #TEMPTANEVRENDJE ON #TEMPTANEVRENDJE.ID = #TEMPOSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE
|
||||
#TEMPTANEVRENDJE.C_NAPTIPUSA = @pNapTipusa
|
||||
AND #TEMPTANEVRENDJE.C_DATUM >= @pKezdete
|
||||
AND #TEMPTANEVRENDJE.C_DATUM <= @pVege
|
||||
---------------
|
||||
SELECT
|
||||
ID
|
||||
INTO
|
||||
#TEMPERINTETTOSZTALYOK
|
||||
FROM
|
||||
#TEMPOSZTALYCSOPORT
|
||||
WHERE
|
||||
(
|
||||
(#TEMPOSZTALYCSOPORT.ID IN (SELECT #TEMPTANEVRENDJEOSZTALYOKRA.C_OSZTALYCSOPORTID FROM #TEMPTANEVRENDJEOSZTALYOKRA)) OR ((SELECT COUNT (*) FROM #TEMPTANEVRENDJEGLOBAL) > 0)
|
||||
)
|
||||
---------------
|
||||
SELECT
|
||||
*
|
||||
INTO
|
||||
#TEMPERINTETTNAPTARINAPOK
|
||||
FROM
|
||||
#TEMPNAPTARINAP
|
||||
WHERE
|
||||
C_NAPDATUMA >= @pKezdete
|
||||
AND C_NAPDATUMA <= @pVege
|
||||
---------------
|
||||
SELECT
|
||||
*
|
||||
INTO
|
||||
#TEMPERINTETTORARENDIORAK
|
||||
FROM
|
||||
#TEMPORARENDIORA
|
||||
WHERE
|
||||
C_ORAERVENYESSEGKEZDETE <= @pKezdete
|
||||
AND C_ORAERVENYESSEGVEGE >= @pVege
|
||||
AND ((C_HETIREND = 1554) OR (1154 IN (SELECT C_HETIREND FROM #TEMPERINTETTNAPTARINAPOK)) OR (C_HETIREND IN (SELECT C_HETIREND FROM #TEMPERINTETTNAPTARINAPOK)))
|
||||
AND C_HETNAPJA IN (SELECT C_HETNAPJA FROM #TEMPERINTETTNAPTARINAPOK)
|
||||
AND C_OSZTALYCSOPORTID IN (SELECT ID FROM #TEMPERINTETTOSZTALYOK)
|
||||
---------------
|
||||
|
||||
SELECT
|
||||
ID AS OrarendiOraId
|
||||
FROM
|
||||
#TEMPERINTETTORARENDIORAK
|
||||
|
||||
DROP TABLE #TEMPNAPTARINAP
|
||||
DROP TABLE #TEMPFELHASZNALO
|
||||
DROP TABLE #TEMPORARENDIORA
|
||||
DROP TABLE #TEMPTANEVRENDJE
|
||||
DROP TABLE #TEMPOSZTALYCSOPORT_TANEVRENDJE
|
||||
DROP TABLE #TEMPOSZTALYCSOPORT
|
||||
DROP TABLE #TEMPTANEVRENDJEGLOBAL
|
||||
DROP TABLE #TEMPTANEVRENDJEOSZTALYOKRA
|
||||
DROP TABLE #TEMPERINTETTOSZTALYOK
|
||||
DROP TABLE #TEMPERINTETTNAPTARINAPOK
|
||||
DROP TABLE #TEMPERINTETTORARENDIORAK
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,38 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetTantargyakElmaradtOraszama]
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: <Kelemen Attila>
|
||||
-- Create date: <2016.01.06.>
|
||||
-- Description: <Tantárgyak elmaradt órái adott tanévben, osztályonként>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetTantargyakElmaradtOraszama]
|
||||
@tanevID int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
select T_TANTARGY_OSSZES.C_NEV Tantargy,
|
||||
T_OSZTALYCSOPORT_OSSZES.C_NEV OsztalyNev,
|
||||
COUNT(T_TANITASIORA_OSSZES.ID) MegtartottOrak
|
||||
|
||||
FROM T_TANTARGY_OSSZES
|
||||
INNER JOIN T_TANITASIORA_OSSZES on T_TANTARGY_OSSZES.ID = T_TANITASIORA_OSSZES.C_TANTARGYID
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES ON T_TANTARGY_OSSZES.ID = T_FOGLALKOZAS_OSSZES.C_TANTARGYID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_OSSZES.ID
|
||||
INNER JOIN T_OSZTALY_OSSZES ON T_OSZTALYCSOPORT_OSSZES.ID = T_OSZTALY_OSSZES.ID
|
||||
|
||||
WHERE
|
||||
T_TANTARGY_OSSZES.TOROLT='F'
|
||||
AND T_TANITASIORA_OSSZES.TOROLT='F'
|
||||
AND T_FOGLALKOZAS_OSSZES.TOROLT='F'
|
||||
AND T_OSZTALYCSOPORT_OSSZES.TOROLT='F'
|
||||
AND T_OSZTALY_OSSZES.TOROLT='F'
|
||||
|
||||
AND T_TANITASIORA_OSSZES.C_MEGTARTOTT='F'
|
||||
|
||||
AND T_TANTARGY_OSSZES.C_TANEVID = @tanevID
|
||||
|
||||
GROUP BY T_TANTARGY_OSSZES.C_NEV, T_OSZTALYCSOPORT_OSSZES.C_NEV
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,40 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetTantargyakMegtartottOraszama]
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: <Kelemen Attila>
|
||||
-- Create date: <2016.01.06.>
|
||||
-- Description: <Tantárgyak megtartott órái adott tanévben, osztályonként>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetTantargyakMegtartottOraszama]
|
||||
@intezmenyId int,
|
||||
@tanevID int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
select T_TANTARGY_OSSZES.C_NEV Tantargy,
|
||||
T_OSZTALYCSOPORT_OSSZES.C_NEV OsztalyNev,
|
||||
COUNT(T_TANITASIORA_OSSZES.ID) MegtartottOrak
|
||||
|
||||
FROM T_TANTARGY_OSSZES
|
||||
INNER JOIN T_TANITASIORA_OSSZES on T_TANTARGY_OSSZES.ID = T_TANITASIORA_OSSZES.C_TANTARGYID
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES ON T_TANTARGY_OSSZES.ID = T_FOGLALKOZAS_OSSZES.C_TANTARGYID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_OSSZES.ID
|
||||
INNER JOIN T_OSZTALY_OSSZES ON T_OSZTALYCSOPORT_OSSZES.ID = T_OSZTALY_OSSZES.ID
|
||||
|
||||
WHERE
|
||||
T_TANTARGY_OSSZES.TOROLT='F'
|
||||
AND T_TANITASIORA_OSSZES.TOROLT='F'
|
||||
AND T_FOGLALKOZAS_OSSZES.TOROLT='F'
|
||||
AND T_OSZTALYCSOPORT_OSSZES.TOROLT='F'
|
||||
AND T_OSZTALY_OSSZES.TOROLT='F'
|
||||
|
||||
AND T_TANITASIORA_OSSZES.C_MEGTARTOTT='T'
|
||||
|
||||
AND T_TANTARGY_OSSZES.C_TANEVID = @tanevID
|
||||
AND T_TANTARGY_OSSZES.C_INTEZMENYID = @intezmenyId
|
||||
|
||||
GROUP BY T_TANTARGY_OSSZES.C_NEV, T_OSZTALYCSOPORT_OSSZES.C_NEV
|
||||
|
||||
END
|
||||
GO
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue