98 lines
No EOL
3.2 KiB
Transact-SQL
98 lines
No EOL
3.2 KiB
Transact-SQL
-- =============================================
|
|
-- Description: <A tantárgyfelosztás módosításával az órarendi órák, a tanítási órák és az értékelések átállítása is történjen meg>
|
|
-- =============================================
|
|
|
|
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 |