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,195 @@
DROP FUNCTION IF EXISTS fnGetFollowUpColumnMapping
GO
CREATE FUNCTION fnGetFollowUpColumnMapping (@ExludeColumns nvarchar(max) = NULL,@entityName nvarchar(128))
RETURNS @ColumnMapping TABLE (
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128)
,updateColName nvarchar(128)
) AS
BEGIN
SET @ExludeColumns = ISNULL(@ExludeColumns+',','')+'NNID,ID,NNIDA,CORE_ID'
DECLARE @excludedColumns TABLE(colName nvarchar(128) COLLATE DATABASE_DEFAULT)
INSERT INTO @excludedColumns
SELECT
value
FROM string_split(@ExludeColumns,',')
INSERT INTO @ColumnMapping (insertColName,selectColName) VALUES
('TOROLT','''F''')
,('SERIAL','0')
,('CREATOR','s.MODIFIER')
,('CREATED','s.LASTCHANGED')
,('ELOZOTANEVIREKORDID','s.ID')
INSERT INTO @ColumnMapping (insertColName,selectColName)
SELECT
c.name,'s.'+c.name
FROM sys.columns c
INNER JOIN sys.tables t ON t.object_id = c.object_id AND t.name = @entityName
WHERE c.NAME NOT IN (SELECT colName from @excludedColumns)
AND NOT EXISTS (SELECT 1 FROM @ColumnMapping WHERE insertColName = c.name)
DELETE FROM @ColumnMapping
WHERE NOT EXISTS (
SELECT
1
FROM sys.columns c
INNER JOIN sys.tables t ON t.object_id = c.object_id AND t.name = @entityName
WHERE c.NAME = insertColName)
DELETE @ColumnMapping WHERE insertColName IN (select colName FROM @excludedColumns)
UPDATE @ColumnMapping SET selectColName = '@kovetkezoTanevId' WHERE insertColName IN('C_TANEVID','C_ALTANEVID')
UPDATE @ColumnMapping SET selectColName = '@intezmenyId' WHERE insertColName IN('C_INTEZMENYID','C_ALINTEZMENYID')
IF @entityName IN('T_CIM','T_EMAIL','T_TELEFON') BEGIN
UPDATE @ColumnMapping SET selectColName = '@kovFelhasznaloId' WHERE insertColName = 'C_FELHASZNALOID'
END
ELSE IF @entityName IN('T_MUNKAUGYIADATOK','T_TOVABBIMUNKAUGYIADATOK') BEGIN
UPDATE @ColumnMapping SET selectColName = '@ujAlkalmazottId' WHERE insertColName = 'C_ALKALMAZOTTID'
UPDATE @ColumnMapping SET selectColName = 'f.ID' WHERE insertColName = 'C_FELADATELLATASIHELYID'
END
ELSE IF @entityName = 'T_ALKALMAZOTT' BEGIN
UPDATE @ColumnMapping SET selectColName = 's.ID' WHERE insertColName = 'ELOZOTANEVIREKORDIDA'
UPDATE @ColumnMapping SET selectColName = '(SELECT CASE WHEN DB_NAME() LIKE ''%KRETA_KLIK%'' THEN s.C_KKKEPESITESID ELSE NULL END)' WHERE insertColName IN('C_KKKEPESITESID')
END
ELSE IF @entityName IN('T_KKTANITOVEZGETTSEG','T_KKGYOGYPEDVEGZETTSEG','T_KKTANARVEGZETTSEG','T_KKAMIVEGZETTSEG') BEGIN
UPDATE @ColumnMapping SET selectColName = '@kovAlkalmazottId' WHERE insertColName = 'C_ALKALMAZOTTID'
END
ELSE IF @entityName IN('T_KKELEKTROAKUZENE','T_KKKLASSZIKUSZENE','T_KKJAZZZENE','T_KKNEPZENE','T_KKTERULET') BEGIN
UPDATE @ColumnMapping SET selectColName = 'av.ID' WHERE insertColName = 'C_KKAMIVEGZETTSEGID'
END
ELSE IF @entityName = 'T_KKTANTARGYKATEGORIA' BEGIN
UPDATE @ColumnMapping SET selectColName = 'av.ID' WHERE insertColName = 'C_KKTANARVEGZETTSEGID'
END
ELSE IF @entityName IN ('T_PEDAGOGUSELETPALYAMODELL','T_VEGZETTSEG') BEGIN
UPDATE @ColumnMapping SET selectColName = 'fh.ID' WHERE insertColName = 'C_TANARID'
END
ELSE IF @entityName = 'T_KEPESITES_VEGZETTSEG' BEGIN
UPDATE @ColumnMapping SET selectColName = 'k.ID' WHERE insertColName = 'C_KEPESITESID'
UPDATE @ColumnMapping SET selectColName = 'vKov.ID' WHERE insertColName = 'C_VEGZETTSEGID'
END
ELSE IF @entityName = 'T_TANULOMENTESSEG' BEGIN
UPDATE @ColumnMapping SET selectColName = 'tgy.ID' WHERE insertColName = 'C_TANTARGYID'
UPDATE @ColumnMapping SET selectColName = 'tKov.ID' WHERE insertColName = 'C_TANULOID'
END
ELSE IF @entityName = 'T_GONDVISELO' BEGIN
UPDATE @ColumnMapping SET selectColName = 'fhNew.ID' WHERE insertColName = 'C_TANULOID'
END
ELSE IF @entityName = 'T_ORATERVTARGY' BEGIN
UPDATE @ColumnMapping SET selectColName = 'tgy.ID' WHERE insertColName = 'C_TANTARGYID'
UPDATE @ColumnMapping SET selectColName = 'otKov.ID' WHERE insertColName = 'C_ORATERVID'
END
ELSE IF @entityName = 'T_ORATERV' BEGIN
UPDATE @ColumnMapping SET selectColName = 'e.ID' WHERE insertColName = 'C_EVFOLYAM'
UPDATE @ColumnMapping SET selectColName = 'tr.ID' WHERE insertColName = 'C_TANTERVID'
END
ELSE IF @entityName = 'T_CSENGETESIREND' BEGIN
UPDATE @ColumnMapping SET selectColName = 'mh.ID' WHERE insertColName = 'C_MUKODESIHELYID'
END
ELSE IF @entityName = 'T_CSENGETESIRENDORA' BEGIN
UPDATE @ColumnMapping SET selectColName = 'csr.ID' WHERE insertColName = 'C_CSENGETESIRENDID'
END
ELSE IF @entityName = 'T_TEREM' BEGIN
UPDATE @ColumnMapping SET selectColName = 'mh.ID' WHERE insertColName = 'C_MUKODESIHELYID'
UPDATE @ColumnMapping SET selectColName = '@felelosId' WHERE insertColName = 'C_TEREMFELELOSID'
END
ELSE IF @entityName = 'T_FELADATELLATASIHELY' BEGIN
UPDATE @ColumnMapping SET selectColName = 'mh.ID' WHERE insertColName = 'C_MUKODESIHELYID'
UPDATE @ColumnMapping SET selectColName = 'okt.ID' WHERE insertColName = 'C_OKTATASINEVELESIFELADATTIPUS'
END
ELSE IF @entityName = 'T_TANTARGY' BEGIN
UPDATE @ColumnMapping SET selectColName = 'tkt.ID' WHERE insertColName = 'C_TARGYKATEGORIA'
UPDATE @ColumnMapping SET selectColName = 'ftgy.ID' WHERE insertColName = 'C_FOTARGYID'
END
ELSE IF @entityName = 'T_MUKODESIHELY' BEGIN
UPDATE @ColumnMapping SET selectColName = 'ia.ID' WHERE insertColName = 'C_INTEZMENYADATOKID'
END
ELSE IF @entityName = 'T_ESZKOZ' BEGIN
UPDATE @ColumnMapping SET selectColName = 'te.ID' WHERE insertColName = 'C_TEREMID'
UPDATE @ColumnMapping SET selectColName = 'fh.ID' WHERE insertColName = 'C_FELELOSID'
UPDATE @ColumnMapping SET selectColName = '@aktTipusId' WHERE insertColName = 'C_TIPUS'
END
UPDATE @ColumnMapping SET
updateColName = 's.'+insertColName
WHERE insertColName NOT IN (
'CREATED'
,'CREATOR'
,'ELOZOTANEVIREKORDID'
,'ELOZOTANEVIREKORDIDA'
,'C_INTEZMENYID'
,'C_TANEVID'
,'C_ALINTEZMENYID'
,'C_ALTANEVID'
,'C_ALKALMAZOTTID'
,'TOROLT'
,'C_KKAMIVEGZETTSEGID'
)
IF @entityName = 'T_KKTANTARGYKATEGORIA' BEGIN
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_KKTANARVEGZETTSEGID'
END
IF @entityName IN('T_MUNKAUGYIADATOK','T_TOVABBIMUNKAUGYIADATOK') BEGIN
UPDATE @ColumnMapping SET updateColName = 'f.ID' WHERE insertColName = 'C_FELADATELLATASIHELYID'
END
ELSE IF @entityName IN ('T_VEGZETTSEG','T_PEDAGOGUSELETPALYAMODELL') BEGIN
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_TANARID'
END
ELSE IF @entityName = 'T_TANULO' BEGIN
UPDATE @ColumnMapping SET updateColName = 'tr.ID' WHERE insertColName = 'C_TANTERVID'
END
ELSE IF @entityName = 'T_TANULOMENTESSEG' BEGIN
UPDATE @ColumnMapping SET updateColName = 'tgy.ID' WHERE insertColName = 'C_TANTARGYID'
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_TANULOID'
END
ELSE IF @entityName = 'T_GONDVISELO' BEGIN
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName IN ('C_TANULOID','C_EGYEDIAZONOSITO')
END
ELSE IF @entityName IN('T_CIM','T_TELEFON','T_EMAIL') BEGIN
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName IN ('C_FELHASZNALOID','C_GONDVISELOID')
END
ELSE IF @entityName = 'T_ORATERVTARGY' BEGIN
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_ORATERVID'
UPDATE @ColumnMapping SET updateColname = 'tgy.ID' WHERE insertColName = 'C_TANTARGYID'
END
ELSE IF @entityName = 'T_ORATERV' BEGIN
UPDATE @ColumnMapping SET updateColName = 'e.ID' WHERE insertColName = 'C_EVFOLYAM'
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_TANTERVID'
END
ELSE IF @entityName = 'T_CSENGETESIREND' BEGIN
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_MUKODESIHELYID'
END
ELSE IF @entityName = 'T_CSENGETESIRENDORA' BEGIN
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_CSENGETESIRENDID'
END
ELSE IF @entityName = 'T_TEREM' BEGIN
UPDATE @ColumnMapping SET updateColName = 'mh.ID' WHERE insertColName = 'C_MUKODESIHELYID'
UPDATE @ColumnMapping SET updateColName = '@felelosId' WHERE insertColName = 'C_TEREMFELELOSID'
END
ELSE IF @entityName = 'T_FELADATELLATASIHELY' BEGIN
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_MUKODESIHELYID'
UPDATE @ColumnMapping SET updateColName = 'okt.ID' WHERE insertColName = 'C_OKTATASINEVELESIFELADATTIPUS'
END
ELSE IF @entityName = 'T_TANTARGY' BEGIN
UPDATE @ColumnMapping SET updateColName = 'tkt.ID' WHERE insertColName = 'C_TARGYKATEGORIA'
UPDATE @ColumnMapping SET updateColName = 'ftgy.ID' WHERE insertColName = 'C_FOTARGYID'
END
ELSE IF @entityName = 'T_MUKODESIHELY' BEGIN
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_INTEZMENYADATOKID'
END
ELSE IF @entityName = 'T_ESZKOZ' BEGIN
UPDATE @ColumnMapping SET updateColName = 'te.ID' WHERE insertColName = 'C_TEREMID'
UPDATE @ColumnMapping SET updateColName = 'fh.ID' WHERE insertColName = 'C_FELELOSID'
UPDATE @ColumnMapping SET updateColName = '@aktTipusId' WHERE insertColName = 'C_TIPUS'
END
UPDATE @ColumnMapping SET
updateColName = 't.SERIAL + 1'
WHERE insertColName = 'SERIAL'
RETURN
END

View File

@@ -0,0 +1,208 @@
DROP PROCEDURE IF EXISTS uspFollowUpAlkalmazott
GO
CREATE PROCEDURE uspFollowUpAlkalmazott
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@alkalmazottId int
AS
BEGIN
SET NOCOUNT ON;
BEGIN --DECLARE,CREATE
DECLARE
@ujAlkalmazottId int
,@ExcludeInsertColumns nvarchar(max)
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@updateColList nvarchar(max)
,@partialSql nvarchar(max)
,@fullSql nvarchar(max)
CREATE TABLE #excludedColumns (
colName nvarchar(128) COLLATE DATABASE_DEFAULT
,excludeType nvarchar(10) COLLATE DATABASE_DEFAULT
)
CREATE TABLE #columnMappings (
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128) COLLATE DATABASE_DEFAULT
,updateColname nvarchar(128) COLLATE DATABASE_DEFAULT
,tableName nvarchar(128) COLLATE DATABASE_DEFAULT
)
END
BEGIN --default return
DECLARE @eloTag nvarchar(40)=(SELECT C_ELOTAG FROM T_FELHASZNALO WHERE ID = @alkalmazottId)
IF @eloTag LIKE '%[[]HO%'
OR @eloTag LIKE '%[[]BTA%'
OR @eloTag LIKE '%[[]KGK%'
OR @eloTag LIKE '%[[]KA%'
BEGIN
RETURN
END
IF (SELECT TOROLT FROM T_FELHASZNALO_OSSZES WHERE ID = @alkalmazottId) = 'T'
OR (SELECT TOROLT FROM T_FELHASZNALO_OSSZES WHERE ID = @ujAlkalmazottId) = 'T'
OR EXISTS (SELECT 1 FROM T_MUNKAUGYIADATOK WHERE C_ALKALMAZOTTID=@alkalmazottId AND ISNULL(C_ALKALMAZASMEGSZUNESE,'2200-01-01')<=(SELECT C_KEZDONAP FROM T_TANEV WHERE ID = @kovetkezoTanevId))
BEGIN
RETURN
END
END
BEGIN --SETUP
SELECT @ujAlkalmazottId = ID
FROM T_FELHASZNALO_OSSZES
WHERE ELOZOTANEVIREKORDID = @alkalmazottId
AND C_TANEVID = @kovetkezoTanevId
SET @ExcludeInsertColumns = 'FTIP'
INSERT INTO #columnMappings (insertColName,selectColName,updateColname,tableName)
SELECT insertColName,selectColName,updateColname,'T_FELHASZNALO' FROM fnGetFollowUpColumnMapping (@ExcludeInsertColumns,'T_FELHASZNALO')
UNION ALL
SELECT insertColName,selectColName,updateColname,'T_ALKALMAZOTT' FROM fnGetFollowUpColumnMapping (@ExcludeInsertColumns,'T_ALKALMAZOTT')
UNION ALL
SELECT insertColName,selectColName,updateColname,'T_MUNKAUGYIADATOK' FROM fnGetFollowUpColumnMapping (@ExcludeInsertColumns,'T_MUNKAUGYIADATOK')
END
--====================================================== T_FELHASZNALO==================================================--
BEGIN
IF @ujAlkalmazottId IS NULL
BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMappings WHERE tableName IN ('T_FELHASZNALO')
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMappings WHERE tableName IN ('T_FELHASZNALO')
SET @partialSql = N'
INSERT INTO T_FELHASZNALO_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_FELHASZNALO_OSSZES s
WHERE s.ID = @alkalmazottId
AND EXISTS (SELECT 1 FROM T_ALKALMAZOTT_OSSZES WHERE T_ALKALMAZOTT_OSSZES.ID = s.ID AND TOROLT = ''F'')
AND s.TOROLT = ''F''
SET @ujAlkalmazottId = SCOPE_IDENTITY()'
END
ELSE BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMappings
WHERE tableName = 'T_FELHASZNALO' AND updateColname IS NOT NULL
SET @partialSql =N'
UPDATE t SET
'+@updateColList+'
FROM T_FELHASZNALO_OSSZES t
INNER JOIN T_FELHASZNALO_OSSZES s ON s.ID = t.ELOZOTANEVIREKORDID
WHERE t.ID = @ujAlkalmazottId'
END
SET @updateColList = NULL
SET @selectColList = NULL
SET @insertColList = NULL
--PRINT @partialSql
SET @fullSql = @partialSql
END
--====================================================== T_FELHASZNALO VÉGE=============================================--
--====================================================== T_ALKALMAZOTT==================================================--
BEGIN
IF NOT EXISTS (SELECT 1 FROM T_ALKALMAZOTT_OSSZES WHERE ID = @ujAlkalmazottId) BEGIN
INSERT INTO #columnMappings VALUES
('ID','@ujAlkalmazottId',NULL,'T_ALKALMAZOTT')
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMappings WHERE tableName IN ('T_ALKALMAZOTT')
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMappings WHERE tableName IN ('T_ALKALMAZOTT')
SET @partialSql = N'
INSERT INTO T_ALKALMAZOTT_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_ALKALMAZOTT_OSSZES s
WHERE s.C_ALTANEVID = @aktTanevId AND s.ID = @alkalmazottId'
END
ELSE BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMappings
WHERE tableName = 'T_ALKALMAZOTT' AND updateColname IS NOT NULL
SET @partialSql = N'
UPDATE t SET
'+@updateColList+'
FROM T_ALKALMAZOTT_OSSZES t
INNER JOIN T_ALKALMAZOTT_OSSZES s ON s.ID = t.ELOZOTANEVIREKORDID
WHERE t.ID = @ujAlkalmazottId'
END
--PRINT @partialSql
SET @updateColList = NULL
SET @selectColList = NULL
SET @insertColList = NULL
SET @fullSql += @partialSql
END
--====================================================== T_ALKALMAZOTT VÉGE=============================================--
--====================================================== T_MUNKAUGYIADATOK==============================================--
BEGIN
IF NOT EXISTS (SELECT 1 FROM T_MUNKAUGYIADATOK_OSSZES WHERE C_ALKALMAZOTTID = @ujAlkalmazottId) BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMappings WHERE tableName IN ('T_MUNKAUGYIADATOK')
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMappings WHERE tableName IN ('T_MUNKAUGYIADATOK')
SET @partialSql = N'
INSERT INTO T_MUNKAUGYIADATOK_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_MUNKAUGYIADATOK_OSSZES s
INNER JOIN T_FELADATELLATASIHELY_OSSZES f ON f.ELOZOTANEVIREKORDID = s.C_FELADATELLATASIHELYID AND f.TOROLT=''F''
WHERE s.TOROLT = ''F'' AND s.C_ALKALMAZOTTID = @alkalmazottId'
END
ELSE
BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMappings
WHERE tableName = 'T_MUNKAUGYIADATOK' AND updateColname IS NOT NULL
SET @partialSql = N'
UPDATE t SET
'+@updateColList+'
FROM T_MUNKAUGYIADATOK_OSSZES t
INNER JOIN T_MUNKAUGYIADATOK_OSSZES s ON s.ID = t.ELOZOTANEVIREKORDID
INNER JOIN T_FELADATELLATASIHELY_OSSZES f ON f.ELOZOTANEVIREKORDID = s.C_FELADATELLATASIHELYID AND f.TOROLT=''F''
WHERE t.C_ALKALMAZOTTID = @ujAlkalmazottId'
END
--PRINT @partialSql
SET @fullSql += @partialSql
END
--====================================================== T_MUNKAUGYIADATOK VÉGE=========================================--
BEGIN --Cím, Email, Telefon
EXEC uspFollowUpFelhasznaloCim @intezmenyId,@aktTanevid,@kovetkezoTanevId,@alkalmazottId
EXEC uspFollowUpFelhasznaloEmail @intezmenyId,@aktTanevid,@kovetkezoTanevId,@alkalmazottId
EXEC uspFollowUpFelhasznaloTelefon @intezmenyId,@aktTanevid,@kovetkezoTanevId,@alkalmazottId
END
EXEC sp_executesql
@fullSql,N'
@alkalmazottId int
,@intezmenyId int
,@kovetkezoTanevId int
,@aktTanevId int
,@ujAlkalmazottId int'
,@alkalmazottId = @alkalmazottId
,@intezmenyId = @intezmenyId
,@kovetkezoTanevId = @kovetkezoTanevId
,@ujAlkalmazottId = @ujAlkalmazottId
,@aktTanevId = @aktTanevId
IF DB_NAME() LIKE '%KRETA[_]KLIK[_]%' BEGIN --sp_FollowUpAlkalmazottVegzettsegKK
EXEC uspFollowUpAlkalmazottVegzettsegKK
@intezmenyId
,@aktTanevId
,@kovetkezoTanevId
,@alkalmazottId
END
END

View File

