init
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
DROP PROCEDURE IF EXISTS sp_FollowUpTerem
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_FollowUpTerem
|
||||
@intezmenyId int,
|
||||
@aktTanevId int,
|
||||
@kovetkezoTanevId int,
|
||||
@teremId int
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
IF (@teremId = 0)
|
||||
BEGIN
|
||||
INSERT INTO T_TEREM_OSSZES (
|
||||
C_AKTIV
|
||||
,C_JELLEG
|
||||
,C_KAPACITAS
|
||||
,C_MUKODESIHELYID
|
||||
,C_NEV
|
||||
,C_TEREMFELELOSID
|
||||
,C_TERULET
|
||||
,C_TOBBORATLEHETTARTANI
|
||||
,C_VIZSGAKAPACITAS
|
||||
,C_WIFILEFEDETT
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
,NNID
|
||||
,ELOZOTANEVIREKORDID
|
||||
) SELECT
|
||||
C_AKTIV AS C_AKTIV
|
||||
,IIF((SELECT COUNT(1) FROM T_TEREMTIPUS_OSSZES WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_JELLEG) = 0,180,t.C_JELLEG) AS C_JELLEG
|
||||
,C_KAPACITAS AS C_KAPACITAS
|
||||
,ISNULL(
|
||||
(SELECT ID FROM T_MUKODESIHELY_OSSZES WHERE ELOZOTANEVIREKORDID = t.C_MUKODESIHELYID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID),
|
||||
(SELECT TOP 1 ID FROM T_MUKODESIHELY_OSSZES WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID)
|
||||
) AS C_MUKODESIHELYID
|
||||
,C_NEV AS C_NEV
|
||||
,(SELECT ID FROM T_FELHASZNALO_OSSZES WHERE ELOZOTANEVIREKORDID = t.C_TEREMFELELOSID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID) AS C_TEREMFELELOSID
|
||||
,C_TERULET AS C_TERULET
|
||||
,ISNULL(C_TOBBORATLEHETTARTANI,'F') AS C_TOBBORATLEHETTARTANI
|
||||
,C_VIZSGAKAPACITAS AS C_VIZSGAKAPACITAS
|
||||
,C_WIFILEFEDETT AS C_WIFILEFEDETT
|
||||
,@intezmenyID AS C_INTEZMENYID
|
||||
,@kovetkezoTanevId AS C_TANEVID
|
||||
,TOROLT AS TOROLT
|
||||
,0 AS SERIAL
|
||||
,GETDATE() AS LASTCHANGED
|
||||
,GETDATE() AS CREATED
|
||||
,MODIFIER AS MODIFIER
|
||||
,MODIFIER AS CREATOR
|
||||
,NULL AS NNID
|
||||
,t.ID AS ELOZOTANEVIREKORDID
|
||||
FROM T_TEREM_OSSZES t WHERE C_TANEVID = @aktTanevId AND C_INTEZMENYID = @intezmenyId AND TOROLT='F'
|
||||
AND 0 = (SELECT COUNT(1) FROM T_TEREM_OSSZES WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyId AND ELOZOTANEVIREKORDID = t.ID)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE kovetkezo SET
|
||||
kovetkezo.C_AKTIV = aktiv.C_AKTIV
|
||||
,kovetkezo.C_JELLEG = aktiv.C_JELLEG
|
||||
,kovetkezo.C_KAPACITAS = aktiv.C_KAPACITAS
|
||||
,kovetkezo.C_MUKODESIHELYID = ISNULL(
|
||||
(SELECT ID FROM T_MUKODESIHELY_OSSZES WHERE ELOZOTANEVIREKORDID = aktiv.C_MUKODESIHELYID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID),
|
||||
(SELECT TOP 1 ID FROM T_MUKODESIHELY_OSSZES WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID)
|
||||
)
|
||||
,kovetkezo.C_NEV = aktiv.C_NEV
|
||||
,kovetkezo.C_TEREMFELELOSID = (SELECT ID FROM T_FELHASZNALO_OSSZES WHERE ELOZOTANEVIREKORDID = aktiv.C_TEREMFELELOSID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID)
|
||||
,kovetkezo.C_TERULET = aktiv.C_TERULET
|
||||
,kovetkezo.C_TOBBORATLEHETTARTANI = ISNULL(aktiv.C_TOBBORATLEHETTARTANI,'F')
|
||||
,kovetkezo.C_VIZSGAKAPACITAS = aktiv.C_VIZSGAKAPACITAS
|
||||
,kovetkezo.C_WIFILEFEDETT = aktiv.C_WIFILEFEDETT
|
||||
,kovetkezo.TOROLT = aktiv.TOROLT
|
||||
FROM T_TEREM_OSSZES kovetkezo
|
||||
INNER JOIN T_TEREM_OSSZES aktiv ON aktiv.C_INTEZMENYID = kovetkezo.C_INTEZMENYID AND aktiv.C_TANEVID = @aktTanevId AND aktiv.ID = @teremId AND aktiv.TOROLT='F'
|
||||
WHERE kovetkezo.C_INTEZMENYID = @intezmenyId AND kovetkezo.C_TANEVID = @kovetkezoTanevId AND kovetkezo.ELOZOTANEVIREKORDID = @teremId AND kovetkezo.TOROLT='F'
|
||||
END
|
||||
END
|
||||
GO
|
@@ -0,0 +1,95 @@
|
||||
DROP PROCEDURE IF EXISTS sp_ImportTermek
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_ImportTermek
|
||||
@xml xml,
|
||||
@userID int,
|
||||
@intezmenyID int,
|
||||
@tanevID int,
|
||||
@mukodesiHelyId int
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
BEGIN TRY
|
||||
SET NOCOUNT ON
|
||||
SET XACT_ABORT ON
|
||||
|
||||
DECLARE @tbl TABLE (
|
||||
C_JELLEG int,
|
||||
C_KAPACITAS int,
|
||||
C_NEV nvarchar(50),
|
||||
C_TERULET int,
|
||||
C_TOBBORATLEHETTARTANI char(1),
|
||||
C_VIZSGAKAPACITAS int,
|
||||
C_MUKODESIHELYID int,
|
||||
C_TEREMFELELOSID int
|
||||
)
|
||||
|
||||
INSERT INTO @tbl
|
||||
SELECT
|
||||
sor.value('number((JellegId)[1])', 'int') AS C_JELLEG,
|
||||
sor.value('xs:decimal((Kapacitas)[1])', 'int') AS C_KAPACITAS,
|
||||
sor.value('(TeremNev)[1]', 'nvarchar(50)') AS C_NEV,
|
||||
sor.value('number((Terulet)[1])', 'int') AS C_TERULET,
|
||||
sor.value('(tobbora)[1]', 'char(1)') AS C_TOBBORATLEHETTARTANI,
|
||||
sor.value('number((vizsgakapacitas)[1])', 'int') AS C_VIZSGAKAPACITAS,
|
||||
@mukodesiHelyId AS C_MUKODESIHELYID,
|
||||
sor.value('number((teremfelelos)[1])', 'int') AS C_TEREMFELELOSID
|
||||
FROM @xml.nodes('/TeremImport/TeremLista/Terem') as sorok(sor)
|
||||
|
||||
BEGIN TRANSACTION
|
||||
UPDATE t
|
||||
SET
|
||||
t.C_JELLEG = IsNull(s.C_JELLEG, t.C_JELLEG)
|
||||
,t.C_KAPACITAS = IsNull(s.C_KAPACITAS, t.C_KAPACITAS)
|
||||
,t.C_NEV = IsNull(s.C_NEV, t.C_NEV)
|
||||
,t.C_TERULET = IsNull(s.C_TERULET, t.C_TERULET)
|
||||
,t.C_TOBBORATLEHETTARTANI = IsNull(s.C_TOBBORATLEHETTARTANI, ISNULL(t.C_TOBBORATLEHETTARTANI,'F'))
|
||||
,t.C_VIZSGAKAPACITAS = IsNull(s.C_VIZSGAKAPACITAS, t.C_VIZSGAKAPACITAS)
|
||||
,t.C_MUKODESIHELYID = IsNull(s.C_MUKODESIHELYID, t.C_MUKODESIHELYID)
|
||||
,t.C_TEREMFELELOSID = IsNull(s.C_TEREMFELELOSID, t.C_TEREMFELELOSID)
|
||||
,t.SERIAL = t.SERIAL + 1
|
||||
,t.LASTCHANGED = GETDATE()
|
||||
,t.MODIFIER = @userID
|
||||
FROM T_TEREM t
|
||||
INNER JOIN @tbl s ON s.C_NEV = t.C_NEV AND s.C_MUKODESIHELYID = t.C_MUKODESIHELYID AND t.C_INTEZMENYID = t.C_INTEZMENYID
|
||||
|
||||
INSERT INTO T_TEREM (
|
||||
C_AKTIV
|
||||
,C_JELLEG
|
||||
,C_KAPACITAS
|
||||
,C_NEV
|
||||
,C_TERULET
|
||||
,C_TOBBORATLEHETTARTANI
|
||||
,C_VIZSGAKAPACITAS
|
||||
,C_MUKODESIHELYID
|
||||
,C_TEREMFELELOSID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) SELECT
|
||||
'T' AS C_ACTIVE
|
||||
,C_JELLEG AS C_JELLEG
|
||||
,C_KAPACITAS AS C_KAPACITAS
|
||||
,C_NEV AS C_NEV
|
||||
,C_TERULET AS C_TERULET
|
||||
,ISNULL(C_TOBBORATLEHETTARTANI,'F') AS C_TOBBORATLEHETTARTANI
|
||||
,C_VIZSGAKAPACITAS AS C_VIZSGAKAPACITAS
|
||||
,C_MUKODESIHELYID AS C_MUKODESIHELYID
|
||||
,C_TEREMFELELOSID AS C_TEREMFELELOSID
|
||||
,@intezmenyID AS C_INTEZMENYID
|
||||
,@tanevID AS C_TANEVID
|
||||
,NULL AS MODIFIER
|
||||
,@userID AS CREATOR
|
||||
FROM @tbl t
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_TEREM WHERE C_NEV = t.C_NEV AND C_MUKODESIHELYID = t.C_MUKODESIHELYID)
|
||||
COMMIT TRANSACTION
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0
|
||||
ROLLBACK TRANSACTION;
|
||||
THROW
|
||||
END CATCH
|
||||
END
|
||||
|
@@ -0,0 +1,326 @@
|
||||
GO
|
||||
/****** Object: StoredProcedure [dbo].[sp_SetRendszerErtesitesek] Script Date: 2016.06.09. 14:34:01 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_SetRendszerErtesitesek]
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: DT
|
||||
-- Create date: 2016-03-21
|
||||
-- Description: Rendszer értesítések tábla frissítése
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_SetRendszerErtesitesek]
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
|
||||
/*Globál UPDATE*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_FRISSITESIDEJE = GETDATE()
|
||||
,LASTCHANGED = GETDATE()
|
||||
,C_KELLFRISSITES = 'F'
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
/*Az elektronikus naplóban nincs beállítva a visszamenőleges beírás korlátozása!*/
|
||||
|
||||
|
||||
/*
|
||||
A rendszerben ...
|
||||
tanuló nincs osztályba sorolva!
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANULOKOSZTALYBASOROLASA =
|
||||
( SELECT COUNT(1)
|
||||
FROM T_TANULO t
|
||||
LEFT JOIN T_TANULOCSOPORT TCS ON ( TCS.C_TANULOID = t.ID
|
||||
AND TCS.TOROLT = 'F'
|
||||
AND TCS.C_BELEPESDATUM < GETDATE()
|
||||
AND (TCS.C_KILEPESDATUM is null OR TCS.C_KILEPESDATUM >= GETDATE())
|
||||
AND T_RENDSZERERTESITESEK.C_INTEZMENYID = TCS.C_INTEZMENYID
|
||||
AND T_RENDSZERERTESITESEK.C_TANEVID = TCS.C_TANEVID
|
||||
)
|
||||
WHERE T.TOROLT = 'F' AND TCS.ID IS NULL
|
||||
AND T_RENDSZERERTESITESEK.C_INTEZMENYID = T.C_ALINTEZMENYID
|
||||
AND T_RENDSZERERTESITESEK.C_TANEVID = T.C_ALTANEVID
|
||||
)
|
||||
WHERE TOROLT = 'F'
|
||||
/*
|
||||
Az órarendben ... órában tanulóütközés van,
|
||||
azonos órában a tanulónak több tanóra IS rögzítve van!
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_ORARENDTANULOUTKOZESEK =
|
||||
( SELECT count(1)
|
||||
FROM (
|
||||
SELECT sub.C_HETIREND, sub.C_HETNAPJA, sub.C_CSENGETESIRENDORAID, sub.C_TANULOID, COUNT(1) AS cnt
|
||||
FROM (
|
||||
SELECT o.C_HETIREND, o.C_HETNAPJA, o.C_CSENGETESIRENDORAID, tcs.C_TANULOID--, COUNT(1)
|
||||
FROM T_ORARENDIORA o
|
||||
INNER JOIN T_FOGLALKOZAS F ON F.ID = o.C_FOGLALKOZASID AND F.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT OCS ON OCS.ID = F.C_OSZTALYCSOPORTID AND OCS.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT TCS ON TCS.C_OSZTALYCSOPORTID = OCS.ID AND TCS.TOROLT = 'F'
|
||||
WHERE o.TOROLT = 'F'
|
||||
AND F.C_FOGLALKOZASTIPUSA IN (1339, 1368)
|
||||
AND o.C_ORAERVENYESSEGKEZDETE < GETDATE()
|
||||
AND (o.C_ORAERVENYESSEGVEGE > GETDATE() OR o.C_ORAERVENYESSEGVEGE IS NULL)
|
||||
AND tcs.C_BELEPESDATUM < GETDATE()
|
||||
AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
UNION ALL
|
||||
|
||||
SELECT n.C_HETIREND, o.C_HETNAPJA, o.C_CSENGETESIRENDORAID, tcs.C_TANULOID
|
||||
FROM T_TANITASIORA o
|
||||
INNER JOIN T_FOGLALKOZAS F ON F.ID = o.C_FOGLALKOZASID AND F.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT OCS ON OCS.ID = F.C_OSZTALYCSOPORTID AND OCS.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT TCS ON TCS.C_OSZTALYCSOPORTID = OCS.ID AND TCS.TOROLT = 'F'
|
||||
INNER JOIN T_NAPTARINAP n ON n.ID = o.C_NAPTARINAPID AND n.TOROLT = 'F'
|
||||
WHERE o.TOROLT = 'F'
|
||||
AND F.C_FOGLALKOZASTIPUSA IN (1339, 1368)
|
||||
AND tcs.C_BELEPESDATUM < GETDATE()
|
||||
AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND o.C_ORARENDIORAGROUPID IS NULL
|
||||
AND o.C_DATUM > getdate() - 1
|
||||
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
) sub
|
||||
GROUP BY sub.C_HETIREND, sub.C_HETNAPJA, sub.C_CSENGETESIRENDORAID, sub.C_TANULOID
|
||||
HAVING COUNT(1) > 1
|
||||
) A )
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
Az intézménynek hiányosan vannak kitöltve az adatai!
|
||||
Ennek következményeként a dokumentumokban az intézmény adatai nem jelennek meg!
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_INTEZMENYHIANYOSADATOK = IIF(
|
||||
(SELECT count(1)
|
||||
FROM T_INTEZMENYADATOK i
|
||||
WHERE i.TOROLT = 'F'
|
||||
AND (C_NEV IS NULL
|
||||
OR C_OMKOD IS NULL
|
||||
OR C_IRANYITOSZAM IS NULL
|
||||
OR C_VAROS IS NULL
|
||||
OR C_KOZTERULETNEV IS NULL
|
||||
OR C_KOZTERULETJELLEG IS NULL
|
||||
OR C_HAZSZAM IS NULL
|
||||
OR C_IGAZGATONEVE IS NULL)
|
||||
AND I.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND I.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
) > 0, 'T', 'F' )
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
A rendszerben ...
|
||||
tanulónak nem megfelelő formátumú az oktatási azonosítója.
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANULOHIANYOSOKTATASIAZONOSI = (
|
||||
SELECT count(1)
|
||||
FROM T_TANULO t
|
||||
INNER JOIN T_FELHASZNALO f ON f.ID = t.ID AND f.TOROLT = 'F'
|
||||
WHERE t.TOROLT = 'F'
|
||||
AND (f.C_OKTATASIAZONOSITO NOT LIKE '7%'
|
||||
OR f.C_OKTATASIAZONOSITO LIKE '%[^0-9]%'
|
||||
OR LEN(f.C_OKTATASIAZONOSITO) <> 11)
|
||||
AND T.C_ALINTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND T.C_ALTANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
A rendszerben ...
|
||||
tanárnak nem megfelelő formátumú az oktatási azonosítója.
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANAROKHIANYOSOKTATASIAZONOS = (
|
||||
SELECT count(1)
|
||||
FROM T_ALKALMAZOTT a
|
||||
INNER JOIN T_FELHASZNALO f ON f.ID = a.ID AND f.TOROLT = 'F'
|
||||
WHERE a.TOROLT = 'F'
|
||||
AND (f.C_OKTATASIAZONOSITO not like '7%'
|
||||
or f.C_OKTATASIAZONOSITO LIKE '%[^0-9]%'
|
||||
or LEN(f.C_OKTATASIAZONOSITO) <> 11)
|
||||
AND A.C_ALINTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND A.C_ALTANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
/*
|
||||
A tantárgyfelosztásban ...
|
||||
tanár nem szerepel!
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANTARGYFELOSZTASTANARNINCSE = (
|
||||
SELECT COUNT(1)
|
||||
FROM T_ALKALMAZOTT a
|
||||
LEFT JOIN T_FOGLALKOZAS F ON ( A.ID = F.C_TANARID AND F.TOROLT = 'F'
|
||||
AND F.C_INTEZMENYID = A.C_ALINTEZMENYID
|
||||
AND F.C_TANEVID = A.C_ALTANEVID
|
||||
)
|
||||
WHERE a.TOROLT = 'F' AND f.ID IS NULL
|
||||
AND A.C_ALINTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND A.C_ALTANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
A tantárgyak közül ...
|
||||
tantárgy nem szerepel a tantárgyfelosztásban!
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANTARGYFELOSZTASTANTARGYNIN = (
|
||||
SELECT count(1)
|
||||
FROM T_TANTARGY tt
|
||||
LEFT JOIN T_FOGLALKOZAS f ON ( f.C_TANTARGYID = tt.ID AND f.TOROLT = 'F'
|
||||
AND F.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND F.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE f.ID IS NULL AND TT.TOROLT = 'F'
|
||||
AND TT.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND TT.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
Az osztályok ill. tanórai célú csoportok közül ...
|
||||
nem szerepel a tantárgyfelosztásban!
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANTARGYFELOSZTASOSZTALYOKNI = (
|
||||
SELECT count(1)
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
LEFT JOIN T_FOGLALKOZAS f ON ( f.C_OSZTALYCSOPORTID = ocs.ID AND f.TOROLT = 'F'
|
||||
AND F.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND F.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE ocs.TOROLT = 'F' AND f.ID IS NULL
|
||||
AND ( EXISTS ( SELECT 1 FROM T_OSZTALY WHERE T_OSZTALY.ID = OCS.ID ) -- OSZTÁLY
|
||||
OR
|
||||
EXISTS ( SELECT 1 FROM T_CSOPORT WHERE T_CSOPORT.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(ocs.C_TANEVID)) AND T_CSOPORT.ID = OCS.ID) -- CSOPORT
|
||||
)
|
||||
AND ocs.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND ocs.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
Az órarendben ... órában teremütközés van,
|
||||
azonos teremben több óra IS szerepel!
|
||||
*/
|
||||
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_ORARENDTEREMUTKOZES = ( SELECT COUNT(1)
|
||||
FROM (
|
||||
SELECT sub.C_HETIREND, sub.C_HETNAPJA, sub.C_TEREMID, sub.C_CSENGETESIRENDORAID, COUNT(1) cnt
|
||||
FROM (
|
||||
SELECT DISTINCT o.C_HETIREND, o.C_HETNAPJA, o.C_TEREMID, o.C_CSENGETESIRENDORAID, o.C_FOGLALKOZASID
|
||||
FROM T_ORARENDIORA o
|
||||
INNER JOIN T_TEREM t ON t.ID = o.C_TEREMID AND t.TOROLT = 'F'
|
||||
INNER JOIN T_FOGLALKOZAS f ON f.ID = o.C_FOGLALKOZASID AND f.TOROLT = 'F'
|
||||
WHERE o.C_ORAERVENYESSEGKEZDETE < GETDATE() AND (o.C_ORAERVENYESSEGVEGE > GETDATE() OR o.C_ORAERVENYESSEGVEGE IS NULL)
|
||||
AND (t.C_TOBBORATLEHETTARTANI IS NULL OR t.C_TOBBORATLEHETTARTANI = 'F')
|
||||
AND o.TOROLT = 'F'
|
||||
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
UNION
|
||||
|
||||
SELECT DISTINCT n.C_HETIREND , n.C_HETNAPJA, o.C_TEREMID, o.C_CSENGETESIRENDORAID, o.C_FOGLALKOZASID
|
||||
FROM T_TANITASIORA o
|
||||
INNER JOIN T_NAPTARINAP n ON n.ID = o.C_NAPTARINAPID AND n.TOROLT = 'F'
|
||||
INNER JOIN T_FOGLALKOZAS f ON f.ID = o.C_FOGLALKOZASID AND f.TOROLT = 'F'
|
||||
INNER JOIN T_TEREM t ON t.ID = o.C_TEREMID AND t.TOROLT = 'F'
|
||||
WHERE o.C_ORARENDIORAGROUPID IS NULL
|
||||
AND n.C_NAPDATUMA > GETDATE() - 1
|
||||
AND (t.C_TOBBORATLEHETTARTANI IS NULL OR t.C_TOBBORATLEHETTARTANI = 'F')
|
||||
AND o.TOROLT = 'F'
|
||||
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
) sub
|
||||
GROUP BY sub.C_HETIREND, sub.C_HETNAPJA, sub.C_TEREMID, sub.C_CSENGETESIRENDORAID
|
||||
HAVING COUNT(1) > 1
|
||||
) tbl )
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
Az órarendben ... órában tanárütközés szerepel,
|
||||
azonos órában a pedagógushoz több tanóra IS tartozik.
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_ORARENDTANARUTKOZES = ( SELECT count(1)
|
||||
FROM (
|
||||
SELECT sub.C_TANARID, sub.C_HETIREND, sub.C_HETNAPJA, sub.C_CSENGETESIRENDORAID, COUNT(1) cnt
|
||||
FROM (
|
||||
SELECT f.C_TANARID, o.C_HETIREND, o.C_HETNAPJA, o.C_CSENGETESIRENDORAID, o.C_TEREMID
|
||||
FROM T_ORARENDIORA o
|
||||
INNER JOIN T_FOGLALKOZAS f ON f.ID = o.C_FOGLALKOZASID AND f.TOROLT = 'F'
|
||||
WHERE o.TOROLT = 'F'
|
||||
AND o.C_ORAERVENYESSEGKEZDETE < GETDATE()
|
||||
AND (o.C_ORAERVENYESSEGVEGE > GETDATE() OR o.C_ORAERVENYESSEGVEGE IS NULL)
|
||||
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
|
||||
UNION
|
||||
|
||||
SELECT ISNULL(o.C_HELYETTESITOTANARID, f.C_TANARID) AS C_TANAROKID, n.C_HETIREND, o.C_HETNAPJA, o.C_CSENGETESIRENDORAID, o.C_TEREMID
|
||||
FROM T_TANITASIORA o
|
||||
INNER JOIN T_FOGLALKOZAS f ON f.ID = o.C_FOGLALKOZASID AND f.TOROLT = 'F'
|
||||
INNER JOIN T_NAPTARINAP n ON n.ID = o.C_NAPTARINAPID AND n.TOROLT = 'F'
|
||||
WHERE o.TOROLT = 'F'
|
||||
AND o.C_ORARENDIORAGROUPID IS NULL
|
||||
AND o.C_DATUM > getdate() - 1
|
||||
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
) sub
|
||||
GROUP BY sub.C_TANARID, sub.C_HETIREND, sub.C_HETNAPJA, sub.C_CSENGETESIRENDORAID
|
||||
HAVING COUNT(1) > 1
|
||||
) tbl )
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
/*
|
||||
Azon tanulók száma, akik osztályba vannak sorolva, de nincs tantervük
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANTERVNELKULITANULOK = (
|
||||
SELECT count(1)
|
||||
FROM (
|
||||
select distinct T_TANULO.ID
|
||||
from T_TANULOCSOPORT
|
||||
inner join T_TANULO on (T_TANULO.ID = T_TANULOCSOPORT.C_TANULOID and T_TANULO.TOROLT = 'F')
|
||||
where T_TANULO.C_TANTERVID is null
|
||||
and T_TANULOCSOPORT.TOROLT = 'F'
|
||||
and T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
|
||||
and (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM > GETDATE())
|
||||
AND T_TANULOCSOPORT.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND T_TANULOCSOPORT.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
) tbl )
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
|
||||
/*
|
||||
Nincs beállítva aktív csengetési rend
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_AKTIVCSENGETESIREND = ( SELECT IIF(EXISTS(SELECT 1
|
||||
FROM T_CSENGETESIREND
|
||||
WHERE C_AKTIV = 'T'
|
||||
AND T_CSENGETESIREND.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND T_CSENGETESIREND.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID),
|
||||
'F', 'T') )
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
END
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user