init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,53 @@
|
|||
IF OBJECT_ID('fnGetDokumentumTanulokFeljegyzesei') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetDokumentumTanulokFeljegyzesei
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumTanulokFeljegyzesei (@tanevId INT, @osztalyId INT)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
tanulok.TanuloId TanuloId
|
||||
,te.ID EsemenyId
|
||||
,te.C_TARTALOM Tartalom
|
||||
,te.C_TIPUS Tipusa
|
||||
,feljegyezo.C_NYOMTATASINEV FeljegyzoNeve
|
||||
,te.C_ROGZITESDATUMA Datum
|
||||
,te.C_MEGJEGYZES Megjegyzes
|
||||
FROM T_TANULOESEMENY_OSSZES te
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao on tao.Id = te.C_TANITASIORAID
|
||||
CROSS APPLY (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, tao.C_OSZTALYCSOPORTID, 'T')) tanulok
|
||||
INNER JOIN fnGetDokumentumTanulokOsztalybanToltottNapjai(@tanevId, @osztalyId) tanuloDatum
|
||||
ON
|
||||
tanuloDatum.TanuloId = tanulok.TanuloId
|
||||
AND tanuloDatum.NapDatuma = tao.C_DATUM
|
||||
INNER JOIN T_FELHASZNALO_OSSZES feljegyezo ON feljegyezo.ID = te.C_FELJEGYZOID
|
||||
WHERE
|
||||
C_MINDENKINEK = 'T'
|
||||
AND te.TOROLT = 'F'
|
||||
AND tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(@osztalyId))
|
||||
AND ((te.C_TIPUS NOT IN (1542, 6324, 6325)) OR (te.C_TIPUS = 1536 AND te.C_TANITASIORAID IS NULL))
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
C_TANULOID TanuloId
|
||||
,te.ID EsemenyId
|
||||
,te.C_TARTALOM Tartalom
|
||||
,te.C_TIPUS Tipusa
|
||||
,feljegyezo.C_NYOMTATASINEV FeljegyzoNeve
|
||||
,te.C_ROGZITESDATUMA Datum
|
||||
,te.C_MEGJEGYZES Megjegyzes
|
||||
FROM T_TANULO_TANULOESEMENY tte
|
||||
INNER JOIN T_TANULOESEMENY_OSSZES te on te.ID = tte.C_TANULOESEMENYID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES feljegyezo ON feljegyezo.ID = te.C_FELJEGYZOID
|
||||
WHERE
|
||||
C_TANULOID IN (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T'))
|
||||
AND te.TOROLT = 'F'
|
||||
AND ((te.C_TIPUS NOT IN (1542, 6324, 6325)) OR (te.C_TIPUS = 1536 AND te.C_TANITASIORAID IS NULL))
|
||||
)
|
|
@ -0,0 +1,258 @@
|
|||
IF OBJECT_ID('[dbo].[sp_GetCsoportNaplo]') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetCsoportNaplo]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetCsoportNaplo]
|
||||
@tanevId INT,
|
||||
@intezmenyid INT,
|
||||
@csoportId INT,
|
||||
@iskolaErdekuSzamit BIT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Tanulók adatai, elérhetőségei
|
||||
DECLARE @tanulok TABLE (
|
||||
Id int
|
||||
,Nev nvarchar(max)
|
||||
,Osztaly nvarchar(max)
|
||||
,Sorszam nvarchar(max)
|
||||
,Torzslapszam nvarchar(max)
|
||||
,Allampolgarsaga nvarchar(max)
|
||||
,DiakIg nvarchar(max)
|
||||
,SzulHely nvarchar(max)
|
||||
,SzulIdo nvarchar(max)
|
||||
,Anyja nvarchar(max)
|
||||
,Taj nvarchar(20)
|
||||
,OktAzon nvarchar(20)
|
||||
,Kilepes nvarchar(max)
|
||||
,Kepzes nvarchar(max)
|
||||
,TanuloCimTipus nvarchar(max)
|
||||
,TanuloCim nvarchar(max)
|
||||
,TanuloTelefon nvarchar(max)
|
||||
,TanuloEmail nvarchar(max)
|
||||
,szoc nvarchar(max)
|
||||
)
|
||||
|
||||
INSERT INTO @tanulok
|
||||
SELECT DISTINCT
|
||||
t.id Id
|
||||
,iif(tcs.C_KILEPESDATUM is not null, f.C_NYOMTATASINEV + ' (kilépett)',f.c_nyomtatasinev) as Nev
|
||||
,Osztaly.Osztaly as Osztaly
|
||||
,t.c_naplosorszam as Sorszam
|
||||
,t.c_beirasinaplosorszam as Torzslapszam
|
||||
,Allampolgarsaga.C_NAME as Allampolgarsag
|
||||
,t.c_diakigazolvanyszam as DiakIg
|
||||
,f.c_szuletesihely as SzulHely
|
||||
,FORMAT(f.c_szuletesidatum, 'yyyy. MMMM dd.', 'hu-hu') as SzulIdo
|
||||
,f.c_anyjaneve as Anyja
|
||||
,f.c_tajszam as Taj
|
||||
,f.c_oktatasiazonosito as OktAzon
|
||||
,FORMAT(tcs.c_kilepesdatum, 'yyyy. MMMM dd.', 'hu-hu') as Kilepes
|
||||
,tt.c_nev as Kepzes
|
||||
,cim.Tipus
|
||||
,cim.cim
|
||||
,tel.c_telefonszam
|
||||
,email.c_emailcim as TanuloEmail
|
||||
,IIF(t.C_MAGANTANULO = 'T', 'Magántanuló (eü. ok), ', '') + IIF(t.C_JOGVISZONYATSZUNETELTETO = 'T', 'Jogviszony szüneteltetve, ', '') +
|
||||
IIF(t.C_SZAKMAIGYAKORLATON = 'T', 'Szakmai gyakorlat, ', '') +
|
||||
IIF(t.C_SZOCIALISTAMOGATAS = 'T', 'Szociális támogatás, ', '') AS szoc
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.id=tcs.c_tanuloid AND f.torolt='F'
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES Allampolgarsaga ON Allampolgarsaga.Id = f.c_allampolgarsaga AND Allampolgarsaga.C_TANEVID = f.C_TANEVID
|
||||
LEFT JOIN (
|
||||
SELECT tcs.c_tanuloid TanuloId, ocs.c_nev as Osztaly, tcs.c_kilepesdatum Kilepes
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON o.id=tcs.c_osztalycsoportid
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON o.id=ocs.id
|
||||
) osztaly ON tcs.c_tanuloid=osztaly.TanuloId
|
||||
INNER JOIN T_TANTERV_OSSZES tt ON tt.c_intezmenyid=tcs.c_intezmenyid AND tt.c_intezmenyid=@intezmenyid AND tt.c_tanevid=@tanevid
|
||||
INNER JOIN T_TANULO_OSSZES t ON t.id=f.id
|
||||
INNER JOIN (
|
||||
SELECT f.id Tanulo, dt.c_name Tipus, c.c_iranyitoszam+', '+c.c_varos+' '+c.c_kozterulet+' '+dj.c_name+' '+c.c_hazszam as Cim
|
||||
FROM t_cim_osszes c
|
||||
INNER JOIN (select distinct d.id, d.c_name from T_DICTIONARYITEMBASE_OSSZES d )dt ON dt.id=c.c_cimtipusa
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.id=c.c_felhasznaloid
|
||||
INNER JOIN (select distinct d.id, d.c_name from T_DICTIONARYITEMBASE_OSSZES d)dj ON dj.id=c.c_kozteruletjellege
|
||||
WHERE c.c_cimtipusa = 907
|
||||
AND c.c_gondviseloid is null
|
||||
AND c.torolt='F'
|
||||
AND c.c_tanevid=@tanevId
|
||||
) cim ON cim.Tanulo=tcs.c_tanuloid
|
||||
LEFT JOIN T_TELEFON_OSSZES tel ON tel.c_felhasznaloid = f.id AND tel.c_gondviseloid IS NULL AND tel.torolt = 'F' AND tel.c_alapertelmezett = 'T'
|
||||
LEFT JOIN T_EMAIL_OSSZES email ON email.c_felhasznaloid = tcs.c_tanuloid AND email.c_gondviseloid IS NULL AND email.torolt = 'F' AND email.c_alapertelmezett = 'T'
|
||||
WHERE tcs.c_osztalycsoportid = @csoportId AND tcs.c_tanevid = @tanevid
|
||||
|
||||
--Kezdőoldal
|
||||
SELECT
|
||||
ia.c_nev as IntezmenyNev
|
||||
,ia.c_cime as IntezmenyCim
|
||||
,ia.c_omkod as OMKOD
|
||||
,ia.c_igazgatoneve as IntezmenyVezeto
|
||||
,ocs.c_nev Csoport
|
||||
,isnull(f.c_nyomtatasinev,'-') as CsoportVezeto
|
||||
,isnull(cs.c_csoportnaploleiras,'-') as CsoportNaploLeiras
|
||||
,FORMAT(cs.c_csoportnaplomegnyitasa, 'yyyy. MMMM dd.', 'hu-hu') as Megnyitas
|
||||
,isnull(FORMAT(cs.c_csoportnaplozarasa, 'yyyy. MMMM dd.', 'hu-hu'),'-') as Lezaras
|
||||
,ocs.c_nev RovidNev
|
||||
FROM T_INTEZMENY_OSSZES i
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.c_intezmenyid = i.id
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.c_intezmenyid = i.id AND ocs.c_tanevid = @tanevid
|
||||
INNER JOIN T_CSOPORT_OSSZES cs ON cs.id = ocs.id
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=cs.c_csoportvezetoid
|
||||
WHERE i.id = @intezmenyid AND ia.c_tanevid = @tanevid AND ocs.id = @csoportId
|
||||
|
||||
--Csoportot vezette
|
||||
SELECT isnull(f.c_nyomtatasinev,'-') as CsoportVezeto
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = cs.c_csoportvezetoid
|
||||
WHERE cs.id = @csoportId
|
||||
|
||||
--Tanulók
|
||||
SELECT DISTINCT Nev, Osztaly, OktAzon FROM @tanulok
|
||||
|
||||
--Naplóhetek
|
||||
DECLARE @elsonap as date
|
||||
DECLARE @utolsonap as date
|
||||
|
||||
select @elsonap=c_elsotanitasinap, @utolsonap=c_utolsotanitasinap from t_tanev_osszes where id=@tanevId
|
||||
|
||||
SELECT
|
||||
n.c_hetsorszama as Het
|
||||
,FORMAT(convert(date,min(c_napdatuma)), 'yyyy. MMMM dd.', 'hu-hu')as HetEleje
|
||||
,FORMAT(convert(date,max(c_napdatuma)), 'yyyy. MMMM dd.', 'hu-hu') as HetVege
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
WHERE n.c_napdatuma >= @elsonap
|
||||
AND n.c_napdatuma <= @utolsonap
|
||||
AND n.c_orarendinap = 'T'
|
||||
AND n.c_tanevid = @tanevid
|
||||
AND n.c_intezmenyid = @intezmenyid
|
||||
GROUP BY n.c_hetsorszama
|
||||
|
||||
--Tanuló adatok
|
||||
SELECT * FROM @tanulok
|
||||
|
||||
--Napló
|
||||
SELECT DISTINCT
|
||||
nn.c_hetsorszama as Het
|
||||
,d.Nap as Nap
|
||||
,FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu') as Datum
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.c_datum = nn.c_napdatuma AND tao.c_osztalycsoportid = @csoportid AND tao.torolt = 'F'
|
||||
LEFT JOIN (select distinct d.id as ID, d.c_name Nap from T_DICTIONARYITEMBASE_OSSZES d) d ON d.id = nn.c_hetnapja
|
||||
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id=tao.c_foglalkozasid AND fog.c_tanevid = @tanevid
|
||||
LEFT JOIN T_FOGLALKOZASOK_TANAROK ft ON ft.c_foglalkozasokid=fog.id
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=ft.c_tanarokid AND f.torolt='F'
|
||||
WHERE nn.c_orarendinap='T' AND nn.c_napdatuma >= @elsonap AND nn.c_napdatuma <= @utolsonap
|
||||
ORDER BY nn.c_hetsorszama, FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu')
|
||||
|
||||
--Napló adatok
|
||||
DECLARE @Orak TABLE (
|
||||
datum date
|
||||
,Sorszam int
|
||||
,Hetsorszam int
|
||||
)
|
||||
|
||||
INSERT INTO @Orak
|
||||
SELECT DISTINCT
|
||||
n.c_napdatuma datum
|
||||
,sz.Oraszam
|
||||
,n.c_hetsorszama
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
CROSS JOIN (VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10)) sz (Oraszam)
|
||||
WHERE n.c_napdatuma >= @elsonap
|
||||
AND n.c_napdatuma <= @utolsonap
|
||||
AND n.c_orarendinap = 'T'
|
||||
AND TOROLT = 'F'
|
||||
AND n.C_TANEVID = @tanevId
|
||||
|
||||
DECLARE @oraSorszam TABLE (Id int, EvesSorszam int)
|
||||
|
||||
INSERT INTO @oraSorszam (Id, EvesSorszam)
|
||||
SELECT DISTINCT
|
||||
s.Id
|
||||
,s.EvesSorszam
|
||||
FROM (
|
||||
SELECT DISTINCT tn.C_TANTARGYID, tn.C_OSZTALYCSOPORTID, ot.C_TANAROKID, tn.C_INTEZMENYID--, fh.C_NYOMTATASINEV
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
INNER JOIN T_ORAK_TANAROK ot ON tn.ID = ot.C_ORAKID
|
||||
INNER JOIN T_FELHASZNALO fh ON fh.ID = ot.C_TANAROKID
|
||||
WHERE tn.C_OSZTALYCSOPORTID = @csoportid
|
||||
) x
|
||||
CROSS APPLY dbo.fnGetEvesOraszamLista (
|
||||
x.C_TANTARGYID
|
||||
,x.C_OSZTALYCSOPORTID
|
||||
,x.C_TANAROKID
|
||||
,GETDATE()
|
||||
,x.C_INTEZMENYID
|
||||
,@tanevID
|
||||
) s
|
||||
|
||||
SELECT DISTINCT
|
||||
o.Hetsorszam as Het
|
||||
,o.Sorszam as Oraszam
|
||||
,FORMAT(o.Datum, 'yyyy. MMMM dd.', 'hu-hu') as Datum
|
||||
,FORMAT(tao.c_orakezdete, 'hh:mm')as OraKezd
|
||||
,fh.C_NYOMTATASINEV as Tanar
|
||||
,os.EvesSorszam as Sorszam
|
||||
,tao.c_tema as Tema
|
||||
FROM @Orak o
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.c_datum = o.Datum
|
||||
AND tao.torolt = 'F'
|
||||
AND tao.c_oraszam = o.Sorszam
|
||||
AND tao.c_tanevid = @tanevid
|
||||
AND tao.c_osztalycsoportid = @csoportid
|
||||
LEFT JOIN @oraSorszam os ON os.Id = tao.ID
|
||||
LEFT JOIN T_ORAK_TANAROK ot ON tao.ID = ot.C_ORAKID
|
||||
LEFT JOIN T_FELHASZNALO fh ON fh.ID = ot.C_TANAROKID
|
||||
ORDER BY Oraszam
|
||||
|
||||
|
||||
--Napló mulasztás
|
||||
SELECT C_HETSORSZAMA Het, C_NYOMTATASINEV Tanulo,
|
||||
MAX([1]) AS [Hetfo]
|
||||
,MAX([2]) AS [Kedd]
|
||||
,MAX([3]) AS [Szerda]
|
||||
,MAX([4]) AS [Csutortok]
|
||||
,MAX([5]) AS [Pentek]
|
||||
,MAX([6]) AS [Szombat]
|
||||
FROM (
|
||||
SELECT C_HETSORSZAMA, C_NYOMTATASINEV, [0], [1], [2], [3], [4], [5], [6]
|
||||
FROM (
|
||||
SELECT DISTINCT n.C_NAPTARINAPID, DATEPART(dw,n.C_DATUM) AS NAP, t.C_NYOMTATASINEV, n.C_HETSORSZAMA,
|
||||
'[' + STUFF((
|
||||
SELECT ', ' + CAST(o.C_ORASZAM AS VARCHAR(3)) + IIF(tm.C_TIPUS = 1500, '', '(k)')
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = tm.C_TANITASIORAKID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.id=@csoportid
|
||||
WHERE n.C_NAPTARINAPID = o.C_NAPTARINAPID
|
||||
AND m.C_ORATANULOIID = tm.C_ORATANULOIID
|
||||
AND o.C_TANEVID = @tanevID
|
||||
AND tm.C_TANEVID = @tanevID
|
||||
AND TM.TOROLT='F'
|
||||
AND (@iskolaErdekuSzamit = 1 OR C_IGAZOLASTIPUSA <> 1533)
|
||||
ORDER BY o.C_NAPTARINAPID, o.C_ORASZAM
|
||||
FOR XML PATH(''), TYPE).value('.', 'varchar(max)'),1,2,'') + '] ' + CAST(SUM(IIF(m.C_IGAZOLT = 'T', 1, 0)) AS varchar(2)) + '/' + CAST(SUM(IIF(m.C_IGAZOLT = 'T' OR m.C_TIPUS = 1499, 0, 1)) AS varchar(2)) AS hianyzas
|
||||
FROM T_TANITASIORA_OSSZES n
|
||||
INNER JOIN T_TANULOMULASZTAS_OSSZES m ON m.C_TANITASIORAKID = n.ID AND m.TOROLT='F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = m.C_ORATANULOIID
|
||||
WHERE
|
||||
n.C_TANEVID = @tanevID
|
||||
AND m.C_TANEVID = @tanevID
|
||||
AND n.c_osztalycsoportid=@csoportId
|
||||
AND n.torolt='F'
|
||||
AND (@iskolaErdekuSzamit = 1 OR C_IGAZOLASTIPUSA <> 1533)
|
||||
GROUP BY n.C_NAPTARINAPID, C_ORATANULOIID, C_NYOMTATASINEV, n.C_HETSORSZAMA, n.C_DATUM) AS SUB
|
||||
PIVOT
|
||||
(
|
||||
MAX(HIANYZAS)
|
||||
FOR NAP IN ([0], [1], [2], [3], [4], [5], [6])
|
||||
) AS PivotTable
|
||||
) AS x
|
||||
GROUP BY C_HETSORSZAMA, C_NYOMTATASINEV
|
||||
ORDER BY C_HETSORSZAMA
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,72 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetFeljegyzesBeirasokReszletek]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetFeljegyzesBeirasokReszletek]
|
||||
END
|
||||
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 added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
TanuloEsemeny.ID ID
|
||||
,TanuloEsemeny.C_ROGZITESDATUMA RogzitesDatuma
|
||||
,TanuloEsemeny.C_TIPUS Tipus
|
||||
,TanuloEsemeny.C_TARGY Targy
|
||||
,TanuloEsemeny.C_TARTALOM Tartalom
|
||||
,TanuloEsemeny.TOROLT Torolt
|
||||
,Tanulo.ID TanuloId
|
||||
,Tanulo.C_NYOMTATASINEV TanuloNev
|
||||
,Tanar.C_NYOMTATASINEV FeljegyzoNeve
|
||||
,CASE
|
||||
WHEN TanuloEsemeny.C_FELJEGYZOID = @pTanarId
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END Modosithato
|
||||
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
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES Tanar ON
|
||||
Tanar.ID = TanuloEsemeny.C_FELJEGYZOID
|
||||
AND Tanar.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Tanar.C_TANEVID = @pTanevId
|
||||
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,70 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetFeljegyzesElektronikusUzenetekNaploNezetReszletek]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetFeljegyzesElektronikusUzenetekNaploNezetReszletek]
|
||||
END
|
||||
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 added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
TanuloEsemeny.ID ID
|
||||
,TanuloEsemeny.C_ROGZITESDATUMA RogzitesDatuma
|
||||
,TanuloEsemeny.C_TIPUS Tipus
|
||||
,TanuloEsemeny.C_TARGY Targy
|
||||
,TanuloEsemeny.C_TARTALOM Tartalom
|
||||
,TanuloEsemeny.TOROLT Torolt
|
||||
,Tanulo.ID TanuloId
|
||||
,Tanulo.C_NYOMTATASINEV TanuloNev
|
||||
,Tanar.C_NYOMTATASINEV FeljegyzoNeve
|
||||
,CASE
|
||||
WHEN TanuloEsemeny.C_FELJEGYZOID = @pTanarId
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END Modosithato
|
||||
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
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES Tanar ON
|
||||
Tanar.ID = TanuloEsemeny.C_FELJEGYZOID
|
||||
AND Tanar.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Tanar.C_TANEVID = @pTanevId
|
||||
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,129 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetFogadooraInfo]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetFogadooraInfo]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetFogadooraInfo]
|
||||
@alkalmazottId int,
|
||||
@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
/*
|
||||
Fejlec: Ebben szerepeljen az intézmény neve, működési hely neve,
|
||||
és a feladatellátási hely oktatási-nevelési feladata, keltezés helye, napja.
|
||||
*/
|
||||
|
||||
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'
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.id = f.C_OKTATASINEVELESIFELADATTIPUS
|
||||
WHERE i.C_INTEZMENYID = (SELECT C_INTEZMENYID FROM T_FELHASZNALO WHERE ID=@alkalmazottId)
|
||||
|
||||
/*
|
||||
Csoport: A tanár neve, ID-ja, és az általa tanított osztályok,
|
||||
csoportok neve, ID-ja, illetve a nekik tanított tantárgyak neve, ID-ja.
|
||||
*/
|
||||
|
||||
SELECT distinct ocs.Id as osztalycsoportId,ocs.C_NEV AS csoport
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON f.ID = ft.C_FOGLALKOZASOKID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = ft.C_TANAROKID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_CSOPORTOK_OSZTALYOK_OSSZES cso ON cso.C_CSOPORTOKID = ocs.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES csocs ON csocs.ID = cso.C_OSZTALYOKID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
WHERE ft.C_TANAROKID = @alkalmazottId
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
|
||||
AND F.C_TANEVID=@TANEVID
|
||||
AND F.TOROLT='F'
|
||||
order by csoport
|
||||
|
||||
SELECT distinct tn.ID as tanuloID,
|
||||
tn.c_nyomtatasinev as TanuloNeve
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON f.ID = ft.C_FOGLALKOZASOKID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = ft.C_TANAROKID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_CSOPORTOK_OSZTALYOK_OSSZES cso ON cso.C_CSOPORTOKID = ocs.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES csocs ON csocs.ID = cso.C_OSZTALYOKID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
WHERE ft.C_TANAROKID = @alkalmazottId
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
|
||||
AND F.C_TANEVID=@TANEVID
|
||||
AND F.TOROLT='F'
|
||||
order by TanuloNeve
|
||||
|
||||
SELECT fh.C_NYOMTATASINEV as tanarNev, t.C_NEV as tantargyNev, ISNULL(csocs.C_NEV, ocs.C_NEV) AS osztaly, ocs.Id as osztalycsoportId,ocs.C_NEV AS csoport,
|
||||
tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON f.ID = ft.C_FOGLALKOZASOKID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = ft.C_TANAROKID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_CSOPORTOK_OSZTALYOK_OSSZES cso ON cso.C_CSOPORTOKID = ocs.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES csocs ON csocs.ID = cso.C_OSZTALYOKID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
WHERE ft.C_TANAROKID = @alkalmazottId
|
||||
AND F.C_TANEVID=@TANEVID
|
||||
AND F.TOROLT='F'
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
|
||||
|
||||
|
||||
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
|
||||
--SELECT count(1)
|
||||
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
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
|
||||
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON f.ID = ft.C_FOGLALKOZASOKID
|
||||
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 = ft.C_TANAROKID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA
|
||||
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 ft.C_TANAROKID = @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
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
|
||||
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON f.ID = ft.C_FOGLALKOZASOKID
|
||||
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 = ft.C_TANAROKID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON dm.ID = oe.C_MAGATARTAS
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ds ON ds.ID = oe.C_SZORGALOM
|
||||
WHERE ft.C_TANAROKID = @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,115 @@
|
|||
-- =============================================
|
||||
-- Author: <Hoffmann Zsolt>
|
||||
-- Create date: <2016. 07. 26.>
|
||||
-- Description: <Haladási napló>
|
||||
-- =============================================
|
||||
IF OBJECT_ID('sp_GetHaladasiNaploAdatok') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetHaladasiNaploAdatok
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetHaladasiNaploAdatok]
|
||||
@tanevID int,
|
||||
@osztalyID int
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @foglalkozasID INT = 0
|
||||
DECLARE @foglalkozasNev VARCHAR(255)
|
||||
|
||||
SET NOCOUNT ON;
|
||||
SELECT DISTINCT
|
||||
f.id
|
||||
,ocs.C_NEV + ' - ' + tt.C_NEV AS Nev
|
||||
,f.C_TANTARGYID
|
||||
,f.C_OSZTALYCSOPORTID
|
||||
,f.C_INTEZMENYID
|
||||
,ft.C_TANAROKID AS C_TANARID
|
||||
INTO #Foglalkozasok
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON f.ID = ft.C_FOGLALKOZASOKID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES OCS on OCS.ID = f.C_OSZTALYCSOPORTID and OCS.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORTOK_OSZTALYOK cso on cso.C_CSOPORTOKID = ocs.ID
|
||||
INNER JOIN T_TANTARGY_OSSZES tt on tt.ID = f.C_TANTARGYID and tt.TOROLT = 'F'
|
||||
WHERE f.TOROLT = 'F'
|
||||
AND f.C_TANEVID = @tanevID
|
||||
AND (ocs.ID = @osztalyID OR cso.C_OSZTALYOKID = @osztalyID)
|
||||
|
||||
SELECT
|
||||
fog.ID
|
||||
, Nev+' - '+felh.C_NYOMTATASINEV Nev
|
||||
FROM #Foglalkozasok fog
|
||||
INNER JOIN T_FELHASZNALO_OSSZES felh on fog.C_TANARID=felh.ID
|
||||
|
||||
DECLARE @sorszamTable TABLE (
|
||||
tanitasiOraId int-- PRIMARY KEY
|
||||
,evesOraszam int
|
||||
,foglalkozasId int
|
||||
)
|
||||
|
||||
INSERT INTO @sorszamTable (tanitasiOraId, evesOraszam, foglalkozasId)
|
||||
SELECT s.Id, s.EvesSorszam, f.ID FROM #Foglalkozasok f
|
||||
CROSS APPLY dbo.fnGetEvesOraszamLista(
|
||||
f.C_TANTARGYID
|
||||
,f.C_OSZTALYCSOPORTID
|
||||
,f.C_TANARID
|
||||
,GETDATE()
|
||||
,f.C_INTEZMENYID
|
||||
,@tanevID
|
||||
) s
|
||||
|
||||
|
||||
DECLARE foglalkozasCursor CURSOR FOR
|
||||
SELECT ID FROM #Foglalkozasok
|
||||
|
||||
OPEN foglalkozasCursor
|
||||
FETCH NEXT FROM foglalkozasCursor into @foglalkozasId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
SELECT DISTINCT
|
||||
CASE
|
||||
WHEN tn.C_MEGTARTOTT = 'T' THEN s.evesOraszam -- tn.C_ORAEVESSORSZAM
|
||||
ELSE '-'
|
||||
END AS OraSorszam
|
||||
,fh.C_NYOMTATASINEV TanarNev
|
||||
,tn.C_TEMA Tema
|
||||
,CASE
|
||||
WHEN tn.C_HELYETTESITOTANARID IS NULL THEN ''
|
||||
ELSE 'H'
|
||||
END AS Helyettesites
|
||||
,FORMAT(tn.C_DATUM, 'yyyy.MM.dd.') Datum
|
||||
,tn.C_ORASZAM OraSzam
|
||||
,tn.C_MEGJEGYZES Megjegyzes
|
||||
,tn.C_HAZIFELADAT HaziFeladat
|
||||
,tn.C_TULORA TulOra
|
||||
,tn.C_TAMOPORA TamopOra
|
||||
,tn.C_NEMSZAKRENDSZERUORA NemszakrendszeruOra
|
||||
,tn.C_IKTTANORA IktOra
|
||||
,tn.C_NEMZETISEGIORA NemzetisegiOra
|
||||
,tn.C_MINDENNAPOSTESTNEVELES TestnevelesOra
|
||||
,tn.C_IPRTANORA IprOra
|
||||
,tn.C_DIFFERENCIALT DifferencialtOra
|
||||
,tn.C_KOOPERATIV KooperativOra
|
||||
,tn.C_MERES MeresOra
|
||||
,tn.C_DRAMA DramaOra
|
||||
,tn.C_PARHUZAMOSORA ParhuzamosOra
|
||||
,tn.C_TIOP12 TiopOra
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
INNER JOIN T_ORAK_TANAROK ot ON ot.C_ORAKID = tn.ID
|
||||
INNER JOIN T_FELHASZNALO fh ON fh.ID = ot.C_TANAROKID
|
||||
LEFT JOIN @sorszamTable s ON s.tanitasiOraId = tn.ID
|
||||
WHERE tn.TOROLT = 'F'
|
||||
AND tn.C_TANEVID = @tanevID
|
||||
AND tn.C_FOGLALKOZASID = @foglalkozasID
|
||||
ORDER BY FORMAT(tn.C_DATUM, 'yyyy.MM.dd.')
|
||||
|
||||
FETCH NEXT FROM foglalkozasCursor
|
||||
INTO @foglalkozasId
|
||||
END
|
||||
|
||||
CLOSE foglalkozasCursor
|
||||
DEALLOCATE foglalkozasCursor
|
||||
|
||||
DROP TABLE #Foglalkozasok
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,402 @@
|
|||
IF OBJECT_ID('[DBO].[sp_GetNapkozisNaplo]') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE [DBO].[sp_GetNapkozisNaplo]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [DBO].[sp_GetNapkozisNaplo]
|
||||
@tanevId INT
|
||||
,@intezmenyId INT
|
||||
,@csoportId INT
|
||||
,@iskolaErdekuSzamit BIT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
--Tanulók adatai, elérhetőségei
|
||||
DECLARE @tanulok table (
|
||||
Id int, Nev nvarchar(max), TanuloRovid nvarchar(40), Osztaly nvarchar(max), RovidNev nvarchar(30), Sorszam nvarchar(max), Torzslapszam nvarchar(max), Allampolgarsaga nvarchar(max), DiakIg nvarchar(max),
|
||||
SzulHely nvarchar(max), SzulIdo nvarchar(max), Anyja nvarchar(max), Taj nvarchar(max), OktAzon nvarchar(max), Kilepes nvarchar(max), Kepzes nvarchar(max),
|
||||
TanuloCimTipus nvarchar(max), TanuloCim nvarchar(max), TanuloTelefon nvarchar(max), TanuloEmail nvarchar(max), szoc nvarchar(max)
|
||||
)
|
||||
|
||||
INSERT INTO @tanulok
|
||||
SELECT DISTINCT
|
||||
t.id Id
|
||||
,iif(tcs.c_kilepesdatum is not null,f.c_nyomtatasinev+' (kilépett)', f.c_nyomtatasinev) as Nev
|
||||
,iif(len(f.c_nyomtatasinev)>40, SUBSTRING (f.c_nyomtatasinev, 1 , 40), f.c_nyomtatasinev)
|
||||
,Osztaly.Osztaly as Osztaly
|
||||
,iif(len(Osztaly.Osztaly)>17, SUBSTRING (Osztaly.Osztaly, 1 , 16)+'...', Osztaly.Osztaly) RovidNev
|
||||
,t.c_naplosorszam as Sorszam
|
||||
,t.c_beirasinaplosorszam as Torzslapszam
|
||||
,Allampolgarsaga.Allampolgarsaga as Allampolgarsag
|
||||
,t.c_diakigazolvanyszam as DiakIg
|
||||
,f.c_szuletesihely as SzulHely
|
||||
,FORMAT(f.c_szuletesidatum, 'yyyy. MMMM dd.', 'hu-hu') as SzulIdo
|
||||
,f.c_anyjaneve as Anyja
|
||||
,f.c_tajszam as Taj
|
||||
,f.c_oktatasiazonosito as OktAzon
|
||||
,FORMAT(tcs.c_kilepesdatum, 'yyyy. MMMM dd.', 'hu-hu') as Kilepes
|
||||
,tt.c_nev as Kepzes
|
||||
,cim.Tipus
|
||||
,cim.cim
|
||||
,tel.c_telefonszam
|
||||
,email.c_emailcim as TanuloEmail
|
||||
,IIF(t.C_MAGANTANULO = 'T', 'Magántanuló (eü. ok), ', '') +
|
||||
IIF(t.C_JOGVISZONYATSZUNETELTETO = 'T', 'Jogviszony szüneteltetve, ', '') +
|
||||
IIF(t.C_SZAKMAIGYAKORLATON = 'T', 'Szakmai gyakorlat, ', '') +
|
||||
IIF(t.C_SZOCIALISTAMOGATAS = 'T', 'Szociális támogatás, ', '') AS szoc
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.id=tcs.c_tanuloid AND f.torolt='F'
|
||||
INNER JOIN (SELECT distinct d.id Id, d.c_name Allampolgarsaga FROM T_DICTIONARYITEMBASE_OSSZES d) Allampolgarsaga ON Allampolgarsaga.Id=f.c_allampolgarsaga
|
||||
LEFT JOIN (
|
||||
SELECT tcs.c_tanuloid TanuloId, ocs.c_nev as Osztaly, tcs.c_kilepesdatum Kilepes
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON o.id=tcs.c_osztalycsoportid
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON o.id=ocs.id
|
||||
WHERE tcs.torolt='F'
|
||||
) osztaly ON tcs.c_tanuloid=osztaly.TanuloId
|
||||
INNER JOIN T_TANTERV_OSSZES tt ON tt.c_intezmenyid=tcs.c_intezmenyid AND tt.c_intezmenyid=@intezmenyid AND tt.c_tanevid=@tanevid
|
||||
INNER JOIN T_TANULO_OSSZES t ON t.id=f.id
|
||||
INNER JOIN (
|
||||
SELECT f.id Tanulo, dt.c_name Tipus, c.c_iranyitoszam+', '+c.c_varos+' '+c.c_kozterulet+' '+dj.c_name+' '+c.c_hazszam as Cim
|
||||
FROM t_cim c
|
||||
INNER JOIN (SELECT distinct d.id, d.c_name FROM t_dictionaryitembase_osszes d )dt ON dt.id=c.c_cimtipusa
|
||||
INNER JOIN t_felhasznalo_osszes f ON f.id=c.c_felhasznaloid
|
||||
INNER JOIN (SELECT distinct d.id, d.c_name FROM t_dictionaryitembase_osszes d)dj ON dj.id=c.c_kozteruletjellege
|
||||
WHERE c.c_cimtipusa=907 AND c.c_gondviseloid is null AND c.torolt='F' AND c.c_intezmenyid=@intezmenyid)cim ON cim.Tanulo=tcs.c_tanuloid
|
||||
LEFT JOIN T_TELEFON_OSSZES tel ON tel.c_felhasznaloid=f.id AND tel.c_gondviseloid is null AND tel.torolt='F' AND tel.c_alapertelmezett='T'
|
||||
LEFT JOIN T_EMAIL_OSSZES email ON email.c_felhasznaloid=tcs.c_tanuloid AND email.c_gondviseloid is null AND email.torolt='F' AND email.c_alapertelmezett='T'
|
||||
WHERE tcs.c_osztalycsoportid=@csoportId AND tcs.c_tanevid=@tanevid AND tcs.torolt='F'
|
||||
|
||||
--Kezdőoldal
|
||||
SELECT ia.c_nev as IntezmenyNev, ia.c_cime as IntezmenyCim, ia.c_omkod as OMKOD, ia.c_igazgatoneve as IntezmenyVezeto, ocs.c_nev NapkozisCsoport, iif(len(ocs.c_nev)>17, SUBSTRING (ocs.c_nev, 1 , 17)+'...', ocs.c_nev) RovidNev,
|
||||
isnull(f.c_nyomtatasinev,'-') as CsoportVezeto, isnull(cs.c_csoportnaploleiras,'-') as CsoportNaploLeiras, FORMAT(cs.c_csoportnaplomegnyitasa, 'yyyy. MMMM dd.', 'hu-hu') as Megnyitas,
|
||||
isnull(FORMAT(cs.c_csoportnaplozarasa, 'yyyy. MMMM dd.', 'hu-hu'),'-') as Lezaras
|
||||
FROM T_INTEZMENY_OSSZES i
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.c_intezmenyid = i.id
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.c_intezmenyid=i.id AND ocs.c_tanevid = @tanevid AND ocs.id = @csoportId
|
||||
INNER JOIN T_CSOPORT_OSSZES cs ON cs.id = ocs.id
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = cs.c_csoportvezetoid
|
||||
WHERE i.id = @intezmenyid
|
||||
AND ia.c_tanevid = @tanevid
|
||||
|
||||
--Csoportot vezette
|
||||
SELECT isnull(f.c_nyomtatasinev,'-') as CsoportVezeto FROM T_CSOPORT_OSSZES cs
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=cs.c_csoportvezetoid
|
||||
WHERE cs.id=@csoportId AND cs.c_altanevid=@tanevid AND cs.c_alintezmenyid=@intezmenyid
|
||||
|
||||
--Tanulók
|
||||
SELECT distinct Nev, RovidNev as Osztaly, OktAzon
|
||||
FROM @tanulok
|
||||
ORDER BY Nev
|
||||
|
||||
--Naplóhetek
|
||||
DECLARE @elsonap as date
|
||||
DECLARE @utolsonap as date
|
||||
|
||||
IF (
|
||||
SELECT c_osztalycsoportid FROM T_OSZTALYCSOPORT_TANEVRENDJE_OSSZES otr
|
||||
INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1394
|
||||
WHERE c_osztalycsoportid=@csoportid
|
||||
) IS NULL begin
|
||||
SET @elsonap= (SELECT top 1 c_datum FROM t_tanevrendje_osszes tr WHERE c_naptipusa=1394 AND c_tanevid=@tanevId AND c_intezmenyid=@intezmenyId AND torolt='F' AND c_osszescsoportravonatkozik='T')
|
||||
END
|
||||
ELSE BEGIN
|
||||
SET @elsonap = (
|
||||
SELECT top 1 tr.C_DATUM
|
||||
FROM T_OSZTALYCSOPORT_TANEVRENDJE_OSSZES otr
|
||||
INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1394
|
||||
WHERE c_osztalycsoportid=@csoportid)
|
||||
END
|
||||
|
||||
IF (
|
||||
SELECT c_osztalycsoportid
|
||||
FROM T_OSZTALYCSOPORT_TANEVRENDJE_OSSZES otr
|
||||
INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1395
|
||||
WHERE c_osztalycsoportid=@csoportId
|
||||
) IS NULL
|
||||
BEGIN
|
||||
SET @utolsonap = (SELECT top 1 c_datum FROM t_tanevrendje_osszes tr WHERE c_naptipusa=1395 AND c_tanevid=@tanevId AND c_intezmenyid=@intezmenyId AND torolt='F' AND c_osszescsoportravonatkozik='T')
|
||||
END
|
||||
ELSE BEGIN
|
||||
SET @utolsonap = (
|
||||
SELECT top 1 tr.C_DATUM
|
||||
FROM T_OSZTALYCSOPORT_TANEVRENDJE_OSSZES otr
|
||||
INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1395
|
||||
WHERE c_osztalycsoportid=@csoportId)
|
||||
END
|
||||
|
||||
SELECT
|
||||
n.c_hetsorszama as Het
|
||||
,FORMAT(convert(date,min(c_napdatuma)), 'yyyy. MMMM dd.', 'hu-hu')as HetEleje
|
||||
,FORMAT(convert(date,max(c_napdatuma)), 'yyyy. MMMM dd.', 'hu-hu') as HetVege
|
||||
FROM t_naptarinap n
|
||||
WHERE n.c_napdatuma >= @elsonap
|
||||
AND n.c_napdatuma <= @utolsonap
|
||||
AND n.c_orarendinap = 'T'
|
||||
AND n.c_tanevid = @tanevid
|
||||
AND n.c_intezmenyid = @intezmenyid
|
||||
GROUP BY n.c_hetsorszama
|
||||
|
||||
--Tanuló adatok
|
||||
SELECT * FROM @tanulok ORDER BY Nev
|
||||
|
||||
--Mulasztások
|
||||
CREATE TABLE #mulasztas (Nap int, Tanulo int, Osztaly int, MulasztasTipus int, IgazoltE nvarchar(1), IgazolasTipus int)
|
||||
INSERT INTO #mulasztas
|
||||
SELECT
|
||||
CAST(Month(tao.c_datum) as int) as Nap
|
||||
,tm.c_oratanuloiid as Tanulo
|
||||
,tao.c_osztalycsoportid as Osztaly
|
||||
,tm.c_tipus MulasztasTipus
|
||||
,tm.c_igazolt IgazoltE
|
||||
,tm.c_igazolastipusa IgazolasTipus
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.id=tm.c_tanitasiorakid
|
||||
AND tao.torolt='F'
|
||||
AND tao.c_tanevid = @tanevid
|
||||
AND tao.c_intezmenyid = @intezmenyid
|
||||
AND tao.c_osztalycsoportid = @csoportId
|
||||
AND (@iskolaErdekuSzamit = 1 OR C_IGAZOLASTIPUSA <> 1533)
|
||||
WHERE tm.torolt = 'F'
|
||||
AND tm.c_tanevid = @tanevid
|
||||
|
||||
DECLARE @mul table(TanuloId int, Tipus nvarchar(50), TipusRendez int, [9] int, [10] int, [11] int, [12] int, [1] int, [2] int, [3] int, [4] int, [5] int, [6] int, [7] int)
|
||||
--Mulasztások
|
||||
INSERT INTO @mul
|
||||
SELECT f.id, 'mulasztások', (1),
|
||||
isnull(m.[9],0) as '9', isnull(m.[10],0) as '10', isnull(m.[11],0) as '11', isnull(m.[12],0) as '12', isnull(m.[1],0) as '1', isnull(m.[2],0) as '2', isnull(m.[3],0) as '3', isnull(m.[4],0) as '4', isnull(m.[5],0) as '5', isnull(m.[6],0) as '6', isnull(m.[7],0) as '7'
|
||||
FROM @tanulok 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]))pv WHERE MulasztasTipus=1500)m ON m.Tanulo=t.id
|
||||
INNER JOIN t_felhasznalo f ON f.id=t.Id
|
||||
ORDER BY f.id
|
||||
|
||||
--Ebből igazolt
|
||||
INSERT INTO @mul
|
||||
SELECT f.id, '*igazolt', (2),
|
||||
isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
|
||||
FROM @tanulok 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]))pv WHERE IgazoltE='T' AND MulasztasTipus=1500 )m ON m.Tanulo=t.id
|
||||
INNER JOIN t_felhasznalo f ON f.id=t.Id
|
||||
ORDER BY f.id
|
||||
|
||||
--Egyéb
|
||||
INSERT INTO @mul
|
||||
SELECT f.id, '-egyéb', (3),
|
||||
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
|
||||
FROM @tanulok 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]))pv WHERE IgazolasTipus=1529 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
|
||||
INNER JOIN t_felhasznalo f ON f.id=t.Id
|
||||
ORDER BY f.id
|
||||
|
||||
--Orvosi igazolás
|
||||
INSERT INTO @mul
|
||||
SELECT f.id, '-orvosi ig.', (4),
|
||||
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
|
||||
FROM @tanulok 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]))pv WHERE IgazolasTipus=1530 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
|
||||
INNER JOIN t_felhasznalo f ON f.id=t.Id
|
||||
ORDER BY f.id
|
||||
|
||||
--Szülői
|
||||
INSERT INTO @mul
|
||||
SELECT f.id, '-szülői ig.', (5),
|
||||
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
|
||||
FROM @tanulok 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]))pv WHERE IgazolasTipus=1531 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
|
||||
INNER JOIN t_felhasznalo f ON f.id=t.Id
|
||||
ORDER BY f.id
|
||||
|
||||
--hivatalos távollét
|
||||
INSERT INTO @mul
|
||||
SELECT f.id, '-hivatalos t.', (6),
|
||||
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
|
||||
FROM @tanulok 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]))pv WHERE IgazolasTipus=1532 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
|
||||
INNER JOIN t_felhasznalo f ON f.id=t.Id
|
||||
ORDER BY f.id
|
||||
|
||||
--iskolaérdekű távollét
|
||||
IF (@iskolaErdekuSzamit = 1)
|
||||
BEGIN
|
||||
INSERT INTO @mul
|
||||
SELECT f.id, '-iskolaérdekű t.', (7),
|
||||
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
|
||||
FROM @tanulok 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]))pv WHERE IgazolasTipus=1533 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
|
||||
INNER JOIN t_felhasznalo f ON f.id=t.Id
|
||||
ORDER BY f.id
|
||||
END
|
||||
|
||||
--Ebből igazolatlan
|
||||
INSERT INTO @mul
|
||||
SELECT f.id, '*igazolatlan', (8),
|
||||
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
|
||||
FROM @tanulok 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]))pv WHERE IgazoltE='F' AND MulasztasTipus=1500)m ON m.Tanulo=t.id
|
||||
INNER JOIN t_felhasznalo f ON f.id=t.Id
|
||||
ORDER BY f.id
|
||||
|
||||
--késés
|
||||
INSERT INTO @mul
|
||||
SELECT f.id, 'késés', (9),
|
||||
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
|
||||
FROM @tanulok 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]))pv WHERE MulasztasTipus=1499)m ON m.Tanulo=t.id
|
||||
INNER JOIN t_felhasznalo f ON f.id=t.Id
|
||||
ORDER BY f.id
|
||||
|
||||
--késés igazolt
|
||||
INSERT INTO @mul
|
||||
SELECT f.id, '*igazolt', (10),
|
||||
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
|
||||
FROM @tanulok 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]))pv WHERE MulasztasTipus=1499 AND IgazoltE='T')m ON m.Tanulo=t.id
|
||||
INNER JOIN t_felhasznalo f ON f.id=t.Id
|
||||
ORDER BY f.id
|
||||
|
||||
--késés igazolatlan
|
||||
INSERT INTO @mul
|
||||
SELECT f.id, '*igazolatlan', (11),
|
||||
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
|
||||
FROM @tanulok 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]))pv WHERE MulasztasTipus=1499 AND IgazoltE='F')m ON m.Tanulo=t.id
|
||||
INNER JOIN t_felhasznalo f ON f.id=t.Id
|
||||
ORDER BY f.id
|
||||
|
||||
SELECT distinct *, m.[1]+m.[2]+m.[3]+m.[4]+m.[5]+m.[6]+m.[7]+m.[9]+m.[10]+m.[11]+m.[12] as Ossz FROM @mul m
|
||||
|
||||
--Napló
|
||||
SELECT distinct nn.c_hetsorszama as Het, d.Nap as Nap, FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu') as Datum FROM T_NAPTARINAP_OSSZES nn
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.c_datum=nn.c_napdatuma AND tao.c_osztalycsoportid=@csoportid AND tao.torolt='F'
|
||||
LEFT JOIN (SELECT distinct d.id as ID, d.c_name Nap FROM T_DICTIONARYITEMBASE_OSSZES d) d ON d.id=nn.c_hetnapja
|
||||
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id=tao.c_foglalkozasid AND fog.c_tanevid=@tanevid
|
||||
LEFT JOIN T_FOGLALKOZASOK_TANAROK ft ON ft.c_foglalkozasokid=fog.id
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=ft.c_tanarokid AND f.torolt='F'
|
||||
WHERE nn.c_orarendinap='T' AND nn.c_napdatuma>=@elsonap AND nn.c_napdatuma<=@utolsonap
|
||||
ORDER BY nn.c_hetsorszama,FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu')
|
||||
|
||||
--Napló adatok
|
||||
DECLARE @Orak TABLE (datum date, Sorszam int, Hetsorszam int)
|
||||
INSERT INTO @Orak
|
||||
SELECT DISTINCT convert(date, n.c_napdatuma) datum, sz.Oraszam, n.c_hetsorszama
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
CROSS JOIN (VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10)) sz (Oraszam)
|
||||
WHERE n.c_napdatuma>=@elsonap AND n.c_napdatuma<=@utolsonap AND n.c_orarendinap='T' AND n.c_intezmenyId=@intezmenyId
|
||||
|
||||
|
||||
DECLARE @oraSorszam TABLE (Id int, EvesSorszam int)
|
||||
INSERT INTO @oraSorszam (Id, EvesSorszam)
|
||||
SELECT DISTINCT
|
||||
s.Id
|
||||
,s.EvesSorszam
|
||||
FROM (
|
||||
SELECT DISTINCT tn.C_TANTARGYID, tn.C_OSZTALYCSOPORTID, ot.C_TANAROKID, tn.C_INTEZMENYID--, fh.C_NYOMTATASINEV
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
INNER JOIN T_ORAK_TANAROK ot ON tn.ID = ot.C_ORAKID
|
||||
INNER JOIN T_FELHASZNALO fh ON fh.ID = ot.C_TANAROKID
|
||||
WHERE tn.C_OSZTALYCSOPORTID = @csoportid
|
||||
) x
|
||||
CROSS APPLY dbo.fnGetEvesOraszamLista (
|
||||
x.C_TANTARGYID
|
||||
,x.C_OSZTALYCSOPORTID
|
||||
,x.C_TANAROKID
|
||||
,GETDATE()
|
||||
,x.C_INTEZMENYID
|
||||
,@tanevID
|
||||
) s
|
||||
|
||||
SELECT DISTINCT
|
||||
o.Hetsorszam as Het
|
||||
,o.Sorszam as Oraszam
|
||||
,FORMAT(o.Datum, 'yyyy. MMMM dd.', 'hu-hu') as Datum
|
||||
,CONVERT(nvarchar(max), DATEPART(hour,tao.c_orakezdete)) + ':' + CONVERT(nvarchar(max)
|
||||
,DATEPART(minute,tao.c_orakezdete)) as OraKezd
|
||||
,f.c_nyomtatasinev as Tanar
|
||||
,s.EvesSorszam as Sorszam
|
||||
,tao.c_tema as Tema
|
||||
FROM @Orak o
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.c_datum = o.Datum
|
||||
AND tao.c_osztalycsoportid = @csoportid
|
||||
AND tao.torolt = 'F'
|
||||
AND tao.c_oraszam = o.Sorszam
|
||||
AND tao.c_tanevid = @tanevid
|
||||
LEFT JOIN @oraSorszam s ON s.Id = tao.ID
|
||||
LEFT JOIN T_NAPTARINAP_OSSZES nn ON nn.c_napdatuma = o.Datum AND nn.c_tanevid = @tanevid
|
||||
LEFT JOIN (SELECT distinct d.id as ID, d.c_name Nap FROM t_dictionaryitembase_osszes d) d ON d.id=nn.c_hetnapja
|
||||
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id = tao.c_foglalkozasid AND fog.torolt = 'F'
|
||||
LEFT JOIN T_FOGLALKOZASOK_TANAROK ft ON ft.c_foglalkozasokid = fog.id
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = ft.c_tanarokid AND f.torolt = 'F'
|
||||
ORDER BY Oraszam
|
||||
|
||||
|
||||
--Napló mulasztás
|
||||
SELECT C_HETSORSZAMA Het, C_NYOMTATASINEV Tanulo,
|
||||
MAX([1]) AS [Hetfo], MAX([2]) AS [Kedd], MAX([3]) AS [Szerda],
|
||||
MAX([4]) AS [Csutortok], MAX([5]) AS [Pentek], MAX([6]) AS [Szombat]
|
||||
FROM (
|
||||
SELECT C_HETSORSZAMA, C_NYOMTATASINEV, [0], [1], [2], [3], [4], [5], [6]
|
||||
FROM (
|
||||
SELECT DISTINCT n.C_NAPTARINAPID, DATEPART(dw,n.C_DATUM) AS NAP, t.C_NYOMTATASINEV, n.C_HETSORSZAMA,
|
||||
'[' + STUFF((
|
||||
SELECT ', ' + CAST(o.C_ORASZAM AS VARCHAR(3)) + IIF(tm.C_TIPUS = 1500, '', '(k)')
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = tm.C_TANITASIORAKID
|
||||
INNER JOIN t_osztalycsoport ocs ON ocs.id=@csoportid
|
||||
WHERE n.C_NAPTARINAPID = o.C_NAPTARINAPID
|
||||
AND m.C_ORATANULOIID = tm.C_ORATANULOIID
|
||||
AND o.C_TANEVID = @tanevID
|
||||
AND tm.C_TANEVID = @tanevID
|
||||
AND (@iskolaErdekuSzamit = 1 OR C_IGAZOLASTIPUSA <> 1533)
|
||||
AND tm.TOROLT='F'
|
||||
ORDER BY o.C_NAPTARINAPID, o.C_ORASZAM
|
||||
FOR XML PATH(''), TYPE).value('.', 'varchar(max)'),1,2,'') + '] ' + CAST(SUM(IIF(m.C_IGAZOLT = 'T', 1, 0)) AS varchar(2)) + '/' + CAST(SUM(IIF(m.C_IGAZOLT = 'T' OR m.C_TIPUS = 1499, 0, 1)) AS varchar(2)) AS hianyzas
|
||||
FROM T_TANITASIORA_OSSZES n
|
||||
INNER JOIN T_TANULOMULASZTAS_OSSZES m ON m.C_TANITASIORAKID = n.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = m.C_ORATANULOIID
|
||||
WHERE
|
||||
n.C_TANEVID = @tanevID
|
||||
AND m.C_TANEVID = @tanevID
|
||||
AND n.c_osztalycsoportid=@csoportId
|
||||
AND (@iskolaErdekuSzamit = 1 OR C_IGAZOLASTIPUSA <> 1533)
|
||||
GROUP BY n.C_NAPTARINAPID, C_ORATANULOIID, C_NYOMTATASINEV, n.C_HETSORSZAMA, n.C_DATUM) AS SUB
|
||||
PIVOT
|
||||
(
|
||||
MAX(HIANYZAS)
|
||||
FOR NAP IN ([0], [1], [2], [3], [4], [5], [6])
|
||||
) AS PivotTable
|
||||
) AS ASD
|
||||
GROUP BY C_HETSORSZAMA, C_NYOMTATASINEV
|
||||
ORDER BY C_HETSORSZAMA
|
||||
|
||||
--Tanuló feljegyzései
|
||||
SELECT
|
||||
feljegyzes.TanuloId AS Tanulo
|
||||
,FORMAT(Datum, 'yyyy.MM.dd.') AS Idopont
|
||||
,d.C_NAME AS Tipus
|
||||
,Tartalom AS Feljegyzes
|
||||
,FeljegyzoNeve AS Feljegyzo
|
||||
FROM fnGetDokumentumTanulokFeljegyzesei(@tanevId, @csoportId) feljegyzes
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID=Tipusa AND d.C_TANEVID = @tanevId
|
||||
WHERE Tipusa <> 1534
|
||||
|
||||
--Tanuló gondviselői
|
||||
SELECT 'Gondviselő ('+Rokonsag.Rokonsag+'):' as Fejlec, tcs.c_tanuloid Tanulo, g.c_nev Gondviselo, gcim.Tipus Tipus,gcim.Cim as Cim, gtel.c_telefonszam Telefon, gemail.C_EMAILCIM Email
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_GONDVISELO_OSSZES g ON g.c_tanuloid=tcs.c_tanuloid AND g.torolt='F'
|
||||
LEFT JOIN (
|
||||
SELECT g.id Gondviselo, dt.c_name Tipus, c.c_iranyitoszam+', '+c.c_varos+' '+c.c_kozterulet+' '+dj.c_name+' '+c.c_hazszam as Cim
|
||||
FROM T_CIM_OSSZES c
|
||||
INNER JOIN (SELECT distinct d.id, d.c_name FROM T_DICTIONARYITEMBASE_OSSZES d )dt ON dt.id=c.c_cimtipusa
|
||||
INNER JOIN t_gondviselo_osszes g ON g.id=c.c_gondviseloid AND g.torolt='F'
|
||||
INNER JOIN (SELECT distinct d.id, d.c_name FROM T_DICTIONARYITEMBASE_OSSZES d )dj ON dj.id=c.c_kozteruletjellege
|
||||
)gcim ON gcim.Gondviselo=g.id
|
||||
LEFT JOIN T_TELEFON_OSSZES gtel ON gtel.c_gondviseloid=g.id AND gtel.torolt='F'
|
||||
LEFT JOIN T_EMAIL_OSSZES gemail ON gemail.c_gondviseloid=g.id AND gemail.torolt='F'
|
||||
LEFT JOIN (SELECT distinct d.id Id, d.c_name Rokonsag FROM T_DICTIONARYITEMBASE_OSSZES d) Rokonsag ON Rokonsag.Id=g.c_rokonsagfoka
|
||||
WHERE tcs.c_osztalycsoportid=@csoportId AND tcs.c_tanevid=@tanevid AND tcs.torolt='F'
|
||||
|
||||
DROP TABLE #MULASZTAS
|
||||
END
|
||||
GO
|
||||
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,54 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetPedagogusOrarendOsszes]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetPedagogusOrarendOsszes]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetPedagogusOrarendOsszes]
|
||||
@tanevID int,
|
||||
@intezmenyId int
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SELECT DISTINCT ia.C_NEV as intezmeny, m.C_NEV as mukodesihely, d.C_NAME as oktatasiNevelesiFeladatTipus,
|
||||
ISNULL(ia.C_VAROS + ', ', '') + FORMAT(GETDATE(), 'yyyy. MMMM dd.', 'hu-hu') AS kelt
|
||||
FROM T_INTEZMENY_OSSZES i
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES IA ON IA.C_INTEZMENYID=I.ID
|
||||
INNER JOIN T_MUKODESIHELY_OSSZES m ON IA.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'
|
||||
INNER JOIN (SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE_OSSZES) d ON d.id = f.C_OKTATASINEVELESIFELADATTIPUS
|
||||
WHERE i.id=@intezmenyId AND I.TOROLT='F'
|
||||
|
||||
|
||||
declare @tabla table (TanarId int, Ora int, Hetirend int, TanarNev nvarchar(255), [1408] nvarchar(255), [1409] nvarchar(255), [1410] nvarchar(255), [1411] nvarchar(255), [1412] nvarchar(255), [1413] nvarchar(255))
|
||||
|
||||
DECLARE kur CURSOR FOR
|
||||
SELECT ID FROM T_ALKALMAZOTT_OSSZES a
|
||||
inner join (SELECT DISTINCT c_tanarokid FROM T_FOGLALKOZASOK_TANAROK) ft on ft.c_tanarokid=a.id
|
||||
where a.torolt='F' and a.C_ALTANEVID=@tanevID
|
||||
|
||||
DECLARE @TanarId int
|
||||
|
||||
OPEN kur
|
||||
FETCH NEXT FROM kur INTO @TanarId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
INSERT INTO @tabla
|
||||
EXEC sp_GetPedagogusOrarend @tanarid, @tanevid, @intezmenyId
|
||||
|
||||
FETCH NEXT FROM kur INTO @TanarId
|
||||
END
|
||||
|
||||
CLOSE kur
|
||||
DEALLOCATE kur
|
||||
|
||||
SELECT * from @tabla
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,178 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetSzakmaiGyNaplo]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetSzakmaiGyNaplo]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetSzakmaiGyNaplo]
|
||||
@tanevId INT,
|
||||
@intezmenyId INT,
|
||||
@csoportId INT,
|
||||
@iskolaErdekuSzamit BIT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Kezdőoldal
|
||||
select ia.c_nev as IntezmenyNev, convert(nvarchar(5), ia.c_iranyitoszam)+', '+ia.c_varos+', '+ia.c_cime as IntezmenyCim, ia.c_omkod as OMKOD, ia.c_igazgatoneve as IntezmenyVezeto, ocs.c_nev NapkozisCsoport,
|
||||
isnull(f.c_nyomtatasinev,'-') as CsoportVezeto, isnull(cs.c_csoportnaploleiras,'-') as CsoportNaploLeiras, FORMAT(cs.c_csoportnaplomegnyitasa, 'yyyy. MMMM dd.', 'hu-hu') as Megnyitas,
|
||||
isnull(FORMAT(cs.c_csoportnaplozarasa, 'yyyy. MMMM dd.', 'hu-hu'),'-') as Lezaras, t.c_nev as Tanev, cs.c_csoportnaploleiras as Megjegyzes
|
||||
from T_INTEZMENY_OSSZES i
|
||||
inner join T_INTEZMENYADATOK_OSSZES ia on ia.c_intezmenyid=i.id
|
||||
inner join T_OSZTALYCSOPORT_OSSZES ocs on ocs.c_intezmenyid=i.id
|
||||
inner join T_CSOPORT_OSSZES cs on cs.id=ocs.id
|
||||
left join T_FELHASZNALO_OSSZES f on f.id=cs.c_csoportvezetoid
|
||||
inner join T_TANEV_OSSZES t on t.id=ia.c_tanevid
|
||||
where i.id=@intezmenyid and ia.c_tanevid=@tanevid and ocs.id=@csoportId
|
||||
|
||||
--Csoport tanulóinak osztályai
|
||||
select Osztaly.Osztaly, count(c_tanuloid) Tanulo from t_tanulocsoport tcs
|
||||
inner join (select tcs.c_tanuloid Tanulo, ocs.c_nev as Osztaly, tcs.c_kilepesdatum Kilepes from T_TANULOCSOPORT_OSSZES tcs
|
||||
inner join T_OSZTALY_OSSZES o on o.id=tcs.c_osztalycsoportid and o.torolt='F'
|
||||
inner join T_OSZTALYCSOPORT_OSSZES ocs on o.id=ocs.id
|
||||
where tcs.c_kilepesdatum is null and tcs.c_intezmenyid=@intezmenyid and tcs.c_tanevid=@tanevid) osztaly on osztaly.Tanulo=tcs.c_tanuloid and tcs.TOROLT='F'
|
||||
where tcs.c_osztalycsoportid=@csoportId
|
||||
group by osztaly.Osztaly
|
||||
|
||||
DECLARE @tanulo TABLE (Tanulo int, Osztaly nvarchar(max), RovidNev nvarchar(max))
|
||||
insert into @tanulo
|
||||
select f.id as Tanulo, Osztaly.Osztaly, Osztaly.Osztaly RovidNev from T_TANULOCSOPORT_OSSZES tcs
|
||||
inner join (select tcs.c_tanuloid Tanulo, ocs.c_nev Osztaly from t_tanulocsoport tcs
|
||||
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid and o.torolt='F'
|
||||
inner join t_osztalycsoport ocs on ocs.id=tcs.c_osztalycsoportid
|
||||
where tcs.c_kilepesdatum is null and tcs.c_tanevid=@tanevid) Osztaly on Osztaly.Tanulo=tcs.c_tanuloid and tcs.TOROLT='F'
|
||||
inner join t_felhasznalo f on f.id=tcs.c_tanuloid
|
||||
where tcs.c_osztalycsoportid=@csoportId
|
||||
|
||||
declare @datum date=getdate()
|
||||
create table #OraSorszam (TanitasioraId int, OraSorszam int)
|
||||
insert into #OraSorszam
|
||||
EXEC [sp_GetOraSorszamByOsztaly]
|
||||
@osztalyCsoportId = @csoportId,
|
||||
@datum = @datum,
|
||||
@intezmenyId = @intezmenyId,
|
||||
@tanevId = @tanevId
|
||||
|
||||
declare @mulasztas table (Csoport nvarchar(1), Tanulo int, Oraszam int)
|
||||
insert into @mulasztas
|
||||
select 'x' Csoport, tm.c_oratanuloiid Tanulo, oes.OraSorszam AS OraSzam from T_TANULOMULASZTAS_OSSZES tm
|
||||
inner join T_TANITASIORA_OSSZES tao on tm.c_tanitasiorakid=tao.id and tao.c_tanevid=@tanevid
|
||||
LEFT JOIN #OraSorszam oes on oes.TanitasioraId=tao.id
|
||||
where
|
||||
tao.c_osztalycsoportid=@csoportId
|
||||
AND tm.torolt='F'
|
||||
AND tm.c_tanevid=@tanevid
|
||||
AND tm.c_intezmenyid=@intezmenyid
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
|
||||
select f.c_nyomtatasinev Tanulo, tanulo.RovidNev Osztaly, m.[1], m.[2], m.[3], m.[4], m.[5], m.[6], m.[7], m.[8], m.[9], m.[10],
|
||||
m.[11], m.[12], m.[13], m.[14], m.[15], m.[16], m.[17], m.[18],m.[19],m.[20],
|
||||
m.[21], m.[22], m.[23], m.[24], m.[25], m.[26], m.[27], m.[28],m.[29],m.[30],
|
||||
m.[31], m.[32], m.[33], m.[34], m.[35], m.[36], m.[37], m.[38],m.[39],m.[40],
|
||||
m.[41], m.[42], m.[43], m.[44], m.[45], m.[46], m.[47], m.[48],m.[49],m.[50],
|
||||
osszesM.Osszes
|
||||
from @tanulo tanulo
|
||||
left join (select * from @mulasztas mulasztas pivot (max(Csoport) for Oraszam 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], [32], [33], [34], [35], [36], [37], [38],[39],[40],
|
||||
[41], [42], [43], [44], [45], [46], [47], [48],[49],[50])) pv)m on m.Tanulo=tanulo.Tanulo
|
||||
inner join T_FELHASZNALO_OSSZES f on f.id=tanulo.Tanulo
|
||||
left join (select Tanulo, count(Csoport) as Osszes from @mulasztas m group by Tanulo) osszesM on osszesM.Tanulo=tanulo.Tanulo
|
||||
order by f.c_nyomtatasinev
|
||||
|
||||
--napló
|
||||
declare @letszam int=(select count(tcs.c_tanuloid) from T_TANULOCSOPORT_OSSZES tcs where tcs.c_osztalycsoportid=@csoportId and tcs.Torolt='F')
|
||||
|
||||
select convert(nvarchar(max),datepart(year,tao.c_orakezdete))+'. '+convert(nvarchar(max),datepart(month,tao.c_orakezdete))+'. '+convert(nvarchar(max),datepart(day,tao.c_orakezdete))+'.' as Datum,
|
||||
tao.c_tema as Tema, @letszam-hianyzo.Hianyzok as Letszam, f.c_nyomtatasinev as Pedagogus from T_TANITASIORA_OSSZES tao
|
||||
inner join T_FOGLALKOZAS_OSSZES fog on fog.id=tao.c_foglalkozasid
|
||||
inner join T_FOGLALKOZASOK_TANAROK ft on ft.c_foglalkozasokid=fog.id
|
||||
left join (select tm.c_tanitasiorakid as Tanitasiora, count(tm.c_oratanuloiid) Hianyzok from T_TANULOMULASZTAS_OSSZES tm where tm.Torolt='F' group by tm.c_tanitasiorakid ) hianyzo on hianyzo.Tanitasiora=tao.id
|
||||
inner join T_FELHASZNALO_OSSZES f on f.id=iif(tao.c_helyettesitotanarid is not null,tao.c_helyettesitotanarid, ft.c_tanarokid)
|
||||
where tao.c_osztalycsoportid=@csoportId and tao.torolt='F' and tao.c_tanevid=@tanevid and tao.c_intezmenyid=@intezmenyid
|
||||
order by tao.c_orakezdete
|
||||
|
||||
--hiányzások
|
||||
declare @hianyzas table (Tanulo int, Osztaly nvarchar(max), Honap int, IgazoltE nvarchar(1))
|
||||
insert into @hianyzas
|
||||
select Tanulo, RovidNev, datepart(month,tao.c_datum) as Honap, tm.c_igazolt as IgazoltE from @tanulo tanulo
|
||||
left join T_TANULOMULASZTAS_OSSZES tm on tm.c_oratanuloiid=tanulo.Tanulo and tm.torolt='F' and tm.c_tanevid=@tanevid
|
||||
left join T_TANITASIORA_OSSZES tao on tao.id=tm.c_tanitasiorakid and tao.c_tanevid=@tanevid
|
||||
where
|
||||
tao.c_osztalycsoportid=@csoportId
|
||||
AND tao.torolt='F'
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
|
||||
select f.c_nyomtatasinev as Tanulo, tanulo.RovidNev Osztaly,
|
||||
--igazolt
|
||||
iif(i.[1]=0,null, i.[1]) as [1], iif(i.[2]=0,null, i.[2]) as [2], iif(i.[3]=0,null, i.[3]) as [3], iif(i.[4]=0,null, i.[4]) as [4], iif(i.[5]=0,null, i.[5]) as [5],iif(i.[6]=0,null, i.[6]) as [6],
|
||||
iif(i.[7]=0,null, i.[7]) as [7], iif(i.[8]=0,null, i.[8]) as [8], iif(i.[9]=0,null, i.[9]) as [9], iif(i.[10]=0,null, i.[10]) as [10], iif(i.[11]=0,null, i.[11]) as [11], iif(i.[12]=0,null, i.[12]) as [12],
|
||||
--igazolatlan
|
||||
iif(ni.[1]=0,null, ni.[1]) as n1, iif(ni.[2]=0,null, ni.[2]) as n2, iif(ni.[3]=0,null, ni.[3]) as n3, iif(ni.[4]=0,null, ni.[4]) as n4, iif(ni.[5]=0,null, ni.[5]) as n5,iif(ni.[6]=0,null, ni.[6]) as n6,
|
||||
iif(ni.[7]=0,null, ni.[7]) as n7, iif(ni.[8]=0,null, ni.[8]) as n8, iif(ni.[9]=0,null, ni.[9]) as n9, iif(ni.[10]=0,null, ni.[10]) as n10, iif(ni.[11]=0,null, ni.[11]) as n11, iif(ni.[12]=0,null, ni.[12]) as n12,
|
||||
igazolt.Igazolt, igazolatlan.Igazolatlan
|
||||
from @tanulo tanulo
|
||||
left join (select pv.* from @hianyzas hianyzas pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))pv where pv.IgazoltE='T')i on tanulo.Tanulo=i.Tanulo
|
||||
left join (select pv.* from @hianyzas hianyzas pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))pv where pv.IgazoltE='F')ni on tanulo.Tanulo=ni.Tanulo
|
||||
left join (select hianyzas.Tanulo Tanulo, count(IgazoltE) as Igazolt from @hianyzas hianyzas where hianyzas.IgazoltE='T' group by hianyzas.Tanulo) igazolt on igazolt.Tanulo=tanulo.Tanulo
|
||||
left join (select hianyzas.Tanulo Tanulo, count(IgazoltE) as Igazolatlan from @hianyzas hianyzas where hianyzas.IgazoltE='F' group by hianyzas.Tanulo) igazolatlan on igazolatlan.Tanulo=tanulo.Tanulo
|
||||
inner join T_FELHASZNALO_OSSZES f on f.id=tanulo.Tanulo
|
||||
|
||||
--Mulasztások összesen
|
||||
declare @hianyzasOssz table (Osztaly int, Honap int, IgazoltE nvarchar(1))
|
||||
insert into @hianyzasOssz
|
||||
select @csoportId, datepart(month,tao.c_datum) as Honap, tm.c_igazolt as IgazoltE from @tanulo tanulo
|
||||
left join T_TANULOMULASZTAS_OSSZES tm on tm.c_oratanuloiid=tanulo.Tanulo and tm.torolt='F' and tm.c_tanevid=@tanevid
|
||||
left join T_TANITASIORA_OSSZES tao on tao.id=tm.c_tanitasiorakid and tao.c_tanevid=@tanevid
|
||||
where
|
||||
tao.c_osztalycsoportid=@csoportId
|
||||
and tao.torolt='F'
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
|
||||
declare @igazoltH table (Csoport int, [1] int, [2] int, [3] int, [4] int, [5] int, [6] int, [7] int, [8] int, [9] int, [10] int,
|
||||
[11] int, [12] int)
|
||||
insert into @igazoltH
|
||||
select @csoportId, iif(i.[1]=0,null, i.[1]) as [1], iif(i.[2]=0,null, i.[2]) as [2], iif(i.[3]=0,null, i.[3]) as [3], iif(i.[4]=0,null, i.[4]) as [4], iif(i.[5]=0,null, i.[5]) as [5],iif(i.[6]=0,null, i.[6]) as [6],
|
||||
iif(i.[7]=0,null, i.[7]) as [7], iif(i.[8]=0,null, i.[8]) as [8], iif(i.[9]=0,null, i.[9]) as [9], iif(i.[10]=0,null, i.[10]) as [10], iif(i.[11]=0,null, i.[11]) as [11], iif(i.[12]=0,null, i.[12]) as [12]
|
||||
from @hianyzasOssz ho pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))i where i.IgazoltE='T'
|
||||
|
||||
--Mulasztott órák összesen
|
||||
declare @igazolatlanH table (Csoport int, [1] int, [2] int, [3] int, [4] int, [5] int, [6] int, [7] int, [8] int, [9] int, [10] int,
|
||||
[11] int, [12] int)
|
||||
insert into @igazolatlanH
|
||||
select @csoportId, iif(ni.[1]=0,null, ni.[1]) as n1, iif(ni.[2]=0,null, ni.[2]) as n2, iif(ni.[3]=0,null, ni.[3]) as n3, iif(ni.[4]=0,null, ni.[4]) as n4, iif(ni.[5]=0,null, ni.[5]) as n5,iif(ni.[6]=0,null, ni.[6]) as n6,
|
||||
iif(ni.[7]=0,null, ni.[7]) as n7, iif(ni.[8]=0,null, ni.[8]) as n8, iif(ni.[9]=0,null, ni.[9]) as n9, iif(ni.[10]=0,null, ni.[10]) as n10, iif(ni.[11]=0,null, ni.[11]) as n11, iif(ni.[12]=0,null, ni.[12]) as n12
|
||||
from @hianyzasOssz ho pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))ni where ni.IgazoltE='F'
|
||||
|
||||
select iif(i.[1]=0,null, i.[1]) as [1], iif(i.[2]=0,null, i.[2]) as [2], iif(i.[3]=0,null, i.[3]) as [3], iif(i.[4]=0,null, i.[4]) as [4], iif(i.[5]=0,null, i.[5]) as [5],iif(i.[6]=0,null, i.[6]) as [6],
|
||||
iif(i.[7]=0,null, i.[7]) as [7], iif(i.[8]=0,null, i.[8]) as [8], iif(i.[9]=0,null, i.[9]) as [9], iif(i.[10]=0,null, i.[10]) as [10], iif(i.[11]=0,null, i.[11]) as [11], iif(i.[12]=0,null, i.[12]) as [12],
|
||||
iif(ni.[1]=0,null, ni.[1]) as n1, iif(ni.[2]=0,null, ni.[2]) as n2, iif(ni.[3]=0,null, ni.[3]) as n3, iif(ni.[4]=0,null, ni.[4]) as n4, iif(ni.[5]=0,null, ni.[5]) as n5,iif(ni.[6]=0,null, ni.[6]) as n6,
|
||||
iif(ni.[7]=0,null, ni.[7]) as n7, iif(ni.[8]=0,null, ni.[8]) as n8, iif(ni.[9]=0,null, ni.[9]) as n9, iif(ni.[10]=0,null, ni.[10]) as n10, iif(ni.[11]=0,null, ni.[11]) as n11, iif(ni.[12]=0,null, ni.[12]) as n12
|
||||
from @igazolth i
|
||||
left join @igazolatlanH ni on i.Csoport=ni.csoport
|
||||
|
||||
--Mulasztó tanulók szama
|
||||
declare @Igazolt table (Csoport Int, Osszes int)
|
||||
insert into @Igazolt
|
||||
select @csoportId as Id, count(Tanulo) as IgazoltOsszes from (select distinct tanulo from @hianyzas where IgazoltE='T')m
|
||||
|
||||
select i.Osszes IgazoltOsszes, ni.Osszes IgazolatlanOsszes from @Igazolt i
|
||||
left join (select @csoportId as Id, count(Tanulo) as Osszes from (select distinct tanulo from @hianyzas where IgazoltE='F')m) ni on ni.Id=i.Csoport
|
||||
|
||||
--Mulasztott órák összesen-összesen
|
||||
declare @IgazoltOsszesOsszes table (Csoport Int, Osszes int)
|
||||
insert into @IgazoltOsszesOsszes
|
||||
select @csoportId, count(IgazoltE) from @hianyzasOssz where IgazoltE='T'
|
||||
|
||||
select ioo.Osszes IgazoltOsszesOsszes, nioo.Osszes as IgazolatlanOsszesOsszes from @IgazoltOsszesOsszes ioo
|
||||
left join (select @csoportId as Id, count(IgazoltE) Osszes from @hianyzasOssz where IgazoltE='F') nioo on nioo.Id=ioo.Csoport
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,69 @@
|
|||
-- =============================================
|
||||
-- Description: Rudlof Kristóf - Tanár órarendi lefedettség
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetTanarOrarendLefedettseg]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTanarOrarendLefedettseg]
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanarOrarendLefedettseg]
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
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 @HetEleje date
|
||||
declare @HetVege date
|
||||
|
||||
if (@tanevId=@AktivtanevId)
|
||||
begin
|
||||
set @HetEleje =(select distinct nh.c_hetkezdonapja from T_NAPTARIHET_OSSZES nh where getdate()>nh.c_hetkezdonapja and getdate()<nh.c_hetutolsonapja and nh.torolt='F' and nh.c_tanevid=@tanevid and nh.c_intezmenyId=@intezmenyId)
|
||||
set @HetVege =(select distinct nh.c_hetutolsonapja from T_NAPTARIHET_OSSZES nh where getdate()>nh.c_hetkezdonapja and getdate()<nh.c_hetutolsonapja and nh.torolt='F' and nh.c_tanevid=@tanevid and nh.c_intezmenyId=@intezmenyId)
|
||||
end
|
||||
begin
|
||||
declare @UtolsoNap date = (select c_napdatuma from t_naptarinap_osszes where c_naptipusa=1395 and c_intezmenyId=@intezmenyId and c_tanevId=@tanevid and torolt='F')
|
||||
set @HetEleje =(select distinct nh.c_hetkezdonapja from T_NAPTARIHET_OSSZES nh where @UtolsoNap>nh.c_hetkezdonapja and @UtolsoNap<nh.c_hetutolsonapja and nh.torolt='F' and nh.c_tanevid=@tanevid and nh.c_intezmenyId=@intezmenyId)
|
||||
set @HetVege =(select distinct nh.c_hetutolsonapja from T_NAPTARIHET_OSSZES nh where @UtolsoNap>nh.c_hetkezdonapja and @UtolsoNap<nh.c_hetutolsonapja and nh.torolt='F' and nh.c_tanevid=@tanevid and nh.c_intezmenyId=@intezmenyId)
|
||||
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_CSOPORT_OSSZES cs
|
||||
inner join T_FOGLALKOZAS_OSSZES fog on fog.c_osztalycsoportid=cs.id and fog.c_tanevid=@tanevid and fog.torolt='F'
|
||||
inner join T_ORARENDIORA_OSSZES oo on oo.c_foglalkozasid=fog.id and ((oo.c_oraervenyessegkezdete<=@HetEleje and oo.c_oraervenyessegkezdete>=@HetEleje) or
|
||||
(oo.c_oraervenyessegkezdete<=@HetVege and oo.c_oraervenyessegvege>=@HetEleje))
|
||||
and oo.c_tanevid=@tanevid and oo.torolt='F'
|
||||
inner join T_FOGLALKOZASOK_TANAROK ft on ft.c_foglalkozasokid=fog.id
|
||||
inner join T_FELHASZNALO_OSSZES f on f.id=ft.c_tanarokid and f.c_intezmenyid=@intezmenyId and f.c_tanevid=@tanevid and f.torolt='F'
|
||||
inner 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
|
||||
where cs.torolt='F' and cs.c_alintezmenyid=@intezmenyId and cs.c_altanevid=@tanevId
|
||||
|
||||
select Pedagogus COLUMN456, CsoportTipus COLUMN444, sum(Oraszam) COLUMN3670 from #csoportok cs group by Pedagogus, CsoportTipus order by Pedagogus
|
||||
|
||||
--órarendi lefedettség hetirenden
|
||||
declare @cols as nvarchar(max),
|
||||
@query as nvarchar(max);
|
||||
|
||||
select distinct @cols= isnull(@cols + ',','') +quotename(Hetirend) from #csoportok
|
||||
|
||||
set @query='select Pedagogus as COLUMN456, CsoportTipus COLUMN444, '+@cols+' from #csoportok cs pivot (sum(Oraszam) for Hetirend in ('+@cols+')) pv'
|
||||
|
||||
EXEC sp_executesql @query;
|
||||
drop table #csoportok
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,200 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetTanoranKivuliNaplo]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTanoranKivuliNaplo]
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanoranKivuliNaplo]
|
||||
@tanevId INT,
|
||||
@intezmenyId INT,
|
||||
@csoportId INT,
|
||||
@iskolaErdekuSzamit BIT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Fejlecoldal (Fejléc)
|
||||
select ia.c_nev as IntezmenyNev, convert(nvarchar(5), ia.c_iranyitoszam)+', '+ia.c_varos+', '+ia.c_cime as IntezmenyCim, ia.c_omkod as OMKOD, ia.c_igazgatoneve as IntezmenyVezeto, ocs.c_nev Csoport,
|
||||
isnull(f.c_nyomtatasinev,'-') as CsoportVezeto, isnull(cs.c_csoportnaploleiras,'-') as CsoportNaploLeiras, FORMAT(cs.c_csoportnaplomegnyitasa, 'yyyy. MMMM dd.', 'hu-hu') as Megnyitas,
|
||||
isnull(FORMAT(cs.c_csoportnaplozarasa, 'yyyy. MMMM dd.', 'hu-hu'),'-') as Lezaras, t.c_nev as Tanev, cs.c_csoportnaploleiras as Megjegyzes from T_INTEZMENY_OSSZES i
|
||||
inner join T_INTEZMENYADATOK_OSSZES ia on ia.c_intezmenyid=i.id
|
||||
inner join T_OSZTALYCSOPORT_OSSZES ocs on ocs.c_intezmenyid=i.id
|
||||
inner join T_CSOPORT_OSSZES cs on cs.id=ocs.id
|
||||
left join T_FELHASZNALO_OSSZES f on f.id=cs.c_csoportvezetoid
|
||||
inner join T_TANEV_OSSZES t on t.id=ia.c_tanevid
|
||||
where i.id=@intezmenyid and ia.c_tanevid=@tanevid and ocs.id=@csoportId
|
||||
|
||||
--Osztaly (Csoport tanulóinak osztályai)
|
||||
select Osztaly.Osztaly Osztaly, count(c_tanuloid) Tanulo from t_tanulocsoport tcs
|
||||
inner join (select tcs.c_tanuloid Tanulo, ocs.c_nev as Osztaly, tcs.c_kilepesdatum Kilepes from T_TANULOCSOPORT_OSSZES tcs
|
||||
inner join T_OSZTALY_OSSZES o on o.id=tcs.c_osztalycsoportid and o.torolt='F'
|
||||
inner join T_OSZTALYCSOPORT_OSSZES ocs on o.id=ocs.id
|
||||
where tcs.TOROLT='F') osztaly on osztaly.Tanulo=tcs.c_tanuloid
|
||||
where tcs.c_osztalycsoportid=@csoportId and tcs.TOROLT='F' and tcs.c_kilepesdatum is null
|
||||
group by osztaly.Osztaly
|
||||
|
||||
--Mulasztasok
|
||||
declare @datum date=getdate()
|
||||
create table #OraSorszam (TanitasioraId int, OraSorszam int)
|
||||
insert into #OraSorszam
|
||||
EXEC [sp_GetOraSorszamByOsztaly]
|
||||
@osztalyCsoportId = @csoportId,
|
||||
@datum = @datum,
|
||||
@intezmenyId = @intezmenyId,
|
||||
@tanevId = @tanevId
|
||||
|
||||
DECLARE @tanulo TABLE (Tanulo int, Osztaly nvarchar(max))
|
||||
DECLARE @FelevVege date=(select top 1 c_datum from T_TANEVRENDJE_OSSZES te where te.c_naptipusa=1400 and te.c_intezmenyid=@intezmenyid and te.c_tanevid=@tanevid and te.torolt='F')
|
||||
|
||||
insert into @tanulo
|
||||
select f.id as Tanulo, Osztaly.Osztaly Osztaly from T_TANULOCSOPORT_OSSZES tcs
|
||||
inner join (select tcs.c_tanuloid Tanulo, ocs.c_nev Osztaly from T_TANULOCSOPORT_OSSZES tcs
|
||||
inner join T_OSZTALY_OSSZES o on o.id=tcs.c_osztalycsoportid and o.torolt='F'
|
||||
inner join T_OSZTALYCSOPORT_OSSZES ocs on ocs.id=tcs.c_osztalycsoportid --and ocs.c_intezmenyid=@intezmenyid and ocs.c_tanevid=@tanevid
|
||||
where tcs.c_kilepesdatum is null and tcs.c_tanevid=@tanevid) Osztaly on Osztaly.Tanulo=tcs.c_tanuloid
|
||||
inner join t_felhasznalo f on f.id=tcs.c_tanuloid
|
||||
where tcs.c_osztalycsoportid=@csoportId and tcs.TOROLT='F'
|
||||
|
||||
declare @mulasztas table (Csoport nvarchar(1), Tanulo int, Oraszam int, Felev int)
|
||||
insert into @mulasztas
|
||||
select 'x' Csoport, tm.c_oratanuloiid Tanulo, oes.OraSorszam OraSzam, iif(tao.c_datum<@FelevVege,1,2) from T_TANULOMULASZTAS_OSSZES tm
|
||||
inner join T_TANITASIORA_OSSZES tao on tm.c_tanitasiorakid=tao.id
|
||||
left join #OraSorszam oes on oes.TanitasioraId=tao.id
|
||||
where
|
||||
tao.c_osztalycsoportid=@csoportId
|
||||
AND tao.torolt='F' and tm.torolt='F'
|
||||
AND tm.c_tanevid=@tanevid
|
||||
AND tm.c_intezmenyid=@intezmenyid
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
|
||||
select f.c_nyomtatasinev Tanulo, tanulo.Osztaly,
|
||||
m.[1], m.[2], m.[3], m.[4], m.[5], m.[6], m.[7], m.[8], m.[9], m.[10],
|
||||
m.[11], m.[12], m.[13], m.[14], m.[15], m.[16], m.[17], m.[18],m.[19],m.[20],
|
||||
m.[21], m.[22], m.[23], m.[24], m.[25], m.[26], m.[27], m.[28],m.[29],m.[30],
|
||||
m.[31], m.[32], m.[33], m.[34], m.[35], m.[36], m.[37], m.[38],m.[39],m.[40],
|
||||
m.[41], m.[42], m.[43], m.[44], m.[45], m.[46], m.[47], m.[48],m.[49],m.[50],
|
||||
osszesM.Osszes, /*1. félév*/
|
||||
m2.[1] m1, m2.[2] m2, m2.[3] m3, m2.[4] m4, m2.[5] m5, m2.[6] m6, m2.[7] m7, m2.[8] m8, m2.[9] m9, m2.[10] m10,
|
||||
m2.[11] m11, m2.[12] m12, m2.[13] m13, m2.[14] m14, m2.[15] m15, m2.[16] m16, m2.[17] m17, m2.[18] m18, m2.[19] m19, m2.[20] m20,
|
||||
m2.[21] m21, m2.[22] m22, m2.[23] m23, m2.[24] m24, m2.[25] m25, m2.[26] m26, m2.[27] m27, m2.[28] m28, m2.[29] m29, m2.[30] m30,
|
||||
m2.[31] m31, m2.[32] m32, m2.[33] m33, m2.[34] m34, m2.[35] m35, m2.[36] m36, m2.[37] m37, m2.[38] m38, m2.[39] m39, m2.[40] m40,
|
||||
m2.[41] m41, m2.[42] m42, m2.[43] m43, m2.[44] m44, m2.[45] m45, m2.[46] m46, m2.[47] m47, m2.[48] m48, m2.[49] m49, m2.[50] m50,
|
||||
osszesM2.Osszes OsszesM/*2. félév*/
|
||||
from @tanulo tanulo
|
||||
|
||||
/* 1. félév*/
|
||||
left join (select * from @mulasztas mulasztas pivot (max(Csoport) for Oraszam 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], [32], [33], [34], [35], [36], [37], [38],[39],[40],
|
||||
[41], [42], [43], [44], [45], [46], [47], [48],[49],[50])) pv where pv.Felev=1)m on m.Tanulo=tanulo.Tanulo
|
||||
|
||||
left join (select * from @mulasztas mulasztas pivot (max(Csoport) for Oraszam 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], [32], [33], [34], [35], [36], [37], [38],[39],[40],
|
||||
[41], [42], [43], [44], [45], [46], [47], [48],[49],[50])) pv where pv.Felev=2)m2 on m2.Tanulo=tanulo.Tanulo
|
||||
|
||||
inner join T_FELHASZNALO_OSSZES f on f.id=tanulo.Tanulo
|
||||
left join (select Tanulo, count(Csoport) as Osszes from @mulasztas m where Felev=1 group by Tanulo) osszesM on osszesM.Tanulo=tanulo.Tanulo
|
||||
left join (select Tanulo, count(Csoport) as Osszes from @mulasztas m where Felev=2 group by Tanulo) osszesM2 on osszesM2.Tanulo=tanulo.Tanulo
|
||||
order by f.c_nyomtatasinev
|
||||
|
||||
--Napló
|
||||
declare @letszam int=(select count(tcs.c_tanuloid) from T_TANULOCSOPORT_OSSZES tcs where tcs.c_osztalycsoportid=@csoportId and tcs.TOROLT='F' and tcs.c_kilepesdatum is null)
|
||||
|
||||
select convert(nvarchar(max),datepart(year,tao.c_orakezdete))+'. '+convert(nvarchar(max),datepart(month,tao.c_orakezdete))+'. '+convert(nvarchar(max),datepart(day,tao.c_orakezdete))+'.' as Datum,
|
||||
tao.c_tema as Tema, @letszam-isnull(hianyzo.Hianyzok,0) as Letszam, f.c_nyomtatasinev as Pedagogus from T_TANITASIORA_OSSZES tao
|
||||
inner join T_FOGLALKOZAS_OSSZES fog on fog.id=tao.c_foglalkozasid
|
||||
inner join T_FOGLALKOZASOK_TANAROK ft on ft.c_foglalkozasokid=fog.id
|
||||
left join (select tm.c_tanitasiorakid as Tanitasiora, count(tm.c_oratanuloiid) Hianyzok from T_TANULOMULASZTAS_OSSZES tm where tm.torolt='F' group by tm.c_tanitasiorakid ) hianyzo on hianyzo.Tanitasiora=tao.id
|
||||
inner join T_FELHASZNALO_OSSZES f on f.id=iif(tao.c_helyettesitotanarid is not null,tao.c_helyettesitotanarid, ft.c_tanarokid)
|
||||
where tao.c_osztalycsoportid=@csoportId and tao.torolt='F'
|
||||
order by tao.c_orakezdete
|
||||
|
||||
--Hiányzások
|
||||
declare @hianyzas table (Tanulo int, Osztaly nvarchar(max), Honap int, IgazoltE nvarchar(1))
|
||||
insert into @hianyzas
|
||||
select Tanulo, Osztaly, datepart(month,tao.c_datum) as Honap, tm.c_igazolt as IgazoltE from @tanulo tanulo
|
||||
left join T_TANULOMULASZTAS_OSSZES tm on tm.c_oratanuloiid=tanulo.Tanulo and tm.torolt='F' and tm.c_tanevid=@tanevid and tm.c_intezmenyid=@intezmenyid
|
||||
left join T_TANITASIORA_OSSZES tao on tao.id=tm.c_tanitasiorakid and tao.c_tanevid=@tanevid and tao.c_intezmenyid=@intezmenyid
|
||||
where
|
||||
tao.c_osztalycsoportid=@csoportId
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
and tao.torolt='F'
|
||||
|
||||
select f.c_nyomtatasinev as Tanulo, tanulo.Osztaly,
|
||||
--igazolt
|
||||
iif(i.[1]=0,null, i.[1]) as [1], iif(i.[2]=0,null, i.[2]) as [2], iif(i.[3]=0,null, i.[3]) as [3], iif(i.[4]=0,null, i.[4]) as [4], iif(i.[5]=0,null, i.[5]) as [5],iif(i.[6]=0,null, i.[6]) as [6],
|
||||
iif(i.[7]=0,null, i.[7]) as [7], iif(i.[8]=0,null, i.[8]) as [8], iif(i.[9]=0,null, i.[9]) as [9], iif(i.[10]=0,null, i.[10]) as [10], iif(i.[11]=0,null, i.[11]) as [11], iif(i.[12]=0,null, i.[12]) as [12],
|
||||
--igazolatlan
|
||||
iif(ni.[1]=0,null, ni.[1]) as n1, iif(ni.[2]=0,null, ni.[2]) as n2, iif(ni.[3]=0,null, ni.[3]) as n3, iif(ni.[4]=0,null, ni.[4]) as n4, iif(ni.[5]=0,null, ni.[5]) as n5,iif(ni.[6]=0,null, ni.[6]) as n6,
|
||||
iif(ni.[7]=0,null, ni.[7]) as n7, iif(ni.[8]=0,null, ni.[8]) as n8, iif(ni.[9]=0,null, ni.[9]) as n9, iif(ni.[10]=0,null, ni.[10]) as n10, iif(ni.[11]=0,null, ni.[11]) as n11, iif(ni.[12]=0,null, ni.[12]) as n12,
|
||||
igazolt.Igazolt, igazolatlan.Igazolatlan
|
||||
from @tanulo tanulo
|
||||
left join (select pv.* from @hianyzas hianyzas pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))pv where pv.IgazoltE='T')i on tanulo.Tanulo=i.Tanulo
|
||||
left join (select pv.* from @hianyzas hianyzas pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))pv where pv.IgazoltE='F')ni on tanulo.Tanulo=ni.Tanulo
|
||||
left join (select hianyzas.Tanulo Tanulo, count(IgazoltE) as Igazolt from @hianyzas hianyzas where hianyzas.IgazoltE='T' group by hianyzas.Tanulo) igazolt on igazolt.Tanulo=tanulo.Tanulo
|
||||
left join (select hianyzas.Tanulo Tanulo, count(IgazoltE) as Igazolatlan from @hianyzas hianyzas where hianyzas.IgazoltE='F' group by hianyzas.Tanulo) igazolatlan on igazolatlan.Tanulo=tanulo.Tanulo
|
||||
inner join t_felhasznalo f on f.id=tanulo.Tanulo
|
||||
|
||||
--Hiányzások (Összesítő)
|
||||
declare @hianyzasOssz table (Osztaly int, Honap int, IgazoltE nvarchar(1))
|
||||
insert into @hianyzasOssz
|
||||
select @csoportId, datepart(month,tao.c_datum) as Honap, tm.c_igazolt as IgazoltE from @tanulo tanulo
|
||||
left join T_TANULOMULASZTAS_OSSZES tm on tm.c_oratanuloiid=tanulo.Tanulo and tm.torolt='F' and tm.c_tanevid=@tanevid --and tm.c_intezmenyid=@intezmenyid
|
||||
left join T_TANITASIORA_OSSZES tao on tao.id=tm.c_tanitasiorakid and tao.c_tanevid=@tanevid --and tao.c_intezmenyid=@intezmenyid
|
||||
where
|
||||
tao.c_osztalycsoportid=@csoportId
|
||||
and tao.torolt='F'
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
|
||||
declare @igazoltH table (Csoport int, [1] int, [2] int, [3] int, [4] int, [5] int, [6] int, [7] int, [8] int, [9] int, [10] int,
|
||||
[11] int, [12] int)
|
||||
insert into @igazoltH
|
||||
select @csoportId, iif(i.[1]=0,null, i.[1]) as [1], iif(i.[2]=0,null, i.[2]) as [2], iif(i.[3]=0,null, i.[3]) as [3], iif(i.[4]=0,null, i.[4]) as [4], iif(i.[5]=0,null, i.[5]) as [5],iif(i.[6]=0,null, i.[6]) as [6],
|
||||
iif(i.[7]=0,null, i.[7]) as [7], iif(i.[8]=0,null, i.[8]) as [8], iif(i.[9]=0,null, i.[9]) as [9], iif(i.[10]=0,null, i.[10]) as [10], iif(i.[11]=0,null, i.[11]) as [11], iif(i.[12]=0,null, i.[12]) as [12]
|
||||
from @hianyzasOssz ho pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))i where i.IgazoltE='T'
|
||||
|
||||
declare @igazolatlanH table (Csoport int, [1] int, [2] int, [3] int, [4] int, [5] int, [6] int, [7] int, [8] int, [9] int, [10] int,
|
||||
[11] int, [12] int)
|
||||
insert into @igazolatlanH
|
||||
select @csoportId, iif(ni.[1]=0,null, ni.[1]) as n1, iif(ni.[2]=0,null, ni.[2]) as n2, iif(ni.[3]=0,null, ni.[3]) as n3, iif(ni.[4]=0,null, ni.[4]) as n4, iif(ni.[5]=0,null, ni.[5]) as n5,iif(ni.[6]=0,null, ni.[6]) as n6,
|
||||
iif(ni.[7]=0,null, ni.[7]) as n7, iif(ni.[8]=0,null, ni.[8]) as n8, iif(ni.[9]=0,null, ni.[9]) as n9, iif(ni.[10]=0,null, ni.[10]) as n10, iif(ni.[11]=0,null, ni.[11]) as n11, iif(ni.[12]=0,null, ni.[12]) as n12
|
||||
from @hianyzasOssz ho pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))ni where ni.IgazoltE='F'
|
||||
|
||||
--Hiányzás (Mulasztott órák összesen)
|
||||
select iif(i.[1]=0,null, i.[1]) as [1], iif(i.[2]=0,null, i.[2]) as [2], iif(i.[3]=0,null, i.[3]) as [3], iif(i.[4]=0,null, i.[4]) as [4], iif(i.[5]=0,null, i.[5]) as [5],iif(i.[6]=0,null, i.[6]) as [6],
|
||||
iif(i.[7]=0,null, i.[7]) as [7], iif(i.[8]=0,null, i.[8]) as [8], iif(i.[9]=0,null, i.[9]) as [9], iif(i.[10]=0,null, i.[10]) as [10], iif(i.[11]=0,null, i.[11]) as [11], iif(i.[12]=0,null, i.[12]) as [12],
|
||||
iif(ni.[1]=0,null, ni.[1]) as n1, iif(ni.[2]=0,null, ni.[2]) as n2, iif(ni.[3]=0,null, ni.[3]) as n3, iif(ni.[4]=0,null, ni.[4]) as n4, iif(ni.[5]=0,null, ni.[5]) as n5,iif(ni.[6]=0,null, ni.[6]) as n6,
|
||||
iif(ni.[7]=0,null, ni.[7]) as n7, iif(ni.[8]=0,null, ni.[8]) as n8, iif(ni.[9]=0,null, ni.[9]) as n9, iif(ni.[10]=0,null, ni.[10]) as n10, iif(ni.[11]=0,null, ni.[11]) as n11, iif(ni.[12]=0,null, ni.[12]) as n12
|
||||
from @igazolth i
|
||||
left join @igazolatlanH ni on ni.Csoport=i.csoport
|
||||
|
||||
--Hiányzás (Mulasztó tanulók száma)
|
||||
declare @Igazolt table (Csoport Int, Osszes int)
|
||||
insert into @Igazolt
|
||||
select @csoportId as Id, count(Tanulo) as IgazoltOsszes from (select distinct tanulo from @hianyzas where IgazoltE='T')m
|
||||
|
||||
select i.Osszes IgazoltOsszes, ni.Osszes IgazolatlanOsszes from @Igazolt i
|
||||
left join (select @csoportId as Id, count(Tanulo) as Osszes from (select distinct tanulo from @hianyzas where IgazoltE='F')m) ni on ni.Id=i.Csoport
|
||||
|
||||
--Hiányzás (Mulasztott órák Összesen-Összesen)
|
||||
declare @IgazoltOsszesOsszes table (Csoport Int, Osszes int)
|
||||
insert into @IgazoltOsszesOsszes
|
||||
select @csoportId, count(IgazoltE) from @hianyzasOssz where IgazoltE='T'
|
||||
|
||||
select ioo.Osszes IgazoltOsszesOsszes, nioo.Osszes as IgazolatlanOsszesOsszes from @IgazoltOsszesOsszes ioo
|
||||
left join (select @csoportId as Id, count(IgazoltE) Osszes from @hianyzasOssz where IgazoltE='F') nioo on nioo.Id=ioo.Csoport
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,94 @@
|
|||
GO
|
||||
/****** Object: StoredProcedure [dbo].[sp_GetTantargyakElmaradtOraiTanaronkent] Script Date: 2016.01.28. 16:21:17 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
IF OBJECT_ID('[dbo].[sp_GetTantargyakElmaradtOraiTanaronkent]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTantargyakElmaradtOraiTanaronkent]
|
||||
END
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: <Kelemen Attila>
|
||||
-- Create date: <2016. 01. 07.>
|
||||
-- Description: <Elmaradt órák tanáronként, tantárgyanként>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetTantargyakElmaradtOraiTanaronkent]
|
||||
@tanevID int,
|
||||
@intezmenyId int
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
|
||||
select * from
|
||||
--Évfolyamonként
|
||||
(select
|
||||
T_FELHASZNALO_OSSZES.ID TanarID,
|
||||
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV TanarNev,
|
||||
T_TANTARGY_OSSZES.C_NEV Tantargy,
|
||||
|
||||
T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA Evfolyam,
|
||||
COUNT(T_TANITASIORA_OSSZES.ID) MegtartottOrak
|
||||
|
||||
FROM T_TANTARGY_OSSZES
|
||||
right 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
|
||||
INNER JOIN T_FOGLALKOZASOK_TANAROK ON T_FOGLALKOZAS_OSSZES.ID = T_FOGLALKOZASOK_TANAROK.C_FOGLALKOZASOKID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_FOGLALKOZASOK_TANAROK.C_TANAROKID
|
||||
|
||||
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_FOGLALKOZAS_OSSZES.C_FOGLALKOZASTIPUSA = 1339 --Tanórai foglalkozás
|
||||
|
||||
AND T_TANITASIORA_OSSZES.C_MEGTARTOTT='F'
|
||||
|
||||
AND T_TANTARGY_OSSZES.C_TANEVID = @tanevID
|
||||
AND T_TANTARGY_OSSZES.C_TANEVID = @intezmenyId
|
||||
|
||||
GROUP BY T_FELHASZNALO_OSSZES.ID, T_TANTARGY_OSSZES.C_NEV, T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA, T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
|
||||
|
||||
UNION
|
||||
--Összes
|
||||
select
|
||||
T_FELHASZNALO_OSSZES.ID TanarID,
|
||||
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV TanarNeve,
|
||||
T_TANTARGY_OSSZES.C_NEV Tantargy,
|
||||
|
||||
NULL Evfolyam,
|
||||
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
|
||||
INNER JOIN T_FOGLALKOZASOK_TANAROK ON T_FOGLALKOZAS_OSSZES.ID = T_FOGLALKOZASOK_TANAROK.C_FOGLALKOZASOKID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_FOGLALKOZASOK_TANAROK.C_TANAROKID
|
||||
|
||||
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
|
||||
AND T_TANTARGY_OSSZES.C_TANEVID = @intezmenyId
|
||||
AND T_FOGLALKOZAS_OSSZES.C_FOGLALKOZASTIPUSA = 1339 --Tanórai foglalkozás
|
||||
|
||||
GROUP BY T_FELHASZNALO_OSSZES.ID, T_TANTARGY_OSSZES.C_NEV, T_FELHASZNALO_OSSZES.C_NYOMTATASINEV) Orak
|
||||
|
||||
order by TanarNev, Tantargy, Evfolyam
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,960 @@
|
|||
IF OBJECT_ID('sp_ImportASC') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_ImportASC
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_ImportASC
|
||||
@importXml xml,
|
||||
@regiTorlese bit,
|
||||
-- @ttf bit,
|
||||
@ervenyessegMegadva bit,
|
||||
@feladatellatasiHelyId int,
|
||||
@tanevId int,
|
||||
@intezmenyId int,
|
||||
@userId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
SET XACT_ABORT ON
|
||||
|
||||
DECLARE @mukodsesiHely int
|
||||
|
||||
DECLARE @osztalyCsoport table (
|
||||
osztalyCsoportID nvarchar(32),
|
||||
nev nvarchar(100),
|
||||
osztalyCsoport varchar(2),
|
||||
id int
|
||||
)
|
||||
|
||||
INSERT INTO @osztalyCsoport (osztalyCsoportID, nev, osztalyCsoport)
|
||||
SELECT
|
||||
sor.value('(OsztalyId)[1]', 'nvarchar(32)') AS osztalcsoportId,
|
||||
sor.value('(Nev)[1]', 'varchar(100)') AS nev,
|
||||
'O'
|
||||
FROM @importXml.nodes('/AscImport/OsztalyLista/Osztaly') as sorok(sor)
|
||||
|
||||
INSERT INTO @osztalyCsoport (osztalyCsoportID, nev, osztalyCsoport)
|
||||
SELECT
|
||||
sor.value('(Id)[1]', 'nvarchar(32)') AS osztalcsoportId,
|
||||
sor.value('(Nev)[1]', 'varchar(100)') AS nev,
|
||||
'CS'
|
||||
FROM @importXml.nodes('/AscImport/CsoportLista/Csoport') as sorok(sor)
|
||||
|
||||
UPDATE x
|
||||
SET x.id = ocs.ID
|
||||
FROM @osztalyCsoport x
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON x.nev = ocs.C_NEV AND ocs.C_TANEVID = @tanevId
|
||||
WHERE ocs.TOROLT = 'F'
|
||||
|
||||
DECLARE @tantargy table (
|
||||
tantargyId nvarchar(32),
|
||||
nev nvarchar(100),
|
||||
osztalyCsoport varchar(2),
|
||||
id int
|
||||
)
|
||||
|
||||
INSERT INTO @tantargy (tantargyId, nev)
|
||||
SELECT
|
||||
sor.value('(TantargyId)[1]', 'nvarchar(32)') AS tantargyId,
|
||||
sor.value('(Nev)[1]', 'varchar(100)') AS nev
|
||||
FROM @importXml.nodes('/AscImport/TantargyLista/Tantargy') as sorok(sor)
|
||||
|
||||
UPDATE x
|
||||
SET x.id = t.ID
|
||||
FROM @tantargy x
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON x.nev = t.C_NEV AND t.C_TANEVID = @tanevId
|
||||
WHERE t.TOROLT = 'F'
|
||||
|
||||
/* TEREM temp TÁBLÁBA */
|
||||
DECLARE @terem TABLE (
|
||||
teremId nvarchar(32),
|
||||
nev nvarchar(255),
|
||||
kapacitas int,
|
||||
id int
|
||||
)
|
||||
|
||||
INSERT INTO @terem (teremId, nev, kapacitas)
|
||||
SELECT
|
||||
sor.value('(TeremId)[1]', 'nvarchar(32)') AS teremId,
|
||||
sor.value('(Nev)[1]', 'nvarchar(255)') AS nev,
|
||||
sor.value('(Kapacitas)[1]', 'int') AS kapacitas
|
||||
FROM @importXml.nodes('/AscImport/TeremLista/Terem') as sorok(sor)
|
||||
|
||||
|
||||
UPDATE x
|
||||
SET x.id = t.ID
|
||||
FROM @terem x
|
||||
INNER JOIN T_TEREM_OSSZES t ON x.nev = t.C_NEV AND t.C_TANEVID = @tanevId
|
||||
WHERE t.TOROLT = 'F'
|
||||
|
||||
/* HETIREND temp TÁBLÁBA */
|
||||
DECLARE @hetirend TABLE (
|
||||
hetirendId nvarchar(32),
|
||||
nev nvarchar(255),
|
||||
id int
|
||||
)
|
||||
|
||||
INSERT INTO @hetirend (hetirendId, nev)
|
||||
SELECT
|
||||
sor.value('(HetirendId)[1]', 'nvarchar(32)') AS hetirendId,
|
||||
sor.value('(Nev)[1]', 'nvarchar(255)') AS nev
|
||||
FROM @importXml.nodes('/AscImport/HetirendLista/Hetirend') as sorok(sor)
|
||||
|
||||
|
||||
UPDATE x
|
||||
SET x.id = d.ID
|
||||
FROM @hetirend x
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON x.nev = d.C_NAME AND d.C_TANEVID = @tanevId AND C_TYPE = 'HetiRendTipus'
|
||||
|
||||
/* CSENGETÉSIREND temp TÁBLÁBA */
|
||||
DECLARE @csengetesiRendOra TABLE (
|
||||
csengetesiRendOraId nvarchar(32),
|
||||
starttime time,
|
||||
endtime time,
|
||||
sorszam int,
|
||||
id int
|
||||
)
|
||||
|
||||
INSERT INTO @csengetesiRendOra (csengetesiRendOraId, starttime, endtime, sorszam)
|
||||
SELECT
|
||||
sor.value('(CsengetesiRendOraId)[1]', 'nvarchar(32)') AS csengetesiRendOraId,
|
||||
sor.value('(Starttime)[1]', 'time') AS starttime,
|
||||
sor.value('(Endtime)[1]', 'time') AS endtime,
|
||||
sor.value('(Sorszam)[1]', 'int') AS sorszam
|
||||
FROM @importXml.nodes('/AscImport/CsengetesiRendOraLista/CsengetesiRendOra') as sorok(sor)
|
||||
|
||||
UPDATE x
|
||||
SET x.id = cs.ID
|
||||
FROM @csengetesiRendOra x
|
||||
INNER JOIN T_CSENGETESIRENDORA_OSSZES cs ON x.sorszam = cs.C_ORASZAM AND cs.C_TANEVID = @tanevId
|
||||
WHERE cs.C_CSENGETESIRENDID = (SELECT MIN(ID) FROM T_CSENGETESIREND_OSSZES csr WHERE /*csr.C_IMPORTALT = 'T' AND*/ csr.C_TANEVID = @tanevId)
|
||||
|
||||
|
||||
DECLARE @tanar TABLE (
|
||||
tanarId nvarchar(32),
|
||||
nev nvarchar(100),
|
||||
id int
|
||||
)
|
||||
|
||||
INSERT INTO @tanar (tanarId, nev)
|
||||
SELECT
|
||||
sor.value('(Id)[1]', 'nvarchar(32)') AS tanarId,
|
||||
sor.value('(Nev)[1]', 'varchar(100)') AS tanarNev
|
||||
FROM @importXml.nodes('/AscImport/TanarLista/Tanar') as sorok(sor)
|
||||
|
||||
UPDATE x
|
||||
SET x.id = f.ID
|
||||
FROM @tanar x
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.C_NYOMTATASINEV = x.nev
|
||||
WHERE EXISTS (SELECT 1 FROM T_ALKALMAZOTT_OSSZES a WHERE a.ID = f.ID AND a.C_ALINTEZMENYID = f.C_INTEZMENYID AND a.C_ALTANEVID = f.C_TANEVID)
|
||||
AND C_TANEVID = @tanevId
|
||||
AND C_INTEZMENYID = @intezmenyId
|
||||
|
||||
|
||||
/* ÓRARENDIÓRA temp TÁBLÁBA */
|
||||
DECLARE @orarendiOra TABLE (
|
||||
teremID nvarchar(32),
|
||||
tanarID nvarchar(32),
|
||||
hetNapja nvarchar(10),
|
||||
hetirendID nvarchar(32),
|
||||
osztalyID nvarchar(32),
|
||||
csoportID nvarchar(32),
|
||||
tantargyID nvarchar(32),
|
||||
hetiOraszam float,
|
||||
sorszam int,
|
||||
ervenyessegKezdete datetime,
|
||||
ervenyessegVege datetime
|
||||
)
|
||||
|
||||
INSERT INTO @orarendiOra (
|
||||
teremID,
|
||||
tanarID,
|
||||
hetNapja,
|
||||
hetirendID,
|
||||
osztalyID,
|
||||
csoportID,
|
||||
tantargyID,
|
||||
hetiOraszam,
|
||||
sorszam,
|
||||
ervenyessegKezdete,
|
||||
ervenyessegVege
|
||||
)
|
||||
SELECT
|
||||
sor.value('(TeremId)[1]', 'nvarchar(32)') AS teremID,
|
||||
sor.value('(TanarId)[1]', 'nvarchar(32)') AS tanarID,
|
||||
sor.value('(HetNapja)[1]', 'nvarchar(10)') AS hetNapja,
|
||||
sor.value('(HetirendId)[1]', 'nvarchar(32)') AS hetirendID,
|
||||
NULLIF(sor.value('(OsztalyId)[1]', 'nvarchar(32)'), '') AS osztalyID,
|
||||
NULLIF(sor.value('(CsoportId)[1]', 'nvarchar(32)'), '') AS csoportID,
|
||||
sor.value('(TantargyId)[1]', 'nvarchar(32)') AS tantargyID,
|
||||
sor.value('(HetiOraszam)[1]', 'float') AS hetiOraszam,
|
||||
sor.value('(Sorszam)[1]', 'int') AS sorszam,
|
||||
sor.value('(ErvenyessegKezdete)[1]', 'datetime') AS ervenyessegKezdete,
|
||||
IIF(sor.value('(ErvenyessegVege)[1]', 'datetime') = '19000101', NULL, sor.value('(ErvenyessegVege)[1]', 'datetime')) AS ervenyessegVege
|
||||
FROM @importXml.nodes('/AscImport/OrarendiOraLista/OrarendiOra') as sorok(sor)
|
||||
|
||||
|
||||
DECLARE
|
||||
@utolsoTannap datetime
|
||||
,@utolsoTannapVegzos datetime
|
||||
|
||||
-- Utolsó tanitási nap
|
||||
SELECT @utolsoTannap = C_DATUM + 1
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
WHERE C_NAPTIPUSA = 1395
|
||||
AND C_INTEZMENYID = @intezmenyId
|
||||
AND C_TANEVID = @tanevId
|
||||
|
||||
-- Utolsó tanitási nap végzősöknek
|
||||
SELECT @utolsoTannapVegzos = C_DATUM + 1
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
WHERE C_NAPTIPUSA = 1402
|
||||
AND C_TANEVID = @tanevId
|
||||
AND C_INTEZMENYID = @intezmenyId
|
||||
|
||||
|
||||
UPDATE o
|
||||
SET ervenyessegVege = CASE WHEN ocsk.C_VEGZOSEVFOLYAM = 'F' THEN @utolsoTannap ELSE @utolsoTannapVegzos END
|
||||
FROM @orarendiOra o
|
||||
INNER JOIN @osztalyCsoport ocs ON o.osztalyID = ocs.osztalyCsoportID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocsk ON ocs.id = ocsk.ID
|
||||
WHERE ocs.osztalyCsoport = 'O'
|
||||
AND ervenyessegVege IS NULL
|
||||
AND ocsk.C_TANEVID = @tanevId
|
||||
|
||||
UPDATE @orarendiOra
|
||||
SET ervenyessegVege = @utolsoTannap
|
||||
WHERE ervenyessegVege IS NULL
|
||||
|
||||
DECLARE @linkTable TABLE (
|
||||
insertedID int, tempId nvarchar(32), act nvarchar(20)
|
||||
)
|
||||
|
||||
BEGIN TRY
|
||||
BEGIN TRANSACTION
|
||||
|
||||
SELECT @mukodsesiHely = MIN(ID) FROM T_MUKODESIHELY_OSSZES WHERE C_TANEVID = @tanevId
|
||||
|
||||
MERGE T_TEREM_OSSZES trg
|
||||
USING (
|
||||
SELECT * FROM @terem WHERE nev <> '-') src ON src.ID = trg.ID AND trg.C_TANEVID = @tanevId
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
trg.C_KAPACITAS = src.kapacitas
|
||||
,trg.SERIAL = trg.SERIAL + 1
|
||||
,trg.LASTCHANGED = GETDATE()
|
||||
,trg.MODIFIER = @userId
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
C_JELLEG
|
||||
,C_NEV
|
||||
,C_MUKODESIHELYID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) VALUES (
|
||||
181 -- osztályterem
|
||||
,src.nev
|
||||
,@mukodsesiHely
|
||||
,@intezmenyId
|
||||
,@tanevId
|
||||
,'F'
|
||||
,0
|
||||
,NULL
|
||||
,GETDATE()
|
||||
,@userId
|
||||
,@userId
|
||||
)
|
||||
OUTPUT INSERTED.ID, src.teremId, $action
|
||||
INTO @linkTable(insertedID, tempId, act);
|
||||
|
||||
UPDATE x
|
||||
SET x.id = y.insertedID
|
||||
FROM @terem x
|
||||
INNER JOIN @linkTable y ON x.teremId = y.tempId
|
||||
WHERE x.ID IS NULL
|
||||
|
||||
DELETE FROM @linktable
|
||||
|
||||
|
||||
SET @feladatellatasiHelyId = ISNULL(@feladatellatasiHelyId,
|
||||
(SELECT MIN(ID)
|
||||
FROM T_FELADATELLATASIHELY_OSSZES
|
||||
WHERE C_INTEZMENYID = @intezmenyID
|
||||
AND C_TANEVID = @tanevID)
|
||||
)
|
||||
|
||||
MERGE T_OSZTALYCSOPORT_OSSZES trg
|
||||
USING (SELECT * FROM @osztalyCsoport WHERE ID IS NULL) src ON 1 = 2
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
C_MEGJEGYZES
|
||||
,C_NEV
|
||||
,C_VEGZOSEVFOLYAM
|
||||
,C_EVFOLYAMTIPUSA
|
||||
,C_IMPORTALT
|
||||
,C_TERVEZETTLETSZAM
|
||||
,C_TEREMID
|
||||
,C_FELADATELLATASIHELYID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) VALUES (
|
||||
NULL -- C_MEGJEGYZES - nvarchar(255)
|
||||
,src.nev -- C_NEV - nvarchar(255)
|
||||
,'F' -- C_VEGZOSEVFOLYAM - char(1)
|
||||
,NULL -- C_EVFOLYAMTIPUSA - int
|
||||
,'T' -- C_IMPORTALT - char(1)
|
||||
,NULL -- C_TERVEZETTLETSZAM - int
|
||||
,NULL -- C_TEREMID - int
|
||||
,@feladatellatasiHelyId -- C_FELADATELLATASIHELYID - int
|
||||
,@intezmenyId -- C_INTEZMENYID - int
|
||||
,@tanevId -- C_TANEVID - int
|
||||
,'F' -- TOROLT - char(1)
|
||||
,0 -- SERIAL - int
|
||||
,GETDATE() -- LASTCHANGED - datetime
|
||||
,GETDATE() -- CREATED - datetime
|
||||
,@userId -- MODIFIER - int
|
||||
,@userId -- CREATOR - int
|
||||
)
|
||||
OUTPUT INSERTED.ID, src.osztalycsoportId, $action
|
||||
INTO @linkTable(insertedID, tempId, act);
|
||||
|
||||
UPDATE x
|
||||
SET x.id = y.insertedID
|
||||
FROM @osztalyCsoport x
|
||||
INNER JOIN @linkTable y ON x.osztalycsoportId = y.tempId
|
||||
WHERE x.ID IS NULL
|
||||
|
||||
|
||||
INSERT INTO T_OSZTALY_OSSZES (
|
||||
ID
|
||||
,C_KEPZESIFORMA
|
||||
,C_OSZTALYNAPLOLEIRASA
|
||||
,C_OSZTALYNAPLOMEGNYITASA
|
||||
,C_OSZTALYNAPLOZARASA
|
||||
,C_OSZTALYFONOKID
|
||||
,C_OFOHELYETTESID
|
||||
,C_TANTERVID
|
||||
,C_ALINTEZMENYID
|
||||
,C_ALTANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) SELECT
|
||||
x.id AS ID -- ID - int
|
||||
,1096 AS C_KEPZESIFORMA -- C_KEPZESIFORMA - int
|
||||
,NULL AS C_OSZTALYNAPLOLEIRASA -- C_OSZTALYNAPLOLEIRASA - nvarchar(MAX)
|
||||
,NULL AS C_OSZTALYNAPLOMEGNYITASA -- C_OSZTALYNAPLOMEGNYITASA - datetime
|
||||
,NULL AS C_OSZTALYNAPLOZARASA -- C_OSZTALYNAPLOZARASA - datetime
|
||||
,NULL AS C_OSZTALYFONOKID -- C_OSZTALYFONOKID - int
|
||||
,NULL AS C_OFOHELYETTESID -- C_OFOHELYETTESID - int
|
||||
,NULL AS C_TANTERVID -- C_TANTERVID - int
|
||||
,@intezmenyId AS C_ALINTEZMENYID -- C_ALINTEZMENYID - int
|
||||
,@tanevId AS C_ALTANEVID -- C_ALTANEVID - int
|
||||
,'F' AS TOROLT -- TOROLT - char(1)
|
||||
,0 AS SERIAL -- SERIAL - int
|
||||
,GETDATE() AS LASTCHANGED -- LASTCHANGED - datetime
|
||||
,GETDATE() AS CREATED -- CREATED - datetime
|
||||
,@userId AS MODIFIER -- MODIFIER - int
|
||||
,@userId AS CREATOR -- CREATOR - int
|
||||
FROM @osztalyCsoport x
|
||||
INNER JOIN @linktable y ON x.id = y.insertedID
|
||||
WHERE osztalyCsoport = 'O'
|
||||
|
||||
|
||||
INSERT INTO T_CSOPORT_OSSZES (
|
||||
ID
|
||||
,C_TIPUSA
|
||||
,C_CSOPORTNAPLOLEIRAS
|
||||
,C_CSOPORTNAPLOMEGNYITASA
|
||||
,C_CSOPORTNAPLOZARASA
|
||||
,C_CSOPORTVEZETOID
|
||||
,C_KIZAROCSOPORTID
|
||||
,C_OSZTALYBONTASID
|
||||
,C_ALINTEZMENYID
|
||||
,C_ALTANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) SELECT
|
||||
x.id AS ID -- ID - int
|
||||
,1031 AS C_TIPUSA -- C_TIPUSA - int
|
||||
,NULL AS C_CSOPORTNAPLOLEIRAS -- C_CSOPORTNAPLOLEIRAS - nvarchar(MAX)
|
||||
,NULL AS C_CSOPORTNAPLOMEGNYITASA -- C_CSOPORTNAPLOMEGNYITASA - datetime
|
||||
,NULL AS C_CSOPORTNAPLOZARASA -- C_CSOPORTNAPLOZARASA - datetime
|
||||
,NULL AS C_CSOPORTVEZETOID -- C_CSOPORTVEZETOID - int
|
||||
,NULL AS C_KIZAROCSOPORTID -- C_KIZAROCSOPORTID - int
|
||||
,NULL AS C_OSZTALYBONTASID -- C_OSZTALYBONTASID - int
|
||||
,@intezmenyId AS C_ALINTEZMENYID -- C_ALINTEZMENYID - int
|
||||
,@tanevId AS C_ALTANEVID -- C_ALTANEVID - int
|
||||
,'F' AS TOROLT -- TOROLT - char(1)
|
||||
,0 AS SERIAL -- SERIAL - int
|
||||
,GETDATE() AS LASTCHANGED -- LASTCHANGED - datetime
|
||||
,GETDATE() AS CREATED -- CREATED - datetime
|
||||
,@userId AS MODIFIER -- MODIFIER - int
|
||||
,@userId AS CREATOR -- CREATOR - int
|
||||
FROM @osztalyCsoport x
|
||||
INNER JOIN @linktable y ON x.id = y.insertedID
|
||||
WHERE osztalyCsoport = 'CS'
|
||||
|
||||
DELETE FROM @linktable
|
||||
|
||||
|
||||
MERGE T_TANTARGY_OSSZES trg
|
||||
USING (SELECT * FROM @tantargy WHERE ID IS NULL) src ON 1 = 2
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
C_GYAKORLATI
|
||||
,C_NEV
|
||||
,C_ROVIDNEV
|
||||
,C_TARGYKATEGORIA
|
||||
,C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
,C_NEVNYOMTATVANYBAN
|
||||
,C_TANORANKIVULI
|
||||
,C_IMPORTALT
|
||||
,C_FOTARGYE
|
||||
,C_FOTARGYID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) VALUES (
|
||||
'F' -- C_GYAKORLATI - char(1)
|
||||
,nev -- C_NEV - nvarchar(255)
|
||||
,LEFT(nev, 20) -- C_ROVIDNEV - nvarchar(20)
|
||||
,1197 -- C_TARGYKATEGORIA - int
|
||||
,NULL -- C_ALTANTARGYKENTNYOMTATVANYBAN - char(1)
|
||||
,NULL -- C_NEVNYOMTATVANYBAN - nvarchar(255)
|
||||
,'F' -- C_TANORANKIVULI - char(1)
|
||||
,'T' -- C_IMPORTALT - char(1)
|
||||
,'F' -- C_FOTARGYE - char(1)
|
||||
,NULL -- C_FOTARGYID - int
|
||||
,@intezmenyId -- C_INTEZMENYID - int
|
||||
,@tanevId -- C_TANEVID - int
|
||||
,'F' -- TOROLT - char(1)
|
||||
,0 -- SERIAL - int
|
||||
,GETDATE() -- LASTCHANGED - datetime
|
||||
,GETDATE() -- CREATED - datetime
|
||||
,@userId -- MODIFIER - int
|
||||
,@userId -- CREATOR - int
|
||||
)
|
||||
OUTPUT INSERTED.ID, src.tantargyId, $action
|
||||
INTO @linkTable(insertedID, tempId, act);
|
||||
|
||||
UPDATE x
|
||||
SET x.id = y.insertedID
|
||||
FROM @tantargy x
|
||||
INNER JOIN @linkTable y ON x.tantargyId = y.tempId
|
||||
WHERE x.ID IS NULL
|
||||
|
||||
|
||||
DELETE FROM @linktable
|
||||
|
||||
DECLARE @foglalkozas TABLE (
|
||||
foglalozasId int IDENTITY(1, 1)
|
||||
,tantargyId int
|
||||
,tanarId int
|
||||
,osztalyCsoportId int
|
||||
,hetiOraszam float
|
||||
,nev nvarchar(255)
|
||||
,id int
|
||||
)
|
||||
|
||||
INSERT INTO @foglalkozas (
|
||||
tantargyId
|
||||
,tanarId
|
||||
,osztalyCsoportId
|
||||
,hetiOraszam
|
||||
,nev
|
||||
,id
|
||||
) SELECT
|
||||
tt.ID
|
||||
,fh.ID
|
||||
,ISNULL(cs.ID, o.ID)
|
||||
,oraszam
|
||||
,tt.nev + ' - ' + ISNULL(cs.nev, o.nev) + ' - ' + x.tanar AS nev
|
||||
,x.existItemId AS id
|
||||
FROM (
|
||||
SELECT
|
||||
NULLIF(sor.value('(osztaly)[1]', 'nvarchar(32)'), '') AS osztaly
|
||||
,NULLIF(sor.value('(csoport)[1]', 'nvarchar(32)'), '') AS csoport
|
||||
,sor.value('(tantargy)[1]', 'nvarchar(32)') AS tantargy
|
||||
,sor.value('(oraszam)[1]', 'float') AS oraszam
|
||||
,sor.value('(tanar)[1]', 'nvarchar(32)') AS tanar
|
||||
,NULLIF(sor.value('(existItemId)[1]', 'nvarchar(32)'), 0) AS existItemId
|
||||
FROM @importXml.nodes('/AscImport/TantargyfelosztasLista/Tantargyfelosztas') as sorok(sor)
|
||||
) x
|
||||
LEFT JOIN @osztalyCsoport cs ON cs.nev = x.csoport
|
||||
LEFT JOIN @osztalyCsoport o ON o.nev = x.osztaly
|
||||
INNER JOIN @tantargy tt ON tt.nev = x.tantargy
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.C_NYOMTATASINEV = x.tanar AND fh.C_TANEVID = @tanevId
|
||||
WHERE EXISTS (SELECT 1 FROM T_ALKALMAZOTT_OSSZES a WHERE a.ID = fh.ID AND a.C_ALTANEVID = fh.C_TANEVID)
|
||||
|
||||
|
||||
/* Az importtal bekerült foglalkozások beszúrása */
|
||||
MERGE T_FOGLALKOZAS_OSSZES trg
|
||||
USING (select * FROM @foglalkozas WHERE ID IS NULL) src ON 1 = 2
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
C_FOGLALKOZASTIPUSA
|
||||
,C_ORASZAM
|
||||
,C_NEV
|
||||
,C_ERTEKELESKELL
|
||||
,C_MULASZTASKELL
|
||||
,C_TANARFELVEHETI
|
||||
,C_IMPORTALT
|
||||
,C_TANTARGYID
|
||||
,C_OSZTALYCSOPORTID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) VALUES (
|
||||
1338 -- C_FOGLALKOZASTIPUSA - int
|
||||
,hetiOraszam -- C_ORASZAM - numeric(10, 2)
|
||||
,nev -- C_NEV - nvarchar(255)
|
||||
,'T' -- C_ERTEKELESKELL - char(1)
|
||||
,'T' -- C_MULASZTASKELL - char(1)
|
||||
,'T' -- C_TANARFELVEHETI - char(1)
|
||||
,'T' -- C_IMPORTALT - char(1)
|
||||
,tantargyId -- C_TANTARGYID - int
|
||||
,osztalyCsoportId -- C_OSZTALYCSOPORTID - int
|
||||
,@intezmenyId -- C_INTEZMENYID - int
|
||||
,@tanevId -- C_TANEVID - int
|
||||
,'F' -- TOROLT - char(1)
|
||||
,0 -- SERIAL - int
|
||||
,GETDATE() -- LASTCHANGED - datetime
|
||||
,GETDATE() -- CREATED - datetime
|
||||
,@userId -- MODIFIER - int
|
||||
,@userId -- CREATOR - int
|
||||
)
|
||||
OUTPUT INSERTED.ID, src.foglalozasId, $action
|
||||
INTO @linkTable(insertedID, tempId, act);
|
||||
|
||||
UPDATE x
|
||||
SET x.id = y.insertedID
|
||||
FROM @foglalkozas x
|
||||
INNER JOIN @linkTable y ON x.foglalozasId = y.tempId
|
||||
WHERE x.ID IS NULL
|
||||
|
||||
DELETE FROM @linktable
|
||||
|
||||
INSERT INTO T_FOGLALKOZASOK_TANAROK (
|
||||
C_FOGLALKOZASOKID
|
||||
,C_TANAROKID
|
||||
) SELECT
|
||||
id AS C_FOGLALKOZASOKID -- C_FOGLALKOZASOKID - int
|
||||
,tanarId AS C_TANAROKID -- C_TANAROKID - int
|
||||
FROM @foglalkozas f
|
||||
WHERE id IS NOT NULL
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZASOK_TANAROK ft WHERE f.ID = ft.C_FOGLALKOZASOKID)
|
||||
|
||||
|
||||
/* Az importtal bekerült foglalkozások beszúrása */
|
||||
INSERT INTO @foglalkozas (
|
||||
tantargyId
|
||||
,tanarId
|
||||
,osztalyCsoportId
|
||||
,hetiOraszam
|
||||
,nev
|
||||
,id
|
||||
) SELECT
|
||||
tt.id AS tantargyId
|
||||
,a.id AS tanarId
|
||||
,ocs.id AS osztalyCsoportId
|
||||
,COUNT(1) AS hetiOraszam
|
||||
,MIN(tt.nev) + ' - ' + MIN(ocs.nev) + ' - ' + MIN(a.nev) AS nev
|
||||
,MIN(ff.ID) AS id
|
||||
FROM @orarendiOra o
|
||||
INNER JOIN @tanar a ON a.tanarID = o.tanarID
|
||||
INNER JOIN @tantargy tt ON tt.tantargyID = o.tantargyID
|
||||
INNER JOIN @osztalyCsoport ocs ON (ocs.osztalyCsoportID = o.CsoportId AND ocs.osztalyCsoport = 'CS') --OR (ocs.osztalyCsoportID = o.OsztalyId AND ocs.osztalyCsoport = 'O')
|
||||
LEFT JOIN (
|
||||
SELECT f.ID, f.C_TANTARGYID, f.C_OSZTALYCSOPORTID, ft.C_TANAROKID
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON ft.C_FOGLALKOZASOKID = f.ID
|
||||
WHERE f.TOROLT = 'F'
|
||||
AND f.C_TANEVID = @tanevId
|
||||
) ff
|
||||
ON ff.C_TANTARGYID = tt.ID
|
||||
AND ff.C_TANAROKID = a.ID
|
||||
AND ff.C_OSZTALYCSOPORTID = ocs.ID
|
||||
GROUP BY tt.id, a.id, ocs.id
|
||||
|
||||
INSERT INTO @foglalkozas (
|
||||
tantargyId
|
||||
,tanarId
|
||||
,osztalyCsoportId
|
||||
,hetiOraszam
|
||||
,nev
|
||||
,id
|
||||
) SELECT
|
||||
tt.id AS tantargyId
|
||||
,a.id AS tanarId
|
||||
,ocs.id AS osztalyCsoportId
|
||||
,COUNT(1) AS hetiOraszam
|
||||
,MIN(tt.nev) + ' - ' + MIN(ocs.nev) + ' - ' + MIN(a.nev) AS nev
|
||||
,MIN(ff.ID) AS id
|
||||
FROM @orarendiOra o
|
||||
INNER JOIN @tanar a ON a.tanarID = o.tanarID
|
||||
INNER JOIN @tantargy tt ON tt.tantargyID = o.tantargyID
|
||||
INNER JOIN @osztalyCsoport ocs ON (ocs.osztalyCsoportID = o.OsztalyId AND ocs.osztalyCsoport = 'O') AND o.csoportId IS NULL --OR (ocs.osztalyCsoportID = o.OsztalyId AND ocs.osztalyCsoport = 'O')
|
||||
LEFT JOIN (
|
||||
SELECT f.ID, f.C_TANTARGYID, f.C_OSZTALYCSOPORTID, ft.C_TANAROKID
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON ft.C_FOGLALKOZASOKID = f.ID
|
||||
WHERE f.TOROLT = 'F' AND f.C_TANEVID = @tanevId
|
||||
) ff ON ff.C_TANTARGYID = tt.ID
|
||||
AND ff.C_TANAROKID = a.ID
|
||||
AND ff.C_OSZTALYCSOPORTID = ocs.ID
|
||||
GROUP BY tt.id, a.id, ocs.id
|
||||
|
||||
/* Az órarendi órából keletkező foglalkozások beszúrása */
|
||||
MERGE T_FOGLALKOZAS_OSSZES trg
|
||||
USING (SELECT * FROM @foglalkozas WHERE ID IS NULL) src ON 1 = 2
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
C_FOGLALKOZASTIPUSA
|
||||
,C_ORASZAM
|
||||
,C_NEV
|
||||
,C_ERTEKELESKELL
|
||||
,C_MULASZTASKELL
|
||||
,C_TANARFELVEHETI
|
||||
,C_IMPORTALT
|
||||
,C_TANTARGYID
|
||||
,C_OSZTALYCSOPORTID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) VALUES (
|
||||
1338 -- C_FOGLALKOZASTIPUSA - int
|
||||
,hetiOraszam -- C_ORASZAM - numeric(10, 2)
|
||||
,nev -- C_NEV - nvarchar(255)
|
||||
,'T' -- C_ERTEKELESKELL - char(1)
|
||||
,'T' -- C_MULASZTASKELL - char(1)
|
||||
,'T' -- C_TANARFELVEHETI - char(1)
|
||||
,'T' -- C_IMPORTALT - char(1)
|
||||
,tantargyId -- C_TANTARGYID - int
|
||||
,osztalyCsoportId -- C_OSZTALYCSOPORTID - int
|
||||
,@intezmenyId -- C_INTEZMENYID - int
|
||||
,@tanevId -- C_TANEVID - int
|
||||
,'F' -- TOROLT - char(1)
|
||||
,0 -- SERIAL - int
|
||||
,GETDATE() -- LASTCHANGED - datetime
|
||||
,GETDATE() -- CREATED - datetime
|
||||
,@userId -- MODIFIER - int
|
||||
,@userId -- CREATOR - int
|
||||
)
|
||||
OUTPUT INSERTED.ID, src.foglalozasId, $action
|
||||
INTO @linkTable(insertedID, tempId, act);
|
||||
|
||||
UPDATE x
|
||||
SET x.id = y.insertedID
|
||||
FROM @foglalkozas x
|
||||
INNER JOIN @linkTable y ON x.foglalozasId = y.tempId
|
||||
WHERE x.ID IS NULL
|
||||
|
||||
|
||||
DELETE FROM @linktable
|
||||
|
||||
INSERT INTO T_FOGLALKOZASOK_TANAROK (
|
||||
C_FOGLALKOZASOKID
|
||||
,C_TANAROKID
|
||||
) SELECT
|
||||
id AS C_FOGLALKOZASOKID -- C_FOGLALKOZASOKID - int
|
||||
,tanarId AS C_TANAROKID -- C_TANAROKID - int
|
||||
FROM @foglalkozas f
|
||||
WHERE id IS NOT NULL
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZASOK_TANAROK ft WHERE f.ID = ft.C_FOGLALKOZASOKID)
|
||||
|
||||
/* T_HETIRENDTIPUS INSERT */
|
||||
SELECT @mukodsesiHely = MIN(ID) FROM T_MUKODESIHELY_OSSZES WHERE C_TANEVID = @tanevId
|
||||
MERGE T_DICTIONARYITEMBASE_OSSZES trg
|
||||
USING @hetirend src ON src.ID = trg.ID AND trg.C_INTEZMENYID = @intezmenyid AND trg.C_TANEVID = @tanevId
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
C_VALUE
|
||||
,C_NAME
|
||||
,C_VISIBLE
|
||||
,C_TYPE
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) VALUES (
|
||||
0
|
||||
,src.nev + ' (importálva: ' + CONVERT(varchar(20), GETDATE(), 120) + ')'
|
||||
,'T'
|
||||
,'HetirendTipus'
|
||||
,@intezmenyID
|
||||
,@tanevID
|
||||
,'F'
|
||||
,0
|
||||
,NULL
|
||||
,GETDATE()
|
||||
,NULL
|
||||
,@userId
|
||||
)
|
||||
OUTPUT INSERTED.ID, src.hetirendID, $action
|
||||
INTO @linkTable(insertedID, tempId, act);
|
||||
|
||||
UPDATE x
|
||||
SET x.id = y.insertedID
|
||||
FROM @hetirend x
|
||||
INNER JOIN @linkTable y ON x.hetirendId = y.tempId
|
||||
WHERE x.ID IS NULL;
|
||||
|
||||
INSERT INTO T_HETIRENDTIPUS_OSSZES (
|
||||
ID
|
||||
,C_ALINTEZMENYID
|
||||
,C_ALTANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) SELECT
|
||||
x.ID AS ID -- ID - int
|
||||
,@intezmenyId AS C_ALINTEZMENYID -- C_ALINTEZMENYID - int
|
||||
,@tanevId AS C_ALTANEVID -- C_ALTANEVID - int
|
||||
,'F' AS TOROLT -- TOROLT - char(1)
|
||||
,0 AS SERIAL -- SERIAL - int
|
||||
,NULL AS LASTCHANGED -- LASTCHANGED - datetime
|
||||
,GETDATE() AS CREATED -- CREATED - datetime
|
||||
,NULL AS MODIFIER -- MODIFIER - int
|
||||
,@userId AS CREATOR -- CREATOR - int
|
||||
FROM @hetirend x
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_HETIRENDTIPUS_OSSZES ht WHERE ht.ID = x.ID AND C_ALTANEVID = @tanevId)
|
||||
|
||||
DECLARE @ids TABLE (
|
||||
id int
|
||||
)
|
||||
|
||||
DECLARE @ervenyessegKezdete datetime
|
||||
|
||||
/* T_ORARENDIORA INSERT */
|
||||
IF @regiTorlese = 1 BEGIN
|
||||
SELECT TOP(1) @ervenyessegKezdete = ervenyessegKezdete
|
||||
FROM @orarendiOra
|
||||
|
||||
IF @ervenyessegMegadva = 1 BEGIN
|
||||
UPDATE T_ORARENDIORA_OSSZES
|
||||
SET
|
||||
C_ORAERVENYESSEGVEGE = @ervenyessegKezdete
|
||||
,SERIAL += 1
|
||||
,LASTCHANGED = GETDATE()
|
||||
,MODIFIER = @userId
|
||||
WHERE C_ORAERVENYESSEGVEGE > @ervenyessegKezdete
|
||||
AND C_TANEVID = @tanevId
|
||||
AND C_ORAERVENYESSEGVEGE <> C_ORAERVENYESSEGKEZDETE
|
||||
AND TOROLT = 'F'
|
||||
AND C_ORAERVENYESSEGKEZDETE < @ervenyessegKezdete
|
||||
END
|
||||
ELSE BEGIN
|
||||
UPDATE T_ORARENDIORA_OSSZES
|
||||
SET TOROLT = 'T'
|
||||
,SERIAL += 1
|
||||
,LASTCHANGED = GETDATE()
|
||||
,MODIFIER = @userId
|
||||
WHERE TOROLT = 'F'
|
||||
AND C_TANEVID = @tanevId
|
||||
AND C_ORAERVENYESSEGVEGE <> C_ORAERVENYESSEGKEZDETE
|
||||
END
|
||||
END
|
||||
|
||||
DECLARE @csengetesiRendId int
|
||||
SELECT @csengetesiRendId = ID FROM T_CSENGETESIREND_OSSZES WHERE C_AKTIV = 'T' AND C_TANEVID = @tanevId
|
||||
|
||||
INSERT INTO T_ORARENDIORA_OSSZES (
|
||||
C_HETIREND
|
||||
,C_HETNAPJA
|
||||
,C_ORASZAM
|
||||
,C_ORAERVENYESSEGKEZDETE
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,C_BONTOTT
|
||||
,C_ORAERVENYESSEGVEGE
|
||||
,C_ORAKEZDETE
|
||||
,C_ORAVEGE
|
||||
,C_TEREMID
|
||||
,C_FOGLALKOZASID
|
||||
,C_CSENGETESIRENDORAID
|
||||
,C_TANTARGYID
|
||||
,C_OSZTALYCSOPORTID
|
||||
,C_TANARID
|
||||
,C_ORATULAJDONOSID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
,C_IMPORTALT
|
||||
) SELECT --'T_ORARENDIORA',
|
||||
h.id AS C_HETIREND
|
||||
,CASE o.hetNapja
|
||||
WHEN 'Hétfő' THEN 1408
|
||||
WHEN 'Kedd' THEN 1409
|
||||
WHEN 'Szerda' THEN 1410
|
||||
WHEN 'Csütörtök' THEN 1411
|
||||
WHEN 'Péntek' THEN 1412
|
||||
WHEN 'Szombat' THEN 1413
|
||||
WHEN 'Vasárnap' THEN 1414
|
||||
ELSE 1407
|
||||
END AS C_HETNAPJA -- ?
|
||||
,csro.C_ORASZAM AS C_ORASZAM
|
||||
,o.ervenyessegKezdete AS C_ORAERVENYESSEGKEZDETE
|
||||
,@intezmenyID AS C_INTEZMENYID
|
||||
,@tanevId AS C_TANEVID
|
||||
,'F' AS C_BONTOTT
|
||||
,o.ervenyessegVege AS C_ORAERVENYESSEGVEGE
|
||||
,NULL AS C_ORAKEZDETE
|
||||
,NULL AS C_ORAVEGE
|
||||
,t.id AS C_TEREMID
|
||||
,ff.ID AS C_FOGLALKOZASID -- ?
|
||||
,csro.ID AS C_CSENGETESIRENDORAID
|
||||
,tt.ID AS C_TANTARGYID -- ?
|
||||
,oszt.ID AS C_OSZTALYCSOPORTID -- ?
|
||||
,a.ID AS C_TANARID -- ?
|
||||
,@userId AS C_ORATULAJDONOSID -- ?
|
||||
,'F' AS TOROLT
|
||||
,0 AS SERIAL
|
||||
,NULL AS LASTCHANGED
|
||||
,GETDATE() AS CREATED
|
||||
,NULL AS MODIFIER
|
||||
,@userId AS CREATOR
|
||||
,'T' AS C_IMPORTALT
|
||||
FROM @orarendiOra o
|
||||
INNER JOIN @terem t ON t.teremID = o.teremID
|
||||
INNER JOIN @tanar a ON a.tanarID = o.tanarID
|
||||
INNER JOIN @tantargy tt ON tt.tantargyID = o.tantargyID
|
||||
INNER JOIN @osztalyCsoport oszt ON oszt.osztalyCsoportID = o.OsztalyId AND oszt.osztalyCsoport = 'O' AND o.csoportId IS NULL
|
||||
INNER JOIN (
|
||||
SELECT f.ID, f.C_TANTARGYID, f.C_OSZTALYCSOPORTID, ft.C_TANAROKID
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON ft.C_FOGLALKOZASOKID = f.ID
|
||||
WHERE f.TOROLT = 'F' AND f.C_TANEVID = @tanevId
|
||||
) ff ON ff.C_TANTARGYID = tt.ID AND ff.C_TANAROKID = a.ID AND ff.C_OSZTALYCSOPORTID = oszt.ID--ISNULL(cs.ID, oszt.ID)
|
||||
INNER JOIN @hetirend h ON o.hetirendID = h.hetirendId
|
||||
INNER JOIN T_CSENGETESIRENDORA_OSSZES csro ON csro.C_ORASZAM = o.sorszam AND csro.C_CSENGETESIRENDID = @csengetesiRendId;
|
||||
|
||||
INSERT INTO T_ORARENDIORA_OSSZES (
|
||||
C_HETIREND
|
||||
,C_HETNAPJA
|
||||
,C_ORASZAM
|
||||
,C_ORAERVENYESSEGKEZDETE
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,C_BONTOTT
|
||||
,C_ORAERVENYESSEGVEGE
|
||||
,C_ORAKEZDETE
|
||||
,C_ORAVEGE
|
||||
,C_TEREMID
|
||||
,C_FOGLALKOZASID
|
||||
,C_CSENGETESIRENDORAID
|
||||
,C_TANTARGYID
|
||||
,C_OSZTALYCSOPORTID
|
||||
,C_TANARID
|
||||
,C_ORATULAJDONOSID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
,C_IMPORTALT
|
||||
) SELECT --'T_ORARENDIORA',
|
||||
h.id AS C_HETIREND
|
||||
,CASE o.hetNapja
|
||||
WHEN 'Hétfő' THEN 1408
|
||||
WHEN 'Kedd' THEN 1409
|
||||
WHEN 'Szerda' THEN 1410
|
||||
WHEN 'Csütörtök' THEN 1411
|
||||
WHEN 'Péntek' THEN 1412
|
||||
WHEN 'Szombat' THEN 1413
|
||||
WHEN 'Vasárnap' THEN 1414
|
||||
ELSE 1407
|
||||
END AS C_HETNAPJA -- ?
|
||||
,csro.C_ORASZAM AS C_ORASZAM
|
||||
,o.ervenyessegKezdete AS C_ORAERVENYESSEGKEZDETE
|
||||
,@intezmenyID AS C_INTEZMENYID
|
||||
,@tanevId AS C_TANEVID
|
||||
,'F' AS C_BONTOTT
|
||||
,o.ervenyessegVege AS C_ORAERVENYESSEGVEGE
|
||||
,NULL AS C_ORAKEZDETE
|
||||
,NULL AS C_ORAVEGE
|
||||
,t.id AS C_TEREMID
|
||||
,ff.ID AS C_FOGLALKOZASID -- ?
|
||||
,csro.ID AS C_CSENGETESIRENDORAID
|
||||
,tt.ID AS C_TANTARGYID -- ?
|
||||
,cs.ID AS C_OSZTALYCSOPORTID -- ?
|
||||
,a.ID AS C_TANARID -- ?
|
||||
,@userId AS C_ORATULAJDONOSID -- ?
|
||||
,'F' AS TOROLT
|
||||
,0 AS SERIAL
|
||||
,NULL AS LASTCHANGED
|
||||
,GETDATE() AS CREATED
|
||||
,NULL AS MODIFIER
|
||||
,@userId AS CREATOR
|
||||
,'T' AS C_IMPORTALT
|
||||
FROM @orarendiOra o
|
||||
INNER JOIN @terem t ON t.teremID = o.teremID
|
||||
INNER JOIN @tanar a ON a.tanarID = o.tanarID
|
||||
INNER JOIN @tantargy tt ON tt.tantargyID = o.tantargyID
|
||||
INNER JOIN @osztalyCsoport cs ON cs.osztalyCsoportID = o.CsoportId AND cs.osztalyCsoport = 'CS'
|
||||
INNER JOIN (
|
||||
SELECT f.ID, f.C_TANTARGYID, f.C_OSZTALYCSOPORTID, ft.C_TANAROKID
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON ft.C_FOGLALKOZASOKID = f.ID
|
||||
WHERE f.TOROLT = 'F' AND f.C_TANEVID = @tanevId
|
||||
) ff ON ff.C_TANTARGYID = tt.ID AND ff.C_TANAROKID = a.ID AND ff.C_OSZTALYCSOPORTID = cs.ID
|
||||
INNER JOIN @hetirend h ON o.hetirendID = h.hetirendId
|
||||
INNER JOIN T_CSENGETESIRENDORA_OSSZES csro ON csro.C_ORASZAM = o.sorszam AND csro.C_CSENGETESIRENDID = @csengetesiRendId;
|
||||
|
||||
COMMIT TRANSACTION
|
||||
-- ROLLBACK TRANSACTION
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0
|
||||
ROLLBACK TRANSACTION;
|
||||
THROW
|
||||
END CATCH
|
||||
END
|
||||
GO
|
||||
|
||||
|
|
@ -0,0 +1,442 @@
|
|||
IF OBJECT_ID('sp_ImportTantargyFelosztas', 'P') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_ImportTantargyFelosztas
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_ImportTantargyFelosztas
|
||||
@importXml xml,
|
||||
@tanevId int,
|
||||
@feladatellatasiHelyId int,
|
||||
@intezmenyId int,
|
||||
@userId int
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT ON;
|
||||
|
||||
DECLARE
|
||||
@root int
|
||||
|
||||
DECLARE @tbl TABLE (
|
||||
osztalyID int,
|
||||
osztalyNev nvarchar(255),
|
||||
csoportID int,
|
||||
csoportNev nvarchar(255),
|
||||
tantargyID int,
|
||||
tantargyNev nvarchar(255),
|
||||
oraszam float,
|
||||
tanarID int,
|
||||
tanarNev nvarchar(255),
|
||||
szulDatum datetime,
|
||||
foglalkozasID int,
|
||||
existItemId int
|
||||
)
|
||||
|
||||
SET @root = @importXml.exist('/TantargyfelosztasImport')
|
||||
|
||||
--SELECT @importXml;
|
||||
|
||||
IF @root = 1 BEGIN
|
||||
INSERT INTO @tbl
|
||||
SELECT
|
||||
NULL AS osztalyID,
|
||||
sor.value('(osztaly)[1]', 'nvarchar(255)') AS osztalyNev,
|
||||
NULL AS csoportID,
|
||||
sor.value('(csoport)[1]', 'nvarchar(255)') AS csoportNev,
|
||||
NULL AS tantargyID,
|
||||
sor.value('(tantargy)[1]', 'nvarchar(255)') AS tantargyNev,
|
||||
sor.value('(oraszam)[1]', 'float') AS oraszam,
|
||||
NULL AS tanarID,
|
||||
sor.value('(tanar)[1]', 'nvarchar(255)') AS tanarNev,
|
||||
sor.value('(szuldatum)[1]', 'varchar(10)')AS szulDatum,
|
||||
NULL AS foglalkozasID,
|
||||
sor.value('(existItemId)[1]', 'int') AS existItemId
|
||||
FROM @importXml.nodes('/TantargyfelosztasImport/TantargyfelosztasLista/Tantargyfelosztas') as sorok(sor)
|
||||
END
|
||||
ELSE BEGIN
|
||||
INSERT INTO @tbl
|
||||
SELECT
|
||||
NULL AS osztalyID,
|
||||
sor.value('(osztaly)[1]', 'nvarchar(255)') AS osztalyNev,
|
||||
NULL AS csoportID,
|
||||
sor.value('(csoport)[1]', 'nvarchar(255)') AS csoportNev,
|
||||
NULL AS tantargyID,
|
||||
sor.value('(tantargy)[1]', 'nvarchar(255)') AS tantargyNev,
|
||||
sor.value('(oraszam)[1]', 'float') AS oraszam,
|
||||
NULL AS tanarID,
|
||||
sor.value('(tanar)[1]', 'nvarchar(255)') AS tanarNev,
|
||||
sor.value('(szuldatum)[1]', 'varchar(10)')AS szulDatum,
|
||||
NULL AS foglalkozasID,
|
||||
sor.value('(existItemId)[1]', 'int') AS existItemId
|
||||
FROM @importXml.nodes('/TantargyfelosztasLista/Tantargyfelosztas') as sorok(sor)
|
||||
END
|
||||
|
||||
BEGIN TRY
|
||||
BEGIN TRAN
|
||||
|
||||
|
||||
UPDATE t
|
||||
SET t.C_IMPORTALT = 'T'
|
||||
FROM T_TANTARGY_OSSZES AS t
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES fo ON t.ID = fo.C_TANTARGYID AND fo.C_TANEVID = t.C_TANEVID
|
||||
WHERE fo.ID IN (SELECT existItemId FROM @tbl WHERE existItemId <> 0)
|
||||
AND t.C_TANEVID = @tanevId
|
||||
|
||||
|
||||
UPDATE ocs
|
||||
SET ocs.C_IMPORTALT = 'T'
|
||||
FROM T_OSZTALYCSOPORT_OSSZES AS ocs
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES fo ON ocs.ID = fo.C_OSZTALYCSOPORTID AND ocs.C_TANEVID = fo.C_TANEVID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = fo.C_TANTARGYID AND t.C_TANEVID = fo.C_TANEVID
|
||||
WHERE fo.ID IN (SELECT existItemId FROM @tbl WHERE existItemId <> 0)
|
||||
AND ocs.C_TANEVID = @tanevId
|
||||
|
||||
UPDATE fo
|
||||
SET fo.C_IMPORTALT = 'T'
|
||||
FROM T_FOGLALKOZAS_OSSZES AS fo
|
||||
where fo.ID IN (SELECT existItemId FROM @tbl WHERE existItemId <> 0)
|
||||
AND fo.C_TANEVID = @tanevId
|
||||
|
||||
|
||||
/*TÖRÖLJÜK AZ IMPORTÁLTakat*/
|
||||
EXEC sp_DeleteAllTTF @feladatellatasiHelyId = @feladatellatasiHelyId, @tanevId = @tanevId
|
||||
|
||||
UPDATE f
|
||||
SET
|
||||
f.C_ORASZAM = temp.oraszam
|
||||
,f.C_IMPORTALT = 'T'
|
||||
,f.SERIAL += 1
|
||||
,f.LASTCHANGED = GETDATE()
|
||||
,f.MODIFIER = @userId
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN @tbl temp ON f.C_NEV = temp.tantargyNev + ' - ' + ISNULL(temp.csoportNev, temp.osztalyNev) + ' - ' + temp.tanarNev
|
||||
WHERE f.C_INTEZMENYID = @intezmenyId
|
||||
AND f.C_TANEVID = @tanevId
|
||||
AND f.TOROLT = 'F'
|
||||
|
||||
|
||||
UPDATE o
|
||||
SET o.tanarID = fh.ID
|
||||
FROM @tbl o
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.C_NYOMTATASINEV = o.tanarNev AND fh.C_SZULETESIDATUM = ISNULL(o.szulDatum, fh.C_SZULETESIDATUM)
|
||||
INNER JOIN T_ALKALMAZOTT_OSSZES a ON fh.ID = a.ID
|
||||
WHERE fh.C_TANEVID = @tanevId
|
||||
|
||||
|
||||
|
||||
/*töltjük a tantárgyakat*/
|
||||
INSERT INTO T_TANTARGY_OSSZES (
|
||||
C_GYAKORLATI
|
||||
,C_NEV
|
||||
,C_ROVIDNEV
|
||||
,C_TARGYKATEGORIA
|
||||
,C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
,C_NEVNYOMTATVANYBAN
|
||||
,C_TANORANKIVULI
|
||||
,C_FOTARGYID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
,C_IMPORTALT
|
||||
) SELECT DISTINCT
|
||||
'F' AS C_GYAKORLATI -- C_GYAKORLATI - char(1)
|
||||
,o.tantargyNev AS C_NEV -- C_NEV - nvarchar(255)
|
||||
,LEFT(o.tantargyNev, 20) AS C_ROVIDNEV -- C_ROVIDNEV - nvarchar(20)
|
||||
,1197 AS C_TARGYKATEGORIA /*Na*/ -- C_TARGYKATEGORIA - int
|
||||
,NULL AS C_ALTANTARGYKENTNYOMTATVANYBAN -- C_ALTANTARGYKENTNYOMTATVANYBAN - char(1)
|
||||
,NULL AS C_NEVNYOMTATVANYBAN -- C_NEVNYOMTATVANYBAN - nvarchar(255)
|
||||
,'F' AS C_TANORANKIVULI -- C_TANORANKIVULI - char(1)
|
||||
,NULL AS C_FOTARGYID -- C_FOTARGYID - int
|
||||
,@intezmenyId AS C_INTEZMENYID
|
||||
,@tanevId AS C_TANEVID
|
||||
,'F' AS TOROLT -- TOROLT - char(1)
|
||||
,0 AS SERIAL -- SERIAL - int
|
||||
,NULL AS LASTCHANGED -- LASTCHANGED - datetime
|
||||
,GETDATE() AS CREATED -- CREATED - datetime
|
||||
,NULL AS MODIFIER -- MODIFIER - int
|
||||
,@userId AS CREATOR -- CREATOR - int
|
||||
,'T' AS C_IMPORTALT -- C_IMPORTALT char(1)
|
||||
FROM @tbl o
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_TANTARGY_OSSZES WHERE C_NEV = o.tantargyNev AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
|
||||
UPDATE o
|
||||
SET o.tantargyID = t.ID
|
||||
FROM @tbl o
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.C_NEV = o.tantargyNev AND t.C_TANEVID = @tanevId AND t.TOROLT = 'F'
|
||||
|
||||
|
||||
|
||||
/* OSZTÁLY */
|
||||
INSERT INTO T_OSZTALYCSOPORT_OSSZES (
|
||||
C_MEGJEGYZES
|
||||
,C_NEV
|
||||
,C_VEGZOSEVFOLYAM
|
||||
,C_EVFOLYAMTIPUSA
|
||||
,C_TANEVID
|
||||
,C_TEREMID
|
||||
,C_FELADATELLATASIHELYID
|
||||
,C_INTEZMENYID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
,C_IMPORTALT
|
||||
) SELECT DISTINCT
|
||||
NULL AS C_MEGJEGYZES -- C_MEGJEGYZES - nvarchar(255)
|
||||
,o.osztalyNev AS C_NEV -- C_NEV - nvarchar(255)
|
||||
,'F' AS C_VEGZOSEVFOLYAM -- C_VEGZOSEVFOLYAM - char(1)
|
||||
,1296 AS C_EVFOLYAMTIPUSA -- C_EVFOLYAMTIPUSA - int
|
||||
,@tanevId AS C_TANEVID -- C_TANEVID - int
|
||||
,NULL AS C_TEREMID -- C_TEREMID - int
|
||||
,@feladatellatasiHelyId AS C_FELADATELLATASIHELYID -- C_FELADATELLATASIHELYID - int
|
||||
,@intezmenyId AS C_INTEZMENYID
|
||||
,'F' AS TOROLT -- TOROLT - char(1)
|
||||
,0 AS SERIAL -- SERIAL - int
|
||||
,NULL AS LASTCHANGED -- LASTCHANGED - datetime
|
||||
,GETDATE() AS CREATED -- CREATED - datetime
|
||||
,NULL AS MODIFIER -- MODIFIER - int
|
||||
,@userId AS CREATOR -- CREATOR - int
|
||||
,'T' AS C_IMPORTALT -- C_IMPORTALT char(1)
|
||||
FROM @tbl o
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_OSSZES WHERE C_NEV = o.osztalyNev AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
AND o.OsztalyNev IS NOT NULL AND o.OsztalyNev <> ''
|
||||
|
||||
UPDATE o
|
||||
SET o.osztalyID = t.ID
|
||||
FROM @tbl o
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES t ON t.C_NEV = o.osztalyNev AND C_TANEVID = @tanevId AND TOROLT = 'F'
|
||||
|
||||
INSERT INTO T_OSZTALY_OSSZES (
|
||||
ID
|
||||
,C_KEPZESIFORMA
|
||||
,C_OSZTALYFONOKID
|
||||
,C_OFOHELYETTESID
|
||||
,C_TANTERVID
|
||||
,C_ALINTEZMENYID
|
||||
,C_ALTANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) SELECT DISTINCT
|
||||
o.osztalyID AS ID -- ID - int
|
||||
,1096 AS C_KEPZESIFORMA /*Nappali rendszerű iskolai oktatás*/ -- C_KEPZESIFORMA - int
|
||||
,NULL AS C_OSZTALYFONOKID -- C_OSZTALYFONOKID - int
|
||||
,NULL AS C_OFOHELYETTESID -- C_OFOHELYETTESID - int
|
||||
,NULL AS C_TANTERVID -- C_TANTERVID - int
|
||||
,@intezmenyId
|
||||
,@tanevId
|
||||
,'F' AS TOROLT -- TOROLT - char(1)
|
||||
,0 AS SERIAL -- SERIAL - int
|
||||
,NULL AS LASTCHANGED -- LASTCHANGED - datetime
|
||||
,GETDATE() AS CREATED -- CREATED - datetime
|
||||
,NULL AS MODIFIER -- MODIFIER - int
|
||||
,@userId AS CREATOR -- CREATOR - int
|
||||
FROM @tbl o
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_OSZTALY_OSSZES WHERE ID = o.osztalyID AND C_ALTANEVID = @tanevId)
|
||||
AND o.osztalyID IS NOT NULL
|
||||
|
||||
INSERT INTO T_OSZTALYCSOPORT_OSSZES (
|
||||
C_MEGJEGYZES
|
||||
,C_NEV
|
||||
,C_VEGZOSEVFOLYAM
|
||||
,C_EVFOLYAMTIPUSA
|
||||
,C_TANEVID
|
||||
,C_TEREMID
|
||||
,C_FELADATELLATASIHELYID
|
||||
,C_INTEZMENYID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
,C_IMPORTALT
|
||||
) SELECT DISTINCT
|
||||
NULL AS C_MEGJEGYZES -- C_MEGJEGYZES - nvarchar(255)
|
||||
,IIF(o.csoportNev IS NULL, o.osztalyNev, o.csoportNev) AS C_NEV -- C_NEV - nvarchar(255)
|
||||
,'F' AS C_VEGZOSEVFOLYAM -- C_VEGZOSEVFOLYAM - char(1)
|
||||
,1296 AS C_EVFOLYAMTIPUSA -- C_EVFOLYAMTIPUSA - int Default(NA)
|
||||
,@tanevId AS C_TANEVID -- C_TANEVID - int
|
||||
,NULL AS C_TEREMID -- C_TEREMID - int
|
||||
,@feladatellatasiHelyId AS C_FELADATELLATASIHELYID -- C_FELADATELLATASIHELYID - int
|
||||
,@intezmenyId AS C_INTEZMENYID
|
||||
,'F' AS TOROLT -- TOROLT - char(1)
|
||||
,0 AS SERIAL -- SERIAL - int
|
||||
,NULL AS LASTCHANGED -- LASTCHANGED - datetime
|
||||
,GETDATE() AS CREATED -- CREATED - datetime
|
||||
,NULL AS MODIFIER -- MODIFIER - int
|
||||
,@userId AS CREATOR -- CREATOR - int
|
||||
,'T' AS C_IMPORTALT -- C_IMPORTALT char(1)
|
||||
FROM @tbl o
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_OSSZES WHERE C_NEV = o.csoportNev AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
AND o.csoportNev IS NOT NULL AND o.csoportNev <> ''
|
||||
|
||||
UPDATE o
|
||||
SET o.csoportID = t.ID
|
||||
FROM @tbl o
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES t ON t.C_NEV = o.csoportNev AND C_TANEVID = @tanevId AND TOROLT = 'F'
|
||||
|
||||
INSERT INTO T_CSOPORT_OSSZES (
|
||||
ID
|
||||
,C_TIPUSA
|
||||
,C_CSOPORTNAPLOLEIRAS
|
||||
,C_CSOPORTNAPLOMEGNYITASA
|
||||
,C_CSOPORTNAPLOZARASA
|
||||
,C_CSOPORTVEZETOID
|
||||
,C_KIZAROCSOPORTID
|
||||
,C_OSZTALYBONTASID
|
||||
,C_ALINTEZMENYID
|
||||
,C_ALTANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) SELECT DISTINCT
|
||||
o.csoportID AS ID -- ID - int
|
||||
,1031 AS C_TIPUSA /*Na*/ -- C_TIPUSA - int
|
||||
,NULL AS C_CSOPORTNAPLOLEIRAS -- C_CSOPORTNAPLOLEIRAS - nvarchar(MAX)
|
||||
,NULL AS C_CSOPORTNAPLOMEGNYITASA -- C_CSOPORTNAPLOMEGNYITASA - datetime
|
||||
,NULL AS C_CSOPORTNAPLOZARASA -- C_CSOPORTNAPLOZARASA - datetime
|
||||
,NULL AS C_CSOPORTVEZETOID -- C_CSOPORTVEZETOID - int
|
||||
,NULL AS C_KIZAROCSOPORTID -- C_KIZAROCSOPORTID - int
|
||||
,IIF(o.osztalyNev IS NULL, NULL, o.osztalyId) AS C_OSZTALYBONTASID -- C_OSZTALYBONTASID - int
|
||||
,@intezmenyId
|
||||
,@tanevId
|
||||
,'F' AS TOROLT -- TOROLT - char(1)
|
||||
,0 AS SERIAL -- SERIAL - int
|
||||
,NULL AS LASTCHANGED -- LASTCHANGED - datetime
|
||||
,GETDATE() AS CREATED -- CREATED - datetime
|
||||
,NULL AS MODIFIER -- MODIFIER - int
|
||||
,@userId AS CREATOR -- CREATOR - int
|
||||
FROM @tbl o
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE ID = o.csoportID AND C_ALTANEVID = @tanevId)
|
||||
AND o.csoportID IS NOT NULL
|
||||
|
||||
DECLARE @linkTable TABLE (
|
||||
id int,
|
||||
osztalyCsoportId int,
|
||||
tantargyID int,
|
||||
tanarID int
|
||||
);
|
||||
|
||||
MERGE T_FOGLALKOZAS_OSSZES trg
|
||||
USING (SELECT ISNULL(o.csoportID, o.osztalyID) osztalyCsoportId, o.tantargyID, o.tanarID, SUM(o.oraszam) oraszam,
|
||||
MAX(o.tantargyNev) + ' - ' + MAX(ISNULL(o.csoportNev, o.osztalyNev)) + ' - ' + MAX(o.tanarNev) as foglalkozasNev
|
||||
FROM @tbl o
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON f.ID = ft.C_FOGLALKOZASOKID
|
||||
WHERE f.C_TANTARGYID = o.tantargyID
|
||||
AND f.C_OSZTALYCSOPORTID = o.csoportID
|
||||
AND ft.C_TANAROKID = o.tanarID
|
||||
AND f.C_TANEVID = @tanevId
|
||||
)
|
||||
GROUP BY ISNULL(o.csoportID, o.osztalyID), o.tantargyID, o.tanarID
|
||||
) src ON 1 = 0
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
C_FOGLALKOZASTIPUSA
|
||||
,C_ORASZAM
|
||||
,C_NEV
|
||||
,C_ERTEKELESKELL
|
||||
,C_MULASZTASKELL
|
||||
,C_TANARFELVEHETI
|
||||
,C_TANTARGYID
|
||||
,C_OSZTALYCSOPORTID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
,C_IMPORTALT
|
||||
) VALUES(
|
||||
--IIF (src.osztalyCsoportId IS NOT NULL, 1368 /*Tanóra (osztálybontásos)*/, 1339/*Tanóra*/) /*Na*/ -- C_FOGLALKOZASTIPUSA - int
|
||||
IIF (EXISTS(select 1 from T_CSOPORT cs where cs.ID = src.osztalyCsoportId), 1368 /*Tanóra (osztálybontásos)*/, 1339/*Tanóra*/) /*Na*/ -- C_FOGLALKOZASTIPUSA - int
|
||||
,src.oraszam -- C_ORASZAM - int
|
||||
,src.foglalkozasNev -- C_NEV - nvarchar(255)
|
||||
,'T' -- C_ERTEKELESKELL - char(1)
|
||||
,'T' -- C_MULASZTASKELL - char(1)
|
||||
,'T' -- C_TANARFELVEHETI - char(1)
|
||||
,src.tantargyID -- C_TANTARGYID - int
|
||||
,src.osztalyCsoportId -- C_OSZTALYCSOPORTID - int
|
||||
,@intezmenyId
|
||||
,@tanevId -- C_TANEVID - int
|
||||
,'F' -- TOROLT - char(1)
|
||||
,0 -- SERIAL - int
|
||||
,NULL -- LASTCHANGED - datetime
|
||||
,GETDATE() -- CREATED - datetime
|
||||
,NULL -- MODIFIER - int
|
||||
,@userId -- CREATOR - int
|
||||
,'T' -- C_IMPORTALT char(1)
|
||||
)
|
||||
OUTPUT INSERTED.ID, src.osztalyCsoportId, src.tantargyID, src.tanarID
|
||||
INTO @linkTable(id, osztalyCsoportId, tantargyID, tanarID);
|
||||
|
||||
/*csoport - osztaly*/
|
||||
UPDATE o
|
||||
SET o.foglalkozasID = f.id
|
||||
FROM @tbl o
|
||||
INNER JOIN @linkTable f ON f.osztalyCsoportId = ISNULL(o.csoportID, o.osztalyID) AND f.tantargyID = o.tantargyID AND f.tanarID = o.tanarID
|
||||
WHERE o.foglalkozasID IS NULL
|
||||
|
||||
/*osztaly*/
|
||||
UPDATE o
|
||||
SET o.foglalkozasID = f.id
|
||||
FROM @tbl o
|
||||
INNER JOIN @linkTable f ON f.osztalyCsoportId = o.osztalyID AND f.tantargyID = o.tantargyID AND f.tanarID = o.tanarID
|
||||
WHERE o.foglalkozasID IS NULL
|
||||
|
||||
/*csoport - osztaly*/
|
||||
UPDATE o
|
||||
SET o.foglalkozasID = f.id
|
||||
FROM @tbl o
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANTARGYID = o.tantargyID AND f.C_OSZTALYCSOPORTID = ISNULL(o.csoportID, o.osztalyID)
|
||||
WHERE o.foglalkozasID IS NULL
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZASOK_TANAROK ft WHERE ft.C_FOGLALKOZASOKID = o.foglalkozasID)
|
||||
AND f.C_TANEVID = @tanevId
|
||||
|
||||
/*osztaly*/
|
||||
UPDATE o
|
||||
SET o.foglalkozasID = f.id
|
||||
FROM @tbl o
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANTARGYID = o.tantargyID AND f.C_OSZTALYCSOPORTID = o.osztalyID
|
||||
WHERE o.foglalkozasID IS NULL
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZASOK_TANAROK ft WHERE ft.C_FOGLALKOZASOKID = o.foglalkozasID)
|
||||
AND f.C_TANEVID = @tanevId
|
||||
|
||||
INSERT INTO T_FOGLALKOZASOK_TANAROK (
|
||||
C_FOGLALKOZASOKID
|
||||
,C_TANAROKID
|
||||
) SELECT DISTINCT
|
||||
o.foglalkozasID AS C_FOGLALKOZASOKID -- C_FOGLALKOZASOKID - int
|
||||
,o.tanarID AS C_TANAROKID -- C_TANAROKID - int
|
||||
FROM @tbl o
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_FOGLALKOZASOK_TANAROK WHERE C_FOGLALKOZASOKID = o.foglalkozasID AND C_TANAROKID = o.tanarID)
|
||||
|
||||
|
||||
COMMIT TRANSACTION
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF @@TRANCOUNT > 0
|
||||
ROLLBACK TRAN;
|
||||
THROW
|
||||
END CATCH
|
||||
|
||||
END
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue