kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/uspOktAzon4TAlapjanFollowUp.sql
2024-03-13 00:33:46 +01:00

241 lines
No EOL
16 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspOktAzon4TAlapjanFollowUp
GO
CREATE PROCEDURE uspOktAzon4TAlapjanFollowUp
@pCheckValidationType int
,@pEntityId int
,@pAnotherTanevEntityId int
AS
BEGIN
SET NOCOUNT ON;
IF (NOT EXISTS (SELECT TOP 1 1 FROM T_FELHASZNALO_OSSZES WHERE ELOZOTANEVIREKORDID IN (@pEntityId, @pAnotherTanevEntityId) AND TOROLT = 'F')) /* meg nincs followupolva*/
BEGIN
DECLARE @intezmenyId int, @isAktivTanevEntity char(1)
SELECT
@isAktivTanevEntity = t.C_AKTIV
,@intezmenyId = t.C_INTEZMENYID
FROM T_FELHASZNALO_OSSZES fh
INNER JOIN T_TANEV_OSSZES t ON t.ID = fh.C_TANEVID AND t.TOROLT = 'F'
WHERE fh.ID = @pEntityId
DECLARE @aktTanevId int = (SELECT ID FROM T_TANEV_OSSZES WHERE C_INTEZMENYID = @intezmenyId AND C_AKTIV = 'T' AND TOROLT = 'F'),
@kovTanevId int = (SELECT ID FROM T_TANEV_OSSZES WHERE C_INTEZMENYID = @intezmenyId AND C_KOVETKEZO = 'T' AND TOROLT = 'F')
/*kozos entitasok*/
/*T_FELHASZNALO*/
UPDATE T_FELHASZNALO_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @pEntityId, @pAnotherTanevEntityId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @pAnotherTanevEntityId, @pEntityId) AND TOROLT = 'F'
IF @isAktivTanevEntity = 'F'
BEGIN
UPDATE T_FELHASZNALO_OSSZES
SET C_IDPEGYEDIAZONOSITO = (SELECT C_IDPEGYEDIAZONOSITO FROM T_FELHASZNALO_OSSZES WHERE ID = @pAnotherTanevEntityId)
WHERE ID = @pEntityId
END
/*T_CIM*/
DECLARE @cimId int = (SELECT TOP 1 ID FROM T_CIM_OSSZES WHERE C_FELHASZNALOID = @pEntityId AND TOROLT = 'F' ORDER BY C_ALAPERTELMEZETT DESC),
@anotherCimId int = (SELECT TOP 1 ID FROM T_CIM_OSSZES WHERE C_FELHASZNALOID = @pAnotherTanevEntityId AND TOROLT = 'F' ORDER BY C_ALAPERTELMEZETT DESC)
IF (@isAktivTanevEntity = 'F' AND @anotherCimId IS NOT NULL AND @cimId IS NULL)
EXEC uspFollowUpFelhasznaloCim @intezmenyId,@aktTanevId,@kovTanevId,@pAnotherTanevEntityId
ELSE
UPDATE T_CIM_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @cimId, @anotherCimId)
WHERE C_GONDVISELOID IS NULL AND ID = IIF(@isAktivTanevEntity = 'T', @anotherCimId, @cimId) AND TOROLT = 'F'
/*T_EMAIL*/
DECLARE @emailId int = (SELECT TOP 1 ID FROM T_EMAIL_OSSZES WHERE C_FELHASZNALOID = @pEntityId AND TOROLT = 'F' ORDER BY C_ALAPERTELMEZETT DESC),
@anotherEmailId int = (SELECT TOP 1 ID FROM T_EMAIL_OSSZES WHERE C_FELHASZNALOID = @pAnotherTanevEntityId AND TOROLT = 'F' ORDER BY C_ALAPERTELMEZETT DESC)
IF (@isAktivTanevEntity = 'F' AND @anotherEmailId IS NOT NULL AND @emailId IS NULL)
EXEC uspFollowUpFelhasznaloEmail @intezmenyId,@aktTanevId,@kovTanevId,@pAnotherTanevEntityId
ELSE
UPDATE T_EMAIL_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @emailId, @anotherEmailId)
WHERE C_GONDVISELOID IS NULL AND ID = IIF(@isAktivTanevEntity = 'T', @anotherEmailId, @emailId) AND TOROLT = 'F'
/*T_TELEFON*/
DECLARE @telefonId int = (SELECT TOP 1 ID FROM T_TELEFON_OSSZES WHERE C_FELHASZNALOID = @pEntityId AND TOROLT = 'F' ORDER BY C_ALAPERTELMEZETT DESC),
@anotherTelefonId int = (SELECT TOP 1 ID FROM T_TELEFON_OSSZES WHERE C_FELHASZNALOID = @pAnotherTanevEntityId AND TOROLT = 'F' ORDER BY C_ALAPERTELMEZETT DESC)
IF (@isAktivTanevEntity = 'F' AND @anotherTelefonId IS NOT NULL AND @telefonId IS NULL)
EXEC uspFollowUpFelhasznaloTelefon @intezmenyId,@aktTanevId,@kovTanevId,@pAnotherTanevEntityId
ELSE
UPDATE T_TELEFON_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @telefonId, @anotherTelefonId)
WHERE C_GONDVISELOID IS NULL AND ID = IIF(@isAktivTanevEntity = 'T', @anotherTelefonId, @telefonId) AND TOROLT = 'F'
IF(@pCheckValidationType = 1) /* 1 - Tanuló */
BEGIN
/*T_TANULO*/
UPDATE T_TANULO_OSSZES SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @pEntityId, @pAnotherTanevEntityId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @pAnotherTanevEntityId, @pEntityId) AND TOROLT = 'F'
/*T_TANULOMENTESSEG*/
DECLARE @tanuloMentessegId int = (SELECT TOP 1 ID FROM T_TANULOMENTESSEG_OSSZES WHERE C_TANULOID = @pEntityId AND TOROLT = 'F'),
@anotherTanuloMentessegId int = (SELECT TOP 1 ID FROM T_TANULOMENTESSEG_OSSZES WHERE C_TANULOID = @pAnotherTanevEntityId AND TOROLT = 'F')
IF (@isAktivTanevEntity = 'F' AND @anotherTanuloMentessegId IS NOT NULL AND @tanuloMentessegId IS NULL)
EXEC uspFollowUpTanuloFelmentes @intezmenyId,@aktTanevId,@kovTanevId,@anotherTanuloMentessegId
ELSE
UPDATE T_TANULOMENTESSEG_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @tanuloMentessegId, @anotherTanuloMentessegId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherTanuloMentessegId, @tanuloMentessegId) AND TOROLT = 'F'
/*T_TANULOSNI*/
DECLARE @tanuloSNIId int = (SELECT TOP 1 ID FROM T_TANULOSNI_OSSZES WHERE C_TANULOID = @pEntityId AND TOROLT = 'F'),
@anotherTanulSNIId int = (SELECT TOP 1 ID FROM T_TANULOSNI_OSSZES WHERE C_TANULOID = @pAnotherTanevEntityId AND TOROLT = 'F')
IF (@isAktivTanevEntity = 'F' AND @anotherTanulSNIId IS NOT NULL AND @tanuloSNIId IS NULL)
EXEC uspFollowUpTanuloSni @intezmenyId,@aktTanevId,@kovTanevId,@anotherTanulSNIId
ELSE
UPDATE T_TANULOSNI_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @tanuloSNIId, @anotherTanulSNIId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherTanulSNIId, @tanuloSNIId) AND TOROLT = 'F'
/*T_TBJOGVISZONY*/
EXEC uspFollowUpTBJogviszony @intezmenyId, @aktTanevId, @kovTanevId, @pEntityId
END
ELSE IF (@pCheckValidationType = 2) /* 2 - Alkalmazott */
BEGIN
/*T_ALKALMAZOTT*/
UPDATE T_ALKALMAZOTT_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @pEntityId, @pAnotherTanevEntityId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @pAnotherTanevEntityId, @pEntityId) AND TOROLT = 'F'
/*T_MUNKAUGYIADATOK*/
DECLARE @munkaugyiadatokId int = (SELECT TOP 1 ID FROM T_MUNKAUGYIADATOK_OSSZES WHERE C_ALKALMAZOTTID = @pEntityId AND TOROLT = 'F'),
@anotherMunkaugyiadatokId int = (SELECT TOP 1 ID FROM T_MUNKAUGYIADATOK_OSSZES WHERE C_ALKALMAZOTTID = @pAnotherTanevEntityId AND TOROLT = 'F')
UPDATE T_MUNKAUGYIADATOK_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T',@munkaugyiadatokId, @anotherMunkaugyiadatokId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherMunkaugyiadatokId, @munkaugyiadatokId) AND TOROLT = 'F'
/*Vegzettseg*/
IF ((SELECT ic.C_ERTEK FROM T_INTEZMENYCONFIG ic WHERE ic.C_CONFIGTIPUSID = 23 AND ic.TOROLT = 'F' AND ic.C_INTEZMENYID = @intezmenyId) = 'true')
BEGIN
DECLARE @KKTANITOVEZGETTSEGId int = (SELECT TOP 1 ID FROM T_KKTANITOVEZGETTSEG_OSSZES WHERE C_ALKALMAZOTTID = @pEntityId AND TOROLT = 'F'),
@anotherKKTANITOVEZGETTSEGId int = (SELECT TOP 1 ID FROM T_KKTANITOVEZGETTSEG_OSSZES WHERE C_ALKALMAZOTTID = @pAnotherTanevEntityId AND TOROLT = 'F')
IF (@isAktivTanevEntity = 'F' AND @anotherKKTANITOVEZGETTSEGId IS NOT NULL AND @KKTANITOVEZGETTSEGId IS NULL)
EXEC uspFollowUpAlkalmazottVegzettsegKK @intezmenyId,@aktTanevId,@kovTanevId,@pAnotherTanevEntityId
ELSE
BEGIN
/*T_KKTANITOVEZGETTSEG*/
UPDATE T_KKTANITOVEZGETTSEG_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @KKTANITOVEZGETTSEGId, @anotherKKTANITOVEZGETTSEGId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherKKTANITOVEZGETTSEGId, @KKTANITOVEZGETTSEGId) AND TOROLT = 'F'
/*T_KKGYOGYPEDVEGZETTSEG*/
DECLARE @KKGYOGYPEDVEGZETTSEGId int = (SELECT TOP 1 ID FROM T_KKGYOGYPEDVEGZETTSEG_OSSZES WHERE C_ALKALMAZOTTID = @pEntityId AND TOROLT = 'F'),
@anotherKKGYOGYPEDVEGZETTSEGId int = (SELECT TOP 1 ID FROM T_KKGYOGYPEDVEGZETTSEG_OSSZES WHERE C_ALKALMAZOTTID = @pAnotherTanevEntityId AND TOROLT = 'F')
UPDATE T_KKGYOGYPEDVEGZETTSEG_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @KKGYOGYPEDVEGZETTSEGId, @anotherKKGYOGYPEDVEGZETTSEGId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherKKGYOGYPEDVEGZETTSEGId, @KKGYOGYPEDVEGZETTSEGId) AND TOROLT = 'F'
/*T_KKTANARVEGZETTSEG*/
DECLARE @KKTANARVEGZETTSEGId int = (SELECT TOP 1 ID FROM T_KKTANARVEGZETTSEG_OSSZES WHERE C_ALKALMAZOTTID = @pEntityId AND TOROLT = 'F'),
@anotherKKTANARVEGZETTSEGId int = (SELECT TOP 1 ID FROM T_KKTANARVEGZETTSEG_OSSZES WHERE C_ALKALMAZOTTID = @pAnotherTanevEntityId AND TOROLT = 'F')
UPDATE T_KKTANARVEGZETTSEG_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @KKTANARVEGZETTSEGId, @anotherKKTANARVEGZETTSEGId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherKKTANARVEGZETTSEGId, @KKTANARVEGZETTSEGId) AND TOROLT = 'F'
/*T_KKTANTARGYKATEGORIA*/
DECLARE @KKTANTARGYKATEGORIAId int = (SELECT TOP 1 ID FROM T_KKTANTARGYKATEGORIA_OSSZES WHERE C_KKTANARVEGZETTSEGID = @KKTANARVEGZETTSEGId AND TOROLT = 'F'),
@anotherKKTANTARGYKATEGORIAId int = (SELECT TOP 1 ID FROM T_KKTANTARGYKATEGORIA_OSSZES WHERE C_KKTANARVEGZETTSEGID = @anotherKKTANARVEGZETTSEGId AND TOROLT = 'F')
UPDATE T_KKTANTARGYKATEGORIA_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @KKTANTARGYKATEGORIAId, @anotherKKTANTARGYKATEGORIAId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherKKTANTARGYKATEGORIAId, @KKTANTARGYKATEGORIAId) AND TOROLT = 'F'
/*T_KKAMIVEGZETTSEG*/
DECLARE @KKAMIVEGZETTSEGId int = (SELECT TOP 1 ID FROM T_KKAMIVEGZETTSEG_OSSZES WHERE C_ALKALMAZOTTID = @pEntityId AND TOROLT = 'F'),
@anotherKKAMIVEGZETTSEGId int = (SELECT TOP 1 ID FROM T_KKAMIVEGZETTSEG_OSSZES WHERE C_ALKALMAZOTTID = @pAnotherTanevEntityId AND TOROLT = 'F')
UPDATE T_KKAMIVEGZETTSEG_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @KKAMIVEGZETTSEGId, @anotherKKAMIVEGZETTSEGId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherKKAMIVEGZETTSEGId, @KKAMIVEGZETTSEGId) AND TOROLT = 'F'
/*T_KKELEKTROAKUZENE*/
DECLARE @KKELEKTROAKUZENEId int = (SELECT TOP 1 ID FROM T_KKELEKTROAKUZENE_OSSZES WHERE C_KKAMIVEGZETTSEGID = @KKAMIVEGZETTSEGId AND TOROLT = 'F'),
@anotherKKELEKTROAKUZENEId int = (SELECT TOP 1 ID FROM T_KKELEKTROAKUZENE_OSSZES WHERE C_KKAMIVEGZETTSEGID = @anotherKKAMIVEGZETTSEGId AND TOROLT = 'F')
UPDATE T_KKELEKTROAKUZENE_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @KKELEKTROAKUZENEId, @anotherKKELEKTROAKUZENEId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherKKELEKTROAKUZENEId, @KKELEKTROAKUZENEId) AND TOROLT = 'F'
/*T_KKKLASSZIKUSZENE*/
DECLARE @KKKLASSZIKUSZENEId int = (SELECT TOP 1 ID FROM T_KKKLASSZIKUSZENE_OSSZES WHERE C_KKAMIVEGZETTSEGID = @KKAMIVEGZETTSEGId AND TOROLT = 'F'),
@anotherKKKLASSZIKUSZENEId int = (SELECT TOP 1 ID FROM T_KKKLASSZIKUSZENE_OSSZES WHERE C_KKAMIVEGZETTSEGID = @anotherKKAMIVEGZETTSEGId AND TOROLT = 'F')
UPDATE T_KKKLASSZIKUSZENE_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @KKKLASSZIKUSZENEId, @anotherKKKLASSZIKUSZENEId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherKKKLASSZIKUSZENEId, @KKKLASSZIKUSZENEId) AND TOROLT = 'F'
/*T_KKNEPZENE*/
DECLARE @KKNEPZENEId int = (SELECT TOP 1 ID FROM T_KKNEPZENE_OSSZES WHERE C_KKAMIVEGZETTSEGID = @KKAMIVEGZETTSEGId AND TOROLT = 'F'),
@anotherKKNEPZENEId int = (SELECT TOP 1 ID FROM T_KKNEPZENE_OSSZES WHERE C_KKAMIVEGZETTSEGID = @anotherKKAMIVEGZETTSEGId AND TOROLT = 'F')
UPDATE T_KKNEPZENE_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @KKNEPZENEId, @anotherKKNEPZENEId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherKKNEPZENEId, @KKNEPZENEId) AND TOROLT = 'F'
/*T_KKJAZZZENE*/
DECLARE @KKJAZZZENEId int = (SELECT TOP 1 ID FROM T_KKJAZZZENE_OSSZES WHERE C_KKAMIVEGZETTSEGID = @KKAMIVEGZETTSEGId AND TOROLT = 'F'),
@anotherKKJAZZZENEId int = (SELECT TOP 1 ID FROM T_KKJAZZZENE_OSSZES WHERE C_KKAMIVEGZETTSEGID = @anotherKKAMIVEGZETTSEGId AND TOROLT = 'F')
UPDATE T_KKJAZZZENE_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @KKJAZZZENEId, @anotherKKJAZZZENEId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherKKJAZZZENEId, @KKJAZZZENEId) AND TOROLT = 'F'
/*T_KKTERULET*/
DECLARE @KKTERULETId int = (SELECT TOP 1 ID FROM T_KKTERULET_OSSZES WHERE C_KKAMIVEGZETTSEGID = @KKAMIVEGZETTSEGId AND TOROLT = 'F'),
@anotherKKTERULETId int = (SELECT TOP 1 ID FROM T_KKTERULET_OSSZES WHERE C_KKAMIVEGZETTSEGID = @anotherKKAMIVEGZETTSEGId AND TOROLT = 'F')
UPDATE T_KKTERULET_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @KKTERULETId, @anotherKKTERULETId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherKKTERULETId, @KKTERULETId) AND TOROLT = 'F'
END
END
ELSE BEGIN
/*T_VEGZETTSEG*/
DECLARE @VEGZETTSEGId int = (SELECT TOP 1 ID FROM T_VEGZETTSEG_OSSZES WHERE C_TANARID = @pEntityId AND TOROLT = 'F'),
@anotherVEGZETTSEGId int = (SELECT TOP 1 ID FROM T_VEGZETTSEG_OSSZES WHERE C_TANARID = @pAnotherTanevEntityId AND TOROLT = 'F')
IF (@isAktivTanevEntity = 'F' AND @anotherVEGZETTSEGId IS NOT NULL AND @VEGZETTSEGId IS NULL)
EXEC uspFollowUpAlkalmazottVegzettseg @intezmenyId,@aktTanevId,@kovTanevId,@anotherVEGZETTSEGId
ELSE
UPDATE T_VEGZETTSEG_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @VEGZETTSEGId, @anotherVEGZETTSEGId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherVEGZETTSEGId, @VEGZETTSEGId) AND TOROLT = 'F'
END
/*T_PEDAGOGUSELETPALYAMODELL*/
DECLARE @eletpalyaModellId int = (SELECT TOP 1 ID FROM T_PEDAGOGUSELETPALYAMODELL_OSSZES WHERE C_TANARID = @pEntityId AND TOROLT = 'F'),
@anotherEletpalyaModellId int = (SELECT TOP 1 ID FROM T_PEDAGOGUSELETPALYAMODELL_OSSZES WHERE C_TANARID = @pAnotherTanevEntityId AND TOROLT = 'F')
IF (@isAktivTanevEntity = 'F' AND @anotherEletpalyaModellId IS NOT NULL AND @eletpalyaModellId IS NULL)
EXEC uspFollowUpAlkalmazottPEP @intezmenyId,@aktTanevId,@kovTanevId,@anotherEletpalyaModellId
ELSE
UPDATE T_PEDAGOGUSELETPALYAMODELL_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @eletpalyaModellId, @anotherEletpalyaModellId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherEletpalyaModellId, @eletpalyaModellId) AND TOROLT = 'F'
/*T_TOVABBIMUNKAUGYIADATOK*/
DECLARE @TOVABBIMUNKAUGYIADATOKId int = (SELECT TOP 1 ID FROM T_TOVABBIMUNKAUGYIADATOK_OSSZES WHERE C_ALKALMAZOTTID = @pEntityId AND TOROLT = 'F'),
@anotherTOVABBIMUNKAUGYIADATOKId int = (SELECT TOP 1 ID FROM T_TOVABBIMUNKAUGYIADATOK_OSSZES WHERE C_ALKALMAZOTTID = @pAnotherTanevEntityId AND TOROLT = 'F')
IF (@isAktivTanevEntity = 'F' AND @anotherTOVABBIMUNKAUGYIADATOKId IS NOT NULL AND @TOVABBIMUNKAUGYIADATOKId IS NULL)
EXEC uspFollowUpAlkalmazottTovabbiMunkaugy @intezmenyId,@aktTanevId,@kovTanevId,@anotherTOVABBIMUNKAUGYIADATOKId
ELSE
UPDATE T_TOVABBIMUNKAUGYIADATOK_OSSZES
SET ELOZOTANEVIREKORDID = IIF(@isAktivTanevEntity = 'T', @TOVABBIMUNKAUGYIADATOKId, @anotherTOVABBIMUNKAUGYIADATOKId)
WHERE ID = IIF(@isAktivTanevEntity = 'T', @anotherTOVABBIMUNKAUGYIADATOKId, @TOVABBIMUNKAUGYIADATOKId) AND TOROLT = 'F'
END
END
END
GO