@@ -0,0 +1,77 @@
DROP PROCEDURE IF EXISTS uspFollowUpAlkalmazottPEP
GO
CREATE PROCEDURE uspFollowUpAlkalmazottPEP
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@PEPId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovPEPId int
,@selectColList nvarchar(max)
,@insertColList nvarchar(max)
,@updateColList nvarchar(max)
,@sql nvarchar(max)
SELECT @kovPEPId = ID
FROM T_PEDAGOGUSELETPALYAMODELL_OSSZES WHERE ELOZOTANEVIREKORDID = @PEPId
IF (SELECT TOROLT FROM T_PEDAGOGUSELETPALYAMODELL_OSSZES WHERE ID = @PEPId) = 'T' OR (SELECT TOROLT FROM T_PEDAGOGUSELETPALYAMODELL_OSSZES WHERE ID = @kovPEPId) = 'T' BEGIN
RETURN
END
CREATE TABLE #ColumnMapping (selectColName nvarchar(128),insertColName nvarchar(128),updateColName nvarchar(128))
INSERT INTO #ColumnMapping(
selectColName
,insertColname
,updateColname
)
SELECT
selectColName
,insertColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_PEDAGOGUSELETPALYAMODELL')
IF @kovPEPId IS NOT NULL BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColname+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping WHERE updateColName IS NOT NULL
SET @sql = N'
UPDATE t set
'+@updateColList+'
FROM T_PEDAGOGUSELETPALYAMODELL_OSSZES t
INNER JOIN T_PEDAGOGUSELETPALYAMODELL_OSSZES s ON t.ELOZOTANEVIREKORDID = s.ID AND t.ID=@kovPEPId'
END
ELSE BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_PEDAGOGUSELETPALYAMODELL_OSSZES(
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_PEDAGOGUSELETPALYAMODELL_OSSZES s
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = s.C_TANARID
WHERE s.ID=@PEPId'
END
--PRINT @sql
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@PEPId int
,@kovPEPId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@PEPId = @PEPId
,@kovPEPId = @kovPEPId
END
GO

View File

@@ -0,0 +1,88 @@
DROP PROCEDURE IF EXISTS uspFollowUpAlkalmazottTovabbiMunkaugy
GO
CREATE PROCEDURE uspFollowUpAlkalmazottTovabbiMunkaugy
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@tovabbiMunkaugyiAdatId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovTovabbiMunkaugyiAdatId int
,@selectColList nvarchar(max)
,@insertColList nvarchar(max)
,@updateColList nvarchar(max)
,@sql nvarchar(max)
SELECT
@kovTovabbiMunkaugyiAdatId = ID
FROM T_TOVABBIMUNKAUGYIADATOK_OSSZES WHERE ELOZOTANEVIREKORDID = @tovabbiMunkaugyiAdatId
IF (SELECT TOROLT FROM T_TOVABBIMUNKAUGYIADATOK_OSSZES WHERE ID = @tovabbiMunkaugyiAdatId) = 'T' OR (SELECT TOROLT FROM T_TOVABBIMUNKAUGYIADATOK_OSSZES WHERE ID = @kovTovabbiMunkaugyiAdatId) = 'T' BEGIN
RETURN
END
CREATE TABLE #ColumnMapping (selectColName nvarchar(128),insertColName nvarchar(128),updateColName nvarchar(128))
INSERT INTO #ColumnMapping(
selectColName
,insertColname
,updateColname
)
SELECT
selectColName
,insertColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_TOVABBIMUNKAUGYIADATOK')
DECLARE @ujAlkalmazottId int = (
SELECT a.ID
FROM T_ALKALMAZOTT_OSSZES a
INNER JOIN T_TOVABBIMUNKAUGYIADATOK_OSSZES ma ON ma.C_ALKALMAZOTTID = a.ELOZOTANEVIREKORDID AND ma.ID = @tovabbiMunkaugyiAdatId)
IF @kovTovabbiMunkaugyiAdatId IS NOT NULL BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColname+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping WHERE updateColName IS NOT NULL
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_TOVABBIMUNKAUGYIADATOK_OSSZES t
INNER JOIN T_TOVABBIMUNKAUGYIADATOK_OSSZES s ON t.ELOZOTANEVIREKORDID = s.ID AND s.ID=@tovabbiMunkaugyiAdatId
INNER JOIN T_FELADATELLATASIHELY_OSSZES f ON f.ELOZOTANEVIREKORDID=s.C_FELADATELLATASIHELYID AND f.TOROLT=''F''
WHERE t.TOROLT=''F'' AND t.ID = @kovTovabbiMunkaugyiAdatId'
END
ELSE
BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_TOVABBIMUNKAUGYIADATOK(
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_TOVABBIMUNKAUGYIADATOK_OSSZES s
INNER JOIN T_FELADATELLATASIHELY_OSSZES f ON f.ELOZOTANEVIREKORDID = s.C_FELADATELLATASIHELYID AND f.TOROLT=''F''
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = s.C_ALKALMAZOTTID
WHERE s.ID=@tovabbiMunkaugyiAdatId'
END
--PRINT @sql
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@tovabbiMunkaugyiAdatId int
,@kovTovabbiMunkaugyiAdatId int
,@ujAlkalmazottId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@tovabbiMunkaugyiAdatId = @tovabbiMunkaugyiAdatId
,@kovTovabbiMunkaugyiAdatId = @kovTovabbiMunkaugyiAdatId
,@ujAlkalmazottId = @ujAlkalmazottId
END
GO

View File

@@ -0,0 +1,120 @@
DROP PROCEDURE IF EXISTS uspFollowUpAlkalmazottVegzettseg
GO
CREATE PROCEDURE uspFollowUpAlkalmazottVegzettseg
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@vegzettsegId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovVegzettsegId int
,@selectColListV nvarchar(max)
,@insertColListV nvarchar(max)
,@updateColListV nvarchar(max)
,@selectColListKV nvarchar(max)
,@insertColListKV nvarchar(max)
,@updateColListKV nvarchar(max)
,@sql nvarchar(max)
SET @kovVegzettsegId = (SELECT ID FROM T_VEGZETTSEG_OSSZES WHERE ELOZOTANEVIREKORDID=@vegzettsegId)
IF (SELECT TOROLT FROM T_VEGZETTSEG_OSSZES WHERE ID = @vegzettsegId)='T' OR (SELECT TOROLT FROM T_VEGZETTSEG_OSSZES WHERE ELOZOTANEVIREKORDID = @vegzettsegId)='T' BEGIN
RETURN
END
CREATE TABLE #ColumnMapping (selectColName nvarchar(128),insertColName nvarchar(128),updateColName nvarchar(128),tableName nvarchar(128))
INSERT INTO #ColumnMapping(
selectColName
,insertColname
,updateColname
,tableName
)
SELECT
selectColName
,insertColName
,updateColName
,'T_VEGZETTSEG'
FROM fnGetFollowUpColumnMapping (NULL,'T_VEGZETTSEG')
UNION ALL
SELECT
selectColName
,insertColName
,updateColName
,'T_KEPESITES_VEGZETTSEG'
FROM fnGetFollowUpColumnMapping ('ELOZOTANEVIREKORDID','T_KEPESITES_VEGZETTSEG')
IF @kovVegzettsegId IS NULL BEGIN
SELECT @insertColListV = ISNULL(@insertColListV+','+insertColname,insertColname) FROM #columnMapping WHERE tableName = 'T_VEGZETTSEG'
SELECT @selectColListV = ISNULL(@selectColListV+','+selectColName,selectColName) FROM #columnMapping WHERE tableName = 'T_VEGZETTSEG'
SELECT @insertColListKV = ISNULL(@insertColListKV+','+insertColname,insertColname) FROM #columnMapping WHERE tableName = 'T_KEPESITES_VEGZETTSEG'
SELECT @selectColListKV = ISNULL(@selectColListKV+','+selectColName,selectColName) FROM #columnMapping WHERE tableName = 'T_KEPESITES_VEGZETTSEG'
SET @sql = N'
INSERT INTO T_VEGZETTSEG_OSSZES(
'+@insertColListV+'
) SELECT
'+@selectColListV+'
FROM T_VEGZETTSEG_OSSZES s
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID=s.C_TANARID AND fh.TOROLT=''F''
WHERE s.ID=@vegzettsegId
INSERT INTO T_KEPESITES_VEGZETTSEG (
'+@insertColListKV+'
) SELECT
'+@selectColListKV+'
FROM T_VEGZETTSEG_OSSZES s
INNER JOIN T_KEPESITES_VEGZETTSEG kv ON kv.C_VEGZETTSEGID=s.ID
INNER JOIN T_KEPESITES_OSSZES k ON k.ELOZOTANEVIREKORDID=kv.C_KEPESITESID AND k.TOROLT=''F''
INNER JOIN T_VEGZETTSEG_OSSZES vKov ON vKov.ELOZOTANEVIREKORDID=s.ID
WHERE s.ID = @vegzettsegId'
END
ELSE BEGIN
SELECT
@updateColListV = ISNULL(@updateColListV+','+insertColname+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping WHERE updateColName IS NOT NULL AND tableName = 'T_VEGZETTSEG'
SELECT @insertColListKV = ISNULL(@insertColListKV+','+insertColname,insertColname) FROM #columnMapping WHERE tableName = 'T_KEPESITES_VEGZETTSEG'
SELECT @selectColListKV = ISNULL(@selectColListKV+','+selectColName,selectColName) FROM #columnMapping WHERE tableName = 'T_KEPESITES_VEGZETTSEG'
DELETE kv
FROM T_KEPESITES_VEGZETTSEG kv
INNER JOIN T_KEPESITES_OSSZES kKov ON kKov.ID=kv.C_KEPESITESID AND kKov.TOROLT='F'
INNER JOIN T_KEPESITES_OSSZES kOld ON kOld.ID=kKov.ELOZOTANEVIREKORDID AND kOld.TOROLT='F'
LEFT JOIN T_KEPESITES_VEGZETTSEG kvOld ON kvOld.C_VEGZETTSEGID=@vegzettsegId AND kvOld.C_KEPESITESID=kOld.ID
WHERE kv.C_VEGZETTSEGID=@kovVegzettsegId AND kvOld.C_KEPESITESID IS NULL
SET @sql =N'
UPDATE t SET
'+@updateColListV+'
FROM T_VEGZETTSEG_OSSZES s
INNER JOIN T_VEGZETTSEG_OSSZES t ON t.ELOZOTANEVIREKORDID = s.ID AND s.ID=@vegzettsegId
INSERT INTO T_KEPESITES_VEGZETTSEG (
'+@insertColListKV+'
) SELECT
'+@selectColListKV+'
FROM T_VEGZETTSEG_OSSZES s
INNER JOIN T_KEPESITES_VEGZETTSEG kv ON kv.C_VEGZETTSEGID=s.ID
INNER JOIN T_KEPESITES_OSSZES k ON k.ELOZOTANEVIREKORDID=kv.C_KEPESITESID AND k.TOROLT=''F''
INNER JOIN T_VEGZETTSEG_OSSZES vKov ON vKov.ELOZOTANEVIREKORDID=s.ID
WHERE s.ID=@vegzettsegId AND NOT EXISTS (SELECT 1 FROM T_KEPESITES_VEGZETTSEG WHERE C_VEGZETTSEGID=@kovVegzettsegId AND C_KEPESITESID=k.ID)'
END
--PRINT @sql
exec sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@vegzettsegId int
,@kovVegzettsegId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@vegzettsegId = @vegzettsegId
,@kovVegzettsegId = @kovVegzettsegId
END
GO

View File

@@ -0,0 +1,174 @@
DROP PROCEDURE IF EXISTS uspFollowUpAlkalmazottVegzettsegKK
GO
CREATE PROCEDURE uspFollowUpAlkalmazottVegzettsegKK
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@alkalmazottId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovAlkalmazottId int
,@partialSql nvarchar(max) = N''
,@finalSql nvarchar(max)
,@tableMapperSql nvarchar(max)
,@colListSql nvarchar(max) = N''
CREATE TABLE #ColumnMappingKKVegzettseg(
insertColName nvarchar(128)
,selectColName nvarchar(128)
,updateColName nvarchar(128)
,tableName nvarchar(128)
)
SELECT @kovAlkalmazottId = ID
FROM T_FELHASZNALO_OSSZES fh
WHERE fh.ELOZOTANEVIREKORDID = @alkalmazottId AND TOROLT='F'
IF @kovAlkalmazottId IS NULL BEGIN
RETURN
END
CREATE TABLE #tables (tableName nvarchar(128))
CREATE TABLE #colLists (selectColList nvarchar(max),updateColList nvarchar(max),insertColList nvarchar(max),tableName nvarchar(128))
INSERT INTO #tables VALUES
('T_KKTANITOVEZGETTSEG')
,('T_KKGYOGYPEDVEGZETTSEG')
,('T_KKTANARVEGZETTSEG')
,('T_KKTANTARGYKATEGORIA')
,('T_KKAMIVEGZETTSEG')
,('T_KKELEKTROAKUZENE')
,('T_KKKLASSZIKUSZENE')
,('T_KKNEPZENE')
,('T_KKJAZZZENE')
,('T_KKTERULET')
SELECT @tableMapperSql = ISNULL(
@tableMapperSql+N'
UNION ALL
SELECT
insertColName
,selectColName
,updateColName
,'''+tableName+'''
FROM fnGetFollowUpColumnMapping (NULL,'''+tableName+''')',
'SELECT
insertColName
,selectColName
,updateColName
,'''+tableName+'''
FROM fnGetFollowUpColumnMapping (NULL,'''+tableName+''')')
FROM #tables
INSERT INTO #ColumnMappingKKVegzettseg(
insertColName
,selectColName
,updateColName
,tableName
)
EXEC sp_executesql @tableMapperSql
SELECT @colListSql += N'
DECLARE @insert'+tableName+'colList nvarchar(max)
DECLARE @select'+tableName+'colList nvarchar(max)
DECLARE @update'+tableName+'colList nvarchar(max)
SELECT @insert'+tableName+'colList = ISNULL(@insert'+tableName+'colList+'',''+insertColname,insertColname) FROM #ColumnMappingKKVegzettseg WHERE tableName = '''+tableName+'''
SELECT @select'+tableName+'colList = ISNULL(@select'+tableName+'colList+'',''+selectColname,selectColname) FROM #ColumnMappingKKVegzettseg WHERE tableName = '''+tableName+'''
INSERT INTO #ColumnMappingKKVegzettseg (insertColName,updateColName,tableName) VALUES
(''TOROLT'',''s.TOROLT'','''+tableName+''')
SELECT @update'+tableName+'ColList = ISNULL(@update'+tableName+'ColList+'',''+insertColName+'' = ''+updateColName,insertColName+'' = ''+updateColName)
FROM #ColumnMappingKKVegzettseg
WHERE updateColName IS NOT NULL AND tableName = '''+tableName+'''
SELECT @select'+tableName+'colList,@update'+tableName+'colList,@insert'+tableName+'colList,'''+tableName+''''
FROM #tables
INSERT INTO #colLists
exec sp_executesql @colListSql
SELECT @partialSql += N'
INSERT INTO '+tableName+'_OSSZES (
'+insertColList+'
) SELECT
'+selectColList+'
FROM '+tableName+'_OSSZES s
WHERE C_ALKALMAZOTTID = @alkalmazottId
AND TOROLT=''F''
AND NOT EXISTS (SELECT 1 FROM '+tableName+'_OSSZES t WHERE t.ELOZOTANEVIREKORDID = s.ID)
UPDATE t SET
'+updateColList+'
FROM '+tableName+'_OSSZES s
INNER JOIN '+tableName+'_OSSZES t ON t.ELOZOTANEVIREKORDID = s.ID
WHERE s.C_ALKALMAZOTTID=@alkalmazottId'
FROM #colLists
WHERE tableName IN('T_KKTANITOVEZGETTSEG','T_KKGYOGYPEDVEGZETTSEG','T_KKTANARVEGZETTSEG','T_KKAMIVEGZETTSEG')
--PRINT @partialSql
SET @finalSql = @partialSql
SET @partialSql = N''
SELECT @partialSql += N'
INSERT INTO '+tableName+'_OSSZES (
'+insertColList+'
) SELECT
'+selectColList+'
FROM '+tableName+'_OSSZES s
INNER JOIN T_KKAMIVEGZETTSEG_OSSZES tvx ON s.C_KKAMIVEGZETTSEGID = tvx.ID AND tvx.C_ALKALMAZOTTID = @alkalmazottId AND tvx.TOROLT = ''F''
INNER JOIN T_KKAMIVEGZETTSEG_OSSZES av ON av.ELOZOTANEVIREKORDID = tvx.ID AND av.C_ALKALMAZOTTID = @kovAlkalmazottId AND av.TOROLT = ''F''
WHERE s.TOROLT=''F''
AND NOT EXISTS (SELECT 1 FROM '+tableName+'_OSSZES t WHERE t.ELOZOTANEVIREKORDID = s.ID)
UPDATE t SET
'+updateColList+'
FROM '+tableName+'_OSSZES s
INNER JOIN '+tableName+'_OSSZES t ON t.ELOZOTANEVIREKORDID = s.ID
INNER JOIN T_KKAMIVEGZETTSEG_OSSZES v ON v.ID=s.C_KKAMIVEGZETTSEGID AND v.C_ALKALMAZOTTID=@alkalmazottId'
FROM #colLists
WHERE tableName IN('T_KKELEKTROAKUZENE','T_KKKLASSZIKUSZENE','T_KKJAZZZENE','T_KKNEPZENE','T_KKTERULET')
SET @finalSql += @partialSql
--PRINT @partialSql
SET @partialSql = N''
SELECT @partialSql = N'
INSERT INTO T_KKTANTARGYKATEGORIA_OSSZES (
'+insertColList+'
) SELECT
'+selectColList+'
FROM T_KKTANTARGYKATEGORIA_OSSZES s
INNER JOIN T_KKTANARVEGZETTSEG_OSSZES tvx ON s.C_KKTANARVEGZETTSEGID = tvx.ID AND tvx.C_ALKALMAZOTTID = @alkalmazottId AND tvx.TOROLT = ''F''
INNER JOIN T_KKTANARVEGZETTSEG_OSSZES av ON av.ELOZOTANEVIREKORDID = tvx.ID AND av.C_ALKALMAZOTTID = @kovAlkalmazottId AND av.TOROLT = ''F''
WHERE s.TOROLT = ''F''
AND NOT EXISTS (SELECT 1 FROM T_KKTANTARGYKATEGORIA_OSSZES WHERE ELOZOTANEVIREKORDID = s.ID)
UPDATE t SET
'+updateColList+'
FROM T_KKTANARVEGZETTSEG_OSSZES x
INNER JOIN T_KKTANTARGYKATEGORIA_OSSZES s ON s.C_KKTANARVEGZETTSEGID = x.ID
INNER JOIN T_KKTANTARGYKATEGORIA_OSSZES t ON t.ELOZOTANEVIREKORDID = s.ID
WHERE x.C_ALKALMAZOTTID = @alkalmazottId'
FROM #colLists
WHERE tableName = 'T_KKTANTARGYKATEGORIA'
SET @finalSql += @partialSql
--PRINT @partialSql
exec sp_executesql
@finalSql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@alkalmazottId int
,@kovAlkalmazottId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@alkalmazottId = @alkalmazottId
,@kovAlkalmazottId = @kovAlkalmazottId
END
GO

View File

