This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View File

@@ -0,0 +1,160 @@
IF OBJECT_ID('[dbo].[sp_DeleteOrarendIdoszak]') IS NOT NULL BEGIN
DROP PROCEDURE [dbo].[sp_DeleteOrarendIdoszak]
END
GO
CREATE PROCEDURE [dbo].[sp_DeleteOrarendIdoszak]
@start datetime,
@end datetime,
@intezmenyId int,
@tanevId int,
@tanarId int = null,
@osztalyCsoportId int = null,
@hetirendId int = null,
@hetNapjaId int = null,
@oraszam int = null,
@feladataellatasiHelyId int = null
AS
BEGIN
BEGIN TRY
SET NOCOUNT ON
SET XACT_ABORT ON
DECLARE @startDate nvarchar(200);
SET @startDate = CONVERT(nvarchar(200), @start, 112)
DECLARE @endDate nvarchar(200);
SET @endDate = CONVERT(nvarchar(200), @end, 112)
DECLARE @startDatePlus nvarchar(200);
SET @startDatePlus = CONVERT(nvarchar(200), DATEADD(day,1,@start), 112)
DECLARE @endDatePlus nvarchar(200);
SET @endDatePlus = CONVERT(nvarchar(200), DATEADD(day,1,@end), 112)
DECLARE @sql nvarchar(MAX);
DECLARE @where nvarchar(MAX);
-- A Where felt<6C>telek extra elemei
SET @where = N'
AND TOROLT = ''F''
AND C_INTEZMENYID = @intezmenyId
AND C_TANEVID = @tanevId';
IF (@tanarId IS NOT NULL)
BEGIN
SET @where += N' AND C_TANARID = ' + CONVERT(NVARCHAR(20), @tanarId) + ' ';
END
IF (@osztalyCsoportId IS NOT NULL)
BEGIN
SET @where += N' AND C_OSZTALYCSOPORTID = ' + CONVERT(NVARCHAR(20), @osztalyCsoportId) + ' ';
END
IF (@hetirendId IS NOT NULL)
BEGIN
SET @where += N' AND C_HETIREND = ' + CONVERT(NVARCHAR(20), @hetirendId) + ' ';
END
IF (@hetNapjaId IS NOT NULL)
BEGIN
SET @where += N' AND C_HETNAPJA = ' + CONVERT(NVARCHAR(20), @hetNapjaId) + ' ';
END
IF (@oraszam IS NOT NULL)
BEGIN
SET @where += N' AND C_ORASZAM = ' + CONVERT(NVARCHAR(20), @oraszam) + ' ';
END
IF (@feladataellatasiHelyId IS NOT NULL)
BEGIN
SET @where += N' AND C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALYCSOPORT WHERE C_FELADATELLATASIHELYID = ' + CONVERT(NVARCHAR(20), @feladataellatasiHelyId) + ' )';
END
-- Azon elemek t<>rl<72>se, amik teljesen az id<69>szakban vannak (C_ORAERVENYESSEGKEZDETE >; C_ORAERVENYESSEGVEGE <)
SET @sql = N'
UPDATE T_ORARENDIORA
SET TOROLT = ''T''
WHERE
C_ORAERVENYESSEGKEZDETE >= ''' + @startDate + N'''
AND C_ORAERVENYESSEGVEGE <= ''' + @endDatePlus + N''' ';
SET @sql += @where;
-- Azon elemek z<>r<EFBFBD>s<EFBFBD>nak be<62>ll<6C>t<EFBFBD>sa, amik az id<69>szakban v<>get <20>rnek (C_ORAERVENYESSEGKEZDETE <; C_ORAERVENYESSEGVEGE <)
SET @sql += N'
UPDATE T_ORARENDIORA
SET C_ORAERVENYESSEGVEGE = ''' + @startDate + N'''
WHERE
C_ORAERVENYESSEGKEZDETE <= ''' + @startDate + N'''
AND C_ORAERVENYESSEGVEGE >= ''' + @startDate + N'''
AND C_ORAERVENYESSEGVEGE <= ''' + @endDatePlus + N''' ';
SET @sql += @where;
-- Azon elemek z<>r<EFBFBD>s<EFBFBD>nak be<62>ll<6C>t<EFBFBD>sa, amik az id<69>szakban kezd<7A>dnek (C_ORAERVENYESSEGKEZDETE >; C_ORAERVENYESSEGVEGE >)
SET @sql += N'
UPDATE T_ORARENDIORA
SET C_ORAERVENYESSEGKEZDETE = ''' + @endDate + N'''
WHERE
C_ORAERVENYESSEGKEZDETE >= ''' + @startDate + N'''
AND C_ORAERVENYESSEGKEZDETE <= ''' + @endDate + N'''
AND C_ORAERVENYESSEGVEGE > ''' + @endDatePlus + N'''';
SET @sql += @where;
-- Azon elemek sz<73>tszed<65>se, amik <20>tny<6E>lnak az id<69>szakon (C_ORAERVENYESSEGKEZDETE <; C_ORAERVENYESSEGVEGE >)
SET @sql += N'
INSERT INTO T_ORARENDIORA (
C_DIFFERENCIALT, C_DRAMA, C_HETIREND, C_HETNAPJA, C_IKTTANORA, C_IPRTANORA, C_KOOPERATIV, C_MERES, C_MINDENNAPOSTESTNEVELES, C_NEMSZAKRENDSZERUORA, C_NEMZETISEGIORA, C_ORASZAM,
C_SORSZAMOZANDO, C_TAMOPORA, C_TULORA, C_BONTOTT, C_ORAERVENYESSEGKEZDETE, C_ORAERVENYESSEGVEGE, C_PARHUZAMOSORA, C_TIOP12, C_ORAKEZDETE, C_ORAVEGE, C_TANORANKIVULIFOGLALKOZAS,
C_IMPORTALT, C_CSENGETESIRENDID, C_CSENGETESIRENDORAID, C_TEREMID, C_FOGLALKOZASID, C_TANTARGYID, C_OSZTALYCSOPORTID, C_TANARID, C_ORATULAJDONOSID, C_INTEZMENYID, C_TANEVID,
TOROLT, SERIAL, C_ORARENDIORAGROUPID, C_KIPORA, C_KAPORA, C_VEKOP73317
)
SELECT
C_DIFFERENCIALT, C_DRAMA, C_HETIREND, C_HETNAPJA, C_IKTTANORA, C_IPRTANORA, C_KOOPERATIV, C_MERES, C_MINDENNAPOSTESTNEVELES, C_NEMSZAKRENDSZERUORA, C_NEMZETISEGIORA, C_ORASZAM,
C_SORSZAMOZANDO, C_TAMOPORA, C_TULORA, C_BONTOTT, ''' + @endDatePlus + N''', C_ORAERVENYESSEGVEGE, C_PARHUZAMOSORA, C_TIOP12, C_ORAKEZDETE, C_ORAVEGE, C_TANORANKIVULIFOGLALKOZAS,
C_IMPORTALT, C_CSENGETESIRENDID, C_CSENGETESIRENDORAID, C_TEREMID, C_FOGLALKOZASID, C_TANTARGYID, C_OSZTALYCSOPORTID, C_TANARID, C_ORATULAJDONOSID, C_INTEZMENYID, C_TANEVID,
TOROLT, SERIAL, C_ORARENDIORAGROUPID, C_KIPORA, C_KAPORA, C_VEKOP73317
FROM T_ORARENDIORA
WHERE
C_ORAERVENYESSEGKEZDETE < ''' + @startDate + N'''
AND C_ORAERVENYESSEGVEGE > ''' + @endDate + N'''';
SET @sql += @where;
SET @sql += N'
UPDATE T_ORARENDIORA
SET C_ORAERVENYESSEGVEGE = ''' + @startDate + N'''
WHERE
C_ORAERVENYESSEGKEZDETE < ''' + @startDate + N'''
AND C_ORAERVENYESSEGVEGE > ''' + @endDate + N'''';
SET @sql += @where;
BEGIN TRANSACTION
exec sp_executesql @sql
,N'
@intezmenyId int,
@tanevId int,
@tanarId int,
@osztalyCsoportId int,
@hetirendId int,
@hetNapjaId int,
@oraszam int
'
,@intezmenyId = @intezmenyId
,@tanevId = @tanevId
,@tanarId = @tanarId
,@osztalyCsoportId = @osztalyCsoportId
,@hetirendId = @hetirendId
,@hetNapjaId = @hetNapjaId
,@oraszam = @oraszam
COMMIT TRANSACTION
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0
ROLLBACK TRAN;
THROW
END CATCH
END
GO

