-- ============================================= -- Description: -- ============================================= DROP PROCEDURE IF EXISTS [dbo].[sp_UpdateTantargyfelosztasVisszamenoleges] GO CREATE PROCEDURE [dbo].[sp_UpdateTantargyfelosztasVisszamenoleges] @pIntezmenyId int ,@pTanevId int ,@pUserId int ,@pEredetiTanarId int ,@pModosultTanarId int ,@pEredetiTantargyId int ,@pModosultTantargyId int ,@pEredetiOsztalyCsoportId int ,@pModosultOsztalyCsoportId int AS BEGIN BEGIN TRY SET NOCOUNT ON SET XACT_ABORT ON BEGIN TRANSACTION CREATE TABLE #OldEErtekelesek ( OldErtekelesId int) INSERT INTO #OldEErtekelesek ( OldErtekelesId) EXEC [dbo].[uspGetEgyszerAdhatoErtekelesekTantargyfelosztasModositasAlapjan] @pTanevId = @pTanevId ,@pOldTantargyId = @pEredetiTantargyId ,@pNewTantargyId = @pModosultTantargyId ,@pOldOsztalyCsoportId = @pEredetiOsztalyCsoportId UPDATE T_TANITASIORA_OSSZES SET C_TANTARGYID = @pModosultTantargyId ,C_OSZTALYCSOPORTID = @pModosultOsztalyCsoportId ,C_TANARID = @pModosultTanarId ,SERIAL += 1 ,LASTCHANGED = GETDATE() ,MODIFIER = @pUserId FROM T_TANITASIORA_OSSZES WHERE C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId AND C_TANTARGYID = @pEredetiTantargyId AND C_OSZTALYCSOPORTID = @pEredetiOsztalyCsoportId AND C_TANARID = @pEredetiTanarId AND TOROLT = 'F' UPDATE T_TANULOERTEKELES_OSSZES SET C_TANTARGYID = @pModosultTantargyId ,C_OSZTALYCSOPORTID = @pModosultOsztalyCsoportId ,C_ROGZITESKORITANULOOSZTALYID = IIF(EXISTS (SELECT 1 FROM T_OSZTALY_OSSZES WHERE ID = @pModosultOsztalyCsoportId AND TOROLT = 'F'), @pModosultOsztalyCsoportId, C_ROGZITESKORITANULOOSZTALYID) ,C_ERTEKELOID = @pModosultTanarId ,SERIAL += 1 ,LASTCHANGED = GETDATE() ,MODIFIER = @pUserId FROM T_TANULOERTEKELES_OSSZES WHERE C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId AND C_TANTARGYID = @pEredetiTantargyId AND C_OSZTALYCSOPORTID = @pEredetiOsztalyCsoportId AND C_ERTEKELOID = @pEredetiTanarId AND NOT EXISTS (SELECT 1 FROM #OldEErtekelesek WHERE OldErtekelesId = ID) UPDATE T_TANMENET_OSSZES SET C_TANTARGYID = @pModosultTantargyId ,C_OSZTALYCSOPORTID = @pModosultOsztalyCsoportId ,C_FELTOLTOID = @pModosultTanarId ,SERIAL += 1 ,LASTCHANGED = GETDATE() ,MODIFIER = @pUserId FROM T_TANMENET_OSSZES WHERE C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId AND C_TANTARGYID = @pEredetiTantargyId AND C_OSZTALYCSOPORTID = @pEredetiOsztalyCsoportId AND C_FELTOLTOID = @pEredetiTanarId AND TOROLT = 'F' COMMIT TRANSACTION END TRY BEGIN CATCH IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0 ROLLBACK TRAN; THROW END CATCH END GO