@@ -0,0 +1,95 @@
DROP PROCEDURE IF EXISTS uspFollowUpCsengetesiRend
GO
CREATE PROCEDURE uspFollowUpCsengetesiRend
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@csengetesiRendId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@csengrendNev nvarchar(100)
,@kovCsengrendId int
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@updateColList nvarchar(max)
,@sql nvarchar(max)
CREATE TABLE #columnMapping (
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128)
,updateColName nvarchar(128)
)
INSERT INTO #columnMapping (
insertColName
,selectColName
,updateColName
) SELECT
insertColName
,selectColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_CSENGETESIREND')
SELECT @csengrendNev = C_NEV FROM T_CSENGETESIREND_OSSZES WHERE ID = @csengetesiRendId
IF EXISTS (SELECT 1 FROM T_CSENGETESIREND_OSSZES WHERE C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND C_NEV=@csengrendNev AND ISNULL(ELOZOTANEVIREKORDID,0)<>@csengetesiRendId)
BEGIN
UPDATE T_CSENGETESIREND_OSSZES SET ELOZOTANEVIREKORDID = NULL WHERE ELOZOTANEVIREKORDID=@csengetesiRendId
UPDATE T_CSENGETESIREND_OSSZES SET ELOZOTANEVIREKORDID = @csengetesiRendId WHERE C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND C_NEV=@csengrendNev AND ISNULL(ELOZOTANEVIREKORDID,0)<>@csengetesiRendId
END
SELECT @kovCsengrendId = ID FROM T_CSENGETESIREND_OSSZES WHERE ELOZOTANEVIREKORDID=@csengetesiRendId
IF (SELECT TOROLT FROM T_CSENGETESIREND_OSSZES WHERE ID = @csengetesiRendId)='T' OR (SELECT TOROLT FROM T_CSENGETESIREND_OSSZES WHERE ID=@kovCsengrendId)='T'
BEGIN
RETURN
END
IF @kovCsengrendId IS NULL BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_CSENGETESIREND_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_CSENGETESIREND_OSSZES s
LEFT JOIN T_MUKODESIHELY_OSSZES mh ON mh.ELOZOTANEVIREKORDID = s.C_MUKODESIHELYID AND mh.TOROLT = ''F'' AND mh.C_TANEVID = @kovetkezoTanevId
WHERE s.C_TANEVID = @aktTanevId AND s.ID = @csengetesiRendId AND s.TOROLT = ''F'''
END
ELSE
BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping
WHERE updateColname IS NOT NULL
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_CSENGETESIREND_OSSZES t
INNER JOIN T_CSENGETESIREND_OSSZES s ON s.ID = t.ELOZOTANEVIREKORDID AND s.C_TANEVID = @aktTanevId AND s.ID = @csengetesiRendId
WHERE t.TOROLT = ''F'' AND t.C_TANEVID = @kovetkezoTanevId AND t.ELOZOTANEVIREKORDID = @csengetesiRendId'
END
--PRINT @sql
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@csengetesiRendId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@csengetesiRendId = @csengetesiRendId
IF (SELECT C_AKTIV FROM T_CSENGETESIREND_OSSZES WHERE ELOZOTANEVIREKORDID=@csengetesiRendId AND TOROLT='F')='T' BEGIN
UPDATE T_CSENGETESIREND_OSSZES SET C_AKTIV='F' WHERE C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND ELOZOTANEVIREKORDID<>@csengetesiRendId
END
END
GO

View File

@@ -0,0 +1,104 @@
DROP PROCEDURE IF EXISTS uspFollowUpCsengetesiRendOra
GO
CREATE PROCEDURE uspFollowUpCsengetesiRendOra
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@csengetesiRendOraId int
,@csengetesiRendId int
,@isVisszaMenoleges bit
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@oraSzam int
,@kovCsengrendOraId int
,@kovCsengRendId int
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@updateColList nvarchar(max)
,@sql nvarchar(max)
CREATE TABLE #columnMapping(
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128)
,updateColName nvarchar(128)
)
INSERT INTO #columnMapping (
insertColName
,selectColName
,updateColName
) SELECT
insertColName
,selectColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_CSENGETESIRENDORA')
SELECT @oraSzam = C_ORASZAM FROM T_CSENGETESIRENDORA_OSSZES WHERE ID = @csengetesiRendOraId
SELECT @kovCsengRendId = ID FROM T_CSENGETESIREND_OSSZES WHERE ELOZOTANEVIREKORDID=@csengetesiRendId
IF EXISTS (SELECT 1 FROM T_CSENGETESIRENDORA_OSSZES WHERE C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND C_ORASZAM=@oraSzam AND ISNULL(ELOZOTANEVIREKORDID,0)<>@csengetesiRendOraId AND C_CSENGETESIRENDID=@kovCsengRendId)
BEGIN
UPDATE T_CSENGETESIRENDORA_OSSZES SET ELOZOTANEVIREKORDID = NULL WHERE ELOZOTANEVIREKORDID=@csengetesiRendOraId
UPDATE T_CSENGETESIRENDORA_OSSZES SET ELOZOTANEVIREKORDID = @csengetesiRendOraId WHERE C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND C_ORASZAM=@oraSzam AND ISNULL(ELOZOTANEVIREKORDID,0)<>@csengetesiRendOraId AND C_CSENGETESIRENDID=@kovCsengRendId
END
SELECT @kovCsengrendOraId = ID FROM T_CSENGETESIRENDORA_OSSZES WHERE ELOZOTANEVIREKORDID=@csengetesiRendOraId
IF (SELECT TOROLT FROM T_CSENGETESIRENDORA_OSSZES WHERE ID = @csengetesiRendOraId)='T' OR (SELECT TOROLT FROM T_CSENGETESIRENDORA_OSSZES WHERE ID=@kovCsengrendOraId)='T'
BEGIN
RETURN
END
IF @kovCsengrendOraId IS NULL BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_CSENGETESIRENDORA_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_CSENGETESIRENDORA_OSSZES s
INNER JOIN T_CSENGETESIREND_OSSZES csr ON csr.ELOZOTANEVIREKORDID=s.C_CSENGETESIRENDID AND csr.TOROLT=''F''
WHERE s.C_TANEVID = @aktTanevId AND s.ID = @csengetesiRendOraId AND s.TOROLT = ''F'''
END
ELSE
BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping
WHERE updateColname IS NOT NULL
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_CSENGETESIRENDORA_OSSZES t
INNER JOIN T_CSENGETESIRENDORA_OSSZES s ON s.ID = t.ELOZOTANEVIREKORDID AND s.C_TANEVID = @aktTanevId
WHERE t.TOROLT = ''F'' AND t.C_TANEVID = @kovetkezoTanevId AND t.ELOZOTANEVIREKORDID = @csengetesiRendOraId'
END
--PRINT @sql
EXEC sp_executesql
@sql,N'
@aktTanevId int
,@kovetkezoTanevId int
,@csengetesiRendOraId int
,@csengetesiRendId int
,@intezmenyId int'
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@csengetesiRendOraId = @csengetesiRendOraId
,@csengetesiRendId = @csengetesiRendId
,@intezmenyId = @intezmenyId
SELECT @kovCsengrendOraId = ID FROM T_CSENGETESIRENDORA_OSSZES WHERE ELOZOTANEVIREKORDID=@csengetesiRendOraId AND TOROLT='F'
IF @isVisszaMenoleges=1
BEGIN
EXEC sp_UpdateOrarendiOraVisszamenolegesen @kovCsengrendOraId
END
END
GO

View File

@@ -0,0 +1,160 @@
-- ===================================================================
-- Author: Telek Ákos
-- Created: 2018.06.21.
-- Description:
-- Dictionary elemek FollowUp-ja
-- ===================================================================
DROP PROCEDURE IF EXISTS uspFollowUpDictionaryItemBase
GO
CREATE PROCEDURE uspFollowUpDictionaryItemBase
@pItemId int
,@pCurrentTanevId int
,@kovetkezoTanevId int
,@IntezmenyId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@typeName nvarchar(64)
,@sql nvarchar(max)
,@kovItemId int
,@isItemTorolt char(1)
,@isKovItemTorolt char(1)
,@columnList nvarchar(max)
,@columnListInsert nvarchar(max)
,@itemName nvarchar(500)
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@updateColList nvarchar(max)
CREATE TABLE #columnMapping (
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128)
,updateColName nvarchar(128)
)
INSERT INTO #columnMapping (
insertColName
,selectColName
,updateColName
) SELECT
insertColName
,selectColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_DICTIONARYITEMBASE')
SELECT
@typeName = d.C_TYPE
,@isItemTorolt = d.TOROLT
,@itemName = C_NAME
FROM T_DICTIONARYITEMBASE_OSSZES d
WHERE d.ID = @pItemId
AND d.C_INTEZMENYID = @IntezmenyId
AND d.C_TANEVID = @pCurrentTanevId
SELECT
@kovItemId = d.ID
,@isKovItemTorolt = d.TOROLT
FROM T_DICTIONARYITEMBASE_OSSZES d
WHERE d.C_INTEZMENYID = @IntezmenyId
AND d.C_TANEVID = @kovetkezoTanevId
AND d.ELOZOTANEVIREKORDID = @pItemId
IF EXISTS(SELECT 1 FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TYPE=@typeName AND C_NAME=@itemName AND C_TANEVID=@kovetkezoTanevId AND ISNULL(ELOZOTANEVIREKORDID,0)<>@pItemId AND TOROLT='F') BEGIN
UPDATE T_DICTIONARYITEMBASE_OSSZES SET ELOZOTANEVIREKORDID = NULL WHERE ELOZOTANEVIREKORDID = @pItemId AND C_TANEVID=@kovetkezoTanevId AND TOROLT='F'
UPDATE T_DICTIONARYITEMBASE_OSSZES SET ELOZOTANEVIREKORDID = @pItemId WHERE C_NAME=@itemName AND C_TANEVID = @kovetkezoTanevId AND TOROLT='F' AND C_TYPE=@typeName
SELECT
@kovItemId = d.ID
,@isKovItemTorolt = d.TOROLT
FROM T_DICTIONARYITEMBASE_OSSZES d
WHERE d.C_INTEZMENYID = @IntezmenyId AND d.C_TANEVID = @kovetkezoTanevId AND d.ELOZOTANEVIREKORDID = @pItemId
SET @sql=N'
UPDATE T_'+@typeName+'_OSSZES SET ELOZOTANEVIREKORDID = NULL WHERE ELOZOTANEVIREKORDID = @pItemId AND C_ALTANEVID=@kovetkezoTanevId AND TOROLT=''F''
UPDATE T_'+@typeName+'_OSSZES SET ELOZOTANEVIREKORDID = @pItemId, ELOZOTANEVIREKORDIDA = @pItemId WHERE ID = @kovItemId AND C_ALTANEVID=@kovetkezoTanevId AND TOROLT=''F'''
EXEC sp_Executesql @sql,N'@pItemId int,@kovItemId int,@kovetkezoTanevId int',@kovetkezoTanevId = @kovetkezoTanevId,@pItemId = @pItemId,@kovItemId = @kovItemId
END
IF @isItemTorolt = 'T' OR @isKovItemTorolt = 'T' BEGIN
RETURN
END
IF @kovItemId IS NULL BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_DICTIONARYITEMBASE (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_DICTIONARYITEMBASE_OSSZES s
WHERE s.ID = @pItemId
AND s.C_TANEVID = @pCurrentTanevId
SET @kovItemId = SCOPE_IDENTITY()'
SELECT @columnList = ISNULL(@columnList + ', ', '') + c.name
FROM sys.columns c
INNER JOIN sys.tables t ON t.object_id = c.object_id AND t.name = 'T_' + @typeName AND t.schema_id = 1
ORDER BY c.column_id
SET @columnListInsert = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(STUFF(@columnList, 1, 2, '@kovItemId'), 'CREATOR', 'MODIFIER'), 'C_ALTANEVID', '@kovetkezoTanevId'), 'ELOZOTANEVIREKORDIDA', 'ID'), 'ELOZOTANEVIREKORDID', 'ID'), 'SERIAL', '0'),'CREATED','LASTCHANGED')
SET @sql += N'
INSERT INTO T_' + @typeName + ' (' + @columnList + ')
SELECT ' + @columnListInsert + '
FROM T_' + @typeName + '_OSSZES
WHERE ID = @pItemId
AND C_ALTANEVID = @pCurrentTanevId'
END
ELSE BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping
WHERE updateColname IS NOT NULL
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_DICTIONARYITEMBASE_OSSZES t
INNER JOIN T_DICTIONARYITEMBASE_OSSZES s ON s.ID = t.ELOZOTANEVIREKORDID
WHERE s.ID = @pItemId
AND t.ID = @kovItemId
AND s.C_TANEVID = @pCurrentTanevId
AND t.C_TANEVID = @kovetkezoTanevId'
SET @columnList = ''
SELECT @columnList += 'kov.' + c.name + ' = akt.' + c.name + ', '
FROM sys.columns c
INNER JOIN sys.tables t ON t.object_id = c.object_id AND t.name = 'T_' + @typeName AND t.schema_id = 1
WHERE c.name NOT IN ('ID', 'C_ALINTEZMENYID', 'C_ALTANEVID', 'TOROLT', 'ELOZOTANEVIREKORDID', 'ELOZOTANEVIREKORDIDA', 'NNID', 'LASTCHANGED', 'CREATOR', 'CREATED')
SET @columnList += 'kov.LASTCHANGED = akt.LASTCHANGED'
SET @columnList = REPLACE(@columnList,'akt.SERIAL','kov.SERIAL+1')
SET @sql += N'
UPDATE kov SET
' + @columnList + '
FROM T_' + @typeName + '_OSSZES kov
INNER JOIN T_' + @typeName + '_OSSZES akt ON akt.ID = kov.ELOZOTANEVIREKORDID
WHERE akt.ID = @pItemId
AND kov.ID = @kovItemId
AND akt.C_ALTANEVID = @pCurrentTanevId
AND kov.C_ALTANEVID = @kovetkezoTanevId'
END
--PRINT @sql
EXEC sys.sp_executesql @sql,N'
@kovItemId int
,@pItemId int
,@pCurrentTanevId int
,@kovetkezoTanevId int
,@IntezmenyId int'
,@kovItemId = @kovItemId
,@pItemId = @pItemId
,@pCurrentTanevId = @pCurrentTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@IntezmenyId = @IntezmenyId
END
GO

View File

@@ -0,0 +1,89 @@
DROP PROCEDURE IF EXISTS uspFollowUpEszkoz
GO
CREATE PROCEDURE uspFollowUpEszkoz
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@eszkozId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovEszkozId int = (SELECT TOP 1 ID FROM T_ESZKOZ_OSSZES WHERE ELOZOTANEVIREKORDID = @eszkozId)
,@eszkozNev nvarchar(200)= (SELECT C_NEV FROM T_ESZKOZ_OSSZES WHERE ID = @eszkozId)
,@aktTipusId int = (SELECT TOP 1 C_TIPUS FROM T_ESZKOZ_OSSZES WHERE ID = @eszkozId)
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@updateColList nvarchar(max)
,@sql nvarchar(max)
CREATE TABLE #columnMapping (
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128)
,updateColName nvarchar(128)
)
INSERT INTO #columnMapping (
insertColName
,selectColName
,updateColName
) SELECT
insertColName
,selectColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_ESZKOZ')
IF (SELECT TOROLT FROM T_ESZKOZ_OSSZES WHERE ID = @eszkozId) = 'T' OR (SELECT TOROLT FROM T_ESZKOZ_OSSZES WHERE ID = @kovEszkozId) = 'T'
BEGIN
RETURN
END
IF (@aktTipusId > 100000)
BEGIN
SET @aktTipusId = (SELECT TOP 1 ID FROM T_DICTIONARYITEMBASE_OSSZES WHERE ELOZOTANEVIREKORDID = @aktTipusId AND C_INTEZMENYID = @intezmenyId AND C_TANEVID = @kovetkezoTanevId)
END
IF (@kovEszkozId IS NULL AND NOT EXISTS(SELECT 1 FROM T_ESZKOZ_OSSZES WHERE C_NEV=@eszkozNev AND C_TANEVID=@kovetkezoTanevId AND TOROLT='F')) BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_ESZKOZ_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_ESZKOZ_OSSZES s
INNER JOIN T_TEREM_OSSZES te ON te.ELOZOTANEVIREKORDID=s.C_TEREMID AND te.TOROLT=''F''
LEFT JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = s.C_FELELOSID
WHERE s.ID=@EszkozId'
END
ELSE
BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping
WHERE updateColname IS NOT NULL
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_ESZKOZ_OSSZES t
INNER JOIN T_ESZKOZ_OSSZES s ON s.ID = @eszkozId AND s.ID=t.ELOZOTANEVIREKORDID
LEFT JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = s.C_FELELOSID
INNER JOIN T_TEREM_OSSZES te ON te.ELOZOTANEVIREKORDID=s.C_TEREMID AND te.TOROLT=''F'''
END
--PRINT @sql
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@eszkozId int
,@aktTipusId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@eszkozId = @eszkozId
,@aktTipusId = @aktTipusId
END
GO