View File

@@ -0,0 +1,142 @@
DROP PROCEDURE IF EXISTS [dbo].[sp_GetHaladasiNaploAdatok]
GO
CREATE PROCEDURE [dbo].[sp_GetHaladasiNaploAdatok]
@tanevID int,
@osztalyID int = null,
@tanarID int = null
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
,f.C_TANARID AS C_TANARID
INTO #Foglalkozasok
FROM T_FOGLALKOZAS_OSSZES f
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 (
((@osztalyID IS NOT NULL) AND (ocs.ID = @osztalyID OR cso.C_OSZTALYOKID = @osztalyID))
OR
((@tanarID IS NOT NULL) AND f.C_TANARID = @tanarID)
)
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
,tn.C_KIPORA KIPOra
,tn.C_VEKOP73317 VEKOP73317
,tn.C_KAPORA KAPOra
FROM T_TANITASIORA_OSSZES tn
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = tn.C_TANARID
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
IF (SELECT COUNT(ID) FROM #Foglalkozasok) = 0 BEGIN
DECLARE @nincsAdat TABLE (
OraSorszam int,
TanarNev nvarchar(1),
Tema nvarchar(1),
Helyettesites int,
Datum datetime,
OraSzam int,
Megjegyzes nvarchar(1),
HaziFeladat nvarchar(1),
TulOra char,
TamopOra char,
NemszakrendszeruOra char,
IktOra char,
NemzetisegiOra char,
TestnevelesOra char,
IprOra char,
DifferencialtOra char,
KooperativOra char,
MeresOra char,
DramaOra char,
ParhuzamosOra char,
TiopOra char,
KIPOra char,
VEKOP73317 char,
KAPOra char
)
SELECT * FROM @nincsAdat;
END
DROP TABLE #Foglalkozasok
END
GO