88 lines
3 KiB
Transact-SQL
88 lines
3 KiB
Transact-SQL
-- =============================================
|
|
-- Author: Bata-Kovács Gábor
|
|
-- Create date: 2017.06.03.
|
|
-- Description: A Tantárgy adatainak frissítése a következõ tanévre
|
|
-- =============================================
|
|
|
|
IF OBJECT_ID('sp_FollowUpTantargy') IS NOT NULL BEGIN
|
|
DROP PROCEDURE sp_FollowUpTantargy
|
|
END;
|
|
GO
|
|
|
|
CREATE PROCEDURE sp_FollowUpTantargy
|
|
@intezmenyId int,
|
|
@aktTanevId int,
|
|
@kovetkezoTanevId int,
|
|
@tantargyId int
|
|
AS
|
|
BEGIN
|
|
|
|
IF (@tantargyId = 0)
|
|
BEGIN
|
|
INSERT INTO dbo.T_TANTARGY (
|
|
C_GYAKORLATI
|
|
,C_NEV
|
|
,C_ROVIDNEV
|
|
,C_TARGYKATEGORIA
|
|
,C_TANORANKIVULI
|
|
,C_IMPORTALT
|
|
,C_FOTARGYE
|
|
,C_ALTANTARGYKENTNYOMTATVANYBAN
|
|
,C_NEVNYOMTATVANYBAN
|
|
,C_FOTARGYID
|
|
,C_INTEZMENYID
|
|
,C_TANEVID
|
|
,TOROLT
|
|
,SERIAL
|
|
,LASTCHANGED
|
|
,CREATED
|
|
,MODIFIER
|
|
,CREATOR
|
|
,NNID
|
|
,ELOZOTANEVIREKORDID
|
|
) SELECT
|
|
C_GYAKORLATI AS C_GYAKORLATI
|
|
,C_NEV AS C_NEV
|
|
,C_ROVIDNEV AS C_ROVIDNEV
|
|
,IIF((SELECT COUNT(1) FROM T_TARGYKATEGORIATIPUS WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_TARGYKATEGORIA) = 0, 1197, t.C_TARGYKATEGORIA) AS C_TARGYKATEGORIA
|
|
,C_TANORANKIVULI AS C_TANORANKIVULI
|
|
,C_IMPORTALT AS C_IMPORTALT
|
|
,'F' AS C_FOTARGYE
|
|
,C_ALTANTARGYKENTNYOMTATVANYBAN AS C_ALTANTARGYKENTNYOMTATVANYBAN
|
|
,C_NEVNYOMTATVANYBAN AS C_NEVNYOMTATVANYBAN
|
|
,(SELECT ID FROM T_TANTARGY WHERE ELOZOTANEVIREKORDID = t.C_FOTARGYID) AS C_FOTARGYID
|
|
,@intezmenyID AS C_INTEZMENYID
|
|
,@kovetkezoTanevId AS C_TANEVID
|
|
,TOROLT AS TOROLT
|
|
,0 AS SERIAL
|
|
,GETDATE() AS LASTCHANGED
|
|
,GETDATE() AS CREATED
|
|
,MODIFIER AS MODIFIER
|
|
,MODIFIER AS CREATOR
|
|
,NULL AS NNID
|
|
,t.ID AS ELOZOTANEVIREKORDID
|
|
FROM T_TANTARGY t WHERE C_TANEVID = @aktTanevId AND C_INTEZMENYID = @intezmenyId
|
|
AND 0 = (SELECT COUNT(1) FROM T_TANTARGY WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyId AND ELOZOTANEVIREKORDID = t.ID)
|
|
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE kovetkezo SET
|
|
kovetkezo.C_GYAKORLATI = aktiv.C_GYAKORLATI
|
|
,kovetkezo.C_NEV = aktiv.C_NEV
|
|
,kovetkezo.C_ROVIDNEV = aktiv.C_ROVIDNEV
|
|
,kovetkezo.C_TARGYKATEGORIA = IIF((SELECT COUNT(1) FROM T_TARGYKATEGORIATIPUS WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_TARGYKATEGORIA) = 0, 1197, aktiv.C_TARGYKATEGORIA)
|
|
,kovetkezo.C_TANORANKIVULI = aktiv.C_TANORANKIVULI
|
|
,kovetkezo.C_IMPORTALT = aktiv.C_IMPORTALT
|
|
,kovetkezo.C_FOTARGYE = aktiv.C_FOTARGYE
|
|
,kovetkezo.C_ALTANTARGYKENTNYOMTATVANYBAN = aktiv.C_ALTANTARGYKENTNYOMTATVANYBAN
|
|
,kovetkezo.C_NEVNYOMTATVANYBAN = aktiv.C_NEVNYOMTATVANYBAN
|
|
,kovetkezo.C_FOTARGYID = (SELECT ID FROM T_TANTARGY WHERE ELOZOTANEVIREKORDID = aktiv.C_FOTARGYID)
|
|
,kovetkezo.TOROLT = aktiv.TOROLT
|
|
FROM T_TANTARGY kovetkezo
|
|
INNER JOIN T_TANTARGY aktiv ON aktiv.C_INTEZMENYID = kovetkezo.C_INTEZMENYID AND aktiv.C_TANEVID = @aktTanevId AND aktiv.ID = @tantargyId
|
|
WHERE kovetkezo.C_INTEZMENYID = @intezmenyId AND kovetkezo.C_TANEVID = @kovetkezoTanevId AND kovetkezo.ELOZOTANEVIREKORDID = @tantargyId
|
|
END
|
|
|
|
END
|
|
GO
|