View File

@@ -0,0 +1,96 @@
DROP PROCEDURE IF EXISTS uspFollowUpFeladatellatasiHely
GO
CREATE PROCEDURE uspFollowUpFeladatellatasiHely
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@feladatellatasiHelyId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovetkezoFeladatellatasiHelyId int
,@kovOktatasiNevelesiFeladat int
,@kovMukodesiHelyId int
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@updateColList nvarchar(max)
,@sql nvarchar(max)
CREATE TABLE #columnMapping (
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128)
,updateColName nvarchar(128)
)
INSERT INTO #columnMapping (
insertColName
,selectColName
,updateColName
) SELECT
insertColName
,selectColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_FELADATELLATASIHELY')
SELECT @kovOktatasiNevelesiFeladat=okt.ID FROM T_OKTATASINEVELESIFELADAT_OSSZES okt
INNER JOIN T_FELADATELLATASIHELY_OSSZES fh ON fh.C_OKTATASINEVELESIFELADATTIPUS=okt.ELOZOTANEVIREKORDID AND fh.ID=@feladatellatasiHelyId AND fh.TOROLT='F'
WHERE C_ALTANEVID=@kovetkezoTanevId AND okt.TOROLT='F'
SELECT @kovMukodesiHelyId=mh.ID FROM T_FELADATELLATASIHELY_OSSZES fh
INNER JOIN T_MUKODESIHELY_OSSZES mh ON mh.ELOZOTANEVIREKORDID=fh.C_MUKODESIHELYID AND mh.TOROLT='F'
WHERE fh.ID=@feladatellatasiHelyId AND fh.TOROLT='F'
IF EXISTS(SELECT 1 FROM T_FELADATELLATASIHELY_OSSZES WHERE TOROLT='F' AND C_TANEVID=@kovetkezoTanevId AND C_MUKODESIHELYID=@kovMukodesiHelyId AND C_OKTATASINEVELESIFELADATTIPUS=@kovOktatasiNevelesiFeladat AND ISNULL(ELOZOTANEVIREKORDID,0)<>@feladatellatasiHelyId)
BEGIN
UPDATE T_FELADATELLATASIHELY_OSSZES SET ELOZOTANEVIREKORDID = NULL WHERE ELOZOTANEVIREKORDID=@feladatellatasiHelyId
UPDATE T_FELADATELLATASIHELY_OSSZES SET ELOZOTANEVIREKORDID = @feladatellatasiHelyId WHERE TOROLT='F' AND C_TANEVID=@kovetkezoTanevId AND C_MUKODESIHELYID=@kovMukodesiHelyId AND C_OKTATASINEVELESIFELADATTIPUS=@kovOktatasiNevelesiFeladat AND ISNULL(ELOZOTANEVIREKORDID,0)<>@feladatellatasiHelyId
END
SELECT @kovetkezoFeladatellatasiHelyId = ID FROM T_FELADATELLATASIHELY_OSSZES WHERE ELOZOTANEVIREKORDID = @feladatellatasiHelyId
IF (SELECT TOROLT FROM T_FELADATELLATASIHELY_OSSZES WHERE ID = @feladatellatasiHelyId) = 'T' OR (SELECT TOROLT FROM T_FELADATELLATASIHELY_OSSZES WHERE ID = @kovetkezoFeladatellatasiHelyId) = 'T' BEGIN
RETURN
END
IF (@kovetkezoFeladatellatasiHelyId IS NULL) BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_FELADATELLATASIHELY_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_FELADATELLATASIHELY_OSSZES s
INNER JOIN T_MUKODESIHELY_OSSZES mh ON mh.ELOZOTANEVIREKORDID=s.C_MUKODESIHELYID AND mh.TOROLT=''F''
INNER JOIN T_OKTATASINEVELESIFELADAT_OSSZES okt ON okt.ELOZOTANEVIREKORDID=s.C_OKTATASINEVELESIFELADATTIPUS AND okt.TOROLT=''F'' AND okt.C_ALTANEVID=@kovetkezoTanevId
WHERE s.TOROLT=''F'' AND s.ID=@feladatellatasiHelyId'
END
ELSE
BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping
WHERE updateColname IS NOT NULL
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_FELADATELLATASIHELY_OSSZES t
INNER JOIN T_FELADATELLATASIHELY_OSSZES s ON s.ID = @feladatellatasiHelyId AND s.ID=t.ELOZOTANEVIREKORDID
INNER JOIN T_OKTATASINEVELESIFELADAT_OSSZES okt ON okt.ELOZOTANEVIREKORDID=s.C_OKTATASINEVELESIFELADATTIPUS AND okt.TOROLT=''F'' AND okt.C_ALTANEVID=@kovetkezoTanevId'
END
--PRINT @sql
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@feladatellatasiHelyId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@feladatellatasiHelyId = @feladatellatasiHelyId
END
GO

View File

@@ -0,0 +1,69 @@
DROP PROCEDURE IF EXISTS uspFollowUpFelhasznaloCim
GO
CREATE PROCEDURE uspFollowUpFelhasznaloCim
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@felhasznaloId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovFelhasznaloId int
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@sql nvarchar(max)
CREATE TABLE #columnMapping (
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128)
)
INSERT INTO #columnMapping
SELECT insertColName,selectColName
FROM fnGetFollowUpColumnMapping ('GID','T_CIM')
SELECT @kovFelhasznaloId = kovTanevesTanulo.ID
FROM T_FELHASZNALO_OSSZES aktTanevesTanulo
INNER JOIN T_FELHASZNALO_OSSZES kovTanevesTanulo ON aktTanevesTanulo.ID = kovTanevesTanulo.ELOZOTANEVIREKORDID
WHERE aktTanevesTanulo.ID = @felhasznaloId
AND aktTanevesTanulo.C_INTEZMENYID = @intezmenyId
AND aktTanevesTanulo.C_TANEVID = @aktTanevId
AND kovTanevesTanulo.TOROLT = 'F'
AND aktTanevesTanulo.TOROLT = 'F';
IF @kovFelhasznaloId IS NOT NULL BEGIN
DELETE FROM T_CIM_OSSZES
WHERE C_FELHASZNALOID = @kovFelhasznaloId
AND C_GONDVISELOID IS NULL
AND C_INTEZMENYID = @intezmenyId
AND C_TANEVID = @kovetkezoTanevId
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_CIM_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_CIM_OSSZES s
WHERE s.C_FELHASZNALOID = @felhasznaloId AND s.C_GONDVISELOID IS NULL AND s.TOROLT = ''F'''
--PRINT @sql
EXEC sp_executesql
@sql,N'
@kovetkezoTanevId int
,@intezmenyId int
,@felhasznaloId int
,@kovFelhasznaloId int'
,@kovetkezoTanevId = @kovetkezoTanevId
,@intezmenyId = @intezmenyId
,@felhasznaloId = @felhasznaloId
,@kovFelhasznaloId = @kovFelhasznaloId
END
END
GO

View File

@@ -0,0 +1,78 @@
-- =============================================
-- Author: Szekeres András
-- Create date: 2018.04.24.
-- Description: Egy tanuló email címeinek frissítése a következõ tanévre
-- Modifier: Zalán Máriusz
-- Modify date: 2020.02.19
-- Description: Dinamizálás
-- =============================================
DROP PROCEDURE IF EXISTS uspFollowUpFelhasznaloEmail
GO
CREATE PROCEDURE uspFollowUpFelhasznaloEmail
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@felhasznaloId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovFelhasznaloId int
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@sql nvarchar(max)
CREATE TABLE #columnMapping (
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128)
)
INSERT INTO #columnMapping
SELECT insertColName,selectColName
FROM fnGetFollowUpColumnMapping (NULL,'T_EMAIL')
SELECT @kovFelhasznaloId = kov.ID
FROM T_FELHASZNALO_OSSZES akt
INNER JOIN T_FELHASZNALO_OSSZES kov ON akt.C_OKTATASIAZONOSITO = kov.C_OKTATASIAZONOSITO AND kov.C_TANEVID = @kovetkezoTanevId AND kov.C_INTEZMENYID = @intezmenyId
WHERE akt.ID = @felhasznaloId
AND akt.C_INTEZMENYID = @intezmenyId
AND akt.C_TANEVID = @aktTanevId
AND kov.TOROLT = 'F'
AND akt.TOROLT = 'F'
IF @kovFelhasznaloId IS NOT NULL BEGIN
DELETE FROM T_EMAIL_OSSZES
WHERE C_FELHASZNALOID = @kovFelhasznaloId
AND C_GONDVISELOID IS NULL
AND C_INTEZMENYID = @intezmenyId
AND C_TANEVID = @kovetkezoTanevId;
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_EMAIL_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_EMAIL_OSSZES s
WHERE s.C_FELHASZNALOID = @felhasznaloId AND s.C_GONDVISELOID IS NULL AND s.TOROLT = ''F'''
--PRINT @sql
EXEC sp_executesql
@sql,N'
@kovetkezoTanevId int
,@intezmenyId int
,@felhasznaloId int
,@kovFelhasznaloId int'
,@kovetkezoTanevId = @kovetkezoTanevId
,@intezmenyId = @intezmenyId
,@felhasznaloId = @felhasznaloId
,@kovFelhasznaloId = @kovFelhasznaloId
END
END
GO

View File

