kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170604075207_KRETA_1612/sp_FollowUpEszkoz.sql
2024-03-13 00:33:46 +01:00

147 lines
5.8 KiB
Transact-SQL

-- =============================================
-- Author: Bata-Kovács Gábor
-- Create date: 2017.06.03.
-- Description: Az Eszköz adatainak frissítése a következõ tanévre
-- =============================================
IF OBJECT_ID('sp_FollowUpEszkoz') IS NOT NULL BEGIN
DROP PROCEDURE sp_FollowUpEszkoz
END;
GO
CREATE PROCEDURE sp_FollowUpEszkoz
@intezmenyId int,
@aktTanevId int,
@kovetkezoTanevId int,
@eszkozId int
AS
BEGIN
IF (@eszkozId = 0)
BEGIN
INSERT INTO T_ESZKOZ(
C_BERELT
,C_BESZERZESDATUM
,C_BESZERZESIAR
,C_CELJA
,C_DARABSZAM
,C_FELELOSID
,C_FOKONYVISZAM
,C_GYARISZAM
,C_GYARTASIEV
,C_HALOZATIKAPCSOLAT
,C_HORDOZHATO
,C_INTERNETKAPCSOLAT
,C_INTEZMENYID
,C_JELLEGE
,C_KATEGORIA
,C_LELTARISZAM
,C_MEGJEGYZES
,C_MENNYISEGIEGYSEG
,C_MULTIMEDIAS
,C_NEMMUKODIK
,C_NEV
,C_PEDAGOGUSHOZZAFERHET
,C_SZALLITO
,C_TANEVID
,C_TANULOHOZZAFERHET
,C_TARTOZEK
,C_TARTOZEKHIVATKOZAS
,C_TEREMID
,C_TIPUS
,C_VONALKOD
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,NNID
,ELOZOTANEVIREKORDID
) SELECT
C_BERELT AS C_BERELT
,C_BESZERZESDATUM AS C_BESZERZESDATUM
,C_BESZERZESIAR AS C_BESZERZESIAR
,IIF((SELECT COUNT(1) FROM T_ESZKOZCEL WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_CELJA) = 0,1077,t.C_CELJA) AS C_CELJA
,C_DARABSZAM AS C_DARABSZAM
,(SELECT ID FROM T_FELHASZNALO WHERE ELOZOTANEVIREKORDID = t.C_FELELOSID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID) AS C_FELELOSID
,C_FOKONYVISZAM AS C_FOKONYVISZAM
,C_GYARISZAM AS C_GYARISZAM
,C_GYARTASIEV AS C_GYARTASIEV
,C_HALOZATIKAPCSOLAT AS C_HALOZATIKAPCSOLAT
,C_HORDOZHATO AS C_HORDOZHATO
,C_INTERNETKAPCSOLAT AS C_INTERNETKAPCSOLAT
,@intezmenyID AS C_INTEZMENYID
,IIF((SELECT COUNT(1) FROM T_ESZKOZJELLEG WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_JELLEGE) = 0,1074,t.C_JELLEGE) AS C_JELLEGE
,IIF((SELECT COUNT(1) FROM T_ESZKOZKATEGORIA WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_KATEGORIA) = 0,119,t.C_KATEGORIA) AS C_KATEGORIA
,C_LELTARISZAM AS C_LELTARISZAM
,C_MEGJEGYZES AS C_MEGJEGYZES
,C_MENNYISEGIEGYSEG AS C_MENNYISEGIEGYSEG
,C_MULTIMEDIAS AS C_MULTIMEDIAS
,C_NEMMUKODIK AS C_NEMMUKODIK
,C_NEV AS C_NEV
,C_PEDAGOGUSHOZZAFERHET AS C_PEDAGOGUSHOZZAFERHET
,C_SZALLITO AS C_SZALLITO
,@kovetkezoTanevId AS C_TANEVID
,C_TANULOHOZZAFERHET AS C_TANULOHOZZAFERHET
,C_TARTOZEK AS C_TARTOZEK
,C_TARTOZEKHIVATKOZAS AS C_TARTOZEKHIVATKOZAS
,ISNULL(
(SELECT ID FROM T_TEREM WHERE ELOZOTANEVIREKORDID = t.C_TEREMID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID),
(SELECT TOP 1 ID FROM T_TEREM WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID)
) AS C_TEREMID
,IIF((SELECT COUNT(1) FROM T_ESZKOZTIPUS WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_TIPUS) = 0,70,t.C_TIPUS) AS C_TIPUS
,C_VONALKOD AS C_VONALKOD
,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_ESZKOZ t WHERE C_TANEVID = @aktTanevId AND C_INTEZMENYID = @intezmenyId
AND 0 = (SELECT COUNT(1) FROM T_ESZKOZ WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyId AND ELOZOTANEVIREKORDID = t.ID)
END
ELSE
BEGIN
UPDATE kovetkezo SET
kovetkezo.C_BERELT = aktiv.C_BERELT
,kovetkezo.C_BESZERZESDATUM = aktiv.C_BESZERZESDATUM
,kovetkezo.C_BESZERZESIAR = aktiv.C_BESZERZESIAR
,kovetkezo.C_CELJA = IIF((SELECT COUNT(1) FROM T_ESZKOZCEL WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_CELJA) = 0,1077,aktiv.C_CELJA)
,kovetkezo.C_DARABSZAM = aktiv.C_DARABSZAM
,kovetkezo.C_FELELOSID = (SELECT ID FROM T_FELHASZNALO WHERE ELOZOTANEVIREKORDID = aktiv.C_FELELOSID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID)
,kovetkezo.C_FOKONYVISZAM = aktiv.C_FOKONYVISZAM
,kovetkezo.C_GYARISZAM = aktiv.C_GYARISZAM
,kovetkezo.C_GYARTASIEV = aktiv.C_GYARTASIEV
,kovetkezo.C_HALOZATIKAPCSOLAT = aktiv.C_HALOZATIKAPCSOLAT
,kovetkezo.C_HORDOZHATO = aktiv.C_HORDOZHATO
,kovetkezo.C_INTERNETKAPCSOLAT = aktiv.C_INTERNETKAPCSOLAT
,kovetkezo.C_JELLEGE = IIF((SELECT COUNT(1) FROM T_ESZKOZJELLEG WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_JELLEGE) = 0, 1074, aktiv.C_JELLEGE)
,kovetkezo.C_KATEGORIA = IIF((SELECT COUNT(1) FROM T_ESZKOZKATEGORIA WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_KATEGORIA) = 0, 119, aktiv.C_KATEGORIA)
,kovetkezo.C_LELTARISZAM = aktiv.C_LELTARISZAM
,kovetkezo.C_MEGJEGYZES = aktiv.C_MEGJEGYZES
,kovetkezo.C_MENNYISEGIEGYSEG = aktiv.C_MENNYISEGIEGYSEG
,kovetkezo.C_MULTIMEDIAS = aktiv.C_MULTIMEDIAS
,kovetkezo.C_NEMMUKODIK = aktiv.C_NEMMUKODIK
,kovetkezo.C_NEV = aktiv.C_NEV
,kovetkezo.C_PEDAGOGUSHOZZAFERHET = aktiv.C_PEDAGOGUSHOZZAFERHET
,kovetkezo.C_SZALLITO = aktiv.C_SZALLITO
,kovetkezo.C_TANULOHOZZAFERHET = aktiv.C_TANULOHOZZAFERHET
,kovetkezo.C_TARTOZEK = aktiv.C_TARTOZEK
,kovetkezo.C_TARTOZEKHIVATKOZAS = aktiv.C_TARTOZEKHIVATKOZAS
,kovetkezo.C_TEREMID = ISNULL(
(SELECT ID FROM T_TEREM WHERE ELOZOTANEVIREKORDID = aktiv.C_TEREMID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID),
(SELECT TOP 1 ID FROM T_TEREM WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID)
)
,kovetkezo.C_TIPUS = IIF((SELECT COUNT(1) FROM T_ESZKOZTIPUS WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_TIPUS) = 0,70,aktiv.C_TIPUS)
,kovetkezo.C_VONALKOD = aktiv.C_VONALKOD
,kovetkezo.TOROLT = aktiv.TOROLT
FROM T_ESZKOZ kovetkezo
INNER JOIN T_ESZKOZ aktiv ON aktiv.C_INTEZMENYID = kovetkezo.C_INTEZMENYID AND aktiv.C_TANEVID = @aktTanevId AND aktiv.ID = @eszkozId
WHERE kovetkezo.C_INTEZMENYID = @intezmenyId AND kovetkezo.C_TANEVID = @kovetkezoTanevId AND kovetkezo.ELOZOTANEVIREKORDID = @eszkozId
END
END
GO