init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,19 @@
|
|||
DECLARE intezmenytanevekCursor CURSOR LOCAL FOR
|
||||
SELECT C_INTEZMENYID, C_TANEVID
|
||||
FROM T_INTEZMENYADATOK
|
||||
|
||||
DECLARE @intezmenyId int, @tanevId int
|
||||
|
||||
OPEN intezmenytanevekCursor
|
||||
FETCH NEXT FROM intezmenytanevekCursor INTO @intezmenyId, @tanevId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
PRINT 'INTÉZMÉNY ID: ' + CAST(@intezmenyId AS NVARCHAR(10)) + ', TANÉV ID: ' + CAST(@tanevId AS NVARCHAR(10))
|
||||
EXEC sp_Global_CreateDictionaryItems @IntezmenyId = @intezmenyId, @TanevId = @tanevId
|
||||
|
||||
FETCH NEXT FROM intezmenytanevekCursor INTO @intezmenyId, @tanevId
|
||||
END
|
||||
|
||||
CLOSE intezmenytanevekCursor
|
||||
DEALLOCATE intezmenytanevekCursor
|
|
@ -0,0 +1,10 @@
|
|||
IF EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'IX_TANULOMULASZTAS_ORATANULOIID_TANITASIORAKID_TIPUS_INTEZMENYID_TANEVID') BEGIN
|
||||
DROP INDEX IX_TANULOMULASZTAS_ORATANULOIID_TANITASIORAKID_TIPUS_INTEZMENYID_TANEVID ON T_TANULOMULASZTAS
|
||||
END
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'IX_TANULOMULASZTAS_ORATANULOIID_TANITASIORAKID_TIPUS_INTEZMENYID_TANEVID_INC_KESESPERCBEN') BEGIN
|
||||
CREATE INDEX IX_TANULOMULASZTAS_ORATANULOIID_TANITASIORAKID_TIPUS_INTEZMENYID_TANEVID_INC_KESESPERCBEN
|
||||
ON T_TANULOMULASZTAS (C_ORATANULOIID, C_TANITASIORAKID, C_TIPUS, C_INTEZMENYID, C_TANEVID)
|
||||
INCLUDE (C_KESESPERCBEN)
|
||||
WHERE TOROLT = 'F'
|
||||
END
|
|
@ -0,0 +1,243 @@
|
|||
-- =============================================
|
||||
-- Description: <Dinamikus import>
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_DynamicImport]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_DynamicImport]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_DynamicImport]
|
||||
@pImportJson NVARCHAR(MAX)
|
||||
,@pIsTorles BIT
|
||||
,@pUserId INT
|
||||
,@pInsertAlways BIT = 0
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE
|
||||
@sqlCommand NVARCHAR(MAX) = ''
|
||||
|
||||
,@lastChangedDateTime DATETIME = GETDATE()
|
||||
,@modifierId INT = @pUserId
|
||||
|
||||
,@openJsonWithCommand NVARCHAR(MAX)
|
||||
,@rootElementJsonWithCommand NVARCHAR(300)
|
||||
,@columnNameFromJsonCommand NVARCHAR(300)
|
||||
|
||||
,@columnListForInsert NVARCHAR(MAX)
|
||||
,@columnListForUpdate NVARCHAR(MAX)
|
||||
|
||||
,@sqlInsertCommand NVARCHAR(MAX)
|
||||
,@sqlUpdateCommand NVARCHAR(MAX)
|
||||
,@sqlDeleteCommand NVARCHAR(MAX)
|
||||
|
||||
,@rootElement NVARCHAR(100)
|
||||
,@tableNameFromJson NVARCHAR(50)
|
||||
,@columnCount INT
|
||||
|
||||
,@openJsonPath NVARCHAR(300)
|
||||
|
||||
DECLARE @TableName TABLE
|
||||
(
|
||||
TableName NVARCHAR(50)
|
||||
)
|
||||
|
||||
DECLARE @ColumnTable TABLE
|
||||
(
|
||||
ColumnName NVARCHAR(50)
|
||||
)
|
||||
|
||||
DECLARE @ColumnDataTable TABLE
|
||||
(
|
||||
ColumnName NVARCHAR(50)
|
||||
,ColumnType NVARCHAR(50)
|
||||
,MaxLengthValue NVARCHAR(50)
|
||||
,NumericPrecision NVARCHAR(50)
|
||||
,NumericScale NVARCHAR(50)
|
||||
,IsNullable NVARCHAR(50)
|
||||
)
|
||||
|
||||
-- A Json Root elemének kiszedése változóba @rootElement
|
||||
SELECT
|
||||
@rootElement = [key]
|
||||
FROM
|
||||
OPENJSON(@pImportJson, N'strict $')
|
||||
|
||||
--Az importálandó táblanevének kiszedése JSON-ből (rootelem utáni elem) @tableNameFromJson
|
||||
SET @rootElementJsonWithCommand =
|
||||
'SELECT
|
||||
@tableNameFromJson = [key]
|
||||
FROM
|
||||
OPENJSON(@pImportJson, N''lax $.' + @rootElement + ''')
|
||||
SELECT
|
||||
@tableNameFromJson '
|
||||
|
||||
INSERT INTO @TableName
|
||||
EXEC sp_executesql @rootElementJsonWithCommand, N'@pImportJson NVARCHAR(MAX), @tableNameFromJson NVARCHAR(50)', @pImportJson, @tableNameFromJson
|
||||
|
||||
SELECT @tableNameFromJson = (SELECT TOP 1 TableName FROM @TableName)
|
||||
|
||||
--NOTE: Megvizsgáljuk, hogy létezik-e a tábla neve a Json-ben
|
||||
IF (@tableNameFromJson IS NOT NULL)
|
||||
BEGIN
|
||||
|
||||
--Ha Törölnünk is kell akkor azzal kezdünk!
|
||||
IF @pIsTorles = 1
|
||||
BEGIN
|
||||
--DELETE összeállítása (Igazából update mert csak töröltre állít)
|
||||
SET @sqlDeleteCommand =
|
||||
'UPDATE '
|
||||
+ @tableNameFromJson + '
|
||||
SET '
|
||||
+ @tableNameFromJson + '.TOROLT = ''T'', '
|
||||
+ @tableNameFromJson + '.SERIAL = ' + @tableNameFromJson + '.SERIAL + 1, '
|
||||
+ @tableNameFromJson + '.LASTCHANGED = ''' + CONVERT(NVARCHAR(32), @lastChangedDateTime, 126) + ''', '
|
||||
+ @tableNameFromJson + '.MODIFIER = ''' + CONVERT(NVARCHAR(32), @modifierId) + '''
|
||||
WHERE '
|
||||
+ @tableNameFromJson + '.TOROLT = ''F''
|
||||
AND ' + @tableNameFromJson + '.C_IMPORTALT = ''T'' '
|
||||
|
||||
SET @sqlCommand = @sqlDeleteCommand + @sqlCommand
|
||||
END
|
||||
|
||||
--Oszlopok nevei a Json-ben
|
||||
SET @columnNameFromJsonCommand =
|
||||
'SELECT
|
||||
[key] ColumnNameList
|
||||
INTO
|
||||
#ColumnList
|
||||
FROM
|
||||
OPENJSON(@pImportJson, N''lax $.' + @rootElement + '.' + @tableNameFromJson + '[0]'')
|
||||
SELECT * FROM #ColumnList'
|
||||
|
||||
INSERT INTO @ColumnTable
|
||||
EXEC sp_executesql @columnNameFromJsonCommand, N'@pImportJson NVARCHAR(MAX)', @pImportJson
|
||||
|
||||
SELECT @columnCount = (SELECT COUNT(*) FROM @ColumnTable)
|
||||
|
||||
--NOTE: Megvizsgáljuk, hogy van-e oszlop a Json-ben
|
||||
IF (@columnCount <> 0)
|
||||
BEGIN
|
||||
|
||||
INSERT INTO
|
||||
@ColumnDataTable
|
||||
SELECT
|
||||
COLUMN_NAME
|
||||
,DATA_TYPE
|
||||
,CHARACTER_MAXIMUM_LENGTH
|
||||
,NUMERIC_PRECISION
|
||||
,NUMERIC_SCALE
|
||||
,IS_NULLABLE
|
||||
FROM
|
||||
INFORMATION_SCHEMA.columns
|
||||
WHERE
|
||||
TABLE_NAME = @tableNameFromJson
|
||||
AND TABLE_SCHEMA = 'dbo'
|
||||
AND COLUMN_NAME IN (SELECT ColumnName FROM @ColumnTable)
|
||||
|
||||
SELECT @openJsonWithCommand =
|
||||
ISNULL(@openJsonWithCommand + CHAR(13) + CHAR(10) + CHAR(9) + ',', CHAR(9) + SPACE(1) + '')
|
||||
+ '[' + ColumnName + '] ' + ColumnType
|
||||
+ CASE
|
||||
WHEN ColumnType IN ('DECIMAL', 'NUMERIC')
|
||||
THEN ISNULL('(' + CONVERT(VARCHAR(2), NumericPrecision) + ', ' + CONVERT(VARCHAR(2), NumericScale) + ') ', ' ')
|
||||
WHEN ColumnType IN ('NVARCHAR', 'VARCHAR', 'NCHAR', 'CHAR')
|
||||
THEN ISNULL('(' + CONVERT(VARCHAR(4), IIF(MaxLengthValue = -1, 'MAX', MaxLengthValue)) + ') ', ' ')
|
||||
ELSE
|
||||
' '
|
||||
END
|
||||
+ '''$.' + ColumnName + ''''
|
||||
FROM @ColumnDataTable
|
||||
|
||||
SET @openJsonWithCommand = '(' + CHAR(13) + CHAR(10) + @openJsonWithCommand + CHAR(13) + CHAR(10) + ')'
|
||||
|
||||
--OSZLOPLISTA INSERTHEZ
|
||||
SELECT
|
||||
@columnListForInsert = ISNULL(@columnListForInsert + ', ', '') + '[' + columnDataTable.ColumnName + ']' --TODO andrejkovicse: Függvény a []-ra
|
||||
FROM
|
||||
@ColumnDataTable columnDataTable
|
||||
WHERE
|
||||
columnDataTable.ColumnName <> 'ID' OR @pInsertAlways = 1
|
||||
|
||||
--OSZLOPLISTA UPDATHEZ
|
||||
SELECT
|
||||
@columnListForUpdate = ISNULL(@columnListForUpdate + ', ', '') + '[' + @tableNameFromJson + '].' + '[' + columnDataTable.ColumnName + '] = [ImportData].' + '[' + columnDataTable.ColumnName + ']'
|
||||
FROM
|
||||
@ColumnDataTable columnDataTable
|
||||
WHERE
|
||||
columnDataTable.ColumnName NOT IN ('ID', 'SERIAL', 'CREATOR', 'CREATED', 'C_IMPORTALT')
|
||||
|
||||
-- OPENJSON path beállítása (ez megegyezik mindhárom műveletnél)
|
||||
SET @openJsonPath = N'''strict $.' + @rootElement + '.' + @tableNameFromJson + ''''
|
||||
|
||||
--INSERT összeállítása
|
||||
SET @sqlInsertCommand =
|
||||
'INSERT INTO '
|
||||
+ @tableNameFromJson + '(' + @columnListForInsert + ')
|
||||
SELECT '
|
||||
+ @columnListForInsert + '
|
||||
FROM
|
||||
OPENJSON(@pImportJson, ' + @openJsonPath + ')
|
||||
WITH '
|
||||
+ @openJsonWithCommand
|
||||
|
||||
IF(@pInsertAlways = 0)
|
||||
BEGIN
|
||||
SET @sqlInsertCommand = @sqlInsertCommand + '
|
||||
WHERE
|
||||
ID IS NULL '
|
||||
END
|
||||
|
||||
IF(@pInsertAlways = 0)
|
||||
BEGIN
|
||||
--UPDATE összeállítása
|
||||
SET @sqlUpdateCommand =
|
||||
'UPDATE '
|
||||
+ @tableNameFromJson + '
|
||||
SET '
|
||||
+ @columnListForUpdate + ', '
|
||||
+ @tableNameFromJson + '.SERIAL = ' + @tableNameFromJson + '.SERIAL + 1 ' + '
|
||||
FROM
|
||||
(SELECT *
|
||||
FROM
|
||||
OPENJSON(@pImportJson, ' + @openJsonPath + ')
|
||||
WITH '
|
||||
+ @openJsonWithCommand + '
|
||||
WHERE
|
||||
ID IS NOT NULL) AS ImportData
|
||||
WHERE ' +
|
||||
@tableNameFromJson + '.ID = ImportData.ID '
|
||||
END
|
||||
|
||||
IF(@sqlUpdateCommand IS NULL OR @sqlUpdateCommand = '')
|
||||
BEGIN
|
||||
SET @sqlCommand = @sqlCommand + @sqlInsertCommand
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @sqlCommand = @sqlCommand + @sqlInsertCommand + @sqlUpdateCommand
|
||||
END
|
||||
END
|
||||
|
||||
IF(@sqlCommand IS NOT NULL OR @sqlCommand <> '')
|
||||
BEGIN
|
||||
EXEC sp_executesql @sqlCommand, N'@pImportJson NVARCHAR(MAX)', @pImportJson
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
-- =============================================
|
||||
-- Description: <Json daraboló a dinamikus importhoz>
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_DynamicImportJsonSplit]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_DynamicImportJsonSplit]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_DynamicImportJsonSplit]
|
||||
@pImportJson NVARCHAR(MAX)
|
||||
,@pIsTorles BIT
|
||||
,@pUserId INT
|
||||
,@pInsertAlways BIT
|
||||
,@pTableNameList NVARCHAR(2000)
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @OrderTable TABLE (
|
||||
Number INT
|
||||
,TableName NVARCHAR(50)
|
||||
)
|
||||
|
||||
--Paraméterként kapott táblanevek beszúrása
|
||||
INSERT INTO
|
||||
@OrderTable
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
ROW_NUMBER() OVER(ORDER BY [value] DESC) Number
|
||||
,VALUE TableName
|
||||
FROM
|
||||
STRING_SPLIT (@pTableNameList, ',')
|
||||
WHERE
|
||||
RTRIM(value) <> '') AS subSelect
|
||||
DECLARE
|
||||
@number INT = 1
|
||||
,@tableName NVARCHAR(50)
|
||||
,@actualJson NVARCHAR(MAX)
|
||||
|
||||
WHILE EXISTS(SELECT TableName FROM @OrderTable WHERE Number = @number)
|
||||
BEGIN
|
||||
SELECT
|
||||
@tableName = TableName
|
||||
FROM
|
||||
@OrderTable
|
||||
WHERE
|
||||
Number = @number
|
||||
|
||||
IF EXISTS(SELECT [Key] FROM OPENJSON(@pImportJson, N'strict $.ImportJson') WHERE [Key] = @tableName)
|
||||
BEGIN
|
||||
--[dbo].[sp_DynamicImport] meghívása a JSON megfelelő részével
|
||||
SET @actualJson = CONVERT(NVARCHAR(max), (
|
||||
SELECT
|
||||
[value]
|
||||
FROM
|
||||
OPENJSON(@pImportJson, N'strict $.ImportJson')
|
||||
WHERE
|
||||
[Key] = @tableName)
|
||||
)
|
||||
|
||||
SET @actualJson = '{"ImportJson": {"' + @tableName + '":' + @actualJson + '} }'
|
||||
|
||||
EXECUTE [dbo].[sp_DynamicImport] @pImportJson = @actualJson, @pIsTorles = @pIsTorles, @pUserId = @pUserId, @pInsertAlways = @pInsertAlways
|
||||
END
|
||||
|
||||
SET @number = @number + 1;
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
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;
|
||||
|
||||
--fejléc
|
||||
SELECT
|
||||
i.C_NEV as intezmeny
|
||||
,m.C_NEV as mukodesihely
|
||||
,d.C_NAME as oktatasiNevelesiFeladatTipus
|
||||
,ISNULL(i.C_VAROS + ', ', '') + FORMAT(GETDATE(), 'yyyy. MMMM dd.', 'hu-hu') AS kelt
|
||||
FROM T_INTEZMENYADATOK_OSSZES i
|
||||
INNER JOIN T_MUKODESIHELY_OSSZES m ON i.C_INTEZMENYID = m.C_INTEZMENYID AND m.TOROLT = 'F'
|
||||
INNER JOIN T_FELADATELLATASIHELY_OSSZES f ON m.ID = f.C_MUKODESIHELYID AND f.TOROLT = 'F' AND f.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.id = f.C_OKTATASINEVELESIFELADATTIPUS AND d.C_TANEVID = @tanevId
|
||||
WHERE
|
||||
i.C_TANEVID = @tanevId
|
||||
|
||||
|
||||
SELECT
|
||||
C_NYOMTATASINEV Nev
|
||||
INTO #DuplikaltNevek
|
||||
FROM T_FELHASZNALO_OSSZES
|
||||
WHERE C_TANEVID = @tanevId AND TOROLT = 'F'
|
||||
GROUP BY C_NYOMTATASINEV
|
||||
HAVING COUNT(Id) > 1
|
||||
|
||||
|
||||
--tanulocsoport
|
||||
SELECT DISTINCT
|
||||
tn.ID tanuloID
|
||||
,tn.C_NYOMTATASINEV + IIF(tn.C_NYOMTATASINEV IN (SELECT NEV FROM #DuplikaltNevek), ' - ('
|
||||
+ (FORMAT(tn.C_SZULETESIDATUM, 'yyyy.MM.dd') + ', '
|
||||
+ dbo.fnGetDokumentumTanuloAktualisOsztaly (tn.ID) +')' ), '') TanuloNeve
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = f.C_TANARID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_CSOPORTOK_OSZTALYOK 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 AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
WHERE
|
||||
f.C_TANARID = @alkalmazottId
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
|
||||
AND f.C_TANEVID=@TANEVID
|
||||
AND f.TOROLT='F'
|
||||
ORDER BY TanuloNeve
|
||||
|
||||
--tanuloinfo
|
||||
SELECT e.ID, tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev, FORMAT(e.C_ERTEKELESDATUM, 'd', 'hu-hu') as ertekelesDatuma,
|
||||
dt.C_NAME as ertekelesTipusa, dm.C_NAME as ertekelesModja, e.C_ERTEKELESSZOVEG as feljegyzes,
|
||||
fh.C_NYOMTATASINEV as tanarNev, do.C_NAME as osztalyzat, ocs.ID as csoportID, ocs.C_NEV as csoportNev,
|
||||
t.id as tantargyID, t.C_NEV as tantargyNev
|
||||
FROM T_TANULOERTEKELES_OSSZES e
|
||||
INNER JOIN T_OSZTALYZATERTEKELES_OSSZES oe ON e.ID = oe.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = e.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID and e.C_TANTARGYID = t.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = f.C_TANARID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA AND dt.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON (dm.ID = oe.C_ERTEKELESMODJA AND DM.C_INTEZMENYID = OE.C_ALINTEZMENYID AND DM.C_TANEVID = OE.C_ALTANEVID)
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES do ON (do.ID = e.C_OSZTALYZAT AND Do.C_INTEZMENYID = E.C_INTEZMENYID AND Do.C_TANEVID = E.C_TANEVID)
|
||||
WHERE
|
||||
f.C_TANARID = @alkalmazottId
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
|
||||
AND e.C_TANEVID=@tanevId
|
||||
AND e.TOROLT='F'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT e.ID, tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev, FORMAT(e.C_ERTEKELESDATUM, 'd', 'hu-hu') as ertekelesDatuma,
|
||||
dt.C_NAME as ertekelesTipusa, null as ertekelesModja, e.C_ERTEKELESSZOVEG as feljegyzes,
|
||||
fh.C_NYOMTATASINEV as tanarNev, dm.C_NAME + ', ' + ds.C_NAME as osztalyzat, ocs.ID as csoportID, ocs.C_NEV as csoportNev,
|
||||
t.id as tantargyID, t.C_NEV as tantargyNev
|
||||
FROM T_TANULOERTEKELES_OSSZES e
|
||||
INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES oe ON e.ID = oe.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = e.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID and e.C_TANTARGYID = t.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = f.C_TANARID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA AND dt.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON dm.ID = oe.C_MAGATARTAS AND dm.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ds ON ds.ID = oe.C_SZORGALOM AND ds.C_TANEVID = @tanevId
|
||||
WHERE
|
||||
f.C_TANARID = @alkalmazottId
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
|
||||
AND e.C_TANEVID=@TANEVID
|
||||
AND e.TOROLT='F'
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,35 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetJsonForMobileFoglalkozasokListaja]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetJsonForMobileFoglalkozasokListaja]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetJsonForMobileFoglalkozasokListaja]
|
||||
@tanarId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
foglalkozas.ID AS 'foglalkozasId'
|
||||
,foglalkozas.C_NEV AS 'nev'
|
||||
,tgy.ID AS 'tantargyId'
|
||||
,tgy.C_NEV AS 'tantargyNev'
|
||||
,ocs.ID AS 'osztalyCsoportId'
|
||||
,ocs.C_NEV AS 'osztalyCsoportNev'
|
||||
,dic.C_NAME AS 'tantargyKategoria'
|
||||
FROM T_FOGLALKOZAS foglalkozas
|
||||
JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = foglalkozas.C_OSZTALYCSOPORTID
|
||||
JOIN T_TANTARGY tgy ON tgy.ID = foglalkozas.C_TANTARGYID
|
||||
JOIN T_DICTIONARYITEMBASE dic on dic.ID = tgy.C_TARGYKATEGORIA AND dic.C_TANEVID = tgy.C_TANEVID AND dic.C_INTEZMENYID = tgy.C_INTEZMENYID
|
||||
WHERE
|
||||
foglalkozas.TOROLT = 'F'
|
||||
AND foglalkozas.C_TANARID = @tanarId
|
||||
FOR JSON PATH
|
||||
|
||||
END
|
|
@ -0,0 +1,27 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetJsonForMobileTanarProfil]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetJsonForMobileTanarProfil]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetJsonForMobileTanarProfil]
|
||||
@tanarId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
felhasznalo.ID AS 'id'
|
||||
,felhasznalo.C_NYOMTATASINEV AS 'nev'
|
||||
,'' AS 'kep'
|
||||
FROM T_FELHASZNALO felhasznalo
|
||||
WHERE
|
||||
felhasznalo.TOROLT = 'F' AND felhasznalo.ID = @tanarId
|
||||
FOR JSON PATH
|
||||
|
||||
END
|
|
@ -0,0 +1,109 @@
|
|||
GO
|
||||
/****** Object: StoredProcedure [dbo].[sp_GetJsonForMobileTanoraListaPart1] Script Date: 2018. 02. 02. 14:35:53 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetJsonForMobileTanoraListaPart1]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetJsonForMobileTanoraListaPart1]
|
||||
END
|
||||
GO
|
||||
CREATE PROCEDURE [dbo].[sp_GetJsonForMobileTanoraListaPart1]
|
||||
@tanarId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
(SELECT
|
||||
oo.ID AS 'id'
|
||||
,CONVERT(datetime,
|
||||
(
|
||||
CAST(DATEPART(year,nn.C_NAPDATUMA) AS nvarchar(4))
|
||||
+ '-' +
|
||||
CAST(DATEPART(month,nn.C_NAPDATUMA) AS nvarchar(2))
|
||||
+ '-' +
|
||||
CAST(DATEPART(day,nn.C_NAPDATUMA) AS nvarchar(2))
|
||||
+ ' ' +
|
||||
CAST(DATEPART(hour,oo.C_ORAKEZDETE) AS nvarchar(2))
|
||||
+ ':' +
|
||||
CAST(DATEPART(minute,oo.C_ORAKEZDETE) AS nvarchar(2))
|
||||
), 102) AS 'start'
|
||||
,CONVERT(datetime,
|
||||
(
|
||||
CAST(DATEPART(year,nn.C_NAPDATUMA) AS nvarchar(4))
|
||||
+ '-' +
|
||||
CAST(DATEPART(month,nn.C_NAPDATUMA) AS nvarchar(2))
|
||||
+ '-' +
|
||||
CAST(DATEPART(day,nn.C_NAPDATUMA) AS nvarchar(2))
|
||||
+ ' ' +
|
||||
CAST(DATEPART(hour,oo.C_ORAVEGE) AS nvarchar(2))
|
||||
+ ':' +
|
||||
CAST(DATEPART(minute,oo.C_ORAVEGE) AS nvarchar(2))
|
||||
),102) AS 'end'
|
||||
,oo.C_ORASZAM AS 'oraszam'
|
||||
,IIF(tno.ID IS NULL,'false','true') AS 'naplozott'
|
||||
,'false' AS 'mobilnaplozott'
|
||||
,IIF(ISNULL(tno.C_MEGTARTOTT,'T') = 'T','false','true') AS 'isElmaradt'
|
||||
,ISNULL(tno.C_TEMA,'') AS 'tema'
|
||||
,IIF(tno.C_HELYETTESITOTANARID IS NULL,'false','true') AS 'helyettesitett'
|
||||
,ISNULL(helyettesito.C_NYOMTATASINEV,'') AS 'helyettesitoNev'
|
||||
,ISNULL(tno.C_HELYETTESITOTANARID,0) AS 'helyettesitoId'
|
||||
,tantargy.C_NEV AS 'tantargyNev'
|
||||
,tantargy.ID AS 'tantargyId'
|
||||
,tanar.C_NYOMTATASINEV AS 'tanarNev'
|
||||
,tanar.ID AS 'tanarId'
|
||||
,osztalycsoport.C_NEV AS 'osztalycsoportNev'
|
||||
,osztalycsoport.ID AS 'osztalycsoportId'
|
||||
,terem.C_NEV AS 'teremNev'
|
||||
,terem.ID AS 'teremId'
|
||||
,ISNULL(tno.C_HAZIFELADAT,'') AS 'hazifeladat'
|
||||
,dic.C_NAME AS 'TantargyKategoriaNev'
|
||||
,'tanulok' =
|
||||
(
|
||||
SELECT
|
||||
tanulo.ID AS 'tanuloId'
|
||||
,tanulo.C_NYOMTATASINEV AS 'tanuloNev'
|
||||
,tanulo.C_ANYJANEVE AS 'tanuloAnyjaNeve'
|
||||
,convert(datetime,tanulo.C_SZULETESIDATUM,102) AS 'tanuloSzuletesiDatum'
|
||||
,ISNULL(tm.C_TIPUS,1498) AS 'mulasztasTipusEnumId'
|
||||
,tm.ID AS 'mulasztasId'
|
||||
,ISNULL(tm.C_KESESPERCBEN,0) AS 'keses'
|
||||
,'feljegyzesek' =
|
||||
(
|
||||
SELECT
|
||||
te.ID AS 'Id'
|
||||
,te.C_TIPUS AS 'feljegyzesTipusEnumId'
|
||||
FROM T_TANULOESEMENY te
|
||||
INNER JOIN T_TANULO_TANULOESEMENY tte ON tte.C_TANULOID = tanulo.ID AND te.ID = tte.C_TANULOESEMENYID
|
||||
WHERE
|
||||
te.C_TANITASIORAID = tno.ID AND te.TOROLT = 'F'
|
||||
FOR JSON PATH
|
||||
)
|
||||
FROM T_TANULOCSOPORT tcs
|
||||
INNER JOIN T_FELHASZNALO tanulo ON tanulo.TOROLT = 'F' AND tcs.C_TANULOID = tanulo.ID
|
||||
INNER JOIN T_TANULO t ON t.ID = tanulo.ID AND t.TOROLT = 'F' AND t.C_JOGVISZONYATSZUNETELTETO = 'F'
|
||||
LEFT JOIN T_TANULOMULASZTAS tm ON tm.C_ORATANULOIID = tanulo.ID AND tm.C_TANITASIORAKID = tno.ID AND tm.TOROLT = 'F'
|
||||
WHERE
|
||||
tcs.TOROLT = 'F' AND tcs.C_OSZTALYCSOPORTID = osztalycsoport.ID AND
|
||||
tcs.C_BELEPESDATUM < nn.C_NAPDATUMA AND (tcs.C_KILEPESDATUM > nn.C_NAPDATUMA OR tcs.C_KILEPESDATUM IS NULL)
|
||||
FOR JSON PATH
|
||||
)
|
||||
FROM T_NAPTARINAP nn
|
||||
INNER JOIN T_ORARENDIORA oo ON oo.C_ORAERVENYESSEGKEZDETE <= nn.C_NAPDATUMA AND oo.C_ORAERVENYESSEGVEGE >= nn.C_NAPDATUMA AND oo.TOROLT = 'F' AND oo.C_HETNAPJA = nn.C_HETNAPJA AND (oo.C_HETIREND = nn.C_HETIREND OR oo.C_HETIREND = 1554)
|
||||
LEFT JOIN T_TANITASIORA tno ON tno.C_DATUM = nn.C_NAPDATUMA AND tno.C_ORASZAM = oo.C_ORASZAM AND tno.C_OSZTALYCSOPORTID = oo.C_OSZTALYCSOPORTID AND tno.C_TANTARGYID = oo.C_TANTARGYID AND (tno.C_TANARID = oo.C_TANARID OR tno.C_HELYETTESITOTANARID = oo.C_TANARID)
|
||||
LEFT JOIN T_FELHASZNALO helyettesito ON helyettesito.ID = tno.C_HELYETTESITOTANARID AND helyettesito.TOROLT = 'F'
|
||||
INNER JOIN T_TANTARGY tantargy ON tantargy.ID = oo.C_TANTARGYID AND tantargy.TOROLT = 'F'
|
||||
INNER JOIN T_TEREM terem ON terem.ID = oo.C_TEREMID AND terem.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO tanar ON tanar.ID = oo.C_TANARID AND tanar.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT osztalycsoport ON osztalycsoport.ID = oo.C_OSZTALYCSOPORTID AND osztalycsoport.TOROLT = 'F'
|
||||
JOIN T_DICTIONARYITEMBASE dic on dic.ID = tantargy.C_TARGYKATEGORIA AND dic.C_TANEVID = tantargy.C_TANEVID AND dic.C_INTEZMENYID = tantargy.C_INTEZMENYID
|
||||
WHERE
|
||||
nn.TOROLT = 'F' AND
|
||||
nn.C_NAPDATUMA > DATEADD(week,-2,GETDATE()) AND
|
||||
nn.C_NAPDATUMA < DATEADD(week,2,GETDATE()) AND
|
||||
oo.C_TANARID = @tanarId AND tno.ID IS NULL)
|
||||
FOR JSON PATH
|
||||
|
||||
END
|
|
@ -0,0 +1,89 @@
|
|||
GO
|
||||
/****** Object: StoredProcedure [dbo].[sp_GetJsonForMobileTanoraListaPart2] Script Date: 2018. 02. 02. 14:42:55 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetJsonForMobileTanoraListaPart2]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetJsonForMobileTanoraListaPart2]
|
||||
END
|
||||
GO
|
||||
Create PROCEDURE [dbo].[sp_GetJsonForMobileTanoraListaPart2]
|
||||
@tanarId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
(SELECT
|
||||
tno.ID AS 'id'
|
||||
,convert(datetime,tno.C_ORAKEZDETE,102) AS 'start'
|
||||
,convert(datetime,tno.C_ORAVEGE,102) AS 'end'
|
||||
,tno.C_ORASZAM AS 'oraszam'
|
||||
,'true' AS 'naplozott'
|
||||
,IIF(tno.C_MOBILNAPLOZOTT = 'F','false','true') AS 'mobilnaplozott'
|
||||
,IIF(tno.C_MEGTARTOTT = 'F','true','false') AS 'isElmaradt'
|
||||
,ISNULL(tno.C_TEMA,'') AS 'tema'
|
||||
,IIF(tno.C_HELYETTESITOTANARID IS NULL,'false','true') AS 'helyettesitett'
|
||||
,ISNULL(helyettesito.C_NYOMTATASINEV,'') AS 'helyettesitoNev'
|
||||
,ISNULL(tno.C_HELYETTESITOTANARID,0) AS 'helyettesitoId'
|
||||
,tantargy.C_NEV AS 'tantargyNev'
|
||||
,tantargy.ID AS 'tantargyId'
|
||||
,tanar.C_NYOMTATASINEV AS 'tanarNev'
|
||||
,tanar.ID AS 'tanarId'
|
||||
,osztalycsoport.C_NEV AS 'osztalycsoportNev'
|
||||
,osztalycsoport.ID AS 'osztalycsoportId'
|
||||
,terem.C_NEV AS 'teremNev'
|
||||
,terem.ID AS 'teremId'
|
||||
,ISNULL(hf.C_FELADATSZOVEGE,'') AS 'hazifeladat'
|
||||
,'tanulok' =
|
||||
(
|
||||
SELECT
|
||||
tanulo.ID AS 'tanuloId'
|
||||
,tanulo.C_NYOMTATASINEV AS 'tanuloNev'
|
||||
,tanulo.C_ANYJANEVE AS 'tanuloAnyjaNeve'
|
||||
,convert(datetime,tanulo.C_SZULETESIDATUM,102) AS 'tanuloSzuletesiDatum'
|
||||
,tm.ID AS 'mulasztasId'
|
||||
,ISNULL(tm.C_TIPUS,1498) AS 'mulasztasTipusEnumId'
|
||||
,ISNULL(tm.C_KESESPERCBEN,0) AS 'keses'
|
||||
,'feljegyzesek' =
|
||||
(
|
||||
SELECT
|
||||
te.ID AS 'Id'
|
||||
,te.C_TIPUS AS 'feljegyzesTipusEnumId'
|
||||
FROM T_TANULOESEMENY te
|
||||
INNER JOIN T_TANULO_TANULOESEMENY tte ON tte.C_TANULOID = tanulo.ID AND te.ID = tte.C_TANULOESEMENYID
|
||||
WHERE
|
||||
te.C_TANITASIORAID = tno.ID AND te.TOROLT = 'F'
|
||||
FOR JSON PATH
|
||||
)
|
||||
FROM T_TANULOCSOPORT tcs
|
||||
INNER JOIN T_FELHASZNALO tanulo ON tanulo.TOROLT = 'F' AND tcs.C_TANULOID = tanulo.ID
|
||||
INNER JOIN T_TANULO t ON t.ID = tanulo.ID AND t.TOROLT = 'F' AND t.C_JOGVISZONYATSZUNETELTETO = 'F'
|
||||
LEFT JOIN T_TANULOMULASZTAS tm ON tm.C_ORATANULOIID = tanulo.ID AND tm.C_TANITASIORAKID = tno.ID AND tm.TOROLT = 'F'
|
||||
WHERE
|
||||
tcs.TOROLT = 'F' AND tcs.C_OSZTALYCSOPORTID = osztalycsoport.ID AND
|
||||
tcs.C_BELEPESDATUM < nn.C_NAPDATUMA AND (tcs.C_KILEPESDATUM > nn.C_NAPDATUMA OR tcs.C_KILEPESDATUM IS NULL)
|
||||
FOR JSON PATH
|
||||
)
|
||||
FROM T_NAPTARINAP nn
|
||||
JOIN T_TANITASIORA tno ON tno.C_DATUM = nn.C_NAPDATUMA AND tno.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO helyettesito ON helyettesito.ID = tno.C_HELYETTESITOTANARID AND helyettesito.TOROLT = 'F'
|
||||
JOIN T_TANTARGY tantargy ON tantargy.ID = tno.C_TANTARGYID AND tantargy.TOROLT = 'F'
|
||||
JOIN T_TEREM terem ON terem.ID = tno.C_TEREMID AND terem.TOROLT = 'F'
|
||||
JOIN T_FELHASZNALO tanar ON tanar.ID = tno.C_TANARID AND tanar.TOROLT = 'F'
|
||||
JOIN T_OSZTALYCSOPORT osztalycsoport ON osztalycsoport.ID = tno.C_OSZTALYCSOPORTID AND osztalycsoport.TOROLT = 'F'
|
||||
JOIN T_DICTIONARYITEMBASE dic on dic.ID = tantargy.C_TARGYKATEGORIA AND dic.C_TANEVID = tantargy.C_TANEVID AND dic.C_INTEZMENYID = tantargy.C_INTEZMENYID
|
||||
LEFT JOIN T_HAZIFELADATOK hf on hf.C_TANITASIORAID = tno.ID and hf.C_TANEVID = tno.C_TANEVID
|
||||
WHERE
|
||||
nn.TOROLT = 'F' AND
|
||||
nn.C_NAPDATUMA > DATEADD(week,-2,GETDATE()) AND
|
||||
nn.C_NAPDATUMA < DATEADD(week,2,GETDATE()) AND
|
||||
(
|
||||
tno.C_TANARID = @tanarId OR
|
||||
tno.C_HELYETTESITOTANARID = @tanarId
|
||||
)
|
||||
) FOR JSON PATH
|
||||
|
||||
END
|
|
@ -0,0 +1,67 @@
|
|||
GO
|
||||
/****** Object: StoredProcedure [dbo].[sp_GetJsonForMobileTanuloLista] Script Date: 2018. 02. 02. 14:43:37 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetJsonForMobileTanuloLista]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetJsonForMobileTanuloLista]
|
||||
END
|
||||
GO
|
||||
Create PROCEDURE [dbo].[sp_GetJsonForMobileTanuloLista]
|
||||
@tanarId INT,
|
||||
@foglalkozasId INT = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
osztalycsoport.ID AS 'osztalycsoportId'
|
||||
,osztalycsoport.C_NEV AS 'osztalycsoportNev'
|
||||
,tantargy.ID AS 'tantargyId'
|
||||
,tantargy.C_NEV AS 'tantargyNev'
|
||||
,dic.C_NAME AS 'tantargyKategoriaNev'
|
||||
,'tanulok' =
|
||||
(
|
||||
SELECT
|
||||
tanulo.ID AS 'tanuloid'
|
||||
,tanulo.C_NYOMTATASINEV AS 'tanuloNev'
|
||||
,tanulo.C_ANYJANEVE AS 'tanuloAnyjaNeve'
|
||||
,tanulo.C_SZULETESIDATUM AS 'tanuloSzuletesiDatum'
|
||||
,'ertekelesek' =
|
||||
(
|
||||
SELECT
|
||||
te.ID AS 'Id'
|
||||
,te.C_ERTEKELESOSZTALYZATID AS 'ertekelesOsztalyzatEnumId'
|
||||
,te.C_ERTEKELESSZAZALEK AS 'ertekelesSzazalek'
|
||||
,ISNULL(te.C_ERTEKELESSZOVEG, '') AS 'ertekelesSzoveg'
|
||||
,ISNULL(te.C_ERTEKELESTEMA, '') AS 'ertekelesTema'
|
||||
,te.C_TIPUSID AS 'ertekelesTipusEnumId'
|
||||
,te.C_ERTEKELESMODID AS 'ertekelesModEnumId'
|
||||
,te.C_DATUM AS 'ertekelesDatum'
|
||||
FROM T_TANULOERTEKELES te
|
||||
WHERE
|
||||
te.C_TANULOID = tanulo.ID AND te.TOROLT = 'F' AND te.C_TANTARGYID = tantargy.ID
|
||||
FOR JSON PATH
|
||||
)
|
||||
FROM T_TANULOCSOPORT tcs
|
||||
INNER JOIN T_FELHASZNALO tanulo ON tanulo.TOROLT = 'F' AND tcs.C_TANULOID = tanulo.ID
|
||||
WHERE
|
||||
tcs.TOROLT = 'F' AND tcs.C_OSZTALYCSOPORTID = osztalycsoport.ID AND
|
||||
tcs.C_BELEPESDATUM < GETDATE() AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL)
|
||||
FOR JSON PATH
|
||||
)
|
||||
FROM T_OSZTALYCSOPORT osztalycsoport
|
||||
JOIN T_FOGLALKOZAS foglalkozas ON foglalkozas.TOROLT = 'F' AND foglalkozas.C_OSZTALYCSOPORTID = osztalycsoport.ID
|
||||
JOIN T_TANTARGY tantargy ON tantargy.TOROLT = 'F' AND foglalkozas.C_TANTARGYID = tantargy.ID
|
||||
JOIN T_FELHASZNALO felhasznalo ON felhasznalo.TOROLT = 'F' AND foglalkozas.C_TANARID = felhasznalo.ID
|
||||
JOIN T_DICTIONARYITEMBASE dic on dic.ID = tantargy.C_TARGYKATEGORIA AND dic.C_TANEVID = tantargy.C_TANEVID AND dic.C_INTEZMENYID = tantargy.C_INTEZMENYID
|
||||
WHERE
|
||||
osztalycsoport.TOROLT = 'F' AND
|
||||
felhasznalo.ID = @tanarId AND
|
||||
((foglalkozas.ID = @foglalkozasId) OR (@foglalkozasId IS NULL))
|
||||
FOR JSON PATH
|
||||
|
||||
END
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,137 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('dbo.sp_Global_CreateTriggers') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_Global_CreateTriggers]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_Global_CreateTriggers]
|
||||
@tableName nvarchar(30)
|
||||
AS BEGIN
|
||||
DECLARE
|
||||
@sel nvarchar(max),
|
||||
@unpvt nvarchar(max),
|
||||
@sql nvarchar(max)
|
||||
|
||||
SELECT
|
||||
@unpvt = ISNULL(@unpvt + ', ', '') + c.COLUMN_NAME,
|
||||
@sel = ISNULL(@sel + ', ', '') + IIF(c.DATA_TYPE IN ('date', 'datetime'),'CONVERT(nvarchar(MAX), ' + c.COLUMN_NAME + ', 121)', 'CAST( ' + c.COLUMN_NAME + ' AS nvarchar(MAX))') + ' AS ' + c.COLUMN_NAME
|
||||
FROM INFORMATION_SCHEMA.COLUMNS c
|
||||
WHERE c.TABLE_NAME = @tableName
|
||||
AND c.COLUMN_NAME NOT IN (N'ID', N'C_INTEZMENYID', N'C_ALINTEZMENYID', N'C_TANEVID', N'C_ALTANEVID', N'CREATED', N'LASTCHANGED', N'SERIAL', N'CREATOR', N'MODIFIER')
|
||||
AND c.TABLE_SCHEMA = 'dbo'
|
||||
AND c.DATA_TYPE NOT IN ('binary', 'varbinary');
|
||||
|
||||
DECLARE @tanevCol nvarchar(30),
|
||||
@intezmenyCol nvarchar(30)
|
||||
|
||||
SELECT @intezmenyCol = c.COLUMN_NAME
|
||||
FROM INFORMATION_SCHEMA.COLUMNS c
|
||||
WHERE c.COLUMN_NAME LIKE '%INTEZMENYID'
|
||||
AND c.TABLE_NAME = @tableName
|
||||
AND c.TABLE_SCHEMA = 'dbo'
|
||||
|
||||
SELECT @tanevCol = c.COLUMN_NAME
|
||||
FROM INFORMATION_SCHEMA.COLUMNS c
|
||||
WHERE c.COLUMN_NAME LIKE '%TANEVID'
|
||||
AND c.TABLE_NAME = @tableName
|
||||
AND c.TABLE_SCHEMA = 'dbo'
|
||||
|
||||
SET @sql = '
|
||||
IF OBJECT_ID(''tr_' + LOWER(SUBSTRING(@tableName, 3, 100)) + 'Log'') IS NOT NULL BEGIN
|
||||
DROP TRIGGER tr_' + LOWER(SUBSTRING(@tableName, 3, 100)) + 'Log
|
||||
END'
|
||||
EXEC sp_executesql @sql;
|
||||
|
||||
SET @sql = '
|
||||
CREATE TRIGGER tr_' + LOWER(SUBSTRING(@tableName, 3, 100)) + 'Log ON ' + @tableName + '
|
||||
FOR INSERT, DELETE, UPDATE AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
DECLARE
|
||||
@insTable TABLE (objectId int, intezmenyId int, tanevId int, creator int, modifier int, col nvarchar(30), val varchar(max))
|
||||
DECLARE
|
||||
@delTable TABLE (objectId int, intezmenyId int, tanevId int, creator int, modifier int, col nvarchar(30), val varchar(max))
|
||||
DECLARE
|
||||
@linkTable TABLE (id int, objectId int, intezmenyId int, tanevId int)
|
||||
DECLARE
|
||||
@action char(1),
|
||||
@xml xml
|
||||
|
||||
SET @action =
|
||||
CASE
|
||||
WHEN NOT EXISTS (SELECT 1 FROM DELETED) THEN ''I''
|
||||
WHEN NOT EXISTS (SELECT 1 FROM INSERTED) THEN ''D''
|
||||
ELSE ''U''
|
||||
END
|
||||
|
||||
|
||||
INSERT INTO @insTable (objectId, intezmenyId, tanevId, creator, modifier, col, val)
|
||||
SELECT ID, C_INTEZMENYID, C_TANEVID, CREATOR, MODIFIER, col, val
|
||||
FROM
|
||||
(
|
||||
SELECT ID, ' + @intezmenyCol + ' AS C_INTEZMENYID, ' + @tanevCol + ' AS C_TANEVID, CREATOR, MODIFIER, ' + @sel + '
|
||||
FROM INSERTED) p
|
||||
UNPIVOT (val FOR col IN (' + @unpvt +')) AS unpvt
|
||||
|
||||
INSERT INTO @delTable (objectId, intezmenyId, tanevId, creator, modifier, col, val)
|
||||
SELECT ID, C_INTEZMENYID, C_TANEVID, CREATOR, MODIFIER, col, val
|
||||
FROM
|
||||
(
|
||||
SELECT ID, ' + @intezmenyCol + ' AS C_INTEZMENYID, ' + @tanevCol + ' AS C_TANEVID, CREATOR, MODIFIER, ' + @sel + '
|
||||
FROM DELETED) p
|
||||
UNPIVOT (val FOR col IN (' + @unpvt +')) AS unpvt
|
||||
|
||||
IF @action = ''I'' BEGIN
|
||||
INSERT INTO T_ENTITYHISTORY (C_ALTERATIONDATE, C_ENTITYID, C_ENTITYNAME, C_REASON, C_FELHASZNALOID, C_INTEZMENYID, C_TANEVID)
|
||||
OUTPUT INSERTED.ID, INSERTED.C_ENTITYID, INSERTED.C_INTEZMENYID, INSERTED.C_TANEVID INTO @linkTable
|
||||
SELECT DISTINCT GETDATE(), objectId, ''' + @tableName + ''', ''New'', creator, intezmenyId, tanevId FROM @insTable
|
||||
|
||||
INSERT INTO T_ENTITYATTRIBUTEHISTORY (C_CURRENTVALUE, C_ORIGINALVALUE, C_PROPERTYNAME, C_ENTITYHISTORYID)
|
||||
SELECT val, NULL, col, lk.id
|
||||
FROM @insTable i
|
||||
INNER JOIN @linkTable lk ON i.objectId = lk.objectId AND i.intezmenyId = lk.intezmenyId AND i.tanevId = lk.tanevId
|
||||
|
||||
END
|
||||
|
||||
IF @action = ''D'' BEGIN
|
||||
INSERT INTO T_ENTITYHISTORY (C_ALTERATIONDATE, C_ENTITYID, C_ENTITYNAME, C_REASON, C_FELHASZNALOID, C_INTEZMENYID, C_TANEVID)
|
||||
OUTPUT INSERTED.ID, INSERTED.C_ENTITYID, INSERTED.C_INTEZMENYID, INSERTED.C_TANEVID INTO @linkTable
|
||||
SELECT DISTINCT GETDATE(), objectId, ''' + @tableName + ''', ''Removed'', modifier, intezmenyId, tanevId FROM @delTable
|
||||
|
||||
INSERT INTO T_ENTITYATTRIBUTEHISTORY (C_CURRENTVALUE, C_ORIGINALVALUE, C_PROPERTYNAME, C_ENTITYHISTORYID)
|
||||
SELECT val, NULL, col, lk.id
|
||||
FROM @delTable i
|
||||
INNER JOIN @linkTable lk ON i.objectId = lk.objectId AND i.intezmenyId = lk.intezmenyId AND i.tanevId = lk.tanevId
|
||||
|
||||
END
|
||||
|
||||
IF @action = ''U'' BEGIN
|
||||
INSERT INTO T_ENTITYHISTORY (C_ALTERATIONDATE, C_ENTITYID, C_ENTITYNAME, C_REASON, C_FELHASZNALOID, C_INTEZMENYID, C_TANEVID)
|
||||
OUTPUT INSERTED.ID, INSERTED.C_ENTITYID, INSERTED.C_INTEZMENYID, INSERTED.C_TANEVID INTO @linkTable
|
||||
SELECT DISTINCT GETDATE(), i.objectId, ''' + @tableName + ''',
|
||||
CASE
|
||||
WHEN i.val = ''T'' AND d.val = ''F'' THEN ''Logical Removed''
|
||||
WHEN i.val = ''F'' AND d.val = ''T'' THEN ''Restored''
|
||||
ELSE ''Modified''
|
||||
END, i.modifier, i.intezmenyId, i.tanevId
|
||||
FROM @insTable i
|
||||
INNER JOIN @delTable d ON i.intezmenyId = d.intezmenyId AND i.objectId = d.objectId AND i.tanevId = d.tanevId AND i.col = d.col
|
||||
WHERE i.col = ''TOROLT'' AND d.COL = ''TOROLT''
|
||||
|
||||
INSERT INTO T_ENTITYATTRIBUTEHISTORY (C_CURRENTVALUE, C_ORIGINALVALUE, C_PROPERTYNAME, C_ENTITYHISTORYID)
|
||||
SELECT i.val, d.val, ISNULL(i.col, d.col), lk.id
|
||||
FROM @delTable d
|
||||
FULL JOIN @insTable i ON i.objectId = d.objectId AND i.intezmenyId = d.intezmenyId AND i.tanevId = d.tanevId AND i.col = d.col
|
||||
INNER JOIN @linkTable lk ON ISNULL(i.objectId, d.objectId) = lk.objectId AND ISNULL(i.intezmenyId, d.intezmenyId) = lk.intezmenyId AND ISNULL(i.tanevId, d.tanevId) = lk.tanevId
|
||||
WHERE (i.val <> d.val OR ((i.val IS NULL OR d.val IS NULL) AND (i.val IS NOT NULL OR d.val IS NOT NULL)))
|
||||
END
|
||||
END'
|
||||
|
||||
EXEC sp_executesql @sql;
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,260 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_Nyomtatvany_Excel_IdoszakiTanuloStatisztika]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_Nyomtatvany_Excel_IdoszakiTanuloStatisztika]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_Nyomtatvany_Excel_IdoszakiTanuloStatisztika]
|
||||
@pTanevId INT,
|
||||
@pIntezmenyId INT,
|
||||
@pErtekelestipusaId INT,
|
||||
@pLezaroNaptipusId INT,
|
||||
@pTanevrendjeTanevKezdeteNaptipusId INT = 1394,
|
||||
@pMulasztasTipusIdKeses INT = 1499,
|
||||
@pMulasztasTipusIdHianyzas INT = 1500,
|
||||
@pAtsoroltTanuloAdatok INT = 1,
|
||||
@pElmeletgyakorlat BIT = 0
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
--Const
|
||||
DECLARE @ElsoFelveVege INT = 1400
|
||||
DECLARE @IneVege INT = 1403
|
||||
DECLARE @IIIneVege INT = 1404
|
||||
DECLARE @UtolsoTanitasiNap INT = 1395
|
||||
DECLARE @VegzosUtolsoTanitasiNap INT = 1402
|
||||
|
||||
DECLARE @iskolaErdekuParam INT = 1683;
|
||||
DECLARE @iskolaErdekuSzamit BIT = dbo.fnGetRendszerbeallitasEnumBool(@iskolaErdekuParam, @pIntezmenyId, @pTanevId);
|
||||
|
||||
DECLARE @oid int, @onev nvarchar(50), @okf char(1), @ovegz char(1)
|
||||
DECLARE osztaly_cursor CURSOR FOR
|
||||
SELECT T_OSZTALYCSOPORT_OSSZES.ID AS OSZTALYID, T_OSZTALYCSOPORT_OSSZES.C_NEV AS NEV, C_KERESZTFELEVES AS KERESZTFELEVES, C_VEGZOSEVFOLYAM AS VEGZOSEVFOLYAM
|
||||
FROM T_OSZTALYCSOPORT_OSSZES
|
||||
JOIN T_OSZTALY_OSSZES ON T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID
|
||||
JOIN T_TANEV_OSSZES ON T_TANEV_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.C_TANEVID
|
||||
JOIN T_DICTIONARYITEMBASE_OSSZES ON T_DICTIONARYITEMBASE_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA AND T_DICTIONARYITEMBASE_OSSZES.TOROLT = 'F' AND T_DICTIONARYITEMBASE_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID
|
||||
WHERE T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F' AND T_OSZTALYCSOPORT_OSSZES.C_INTEZMENYID=@pIntezmenyId AND T_TANEV_OSSZES.TOROLT = 'F' AND T_TANEV_OSSZES.ID = @pTanevId
|
||||
ORDER BY T_DICTIONARYITEMBASE_OSSZES.C_ORDER ASC, T_OSZTALYCSOPORT_OSSZES.C_NEV ASC;
|
||||
|
||||
DECLARE @osztalyTanulok TABLE (TANULOID NVARCHAR(20) PRIMARY KEY, OSZTALYID INT, TANULONEV NVARCHAR(MAX), OSZTALYNEV NVARCHAR(MAX), BELEPESDATUM DATE, KILEPESDATUM DATE);
|
||||
DECLARE @tantargyak TABLE(TANTARGYID INT, TANTARGY_NEV NVARCHAR(MAX), TARGYKATEGORIA_NEV NVARCHAR(MAX), TARGYKATEGORIA_SORSZAM INT, C_FOTARGYE CHAR(1), C_ALTANTARGYKENTNYOMTATVANYBAN CHAR(1));
|
||||
DECLARE @szurtMulasztas TABLE (TIPUS_CHAR CHAR(1), C_TIPUS INT , C_IGAZOLT CHAR(1), TANULOID NVARCHAR(20), C_GYAKORLATI CHAR(1), KESESPERC INT, MULASZTASOK_SZAMA INT);
|
||||
DECLARE @szurtErtekeles TABLE (
|
||||
T_TANULOERTEKELES_ID INT, TANULOID NVARCHAR(20), ERTEKELES NVARCHAR(MAX), ERTEKELES_SZOVEG_MEGJEGYZES NVARCHAR(MAX), C_ERTEKELESDATUM DATETIME,
|
||||
TANTARGYID INT, TANTARGY_NEV NVARCHAR(255), TARGYKATEGORIA_NEV NVARCHAR(255), TARGYKATEGORIA_SORSZAM INT, T_TANTARGY_C_FOTARGYE CHAR(1), T_TANTARGY_C_ALTANTARGYKENTNYOMTATVANYBAN CHAR(1), C_OSZTALYCSOPORTID INT
|
||||
);
|
||||
DECLARE @szurtMagszorg TABLE (T_TANULOERTEKELES_ID INT, TANULOID NVARCHAR(20), MagatartasOsztalyzat INT, MagatartasErtek NVARCHAR(MAX), SzorgalomOsztalyzat INT, SzorgalomErtek NVARCHAR(MAX), ERTEKELESSZOVEG NVARCHAR(MAX), ERTEKELESDATUM DATETIME, TOROLT CHAR(1));
|
||||
|
||||
DECLARE @szurtMulasztasRes TABLE (TIPUS_CHAR CHAR(1), C_TIPUS INT , C_IGAZOLT CHAR(1), TANULOID NVARCHAR(20), KESESPERC INT, KESESORA INT, MULASZTASOK_SZAMA INT, C_GYAKORLATI CHAR(1));
|
||||
DECLARE @szurtMulasztasOsszesRes TABLE (C_IGAZOLT CHAR(1), TANULOID NVARCHAR(20), MULASZTASOK_SZAMA INT, C_GYAKORLATI CHAR(1));
|
||||
|
||||
INSERT INTO @tantargyak (TANTARGYID, TANTARGY_NEV, TARGYKATEGORIA_NEV, TARGYKATEGORIA_SORSZAM, C_FOTARGYE, C_ALTANTARGYKENTNYOMTATVANYBAN)
|
||||
SELECT TANTARGYAK.ID AS TANTARGYID, COALESCE(TANTARGYAK.C_NEVNYOMTATVANYBAN, TANTARGYAK.C_NEV) AS TANTARGY_NEV, TARGYKATEG.C_NAME AS TARGYKATEGORIA_NEV, TARGYKATEG.C_VALUE AS TARGYKATEGORIA_SORSZAM, TANTARGYAK.C_FOTARGYE, TANTARGYAK.C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
FROM T_TANTARGY_OSSZES AS TANTARGYAK
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS TARGYKATEG ON TARGYKATEG.ID = TANTARGYAK.C_TARGYKATEGORIA AND TARGYKATEG.C_TANEVID = TANTARGYAK.C_TANEVID
|
||||
WHERE TANTARGYAK.TOROLT = 'F' AND TANTARGYAK.C_TANEVID = @pTanevId
|
||||
ORDER BY TARGYKATEGORIA_SORSZAM, TANTARGY_NEV;
|
||||
|
||||
IF OBJECT_ID('tempdb..#tempMulasztas') IS NOT NULL
|
||||
DROP TABLE #tempMulasztas;
|
||||
|
||||
CREATE TABLE #tempMulasztas (
|
||||
ID INT IDENTITY(1,1) PRIMARY KEY,
|
||||
TIPUS_CHAR CHAR(1), TIPUS INT, IGAZOLT CHAR(1), TANULOID NVARCHAR(20), GYAKORLATI CHAR(1), KESESPERC INT, MULASZTASOK_SZAMA INT, OSZTALYCSOPORTID INT, DATUM DATETIME);
|
||||
|
||||
INSERT INTO #tempMulasztas(TIPUS_CHAR, TIPUS, IGAZOLT, TANULOID, GYAKORLATI, KESESPERC, MULASZTASOK_SZAMA, OSZTALYCSOPORTID, DATUM)
|
||||
SELECT IIF(C_TIPUS = @pMulasztasTipusIdKeses, 'K', 'H'), C_TIPUS, C_IGAZOLT, C_ORATANULOIID, C_GYAKORLATI, SUM(C_KESESPERCBEN), COUNT(1) AS MULASZTASOK_SZAMA, TanitasiOra.C_OSZTALYCSOPORTID, C_DATUM
|
||||
FROM T_TANULOMULASZTAS_OSSZES TanuloMulasztas
|
||||
INNER JOIN T_TANITASIORA_OSSZES TanitasiOra ON TanitasiOra.ID = TanuloMulasztas.C_TANITASIORAKID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON
|
||||
TanuloCsoport.C_TANULOID = TanuloMulasztas.C_ORATANULOIID
|
||||
AND TanuloCsoport.C_OSZTALYCSOPORTID = TanitasiOra.C_OSZTALYCSOPORTID
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND TanitasiOra.C_DATUM BETWEEN TanuloCsoport.C_BELEPESDATUM AND ISNULL(TanuloCsoport.C_KILEPESDATUM, GETDATE())
|
||||
INNER JOIN T_TANTARGY_OSSZES t on t.ID = TanitasiOra.C_TANTARGYID
|
||||
WHERE TanuloMulasztas.C_TIPUS IN (@pMulasztasTipusIdKeses, @pMulasztasTipusIdHianyzas)
|
||||
AND TanitasiOra.C_OSZTALYCSOPORTID IN (SELECT Id FROM fnGetDokumentumOsztalyVagyTanoraiCsoport (@pTanevId))
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA IS NULL OR C_IGAZOLASTIPUSA <> 1533))
|
||||
AND TanuloMulasztas.TOROLT = 'F' AND TanuloMulasztas.C_IGAZOLT IS NOT NULL
|
||||
AND TanitasiOra.TOROLT = 'F' AND TanitasiOra.C_MEGTARTOTT = 'T'
|
||||
AND TanuloMulasztas.C_TANEVID = @pTanevId
|
||||
GROUP BY C_TIPUS, C_IGAZOLT, C_ORATANULOIID, C_GYAKORLATI, TanitasiOra.C_OSZTALYCSOPORTID, C_DATUM
|
||||
|
||||
|
||||
OPEN osztaly_cursor
|
||||
|
||||
FETCH NEXT FROM osztaly_cursor
|
||||
INTO @oid, @onev, @okf, @ovegz
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
DECLARE @keresztFeleves BIT = (SELECT IIF(@okf = 'T', 1, 0))
|
||||
DECLARE @vegzosEvfolyamu BIT = (SELECT IIF(@ovegz = 'T', 1, 0))
|
||||
|
||||
--Osztalyjellemzok alapjan a nyito/lezaro naptipus csereje
|
||||
DECLARE @pKezdeteOsztalyNaptipusId INT = (
|
||||
IIF(@keresztFeleves = 0, @pTanevrendjeTanevKezdeteNaptipusId,
|
||||
CASE
|
||||
WHEN @pLezaroNaptipusId = @ElsoFelveVege THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @pTanevrendjeTanevKezdeteNaptipusId
|
||||
WHEN @pLezaroNaptipusId = @IneVege THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @IIIneVege THEN @pTanevrendjeTanevKezdeteNaptipusId
|
||||
END)
|
||||
)
|
||||
|
||||
DECLARE @pLezaroOsztalyNaptipusId INT = (
|
||||
IIF(@keresztFeleves = 0, IIF(@vegzosEvfolyamu = 1 AND @pLezaroNaptipusId = @UtolsoTanitasiNap, @VegzosUtolsoTanitasiNap, @pLezaroNaptipusId),
|
||||
CASE
|
||||
WHEN @pLezaroNaptipusId = @ElsoFelveVege THEN @UtolsoTanitasiNap
|
||||
WHEN @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @IneVege THEN @IIIneVege
|
||||
WHEN @pLezaroNaptipusId = @IIIneVege THEN @IneVege
|
||||
END)
|
||||
)
|
||||
|
||||
DECLARE @idoszakEleje DATE = (
|
||||
SELECT ISNULL(
|
||||
(SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = @pKezdeteOsztalyNaptipusId AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = @oid)
|
||||
ORDER BY C_OSZTALYCSOPORTID DESC),
|
||||
(SELECT TOP 1 C_ELSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @pTanevId))
|
||||
);
|
||||
|
||||
DECLARE @idoszakVege DATE = (
|
||||
SELECT ISNULL(
|
||||
(SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = @pLezaroOsztalyNaptipusId AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = @oid)
|
||||
ORDER BY C_OSZTALYCSOPORTID DESC),
|
||||
GETDATE())
|
||||
);
|
||||
|
||||
INSERT INTO @osztalyTanulok (TANULOID, OSZTALYID, TANULONEV, OSZTALYNEV, BELEPESDATUM, KILEPESDATUM)
|
||||
SELECT DISTINCT CAST(TANCSOPORT.C_OSZTALYCSOPORTID AS NVARCHAR) + '_' + CAST(FELHASZNALO.ID AS NVARCHAR) /*AS OSZTALYTANULOID, FELHASZNALO.ID*/ AS TANULOID, TANCSOPORT.C_OSZTALYCSOPORTID AS OSZTALYID, C_NYOMTATASINEV, C_NEV, C_BELEPESDATUM, C_KILEPESDATUM
|
||||
FROM T_FELHASZNALO_OSSZES AS FELHASZNALO
|
||||
INNER JOIN (
|
||||
SELECT C_TANULOID, C_OSZTALYCSOPORTID, C_NEV, C_BELEPESDATUM, C_KILEPESDATUM
|
||||
FROM T_TANULOCSOPORT_OSSZES AS TANULOCSOPORT
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS OSZTALYCSOPORT ON OSZTALYCSOPORT.ID = TANULOCSOPORT.C_OSZTALYCSOPORTID
|
||||
WHERE TANULOCSOPORT.TOROLT = 'F' AND TANULOCSOPORT.C_OSZTALYCSOPORTID = @oid AND TANULOCSOPORT.C_BELEPESDATUM < @idoszakVege AND (@keresztFeleves = 0 OR TANULOCSOPORT.C_BELEPESDATUM >= @idoszakEleje)
|
||||
AND (TANULOCSOPORT.C_KILEPESDATUM IS NULL OR TANULOCSOPORT.C_KILEPESDATUM >= @idoszakVege)
|
||||
) AS TANCSOPORT ON TANCSOPORT.C_TANULOID = FELHASZNALO.ID
|
||||
WHERE FELHASZNALO.TOROLT = 'F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @oid AND FELHASZNALO.C_TANEVID = @pTanevId;
|
||||
|
||||
IF OBJECT_ID('tempdb..#tempOsztalyErtekelesek') IS NOT NULL
|
||||
DROP TABLE #tempOsztalyErtekelesek;
|
||||
SELECT * INTO #tempOsztalyErtekelesek FROM fnGetDokumentumErtekelesekOsztalyonkent (@pTanevId, @oid, @pErtekelestipusaId, DEFAULT, DEFAULT, @pAtsoroltTanuloAdatok) AS ERTEKELESEK
|
||||
|
||||
INSERT INTO @szurtErtekeles (T_TANULOERTEKELES_ID, TANULOID, ERTEKELES, ERTEKELES_SZOVEG_MEGJEGYZES, C_ERTEKELESDATUM, TANTARGYID, TANTARGY_NEV, TARGYKATEGORIA_NEV, TARGYKATEGORIA_SORSZAM, T_TANTARGY_C_FOTARGYE, T_TANTARGY_C_ALTANTARGYKENTNYOMTATVANYBAN, C_OSZTALYCSOPORTID)
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY TanuloId), CAST(@oid AS NVARCHAR) + '_' + CAST(TanuloId AS NVARCHAR), COALESCE(CAST(ErtekelesOsztalyzatValue AS NVARCHAR(MAX)), IIF(ErtekelesSzoveg IS NOT NULL, ISNULL(ErtekelesSzovegRovidNev, NULL), NULL), ErtekelesSzazalek), COALESCE(ErtekelesSzoveg, ErtekelesTema, ''), Datum,
|
||||
TantargyId, TantargyNevZarojellel, TARGYKATEG.C_NAME, TARGYKATEG.C_VALUE, FotargyE, Altantargy, OsztalyCsoportId
|
||||
FROM #tempOsztalyErtekelesek AS ERTEKELESEK
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS TARGYKATEG ON TARGYKATEG.ID = ERTEKELESEK.TargyKategoriaId AND TARGYKATEG.C_TANEVID = @pTanevId
|
||||
WHERE TantargyId IS NOT NULL AND (FotargyE = 'T' OR Altantargy = 'T')
|
||||
|
||||
--MAGATARTÁS-SZORGALOM
|
||||
INSERT INTO @szurtMagszorg (T_TANULOERTEKELES_ID, TANULOID, MagatartasOsztalyzat, MagatartasErtek, SzorgalomOsztalyzat, SzorgalomErtek, ERTEKELESSZOVEG, ERTEKELESDATUM, TOROLT)
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY TanuloId) AS ID, CAST(@oid AS NVARCHAR) + '_' + CAST(TanuloId AS NVARCHAR) AS TANULOID,
|
||||
COALESCE(CAST(MagatartasOsztalyzatValue AS NVARCHAR(MAX)), CAST(MagatartasErtekOsztalyzatkent AS NVARCHAR(MAX)), MagatartasSzovegRovidNev) AS MagatartasOsztalyzat, MagatartasErtek,
|
||||
COALESCE(CAST(SzorgalomOsztalyzatValue AS NVARCHAR(MAX)), CAST(SzorgalomErtekOsztalyzatkent AS NVARCHAR(MAX)), SzorgalomSzovegRovidNev) AS SzorgalomOsztalyzat, SzorgalomErtek,
|
||||
ErtekelesSzoveg AS C_ERTEKELESSZOVEG, Datum AS C_ERTEKELESDATUM, 'F' AS TOROLT
|
||||
FROM #tempOsztalyErtekelesek AS ERTEKELESEK
|
||||
WHERE TantargyId IS NULL;
|
||||
|
||||
--MULASZTÁS
|
||||
INSERT INTO @szurtMulasztas (TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, C_GYAKORLATI, KESESPERC, MULASZTASOK_SZAMA)
|
||||
SELECT TIPUS_CHAR, TIPUS, IGAZOLT, CAST(@oid AS NVARCHAR) + '_' + CAST(TanuloMulasztas.TANULOID AS NVARCHAR), GYAKORLATI, SUM(KESESPERC), SUM(MULASZTASOK_SZAMA)
|
||||
FROM #tempMulasztas AS TanuloMulasztas
|
||||
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @oid, 'T') AS TANULO ON TANULO.TanuloId = TanuloMulasztas.TANULOID
|
||||
WHERE TANULO.BelepesDatum <= DATUM
|
||||
AND (TANULO.KilepesDatum IS NULL OR TANULO.KilepesDatum >= DATUM)
|
||||
AND (IIF(@pAtsoroltTanuloAdatok > 0, 1, 0) = 1 OR (OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@oid, @pTanevId, DEFAULT))))
|
||||
AND (@idoszakEleje IS NULL OR DATUM >= @idoszakEleje)
|
||||
AND (@idoszakVege IS NULL OR DATUM <= @idoszakVege)
|
||||
GROUP BY TIPUS_CHAR, TIPUS, IGAZOLT, TanuloMulasztas.TANULOID, GYAKORLATI
|
||||
|
||||
IF @pElmeletgyakorlat=0
|
||||
BEGIN
|
||||
INSERT INTO @szurtMulasztasRes
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, SUM(KESESPERC) AS KESESPERC, SUM(KESESPERC)/45 AS KESESORA, SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA, 'F'
|
||||
FROM @szurtMulasztas
|
||||
GROUP BY TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID
|
||||
ORDER BY TANULOID, C_TIPUS DESC, C_IGAZOLT DESC;
|
||||
|
||||
INSERT INTO @szurtMulasztasOsszesRes
|
||||
SELECT C_IGAZOLT, TANULOID, SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA, 'F'
|
||||
FROM (
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, SUM(KESESPERC)/45 AS MULASZTASOK_SZAMA
|
||||
FROM @szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'K'
|
||||
GROUP BY TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID
|
||||
UNION ALL
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA
|
||||
FROM @szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'H'
|
||||
GROUP BY TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID
|
||||
) AS KM
|
||||
GROUP BY C_IGAZOLT, TANULOID
|
||||
ORDER BY TANULOID, C_IGAZOLT DESC;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @szurtMulasztasRes
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, KESESPERC, KESESPERC/(CASE WHEN C_GYAKORLATI = 'T' THEN 45 ELSE 45 END) AS KESESORA, MULASZTASOK_SZAMA, C_GYAKORLATI
|
||||
FROM @szurtMulasztas
|
||||
ORDER BY TANULOID, C_TIPUS DESC, C_IGAZOLT DESC;
|
||||
|
||||
INSERT INTO @szurtMulasztasOsszesRes
|
||||
SELECT C_IGAZOLT, TANULOID, SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA, C_GYAKORLATI
|
||||
FROM (
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, KESESPERC/(CASE WHEN C_GYAKORLATI = 'T' THEN 45 ELSE 45 END) AS MULASZTASOK_SZAMA, C_GYAKORLATI
|
||||
FROM @szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'K'
|
||||
UNION ALL
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, TANULOID, MULASZTASOK_SZAMA, C_GYAKORLATI
|
||||
FROM @szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'H'
|
||||
) AS KM
|
||||
GROUP BY C_IGAZOLT, TANULOID, C_GYAKORLATI
|
||||
ORDER BY TANULOID, C_IGAZOLT DESC;
|
||||
END
|
||||
|
||||
FETCH NEXT FROM osztaly_cursor
|
||||
INTO @oid, @onev, @okf, @ovegz
|
||||
END
|
||||
CLOSE osztaly_cursor;
|
||||
DEALLOCATE osztaly_cursor;
|
||||
|
||||
SELECT DISTINCT TANULOID, TANULONEV, OSZTALYNEV, FORMAT(BELEPESDATUM, 'yyyy.MM.dd', 'hu-HU') + ' - ' + ISNULL (FORMAT(KILEPESDATUM, 'yyyy.MM.dd', 'hu-HU'), '') AS BESOROLASA
|
||||
FROM @osztalyTanulok
|
||||
ORDER BY OSZTALYNEV, TANULONEV;
|
||||
|
||||
SELECT DISTINCT TANTARGYID, TANTARGY_NEV, TARGYKATEGORIA_SORSZAM
|
||||
FROM @tantargyak
|
||||
ORDER BY TARGYKATEGORIA_SORSZAM, TANTARGY_NEV;
|
||||
|
||||
SELECT * FROM @szurtErtekeles
|
||||
|
||||
SELECT * FROM @szurtMagszorg
|
||||
|
||||
SELECT * FROM @szurtMulasztasRes
|
||||
|
||||
SELECT * FROM @szurtMulasztasOsszesRes
|
||||
|
||||
IF OBJECT_ID('tempdb..#tempOsztalyErtekelesek') IS NOT NULL
|
||||
DROP TABLE #tempOsztalyErtekelesek;
|
||||
|
||||
IF OBJECT_ID('tempdb..#tempMulasztas') IS NOT NULL
|
||||
DROP TABLE #tempMulasztas;
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,376 @@
|
|||
-- =============================================
|
||||
-- Description: <>
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_TantargyfelosztasImport]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_TantargyfelosztasImport]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_TantargyfelosztasImport]
|
||||
@pImportJson NVARCHAR(MAX)
|
||||
,@pIsTorles BIT
|
||||
,@pUserId INT
|
||||
,@pTanevId INT
|
||||
,@pIntezmenyId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE
|
||||
@tableNameList nvarchar(2000) = 'T_TANTARGY_OSSZES,T_OSZTALYCSOPORT_OSSZES'
|
||||
,@actualJson NVARCHAR(MAX) = ''
|
||||
|
||||
,@lastChangedDateTime DATETIME = GETDATE()
|
||||
,@modifierId INT = @pUserId
|
||||
|
||||
--Ha Törölnünk is kell akkor azzal kezdünk!
|
||||
IF (@pIsTorles = 1)
|
||||
BEGIN
|
||||
--Foglalkozás kapcsolatainak törlése
|
||||
UPDATE
|
||||
OrarendiOra
|
||||
SET
|
||||
OrarendiOra.C_FOGLALKOZASID = NULL
|
||||
,OrarendiOra.SERIAL = OrarendiOra.SERIAL + 1
|
||||
,OrarendiOra.LASTCHANGED = @lastChangedDateTime
|
||||
,OrarendiOra.MODIFIER = @modifierId
|
||||
FROM
|
||||
T_ORARENDIORA_OSSZES OrarendiOra
|
||||
WHERE
|
||||
OrarendiOra.C_INTEZMENYID = @pIntezmenyId
|
||||
AND OrarendiOra.C_TANEVID = @pTanevId
|
||||
AND OrarendiOra.TOROLT = 'F'
|
||||
AND EXISTS
|
||||
(SELECT TOP 1
|
||||
ID
|
||||
FROM
|
||||
T_FOGLALKOZAS_OSSZES Foglalkozas
|
||||
WHERE
|
||||
Foglalkozas.ID = OrarendiOra.C_FOGLALKOZASID
|
||||
AND Foglalkozas.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Foglalkozas.C_TANEVID = @pTanevId
|
||||
AND Foglalkozas.TOROLT = 'F'
|
||||
AND Foglalkozas.C_IMPORTALT = 'T'
|
||||
)
|
||||
|
||||
UPDATE
|
||||
TanitasiOra
|
||||
SET
|
||||
TanitasiOra.C_FOGLALKOZASID = NULL
|
||||
,TanitasiOra.SERIAL = TanitasiOra.SERIAL + 1
|
||||
,TanitasiOra.LASTCHANGED = @lastChangedDateTime
|
||||
,TanitasiOra.MODIFIER = @modifierId
|
||||
FROM
|
||||
T_TANITASIORA_OSSZES TanitasiOra
|
||||
WHERE
|
||||
TanitasiOra.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanitasiOra.C_TANEVID = @pTanevId
|
||||
AND TanitasiOra.TOROLT = 'F'
|
||||
AND EXISTS
|
||||
(SELECT TOP 1
|
||||
ID
|
||||
FROM
|
||||
T_FOGLALKOZAS_OSSZES Foglalkozas
|
||||
WHERE
|
||||
Foglalkozas.ID = TanitasiOra.C_FOGLALKOZASID
|
||||
AND Foglalkozas.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Foglalkozas.C_TANEVID = @pTanevId
|
||||
AND Foglalkozas.TOROLT = 'F'
|
||||
AND Foglalkozas.C_IMPORTALT = 'T'
|
||||
)
|
||||
|
||||
UPDATE
|
||||
TanuloMulasztasStatisztika
|
||||
SET
|
||||
TanuloMulasztasStatisztika.C_TARGYMULASZTASSTATISZTIKAIID = NULL
|
||||
,TanuloMulasztasStatisztika.SERIAL = TanuloMulasztasStatisztika.SERIAL + 1
|
||||
,TanuloMulasztaSstatisztika.LASTCHANGED = @lastChangedDateTime
|
||||
,TanuloMulasztasStatisztika.MODIFIER = @modifierId
|
||||
FROM
|
||||
T_TANULOTARGYMULASZTASSTATISZT_OSSZES TanuloMulasztasStatisztika
|
||||
WHERE
|
||||
TanuloMulasztasStatisztika.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloMulasztasStatisztika.C_TANEVID = @pTanevId
|
||||
AND TanuloMulasztasStatisztika.TOROLT = 'F'
|
||||
AND EXISTS
|
||||
(SELECT TOP 1
|
||||
ID
|
||||
FROM
|
||||
T_FOGLALKOZAS_OSSZES Foglalkozas
|
||||
WHERE
|
||||
Foglalkozas.ID = TanuloMulasztasStatisztika.C_TARGYMULASZTASSTATISZTIKAIID
|
||||
AND Foglalkozas.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Foglalkozas.C_TANEVID = @pTanevId
|
||||
AND Foglalkozas.TOROLT = 'F'
|
||||
AND Foglalkozas.C_IMPORTALT = 'T'
|
||||
)
|
||||
|
||||
DELETE
|
||||
TeremFoglalkozas
|
||||
FROM
|
||||
T_TEREM_FOGLALKOZAS TeremFoglalkozas
|
||||
WHERE
|
||||
EXISTS
|
||||
(SELECT TOP 1
|
||||
ID
|
||||
FROM
|
||||
T_FOGLALKOZAS_OSSZES Foglalkozas
|
||||
WHERE
|
||||
Foglalkozas.ID = TeremFoglalkozas.C_FOGLALKOZASID
|
||||
AND Foglalkozas.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Foglalkozas.C_TANEVID = @pTanevId
|
||||
AND Foglalkozas.TOROLT = 'F'
|
||||
AND Foglalkozas.C_IMPORTALT = 'T'
|
||||
)
|
||||
|
||||
|
||||
--Foglalkozások törlése
|
||||
UPDATE
|
||||
Foglalkozas
|
||||
SET
|
||||
Foglalkozas.TOROLT = 'T'
|
||||
,Foglalkozas.SERIAL = Foglalkozas.SERIAL + 1
|
||||
,Foglalkozas.LASTCHANGED = @lastChangedDateTime
|
||||
,Foglalkozas.MODIFIER = @modifierId
|
||||
FROM
|
||||
T_FOGLALKOZAS_OSSZES Foglalkozas
|
||||
WHERE
|
||||
Foglalkozas.C_TANEVID = @pTanevId
|
||||
AND Foglalkozas.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Foglalkozas.TOROLT = 'F'
|
||||
AND Foglalkozas.C_IMPORTALT = 'T'
|
||||
END
|
||||
|
||||
--NOTE: A törlés itt azért false, mert a T_TANTARGY_OSSZES és a T_OSZTALYCSOPORT_OSSZES view-ból nem törlünk importnál
|
||||
EXECUTE [dbo].[sp_DynamicImportJsonSplit] @pImportJson = @pImportJson , @pIsTorles = 0, @pUserId = @pUserId, @pInsertAlways = 0, @pTableNameList = @tableNameList
|
||||
|
||||
--Osztályok beszúrása
|
||||
SET @actualJson = ' { "ImportJson":{ "T_OSZTALY_OSSZES":' +
|
||||
(SELECT
|
||||
Osztaly.OsztalyCsoportId ID
|
||||
,Osztaly. C_KEPZESIFORMA
|
||||
,Osztaly. C_TECHNIKAIOSZTALY
|
||||
,Osztaly. C_GYOGYPEDAGOGIAI
|
||||
,Osztaly. C_KETTANNYELVU
|
||||
,Osztaly. C_LOGOPEDIAI
|
||||
,Osztaly. C_NEMZETISEGI
|
||||
,Osztaly. C_NYELVIELOKESZITO
|
||||
,Osztaly. C_SPORT
|
||||
,Osztaly. C_ALINTEZMENYID
|
||||
,Osztaly. C_ALTANEVID
|
||||
,Osztaly. TOROLT
|
||||
,Osztaly. SERIAL
|
||||
,Osztaly. LASTCHANGED
|
||||
,Osztaly. CREATED
|
||||
,Osztaly. MODIFIER
|
||||
,Osztaly. CREATOR
|
||||
,Osztaly. ELOZOTANEVIREKORDID
|
||||
,Osztaly. NNID
|
||||
FROM
|
||||
(SELECT
|
||||
OsztalyJsonData.*
|
||||
,OsztalyCsoport.ID OsztalyCsoportId
|
||||
FROM OPENJSON(@pImportJson, N'lax $.ImportJson.T_OSZTALY_OSSZES')
|
||||
WITH (
|
||||
ID INT '$.ID'
|
||||
,C_KEPZESIFORMA INT '$.C_KEPZESIFORMA'
|
||||
,C_TECHNIKAIOSZTALY CHAR(1) '$.C_TECHNIKAIOSZTALY'
|
||||
,C_GYOGYPEDAGOGIAI CHAR(1) '$.C_GYOGYPEDAGOGIAI'
|
||||
,C_KETTANNYELVU CHAR(1) '$.C_KETTANNYELVU'
|
||||
,C_LOGOPEDIAI CHAR(1) '$.C_LOGOPEDIAI'
|
||||
,C_NEMZETISEGI CHAR(1) '$.C_NEMZETISEGI'
|
||||
,C_NYELVIELOKESZITO CHAR(1) '$.C_NYELVIELOKESZITO'
|
||||
,C_SPORT CHAR(1) '$.C_SPORT'
|
||||
,C_ALINTEZMENYID INT '$.C_INTEZMENYID'
|
||||
,C_ALTANEVID INT '$.C_TANEVID'
|
||||
,TOROLT CHAR(1) '$.TOROLT'
|
||||
,SERIAL INT '$.SERIAL'
|
||||
,LASTCHANGED DATETIME '$.LASTCHANGED'
|
||||
,CREATED DATETIME '$.CREATED'
|
||||
,MODIFIER INT '$.MODIFIER'
|
||||
,CREATOR INT '$.CREATOR'
|
||||
,ELOZOTANEVIREKORDID INT '$.ELOZOTANEVIREKORDID'
|
||||
,NNID INT '$.NNID'
|
||||
,OsztalyCsoportNev NVARCHAR(255) '$.OsztalyCsoportNev'
|
||||
) OsztalyJsonData
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
|
||||
LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(LOWER(OsztalyCsoport.C_NEV),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))) = LOWER(OsztalyJsonData.OsztalyCsoportNev)
|
||||
AND OsztalyCsoport.C_TANEVID = @pTanevId
|
||||
AND OsztalyCsoport.C_INTEZMENYID = @pIntezmenyId
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
AND OsztalyJsonData.ID IS NULL
|
||||
) AS Osztaly
|
||||
FOR JSON PATH,INCLUDE_NULL_VALUES)
|
||||
|
||||
SET @actualJson = @actualJson + ' } }'
|
||||
|
||||
--NOTE: A törlés itt azért false, mert a T_OSZTALY_OSSZES view-ból nem törlünk importnál
|
||||
EXECUTE [dbo].[sp_DynamicImport] @pImportJson = @actualJson , @pIsTorles = 0, @pUserId = @pUserId, @pInsertAlways = 1
|
||||
|
||||
--Csoportok beszúrása
|
||||
SET @actualJson = ' { "ImportJson":{ "T_CSOPORT_OSSZES":' +
|
||||
(SELECT
|
||||
Csoport.OsztalyCsoportId ID
|
||||
,Csoport. C_TIPUSA
|
||||
,Csoport.OsztalybontasId C_OSZTALYBONTASID
|
||||
,Csoport. C_ALINTEZMENYID
|
||||
,Csoport. C_ALTANEVID
|
||||
,Csoport. TOROLT
|
||||
,Csoport. SERIAL
|
||||
,Csoport. LASTCHANGED
|
||||
,Csoport. CREATED
|
||||
,Csoport. MODIFIER
|
||||
,Csoport. CREATOR
|
||||
,Csoport. NNID
|
||||
,Csoport. ELOZOTANEVIREKORDID
|
||||
FROM
|
||||
(SELECT
|
||||
CsoportJsonData.*
|
||||
,OsztalyCsoport.ID OsztalyCsoportId
|
||||
,Osztalybontas.ID OsztalybontasId
|
||||
FROM OPENJSON(@pImportJson, N'lax $.ImportJson.T_CSOPORT_OSSZES')
|
||||
WITH (
|
||||
ID INT '$.ID'
|
||||
,C_TIPUSA INT '$.C_TIPUSA'
|
||||
,C_OSZTALYBONTASID INT '$.C_OSZTALYBONTASID'
|
||||
,C_ALINTEZMENYID INT '$.C_INTEZMENYID'
|
||||
,C_ALTANEVID INT '$.C_TANEVID'
|
||||
,TOROLT CHAR(1) '$.TOROLT'
|
||||
,SERIAL INT '$.SERIAL'
|
||||
,LASTCHANGED DATETIME '$.LASTCHANGED'
|
||||
,CREATED DATETIME '$.CREATED'
|
||||
,MODIFIER INT '$.MODIFIER'
|
||||
,CREATOR INT '$.CREATOR'
|
||||
,NNID INT '$.NNID'
|
||||
,ELOZOTANEVIREKORDID INT '$.ELOZOTANEVIREKORDID'
|
||||
,OsztalyCsoportNev NVARCHAR(255) '$.OsztalyCsoportNev'
|
||||
,OsztalybontasNev NVARCHAR(255) '$.OsztalybontasNev'
|
||||
) CsoportJsonData
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
|
||||
LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(LOWER(OsztalyCsoport.C_NEV),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))) = LOWER(CsoportJsonData.OsztalyCsoportNev)
|
||||
AND OsztalyCsoport.C_TANEVID = @pTanevId
|
||||
AND OsztalyCsoport.C_INTEZMENYID = @pIntezmenyId
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
AND CsoportJsonData.ID IS NULL
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES Osztalybontas ON
|
||||
LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(LOWER(Osztalybontas.C_NEV),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))) = LOWER(CsoportJsonData.OsztalybontasNev)
|
||||
AND Osztalybontas.C_TANEVID = @pTanevId
|
||||
AND Osztalybontas.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Osztalybontas.TOROLT = 'F'
|
||||
AND CsoportJsonData.ID IS NULL
|
||||
) AS Csoport
|
||||
FOR JSON PATH,INCLUDE_NULL_VALUES)
|
||||
|
||||
SET @actualJson = @actualJson + ' } }'
|
||||
|
||||
--NOTE: A törlés itt azért false, mert a T_CSOPORT_OSSZES view-ból nem törlünk importnál
|
||||
EXECUTE [dbo].[sp_DynamicImport] @pImportJson = @actualJson , @pIsTorles = 0, @pUserId = @pUserId ,@pInsertAlways = 1
|
||||
|
||||
--Foglalkozások beszúrása
|
||||
SET @actualJson = ' { "ImportJson":{ "T_FOGLALKOZAS_OSSZES":' +
|
||||
(SELECT
|
||||
Foglalkozas. ID
|
||||
,Foglalkozas. C_FOGLALKOZASTIPUSA
|
||||
,Foglalkozas. C_ORASZAM
|
||||
,Foglalkozas. C_NEV
|
||||
,Foglalkozas. C_ERTEKELESKELL
|
||||
,Foglalkozas. C_MULASZTASKELL
|
||||
,Foglalkozas. C_TANARFELVEHETI
|
||||
,Foglalkozas.TantargyId C_TANTARGYID
|
||||
,Foglalkozas.OsztalyCsoportId C_OSZTALYCSOPORTID
|
||||
,Foglalkozas.TanarId C_TANARID
|
||||
,Foglalkozas. C_INTEZMENYID
|
||||
,Foglalkozas. C_TANEVID
|
||||
,Foglalkozas. C_IMPORTALT
|
||||
,Foglalkozas. TOROLT
|
||||
,Foglalkozas. SERIAL
|
||||
,Foglalkozas. LASTCHANGED
|
||||
,Foglalkozas. CREATED
|
||||
,Foglalkozas. MODIFIER
|
||||
,Foglalkozas. CREATOR
|
||||
,Foglalkozas. ELOZOTANEVIREKORDID
|
||||
,Foglalkozas. NNID
|
||||
FROM
|
||||
(SELECT
|
||||
FoglalkozasJsonData.*
|
||||
,OsztalyCsoport.ID OsztalyCsoportId
|
||||
,Felhasznalo.ID TanarId
|
||||
,Tantargy.ID TantargyId
|
||||
FROM OPENJSON(@pImportJson, N'lax $.ImportJson.T_FOGLALKOZAS_OSSZES')
|
||||
WITH (
|
||||
ID INT '$.ID'
|
||||
,C_FOGLALKOZASTIPUSA INT '$.C_FOGLALKOZASTIPUSA'
|
||||
,C_ORASZAM NUMERIC(10,2) '$.C_ORASZAM'
|
||||
,C_NEV NVARCHAR(255) '$.C_NEV'
|
||||
,C_ERTEKELESKELL CHAR(1) '$.C_ERTEKELESKELL'
|
||||
,C_MULASZTASKELL CHAR(1) '$.C_MULASZTASKELL'
|
||||
,C_TANARFELVEHETI CHAR(1) '$.C_TANARFELVEHETI'
|
||||
,C_TANTARGYID INT '$.C_TANTARGYID'
|
||||
,C_OSZTALYCSOPORTID INT '$.C_OSZTALYCSOPORTID'
|
||||
,C_TANARID INT '$.C_TANARID'
|
||||
,C_INTEZMENYID INT '$.C_INTEZMENYID'
|
||||
,C_TANEVID INT '$.C_TANEVID'
|
||||
,C_IMPORTALT CHAR(1) '$.C_IMPORTALT'
|
||||
,TOROLT CHAR(1) '$.TOROLT'
|
||||
,SERIAL INT '$.SERIAL'
|
||||
,LASTCHANGED DATETIME '$.LASTCHANGED'
|
||||
,CREATED DATETIME '$.CREATED'
|
||||
,MODIFIER INT '$.MODIFIER'
|
||||
,CREATOR INT '$.CREATOR'
|
||||
,ELOZOTANEVIREKORDID INT '$.ELOZOTANEVIREKORDID'
|
||||
,NNID INT '$.NNID'
|
||||
,OsztalyCsoportNev NVARCHAR(255) '$.OsztalyCsoportNev'
|
||||
,TanarNev NVARCHAR(255) '$.TanarNev'
|
||||
,TanarSzuletesiIdo NVARCHAR(255) '$.TanarSzuletesiIdo'
|
||||
,TantargyNev NVARCHAR(255) '$.TantargyNev'
|
||||
) FoglalkozasJsonData
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
|
||||
LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(LOWER(OsztalyCsoport.C_NEV),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))) = LOWER(FoglalkozasJsonData.OsztalyCsoportNev)
|
||||
AND OsztalyCsoport.C_TANEVID = @pTanevId
|
||||
AND OsztalyCsoport.C_INTEZMENYID = @pIntezmenyId
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES Felhasznalo ON
|
||||
LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(LOWER(Felhasznalo.C_NYOMTATASINEV),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))) = LOWER(FoglalkozasJsonData.TanarNev)
|
||||
AND (FoglalkozasJsonData.TanarSzuletesiIdo IS NULL
|
||||
OR Felhasznalo.C_SZULETESIDATUM = FoglalkozasJsonData.TanarSzuletesiIdo)
|
||||
AND Felhasznalo.C_TANEVID = @pTanevId
|
||||
AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Felhasznalo.TOROLT = 'F'
|
||||
INNER JOIN
|
||||
T_ALKALMAZOTT_OSSZES Alkalmazott ON
|
||||
Alkalmazott.ID = Felhasznalo.ID
|
||||
AND Alkalmazott.C_ALTANEVID = @pTanevId
|
||||
AND Alkalmazott.C_ALINTEZMENYID = @pIntezmenyId
|
||||
AND Alkalmazott.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_TANTARGY_OSSZES Tantargy ON
|
||||
LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(LOWER(Tantargy.C_NEV),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))) = LOWER(FoglalkozasJsonData.TantargyNev)
|
||||
AND Tantargy.C_TANEVID = @pTanevId
|
||||
AND Tantargy.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Tantargy.TOROLT = 'F'
|
||||
) AS Foglalkozas
|
||||
FOR JSON PATH,INCLUDE_NULL_VALUES)
|
||||
|
||||
SET @actualJson = @actualJson + ' } }'
|
||||
|
||||
--NOTE: A törlés itt azért false, mert a T_FOGLALKOZAS_OSSZES view-ból korábban elvégeztük a törlést, mivel az osztálycsoport és a tantárgy törlések miatt, nem találná.
|
||||
EXECUTE [dbo].[sp_DynamicImport] @pImportJson = @actualJson , @pIsTorles = 0, @pUserId = @pUserId, @pInsertAlways = 0
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_UpdateErtesitesiDatum]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_UpdateErtesitesiDatum]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_UpdateErtesitesiDatum]
|
||||
-- Add the parameters for the stored procedure here
|
||||
@pUserId INT
|
||||
,@pNebuloId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @currentDateTime DATETIME
|
||||
SET @currentDateTime = (SELECT GETDATE())
|
||||
|
||||
BEGIN
|
||||
UPDATE
|
||||
T_NEBULO
|
||||
SET
|
||||
C_ERTESITESDATUMA = @currentDateTime
|
||||
|
||||
,C_IMPORTALT = 'F'
|
||||
,SERIAL = SERIAL + 1
|
||||
,LASTCHANGED = @currentDateTime
|
||||
,MODIFIER = @pUserId
|
||||
WHERE
|
||||
ID = @pNebuloId
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
update t_dictionaryitembase_osszes
|
||||
set c_name = N'Összefüggő szakmai gyakorlati nap', c_name_1 = N'Összefüggő szakmai gyakorlati nap'
|
||||
where id = 1405
|
||||
|
||||
update t_dictionaryitembase_osszes
|
||||
set c_name = N'Rendkívüli tanítási nap', c_name_1 = N'Rendkívüli tanítási nap'
|
||||
where id = 1406
|
||||
|
||||
update t_dictionaryitembase_osszes
|
||||
set c_name = N'Összefüggő szakmai gyakorlati csoport', c_name_1 = N'Összefüggő szakmai gyakorlati csoport'
|
||||
where id = 1073
|
|
@ -0,0 +1,191 @@
|
|||
IF OBJECT_ID('dbo.uspGetOsztalycsoportTantargyiMulasztasai') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.uspGetOsztalycsoportTantargyiMulasztasai
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.uspGetOsztalycsoportTantargyiMulasztasai
|
||||
@pOsztalyId int
|
||||
,@pTantargyId int
|
||||
,@pTanevid int
|
||||
,@pIntezmenyId int
|
||||
,@pCsakMegtartott bit /*0 - nem, 1 - igen */
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE
|
||||
@isResultTableDeclered bit = 0
|
||||
,@oraPerc int
|
||||
,@isIskolaiErdekuSzamit bit
|
||||
,@sql nvarchar(max)
|
||||
|
||||
SET @isIskolaiErdekuSzamit = dbo.fnGetRendszerbeallitasEnumBool(1683, @pIntezmenyId, @pTanevid)
|
||||
|
||||
SET @oraPerc = (
|
||||
SELECT ISNULL(csp.C_ORAPERC, 45)
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
LEFT JOIN T_CSOPORT cs on cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORTTIPUS csp ON csp.ID = cs.C_TIPUSA AND cs.TOROLT = 'F'
|
||||
WHERE ocs.ID = @pOsztalyId AND ocs.TOROLT = 'F')
|
||||
|
||||
IF OBJECT_ID('tempdb..#OsztalyTanuloi') IS NOT NULL BEGIN
|
||||
DROP TABLE #OsztalyTanuloi
|
||||
END
|
||||
CREATE TABLE #OsztalyTanuloi (
|
||||
TanuloId int
|
||||
,Belepes datetime
|
||||
,Kilepes datetime
|
||||
,PRIMARY KEY CLUSTERED (TanuloId)
|
||||
)
|
||||
|
||||
INSERT INTO #OsztalyTanuloi (TanuloId)
|
||||
SELECT DISTINCT C_TANULOID
|
||||
FROM T_TANULOCSOPORT_OSSZES
|
||||
WHERE C_OSZTALYCSOPORTID = @pOsztalyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
AND TOROLT = 'F'
|
||||
|
||||
IF OBJECT_ID('tempdb..#Result') IS NULL BEGIN
|
||||
SET @isResultTableDeclered = 1;
|
||||
|
||||
CREATE TABLE #Result (
|
||||
TanuloId int
|
||||
,TantargyId int
|
||||
,Mulasztas int
|
||||
,MegtartottOra int
|
||||
,HatralevoOra int
|
||||
,PRIMARY KEY CLUSTERED (TanuloId, TantargyId)
|
||||
)
|
||||
END
|
||||
|
||||
SET @sql = N'
|
||||
INSERT INTO #Result (
|
||||
TanuloId
|
||||
,TantargyId
|
||||
,Mulasztas
|
||||
,MegtartottOra
|
||||
,HatralevoOra
|
||||
) SELECT
|
||||
ot.TanuloId
|
||||
,tn.C_TANTARGYID AS TantargyId
|
||||
,SUM(IIF(C_TIPUS = 1500, 1, 0)) + (SUM(IIF(C_TIPUS = 1499, C_KESESPERCBEN, 0)) / @pOraPerc) AS Mulasztas
|
||||
,COUNT(DISTINCT tn.ID) AS MegtartottOra
|
||||
,IIF(@pCsakMegtartott = 1, NULL, 0) AS HatralevoOra
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN #OsztalyTanuloi ot ON tcs.C_TANULOID = ot.TanuloId
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn
|
||||
ON tn.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID
|
||||
AND tn.C_BEJEGYZESIDEJE >= tcs.C_BELEPESDATUM
|
||||
AND tn.C_BEJEGYZESIDEJE < ISNULL(tcs.C_KILEPESDATUM, ''21000101'')
|
||||
AND tn.C_MEGTARTOTT = ''T'' AND tn.TOROLT = ''F''
|
||||
LEFT JOIN T_TANULOMULASZTAS_OSSZES tm
|
||||
ON tm.C_TANITASIORAKID = tn.ID
|
||||
AND tm.C_ORATANULOIID = ot.TanuloId
|
||||
AND tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
AND tm.TOROLT = ''F''
|
||||
' + IIF(@isIskolaiErdekuSzamit = 0, 'AND tm.C_IGAZOLASTIPUSA <> 1533', '') + '
|
||||
WHERE tcs.TOROLT = ''F''
|
||||
' + IIF(@pTantargyId IS NULL, '', 'AND tn.C_TANTARGYID = @pTantargyId') + '
|
||||
GROUP BY ot.TanuloId, tn.C_TANTARGYID
|
||||
'
|
||||
|
||||
EXEC sys.sp_executesql @sql, N'
|
||||
@pTantargyId int
|
||||
,@pOraPerc int
|
||||
,@pCsakMegtartott bit'
|
||||
,@pTantargyId = @pTantargyId
|
||||
,@pOraPerc = @oraPerc
|
||||
,@pCsakMegtartott = @pCsakMegtartott
|
||||
|
||||
IF @pCsakMegtartott = 0 BEGIN
|
||||
CREATE TABLE #OrarendTable (
|
||||
Id int
|
||||
,ORARENDIID INT
|
||||
,Datum datetime
|
||||
,Bontott char(1)
|
||||
,Hetirend int
|
||||
,HetNapja int
|
||||
,HetSorszam int
|
||||
,ErvenyessegKezdete datetime
|
||||
,ErvenyessegVege datetime
|
||||
,OraKezdete datetime
|
||||
,OraVege datetime
|
||||
,Oraszam int
|
||||
,TargyNev nvarchar(300)
|
||||
,TargyNevForMobile nvarchar(300)
|
||||
,TargykategoriaID int
|
||||
,Megtartott char(1)
|
||||
,CsengetesiRendOraID int
|
||||
,CsengetesiRendID int
|
||||
,MaxNapiOraszam int
|
||||
,OsztalyNev nvarchar(255)
|
||||
,TanevRendOsztalyCsoportId int
|
||||
,MegjelenesOka nvarchar(300)
|
||||
,TanarNev nvarchar(255)
|
||||
,TeremNev nvarchar(255)
|
||||
,OraTipus nvarchar(200)
|
||||
,Hianyzas char(1)
|
||||
,Keses char(1)
|
||||
,Ures char(1)
|
||||
,HelyettesitoTanarID int
|
||||
,HelyettesitoTanarNev nvarchar(255)
|
||||
,TanarID int
|
||||
,AdminAltalKiirt char(1)
|
||||
,GroupId int
|
||||
,Tema nvarchar(max)
|
||||
,TantargyId int
|
||||
,OsztCsopId int
|
||||
,INDEX IX_TanevRendOsztalyCsoportId CLUSTERED (TanevRendOsztalyCsoportId)
|
||||
)
|
||||
|
||||
DECLARE @idoszakKezdete datetime = GETDATE()
|
||||
DECLARE @idoszakVege datetime
|
||||
|
||||
SELECT @idoszakVege = C_NAPDATUMA
|
||||
FROM T_NAPTARINAP
|
||||
WHERE C_NAPTIPUSA = 1395
|
||||
AND C_TANEVID = @pTanevId
|
||||
|
||||
INSERT INTO #OrarendTable (
|
||||
Id,ORARENDIID,Datum,Bontott,Hetirend,HetNapja,HetSorszam,ErvenyessegKezdete,ErvenyessegVege,OraKezdete,OraVege,Oraszam,
|
||||
TargyNev,TargyNevForMobile,TargykategoriaID,Megtartott,CsengetesiRendOraID,CsengetesiRendID,MaxNapiOraszam,OsztalyNev,TanevRendOsztalyCsoportId,
|
||||
MegjelenesOka,TanarNev,TeremNev,OraTipus,Hianyzas,Keses,Ures,HelyettesitoTanarID,HelyettesitoTanarNev,TanarID,AdminAltalKiirt,GroupId,Tema,TantargyId,OsztCsopId)
|
||||
EXEC sp_GetOrarend
|
||||
@pIntezmenyId = @pIntezmenyId
|
||||
,@pTanevId = @pTanevId
|
||||
,@pIdoszakKezdete = @idoszakKezdete
|
||||
,@pIdoszakVege = @idoszakVege
|
||||
,@pTanarId = NULL
|
||||
,@pIsHelyettesitesNelkul = 0
|
||||
,@pOsztalyCsoportId = @pOsztalyId
|
||||
,@pTanuloId = NULL
|
||||
,@pTantargyId = @pTantargyId
|
||||
,@pTeremId = NULL
|
||||
,@pCsakOrarendiOrak = 0
|
||||
,@pIsNapirend = 0
|
||||
|
||||
UPDATE r
|
||||
SET
|
||||
r.HatralevoOra = ISNULL(o.HatralevoOra, 0)
|
||||
FROM #Result r
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
ot.TanuloId, COUNT(1) AS HatralevoOra
|
||||
FROM T_TANULOCSOPORT tcs
|
||||
INNER JOIN #OrarendTable oo ON tcs.C_OSZTALYCSOPORTID = oo.TanevRendOsztalyCsoportId
|
||||
INNER JOIN #OsztalyTanuloi ot ON tcs.C_TANULOID = ot.TanuloId AND oo.Datum >= tcs.C_BELEPESDATUM AND oo.Datum < ISNULL(tcs.C_KILEPESDATUM, '21000101')
|
||||
GROUP BY ot.TanuloId
|
||||
) o ON o.TanuloId = r.TanuloId
|
||||
END
|
||||
|
||||
IF @isResultTableDeclered = 1 BEGIN
|
||||
SELECT
|
||||
TanuloId
|
||||
,TantargyId
|
||||
,Mulasztas
|
||||
,MegtartottOra
|
||||
,HatralevoOra
|
||||
FROM #Result
|
||||
END
|
||||
END
|
||||
GO
|
Loading…
Add table
Add a link
Reference in a new issue