@@ -0,0 +1,78 @@
-- =============================================
-- Author: Szekeres András
-- Create date: 2018.04.24.
-- Description: Egy tanuló telefonszámainak frissítése a következõ tanévre
-- Modifier: Zalán Máriusz
-- Modify date: 2020.02.19
-- Description: Dinamizálás
-- =============================================
DROP PROCEDURE IF EXISTS uspFollowUpFelhasznaloTelefon
GO
CREATE PROCEDURE uspFollowUpFelhasznaloTelefon
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@felhasznaloId int
AS
BEGIN
SET NOCOUNT ON
DECLARE
@kovFelhasznaloId int
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@sql nvarchar(max)
CREATE TABLE #columnMapping (
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128)
)
INSERT INTO #columnMapping
SELECT insertColName,selectColName
FROM fnGetFollowUpColumnMapping (NULL,'T_TELEFON')
SELECT @kovFelhasznaloId = kov.ID
FROM T_FELHASZNALO_OSSZES akt
INNER JOIN T_FELHASZNALO_OSSZES kov ON akt.C_OKTATASIAZONOSITO = kov.C_OKTATASIAZONOSITO AND kov.C_TANEVID = @kovetkezoTanevId AND kov.C_INTEZMENYID = @intezmenyId
WHERE akt.ID = @felhasznaloId
AND akt.C_INTEZMENYID = @intezmenyId
AND akt.C_TANEVID = @aktTanevId
AND kov.TOROLT = 'F'
AND akt.TOROLT = 'F'
IF @kovFelhasznaloId IS NOT NULL BEGIN
DELETE FROM T_TELEFON_OSSZES
WHERE C_FELHASZNALOID = @kovFelhasznaloId
AND C_GONDVISELOID IS NULL
AND C_INTEZMENYID = @intezmenyId
AND C_TANEVID = @kovetkezoTanevId;
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_TELEFON_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_TELEFON_OSSZES s
WHERE s.C_FELHASZNALOID = @felhasznaloId AND s.C_GONDVISELOID IS NULL AND s.TOROLT = ''F'''
--PRINT @sql
EXEC sp_executesql
@sql,N'
@kovetkezoTanevId int
,@intezmenyId int
,@felhasznaloId int
,@kovFelhasznaloId int'
,@kovetkezoTanevId = @kovetkezoTanevId
,@intezmenyId = @intezmenyId
,@felhasznaloId = @felhasznaloId
,@kovFelhasznaloId = @kovFelhasznaloId
END
END
GO

View File

@@ -0,0 +1,157 @@
DROP PROCEDURE IF EXISTS uspFollowUpGondviselo
GO
CREATE PROCEDURE uspFollowUpGondviselo
@intezmenyId int
,@tanevId int
,@kovetkezoTanevId int
,@gondviseloId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovGondviseloId int = (SELECT ID FROM T_GONDVISELO_OSSZES WHERE ELOZOTANEVIREKORDID=@gondviseloId)
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@updateColList nvarchar(max)
,@partialSql nvarchar(max)
,@sql nvarchar(max)
IF (SELECT TOROLT FROM T_GONDVISELO_OSSZES WHERE ID = @gondviseloId)='T' OR (SELECT TOROLT FROM T_GONDVISELO_OSSZES WHERE ID = @kovGondviseloId)='T' BEGIN
RETURN
END
CREATE TABLE #ColumnMappings(
insertColName nvarchar(128)
,selectColName nvarchar(128)
,updateColName nvarchar(128)
,tableName nvarchar(128)
)
INSERT INTO #ColumnMappings(insertColName,selectColName,updateColName,tableName)
SELECT insertColName,selectColName,updateColName,'T_GONDVISELO' from fnGetFollowUpColumnMapping (NULL,'T_GONDVISELO')
UNION ALL
SELECT insertColName,selectColName,updateColName,'T_EMAIL' FROM fnGetFollowUpColumnMapping (NULL,'T_EMAIL')
UNION ALL
SELECT insertColName,selectColName,updateColName,'T_TELEFON' FROM fnGetFollowUpColumnMapping (NULL,'T_TELEFON')
UPDATE #ColumnMappings SET selectColName = 'gKov.ID' WHERE insertColName = 'C_GONDVISELOID' AND tableName IN ('T_EMAIL','T_TELEFON')
UPDATE #ColumnMappings SET selectColName = 'gKov.C_TANULOID' WHERE insertColName = 'C_FELHASZNALOID' AND tableName IN ('T_EMAIL','T_TELEFON')
IF @kovGondviseloId IS NULL BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMappings WHERE tableName = 'T_GONDVISELO'
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #ColumnMappings WHERE tableName = 'T_GONDVISELO'
SET @partialSql = N'
INSERT INTO T_GONDVISELO_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_GONDVISELO_OSSZES s
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = s.C_TANULOID
INNER JOIN T_FELHASZNALO_OSSZES fhNew ON fhNew.C_OKTATASIAZONOSITO = fh.C_OKTATASIAZONOSITO AND fhNew.TOROLT=''F'' AND fhNew.C_TANEVID = @kovetkezoTanevId
WHERE s.ID = @gondviseloId'
END
ELSE BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMappings
WHERE tableName = 'T_GONDVISELO' AND updateColname IS NOT NULL
SET @partialSql = N'
UPDATE t SET
'+@updateColList+'
FROM T_GONDVISELO_OSSZES s
INNER JOIN T_GONDVISELO_OSSZES t ON t.ELOZOTANEVIREKORDID=s.ID AND s.ID=@gondviseloId'
END
--PRINT @partialSql
SET @sql = @partialSql
SELECT @partialSql = NULL,@insertColList = NULL,@selectColList = NULL,@updateColList = NULL
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMappings WHERE tableName = 'T_TELEFON'
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #ColumnMappings WHERE tableName = 'T_TELEFON'
SET @partialSql = N'
INSERT INTO T_TELEFON_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_GONDVISELO_OSSZES g
INNER JOIN T_GONDVISELO_OSSZES gKov ON gKov.ELOZOTANEVIREKORDID=g.ID
INNER JOIN T_TELEFON_OSSZES s ON s.C_GONDVISELOID=g.ID AND s.TOROLT=''F''
WHERE g.ID=@gondviseloId
AND NOT EXISTS(SELECT 1 FROM T_TELEFON_OSSZES WHERE ELOZOTANEVIREKORDID=s.ID AND TOROLT=''F'')'
SELECT @insertColList = NULL,@selectColList = NULL
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMappings WHERE tableName = 'T_EMAIL'
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #ColumnMappings WHERE tableName = 'T_EMAIL'
SET @partialSql += N'
INSERT INTO T_EMAIL_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_GONDVISELO_OSSZES g
INNER JOIN T_GONDVISELO_OSSZES gKov ON gKov.ELOZOTANEVIREKORDID=g.ID
INNER JOIN T_EMAIL_OSSZES s ON s.C_GONDVISELOID=g.ID AND s.TOROLT=''F''
WHERE g.ID=@gondviseloId
AND NOT EXISTS(SELECT 1 FROM T_EMAIL_OSSZES WHERE ELOZOTANEVIREKORDID=s.ID AND TOROLT=''F'')'
SET @sql+=@partialSql
--PRINT @partialSql
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMappings
WHERE tableName = 'T_TELEFON' AND updateColname IS NOT NULL
SET @partialSql = N'
UPDATE t SET
'+@updateColList+'
FROM T_TELEFON_OSSZES s
INNER JOIN T_TELEFON_OSSZES t ON t.ELOZOTANEVIREKORDID=s.ID AND t.TOROLT=''F''
WHERE s.TOROLT=''F'' AND s.C_GONDVISELOID=@gondviseloId'
SET @updateColList = NULL
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMappings
WHERE tableName = 'T_EMAIL' AND updateColname IS NOT NULL
SET @partialSql += N'
UPDATE t SET
'+@updateColList+'
FROM T_EMAIL_OSSZES s
INNER JOIN T_EMAIL_OSSZES t ON t.ELOZOTANEVIREKORDID=s.ID AND t.TOROLT=''F''
WHERE s.TOROLT=''F'' AND s.C_GONDVISELOID=@gondviseloId'
SET @sql += @partialSql
--PRINT @partialSql
DECLARE @cimId int
DECLARE cimCursor CURSOR FOR
SELECT ID FROM T_CIM_OSSZES WHERE C_GONDVISELOID=@gondviseloId AND TOROLT='F'
OPEN cimCursor
FETCH NEXT FROM cimCursor INTO @cimId
WHILE @@FETCH_STATUS=0 BEGIN
EXEC uspFollowUpGondviseloCim
@intezmenyId,
@tanevId,
@kovetkezoTanevId,
@cimId
FETCH NEXT FROM cimCursor INTO @cimId
END
CLOSE cimCursor
DEALLOCATE cimCursor
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@tanevId int
,@kovetkezoTanevId int
,@gondviseloId int
,@kovGondviseloId int'
,@intezmenyId = @intezmenyId
,@tanevId = @tanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@gondviseloId = @gondviseloId
,@kovGondviseloId = @kovGondviseloId
END
GO

View File

@@ -0,0 +1,76 @@
DROP PROCEDURE IF EXISTS uspFollowUpGondviseloCim
GO
CREATE PROCEDURE uspFollowUpGondviseloCim
@intezmenyId int
,@tanevId int
,@kovetkezoTanevId int
,@cimId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovCimId int = (SELECT ID FROM T_CIM_OSSZES WHERE ELOZOTANEVIREKORDID=@cimId AND TOROLT='F')
,@nextGvId int
,@gvid int
,@selectColList nvarchar(max)
,@insertColList nvarchar(max)
,@sql nvarchar(max)
CREATE TABLE #GvCimColumnMapping (
selectColName nvarchar(128)
,insertColName nvarchar(128)
)
INSERT INTO #GvCimColumnMapping (
selectColName
,insertColName
)
SELECT
selectColName
,insertColName
FROM fnGetFollowUpColumnMapping ('GID','T_CIM')
IF (SELECT TOROLT FROM T_CIM_OSSZES WHERE ID = @cimId)='T' OR (SELECT TOROLT FROM T_CIM_OSSZES WHERE ID = @kovCimId)='T' BEGIN
RETURN
END
SELECT
@gvId = g.ID
,@nextGvId = gNext.ID
FROM T_CIM_OSSZES c
INNER JOIN T_GONDVISELO_OSSZES g ON g.ID=c.C_GONDVISELOID
INNER JOIN T_GONDVISELO_OSSZES gNext ON gNext.ELOZOTANEVIREKORDID = g.ID AND gNext.TOROLT='F'
WHERE c.ID = @cimId
DELETE FROM T_CIM WHERE C_GONDVISELOID = @nextGvId
UPDATE #GvCimColumnMapping SET selectColName = 'fhNew.ID' WHERE insertColName = 'C_FELHASZNALOID'
UPDATE #GvCimColumnMapping SET selectColName = 'g.ID' WHERE insertColName = 'C_GONDVISELOID'
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #GvCimColumnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #GvCimColumnMapping
SET @sql =N'
INSERT INTO T_CIM_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_CIM_OSSZES s
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = s.C_FELHASZNALOID
INNER JOIN T_FELHASZNALO_OSSZES fhNew ON fhNew.C_OKTATASIAZONOSITO=fh.C_OKTATASIAZONOSITO AND fhNew.TOROLT=''F'' AND fhNew.C_TANEVID=@kovetkezoTanevId
INNER JOIN T_GONDVISELO_OSSZES g ON g.ELOZOTANEVIREKORDID=s.C_GONDVISELOID AND g.TOROLT=''F''
WHERE s.C_GONDVISELOID = @gvId'
--print @sql
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@tanevId int
,@kovetkezoTanevId int
,@gvId int'
,@intezmenyId = @intezmenyId
,@tanevId = @tanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@gvId = @gvId
END
GO

View File

@@ -0,0 +1,38 @@
DROP PROCEDURE IF EXISTS uspFollowUpIntezmenyAdatok
GO
CREATE PROCEDURE uspFollowUpIntezmenyAdatok
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @aktivIntezmenyAdatokId int = (
SELECT TOP 1 ID FROM T_INTEZMENYADATOK_OSSZES WHERE C_TANEVID = @aktTanevId AND TOROLT='F')
,@updateColList nvarchar(max)
,@sql nvarchar(max)
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM fnGetFollowUpColumnMapping (NULL,'T_INTEZMENYADATOK')
WHERE updateColname IS NOT NULL
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_INTEZMENYADATOK_OSSZES t
INNER JOIN T_INTEZMENYADATOK_OSSZES s ON s.ID = @aktivIntezmenyAdatokId AND s.ID = t.ELOZOTANEVIREKORDID'
--PRINT @sql
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@kovetkezoTanevId int
,@aktivIntezmenyAdatokId int'
,@intezmenyId = @intezmenyId
,@kovetkezoTanevId = @kovetkezoTanevId
,@aktivIntezmenyAdatokId = @aktivIntezmenyAdatokId
END
GO

View File

@@ -0,0 +1,121 @@
DROP PROCEDURE IF EXISTS uspFollowUpMukodesiHely
GO
CREATE PROCEDURE uspFollowUpMukodesiHely
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@mukodesiHelyId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovetkezoMukodesiHelyId int
,@ujKovetkezoMukodesiHelyId int
,@mukodesiHelyNev nvarchar(100)
,@isKovItemTorolt char(1)
,@mukodesiHelyKod nvarchar(3)
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@updateColList nvarchar(max)
,@sql nvarchar(max)
CREATE TABLE #columnMapping (
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128)
,updateColName nvarchar(128)
)
INSERT INTO #columnMapping (
insertColName
,selectColName
,updateColName
) SELECT
insertColName
,selectColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_MUKODESIHELY')
SELECT
@kovetkezoMukodesiHelyId = mh.ID
,@isKovItemTorolt = mh.TOROLT
FROM T_MUKODESIHELY_OSSZES mh
WHERE mh.C_INTEZMENYID = @intezmenyId
AND mh.C_TANEVID = @kovetkezoTanevId
AND mh.ELOZOTANEVIREKORDID = @mukodesiHelyId
SELECT
@mukodesiHelyNev = C_NEV
,@mukodesiHelyKod = C_MUKODESIHELYAZONOSITO
FROM T_MUKODESIHELY_OSSZES WHERE ID = @mukodesiHelyId AND C_TANEVID=@aktTanevId
SELECT @ujKovetkezoMukodesiHelyId=ID from T_MUKODESIHELY_OSSZES WHERE TOROLT='F' AND C_TANEVID=@kovetkezoTanevId AND
(
(@mukodesiHelyNev=C_NEV AND ISNULL(@mukodesiHelyKod,0)=ISNULL(C_MUKODESIHELYAZONOSITO,0))
OR
(@mukodesiHelyNev=C_NEV AND (@mukodesiHelyKod IS NULL OR NOT EXISTS(SELECT 1 FROM T_MUKODESIHELY_OSSZES WHERE ISNULL(@mukodesiHelyKod,0)=ISNULL(C_MUKODESIHELYAZONOSITO,0) AND ISNULL(ELOZOTANEVIREKORDID,0)<>@mukodesiHelyId AND TOROLT='F' AND C_TANEVID=@kovetkezoTanevId)))
OR
(@mukodesiHelyKod=C_MUKODESIHELYAZONOSITO AND NOT EXISTS(SELECT 1 FROM T_MUKODESIHELY_OSSZES WHERE @mukodesiHelyNev=C_NEV AND ISNULL(ELOZOTANEVIREKORDID,0)<>@mukodesiHelyId AND TOROLT='F' AND C_TANEVID=@kovetkezoTanevId))
)
AND ISNULL(ELOZOTANEVIREKORDID,0)<>@mukodesiHelyId
IF ISNULL(@kovetkezoMukodesiHelyId,0) <> @ujKovetkezoMukodesiHelyId BEGIN
UPDATE T_MUKODESIHELY_OSSZES SET ELOZOTANEVIREKORDID = NULL WHERE ID = @kovetkezoMukodesiHelyId
UPDATE T_MUKODESIHELY_OSSZES SET ELOZOTANEVIREKORDID = @mukodesiHelyId WHERE ID = @ujKovetkezoMukodesiHelyId
SET @kovetkezoMukodesiHelyId=@ujKovetkezoMukodesiHelyId
END
IF (SELECT TOROLT FROM T_MUKODESIHELY_OSSZES WHERE ID = @mukodesiHelyId)='T'
OR (SELECT TOROLT FROM T_MUKODESIHELY_OSSZES WHERE ELOZOTANEVIREKORDID = @mukodesiHelyId)='T'
OR EXISTS (
SELECT 1 FROM T_MUKODESIHELY_OSSZES
WHERE ((C_NEV=@mukodesiHelyNev AND (ISNULL(C_MUKODESIHELYAZONOSITO,0)<>@mukodesiHelyKod OR @mukodesiHelyKod IS NULL))
OR (C_NEV<>@mukodesiHelyNev AND ISNULL(C_MUKODESIHELYAZONOSITO,0) = @mukodesiHelyKod))
AND TOROLT='F' AND C_TANEVID=@kovetkezoTanevId AND ISNULL(ELOZOTANEVIREKORDID,0)<>@mukodesiHelyId)
BEGIN
RETURN
END
IF (@kovetkezoMukodesiHelyId IS NULL)
BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_MUKODESIHELY_OSSZES (
'+@insertColList+'
)
SELECT
'+@selectColList+'
FROM T_MUKODESIHELY_OSSZES s
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.ELOZOTANEVIREKORDID=s.C_INTEZMENYADATOKID AND ia.TOROLT=''F''
WHERE s.ID=@mukodesiHelyId'
END
ELSE
BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping
WHERE updateColname IS NOT NULL
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_MUKODESIHELY_OSSZES t
INNER JOIN T_MUKODESIHELY_OSSZES s ON s.ID = @mukodesiHelyId and s.TOROLT=''F'' AND s.ID=t.ELOZOTANEVIREKORDID'
END
--PRINT @sql
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@mukodesiHelyId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@mukodesiHelyId = @mukodesiHelyId
END
GO

View File

@@ -0,0 +1,93 @@
DROP PROCEDURE IF EXISTS uspFollowUpOraterv
GO
CREATE PROCEDURE uspFollowUpOraterv
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@oratervId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovOratervId int
,@oraTervNev nvarchar(510)=(SELECT C_NEV FROM T_ORATERV_OSSZES WHERE ID = @oratervId)
,@sql nvarchar(max)
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@updateColList nvarchar(max)
CREATE TABLE #columnMapping(
insertColName nvarchar(128)
,selectColName nvarchar(128)
,updateColName nvarchar(128)
)
IF EXISTS(SELECT 1 FROM T_ORATERV_OSSZES WHERE TOROLT='F' AND C_TANEVID=@kovetkezoTanevId AND C_NEV=@oraTervNev AND ISNULL(ELOZOTANEVIREKORDID,0)<>@oratervId)
BEGIN
UPDATE T_ORATERV_OSSZES SET ELOZOTANEVIREKORDID = NULL WHERE ELOZOTANEVIREKORDID=@oratervId
UPDATE T_ORATERV_OSSZES SET ELOZOTANEVIREKORDID = @oratervId WHERE C_NEV=@oraTervNev AND TOROLT='F' AND C_TANEVID=@kovetkezoTanevId AND ISNULL(ELOZOTANEVIREKORDID,0)<>@oratervId
END
SELECT @kovOratervId = ID FROM T_ORATERV_OSSZES WHERE ELOZOTANEVIREKORDID = @oratervId
IF (SELECT TOROLT FROM T_ORATERV_OSSZES WHERE ID = @oratervId) = 'T' OR (SELECT TOROLT FROM T_ORATERV_OSSZES WHERE ID = @kovOratervId) = 'T' BEGIN
RETURN
END
INSERT INTO #columnMapping(
insertColName
,selectColName
,updateColName
)
SELECT
insertColName
,selectColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_ORATERV')
IF (@kovOratervId IS NULL)
BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_ORATERV_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_ORATERV_OSSZES s
INNER JOIN T_TANTERV_OSSZES tr ON tr.ELOZOTANEVIREKORDID = s.C_TANTERVID AND tr.TOROLT=''F''
INNER JOIN T_EVFOLYAMTIPUS_OSSZES e ON e.ELOZOTANEVIREKORDID = s.C_EVFOLYAM AND e.TOROLT=''F'' AND e.C_ALTANEVID = @kovetkezoTanevId
WHERE s.ID = @oratervId'
END
ELSE
BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping
WHERE updateColname IS NOT NULL
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_ORATERV_OSSZES t
INNER JOIN T_ORATERV_OSSZES s ON s.ID = @oratervId AND s.ID=t.ELOZOTANEVIREKORDID
INNER JOIN T_EVFOLYAMTIPUS_OSSZES e ON e.ELOZOTANEVIREKORDID=s.C_EVFOLYAM AND e.TOROLT=''F'' AND e.C_ALTANEVID = @kovetkezoTanevId
WHERE t.TOROLT=''F'' AND t.ID = @kovOratervId'
END
--PRINT @sql
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@oratervId int
,@kovOratervId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@oratervId = @oratervId
,@kovOratervId = @kovOratervId
END
GO

View File

@@ -0,0 +1,99 @@
DROP PROCEDURE IF EXISTS uspFollowUpOratervTargy
GO
CREATE PROCEDURE uspFollowUpOratervTargy
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@oratervTargyId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovOratervTargyId int
,@kovTantargyId int=(
SELECT tgyKov.ID FROM T_TANTARGY_OSSZES tgyKov
INNER JOIN T_ORATERVTARGY_OSSZES ottgy ON ottgy.C_TANTARGYID=tgyKov.ELOZOTANEVIREKORDID AND ottgy.TOROLT='F'
WHERE tgyKov.TOROLT='F' AND tgyKov.C_TANEVID=@kovetkezoTanevId AND ottgy.ID=@oratervTargyId)
,@kovOratervId int =(
SELECT otKov.ID FROM T_ORATERV_OSSZES otKov
INNER JOIN T_ORATERVTARGY_OSSZES ottgy ON ottgy.ID=@oratervTargyId AND otKov.ELOZOTANEVIREKORDID=ottgy.C_ORATERVID AND ottgy.TOROLT='F'
WHERE otKov.C_TANEVID=@kovetkezoTanevId AND otKov.TOROLT='F')
,@sql nvarchar(max)
,@selectColList nvarchar(max)
,@insertColList nvarchar(max)
,@updateColList nvarchar(max)
CREATE TABLE #columnMapping(
selectColName nvarchar(128)
,insertColName nvarchar(128)
,updateColName nvarchar(128)
)
IF EXISTS(SELECT 1 FROM T_ORATERVTARGY_OSSZES WHERE TOROLT='F' AND C_TANEVID=@kovetkezoTanevId AND C_TANTARGYID=@kovTantargyId AND C_ORATERVID=@kovOratervId AND ISNULL(ELOZOTANEVIREKORDID,0)<>@oratervTargyId)
BEGIN
UPDATE T_ORATERVTARGY_OSSZES SET ELOZOTANEVIREKORDID = NULL WHERE ELOZOTANEVIREKORDID=@oratervTargyId
UPDATE T_ORATERVTARGY_OSSZES SET ELOZOTANEVIREKORDID = @oratervTargyId WHERE TOROLT='F' AND C_TANEVID=@kovetkezoTanevId AND C_TANTARGYID=@kovTantargyId AND C_ORATERVID=@kovOratervId AND ISNULL(ELOZOTANEVIREKORDID,0)<>@oratervTargyId
END
SELECT @kovOratervTargyId = ID FROM T_ORATERVTARGY_OSSZES WHERE ELOZOTANEVIREKORDID = @oratervTargyId
IF (SELECT TOROLT FROM T_ORATERV_OSSZES WHERE ID = @oratervTargyId) = 'T' OR (SELECT TOROLT FROM T_ORATERV_OSSZES WHERE ID = @kovOratervTargyId) = 'T' BEGIN
RETURN
END
INSERT INTO #columnMapping(
selectColName
,insertColName
,updateColName
) SELECT
selectColName
,insertColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_ORATERVTARGY')
IF (@kovOratervTargyId IS NULL)
BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_ORATERVTARGY_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_ORATERVTARGY_OSSZES s
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ELOZOTANEVIREKORDID = s.C_TANTARGYID
INNER JOIN T_ORATERV_OSSZES otKov ON otKov.ELOZOTANEVIREKORDID=s.C_ORATERVID AND otKov.TOROLT=''F''
WHERE s.ID=@oratervTargyId'
END
ELSE
BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping
WHERE updateColname IS NOT NULL
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_ORATERVTARGY_OSSZES t
INNER JOIN T_ORATERVTARGY_OSSZES s ON s.ID = @oratervTargyId AND s.ID=t.ELOZOTANEVIREKORDID
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ELOZOTANEVIREKORDID=s.C_TANTARGYID AND tgy.TOROLT=''F'''
END
--PRINT @sql
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@oratervTargyId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@oratervTargyId = @oratervTargyId
END
GO

View File

@@ -0,0 +1,89 @@
DROP PROCEDURE IF EXISTS uspFollowUpTantargy
GO
CREATE PROCEDURE uspFollowUpTantargy
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@tantargyId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovetkezoTantargyId int
,@tantargyNev nvarchar(510)=(SELECT C_NEV FROM T_TANTARGY_OSSZES WHERE ID = @tantargyId)
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@updateColList nvarchar(max)
,@sql nvarchar(max)
CREATE TABLE #columnMapping (
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128)
,updateColName nvarchar(128)
)
INSERT INTO #columnMapping (
insertColName
,selectColName
,updateColName
) SELECT
insertColName
,selectColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_TANTARGY')
IF EXISTS(SELECT 1 FROM T_TANTARGY_OSSZES WHERE C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND C_NEV=@tantargyNev AND ISNULL(ELOZOTANEVIREKORDID,0)<>@tantargyId) BEGIN
UPDATE T_TANTARGY_OSSZES SET ELOZOTANEVIREKORDID = NULL WHERE ELOZOTANEVIREKORDID = @tantargyId
UPDATE T_TANTARGY_OSSZES SET ELOZOTANEVIREKORDID = @tantargyId WHERE C_NEV = @tantargyNev AND TOROLT='F' AND C_TANEVID = @kovetkezoTanevId
END
SELECT @kovetkezoTantargyId = ID FROM T_TANTARGY_OSSZES WHERE ELOZOTANEVIREKORDID = @tantargyId AND C_TANEVID=@kovetkezoTanevId
IF (SELECT TOROLT FROM T_TANTARGY_OSSZES WHERE ID = @tantargyId) = 'T' OR (SELECT TOROLT FROM T_TANTARGY_OSSZES WHERE ID = @kovetkezoTantargyId) = 'T' BEGIN
RETURN
END
IF (@kovetkezoTantargyId IS NULL) BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_TANTARGY_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_TANTARGY_OSSZES s
LEFT JOIN T_TANTARGY_OSSZES ftgy ON ftgy.ELOZOTANEVIREKORDID = s.C_FOTARGYID AND ftgy.TOROLT=''F'' AND ftgy.C_TANEVID = @kovetkezoTanevId
INNER JOIN T_TARGYKATEGORIATIPUS_OSSZES tkt ON tkt.ELOZOTANEVIREKORDID=s.C_TARGYKATEGORIA AND tkt.TOROLT=''F'' AND tkt.C_ALTANEVID=@kovetkezoTanevId
WHERE s.ID=@tantargyId'
END
ELSE BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping
WHERE updateColname IS NOT NULL
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_TANTARGY_OSSZES t
INNER JOIN T_TANTARGY_OSSZES s ON s.ID = @tantargyId AND s.ID=t.ELOZOTANEVIREKORDID
LEFT JOIN T_TANTARGY_OSSZES ftgy ON ftgy.ELOZOTANEVIREKORDID = s.C_FOTARGYID AND ftgy.TOROLT=''F'' AND ftgy.C_TANEVID = @kovetkezoTanevId
INNER JOIN T_TARGYKATEGORIATIPUS_OSSZES tkt ON tkt.ELOZOTANEVIREKORDID=s.C_TARGYKATEGORIA AND tkt.TOROLT=''F'' AND tkt.C_ALTANEVID=@kovetkezoTanevId'
END
--PRINT @sql
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@tantargyId int
,@kovetkezoTantargyId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@tantargyId = @tantargyId
,@kovetkezoTantargyId = @kovetkezoTantargyId
END
GO

View File

@@ -0,0 +1,98 @@
DROP PROCEDURE IF EXISTS uspFollowUpTanterv
GO
CREATE PROCEDURE uspFollowUpTanterv
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@tantervId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovTantervId int
,@tantervNev nvarchar(510)=(SELECT C_NEV FROM T_TANTERV_OSSZES WHERE ID = @tantervId)
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@updateColList nvarchar(max)
,@sql nvarchar(max)
CREATE TABLE #columnMapping (
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128)
,updateColName nvarchar(128)
)
INSERT INTO #columnMapping (
insertColName
,selectColName
,updateColName
) SELECT
insertColName
,selectColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_TANTERV')
IF EXISTS(SELECT 1 FROM T_TANTERV_OSSZES WHERE C_NEV=@tantervNev AND C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND ISNULL(ELOZOTANEVIREKORDID,0)<>@tantervId)
BEGIN
UPDATE T_TANTERV_OSSZES SET ELOZOTANEVIREKORDID=NULL WHERE ELOZOTANEVIREKORDID=@tantervId
UPDATE T_TANTERV_OSSZES SET ELOZOTANEVIREKORDID=@tantervId WHERE C_NEV=@tantervNev AND C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND ISNULL(ELOZOTANEVIREKORDID,0)<>@tantervId
END
SELECT @kovTantervId = ID FROM T_TANTERV_OSSZES WHERE ELOZOTANEVIREKORDID = @tantervId
IF (SELECT TOROLT FROM T_TANTERV_OSSZES WHERE ID = @tantervId) = 'T' OR (SELECT TOROLT FROM T_TANTERV_OSSZES WHERE ID = @kovTantervId) = 'T' BEGIN
RETURN
END
IF (@kovTantervId IS NULL)
BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
IF (SELECT C_VEDETT FROM T_TANTERV_OSSZES WHERE ID = @tantervId) = 'T' BEGIN
UPDATE T_TANTERV_OSSZES
SET C_VEDETT = 'F'
WHERE TOROLT='F' AND C_TANEVID = @kovetkezoTanevId
END
SET @sql = N'
INSERT INTO T_TANTERV_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_TANTERV_OSSZES s
WHERE s.ID=@tantervId'
END
ELSE
BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping
WHERE updateColname IS NOT NULL
IF (SELECT C_VEDETT FROM T_TANTERV_OSSZES WHERE ID = @tantervId) = 'T' BEGIN
UPDATE T_TANTERV_OSSZES
SET C_VEDETT = 'F'
WHERE TOROLT='F' AND C_TANEVID = @kovetkezoTanevId
END
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_TANTERV_OSSZES t
INNER JOIN T_TANTERV_OSSZES s ON s.ID=@tantervId AND s.ID=t.ELOZOTANEVIREKORDID'
END
--PRINT @sql
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@tantervId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@tantervId = @tantervId
END
GO

View File

@@ -0,0 +1,97 @@
DROP PROCEDURE IF EXISTS uspFollowUpTanulo
GO
CREATE PROCEDURE uspFollowUpTanulo
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@tanuloId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovTanuloId int
,@updateColListT nvarchar(max)
,@insertColListT nvarchar(max)
,@updateColListFH nvarchar(max)
,@insertColListFH nvarchar(max)
,@sql nvarchar(max)
CREATE TABLE #ColumnMappings(
insertColname nvarchar(128)
,updateColName nvarchar(128)
,tableName nvarchar(128)
)
INSERT INTO #ColumnMappings (
insertColname
,updateColName
,tableName
) SELECT
insertColName
,updateColName
,'T_TANULO'
FROM fnGetFollowUpColumnMapping ('C_NAPLOSORSZAM,C_TANULOEVFOLYAMTIPUS','T_TANULO')
WHERE updateColName IS NOT NULL
UNION ALL
SELECT
insertColName
,updateColName
,'T_FELHASZNALO'
FROM fnGetFollowUpColumnMapping ('FTIP','T_FELHASZNALO')
WHERE updateColName IS NOT NULL
SELECT @kovTanuloId = kov.ID
FROM T_FELHASZNALO_OSSZES akt
INNER JOIN T_FELHASZNALO_OSSZES kov ON akt.C_OKTATASIAZONOSITO = kov.C_OKTATASIAZONOSITO --Import miatt nem elég az ELOZOTANEVIREKORDID
WHERE akt.ID = @tanuloId AND kov.C_TANEVID = @kovetkezoTanevId
IF @kovTanuloId IS NULL OR (SELECT TOROLT FROM T_FELHASZNALO_OSSZES WHERE ID = @tanuloId) = 'T' OR (SELECT TOROLT FROM T_FELHASZNALO_OSSZES WHERE ID = @kovTanuloId) = 'T' BEGIN
RETURN
END
SELECT
@updateColListT = ISNULL(@updateColListt+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #ColumnMappings WHERE tableName = 'T_TANULO'
SELECT
@updateColListfh = ISNULL(@updateColListfh+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #ColumnMappings WHERE tableName = 'T_FELHASZNALO'
SET @sql = N'
UPDATE t SET
'+@updateColListT+'
FROM T_TANULO_OSSZES t
INNER JOIN T_TANULO_OSSZES s ON t.ID = @kovTanuloId AND s.ID = @tanuloId
LEFT JOIN T_TANTERV_OSSZES tr ON tr.ELOZOTANEVIREKORDID = s.C_TANTERVID AND tr.TOROLT=''F''
UPDATE t SET
'+@updateColListFH+'
FROM T_FELHASZNALO_OSSZES t
INNER JOIN T_FELHASZNALO_OSSZES s ON s.C_OKTATASIAZONOSITO = t.C_OKTATASIAZONOSITO
WHERE t.ID = @kovTanuloId
AND s.ID = @tanuloId'
--PRINT @sql
EXEC sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@tanuloId int
,@kovTanuloId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@tanuloId = @tanuloId
,@kovTanuloId = @kovTanuloId
EXEC uspFollowUpFelhasznaloCim @intezmenyId, @aktTanevId, @kovetkezoTanevId, @tanuloId;
EXEC uspFollowUpFelhasznaloEmail @intezmenyId, @aktTanevId, @kovetkezoTanevId, @tanuloId;
EXEC uspFollowUpTanuloFelmentes @intezmenyId, @aktTanevId, @kovetkezoTanevId, @tanuloId;
EXEC uspFollowUpFelhasznaloTelefon @intezmenyId, @aktTanevId, @kovetkezoTanevId, @tanuloId;
END
GO

View File

@@ -0,0 +1,90 @@
DROP PROCEDURE IF EXISTS uspFollowUpTanuloFelmentes
GO
CREATE PROCEDURE uspFollowUpTanuloFelmentes
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@felmentesId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @kovFelmentesId int = (SELECT ID FROM T_TANULOMENTESSEG_OSSZES WHERE ELOZOTANEVIREKORDID=@felmentesId AND TOROLT='F')
DECLARE @elsoNap datetime = (select C_KEZDONAP from T_TANEV_OSSZES WHERE ID = @kovetkezoTanevId)
DECLARE
@selectColList nvarchar(max)
,@insertColList nvarchar(max)
,@updateColList nvarchar(max)
,@sql nvarchar(max)
CREATE TABLE #ColumnMapping (
selectColName nvarchar(128)
,insertColName nvarchar(128)
,updateColName nvarchar(128)
)
INSERT INTO #ColumnMapping (
selectColName
,insertColName
,updateColName
) SELECT
selectColName
,insertColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_TANULOMENTESSEG')
IF (SELECT TOROLT FROM T_TANULOMENTESSEG_OSSZES WHERE ID = @felmentesId)='T' BEGIN
RETURN
END
IF @kovFelmentesId IS NULL
BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_TANULOMENTESSEG_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_TANULOMENTESSEG_OSSZES s
INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = s.C_TANULOID
INNER JOIN T_FELHASZNALO_OSSZES tKov ON tKov.C_OKTATASIAZONOSITO = t.C_OKTATASIAZONOSITO AND tKov.C_TANEVID = @kovetkezoTanevId AND tKov.TOROLT=''F''
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ELOZOTANEVIREKORDID=s.C_TANTARGYID AND tgy.TOROLT=''F''
WHERE s.ID=@felmentesId AND ISNULL(s.C_VEGE,''2200-01-01'')>@elsoNap'
END
ELSE BEGIN
IF (SELECT C_VEGE FROM T_TANULOMENTESSEG_OSSZES WHERE ID = @felmentesId)<=@elsoNap BEGIN
UPDATE T_TANULOMENTESSEG_OSSZES SET
TOROLT='T'
WHERE ELOZOTANEVIREKORDID=@felmentesId AND TOROLT='F'
END
ELSE BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping WHERE updateColName IS NOT NULL
END
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_TANULOMENTESSEG_OSSZES t
INNER JOIN T_TANULOMENTESSEG_OSSZES s ON s.ID=t.ELOZOTANEVIREKORDID AND s.TOROLT=''F'' AND s.ID=@felmentesId
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ELOZOTANEVIREKORDID=s.C_TANTARGYID AND tgy.TOROLT=''F'''
END
--PRINT @sql
exec sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@felmentesId int
,@kovFelmentesId int
,@elsoNap datetime'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@felmentesId = @felmentesId
,@kovFelmentesId = @kovFelmentesId
,@elsoNap = @elsoNap
END
GO

View File

@@ -0,0 +1,93 @@
DROP PROCEDURE IF EXISTS uspFollowUpTerem
GO
CREATE PROCEDURE uspFollowUpTerem
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@teremId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@kovTeremId int
,@teremNev nvarchar(200)=(SELECT C_NEV FROM T_TEREM_OSSZES WHERE ID = @teremId)
,@insertColList nvarchar(max)
,@selectColList nvarchar(max)
,@updateColList nvarchar(max)
,@sql nvarchar(max)
DECLARE @felelosId int = (
SELECT fh.ID FROM T_FELHASZNALO_OSSZES fh
INNER JOIN T_TEREM_OSSZES t ON t.C_TEREMFELELOSID=fh.ELOZOTANEVIREKORDID AND t.TOROLT='F' AND t.ID=@teremId
WHERE fh.TOROLT='F')
CREATE TABLE #columnMapping (
insertColName nvarchar(128) COLLATE DATABASE_DEFAULT
,selectColName nvarchar(128)
,updateColName nvarchar(128)
)
INSERT INTO #columnMapping (
insertColName
,selectColName
,updateColName
) SELECT
insertColName
,selectColName
,updateColName
FROM fnGetFollowUpColumnMapping (NULL,'T_TEREM')
IF EXISTS(SELECT 1 FROM T_TEREM_OSSZES WHERE C_NEV=@teremNev AND C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND ISNULL(ELOZOTANEVIREKORDID,0)<>@teremId) BEGIN
UPDATE T_TEREM_OSSZES SET ELOZOTANEVIREKORDID=NULL WHERE ELOZOTANEVIREKORDID=@teremId
UPDATE T_TEREM_OSSZES SET ELOZOTANEVIREKORDID=@teremId WHERE C_NEV=@teremNev AND TOROLT='F' AND C_TANEVID=@kovetkezoTanevId
END
SELECT @kovTeremId=ID FROM T_TEREM_OSSZES WHERE ELOZOTANEVIREKORDID = @teremId AND TOROLT='F' AND C_TANEVID=@kovetkezoTanevId
IF (SELECT TOROLT FROM T_TEREM_OSSZES WHERE ID = @teremId) = 'T' OR (SELECT TOROLT FROM T_TEREM_OSSZES WHERE ID = @kovTeremId) = 'T'
BEGIN
RETURN
END
IF (@kovTeremId IS NULL) BEGIN
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
SET @sql = N'
INSERT INTO T_TEREM_OSSZES (
'+@insertColList+'
) SELECT
'+@selectColList+'
FROM T_TEREM_OSSZES s
INNER JOIN T_MUKODESIHELY_OSSZES mh ON mh.ELOZOTANEVIREKORDID=s.C_MUKODESIHELYID AND mh.TOROLT=''F''
WHERE s.ID=@teremId AND s.TOROLT=''F'''
END
ELSE BEGIN
SELECT
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
FROM #columnMapping
WHERE updateColname IS NOT NULL
SET @sql = N'
UPDATE t SET
'+@updateColList+'
FROM T_TEREM_OSSZES s
INNER JOIN T_TEREM_OSSZES t ON t.ELOZOTANEVIREKORDID=s.ID AND t.TOROLT=''F''
INNER JOIN T_MUKODESIHELY_OSSZES mh ON mh.ELOZOTANEVIREKORDID=s.C_MUKODESIHELYID AND mh.TOROLT=''F''
WHERE s.ID=@teremId AND s.TOROLT=''F'''
END
--PRINT @sql
exec sp_executesql
@sql,N'
@intezmenyId int
,@aktTanevId int
,@kovetkezoTanevId int
,@teremId int
,@felelosId int'
,@intezmenyId = @intezmenyId
,@aktTanevId = @aktTanevId
,@kovetkezoTanevId = @kovetkezoTanevId
,@teremId = @teremId
,@felelosId = @felelosId
END
GO