152 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			152 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS sp_FollowUpEszkoz
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE sp_FollowUpEszkoz
 | 
						|
  @intezmenyId int,
 | 
						|
  @aktTanevId int,
 | 
						|
  @kovetkezoTanevId int,
 | 
						|
  @eszkozId int
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
DECLARE
 | 
						|
	 @kovEszkozId int = (SELECT TOP 1 ID FROM T_ESZKOZ_OSSZES WHERE ELOZOTANEVIREKORDID = @eszkozId)
 | 
						|
	,@eszkozNev nvarchar(200)= (SELECT C_NEV FROM T_ESZKOZ_OSSZES WHERE ID = @eszkozId)
 | 
						|
	,@aktTipusId int = (SELECT TOP 1 C_TIPUS FROM T_ESZKOZ_OSSZES WHERE ID = @eszkozId)
 | 
						|
 | 
						|
	IF (SELECT TOROLT FROM T_ESZKOZ_OSSZES WHERE ID = @eszkozId) = 'T' OR (SELECT TOROLT FROM T_ESZKOZ_OSSZES WHERE ID = @kovEszkozId) = 'T' 
 | 
						|
	BEGIN
 | 
						|
		RETURN
 | 
						|
	END
 | 
						|
 | 
						|
	IF (@aktTipusId > 100000)
 | 
						|
	BEGIN
 | 
						|
		SET @aktTipusId = (SELECT TOP 1 ID FROM T_DICTIONARYITEMBASE_OSSZES WHERE ELOZOTANEVIREKORDID = @aktTipusId AND C_INTEZMENYID = @intezmenyId AND C_TANEVID = @kovetkezoTanevId)
 | 
						|
	END
 | 
						|
 | 
						|
 | 
						|
IF (@kovEszkozId IS NULL AND NOT EXISTS(SELECT 1 FROM T_ESZKOZ_OSSZES WHERE C_NEV=@eszkozNev AND C_TANEVID=@kovetkezoTanevId AND TOROLT='F')) 
 | 
						|
BEGIN
 | 
						|
INSERT INTO T_ESZKOZ_OSSZES (
 | 
						|
	 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
 | 
						|
	,C_PROJEKT
 | 
						|
	,SERIAL
 | 
						|
	,LASTCHANGED
 | 
						|
	,CREATED
 | 
						|
	,MODIFIER
 | 
						|
	,CREATOR
 | 
						|
	,ELOZOTANEVIREKORDID
 | 
						|
    ) SELECT 
 | 
						|
       C_BERELT AS C_BERELT
 | 
						|
	  ,C_BESZERZESDATUM AS C_BESZERZESDATUM
 | 
						|
      ,C_BESZERZESIAR AS C_BESZERZESIAR
 | 
						|
	  ,t.C_CELJA AS C_CELJA
 | 
						|
	  ,C_DARABSZAM AS C_DARABSZAM
 | 
						|
	  ,(SELECT ID FROM T_FELHASZNALO_OSSZES WHERE ELOZOTANEVIREKORDID = t.C_FELELOSID AND TOROLT = 'F') 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
 | 
						|
	  ,t.C_JELLEGE AS C_JELLEGE
 | 
						|
	  ,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
 | 
						|
	  ,t.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
 | 
						|
	  ,te.ID
 | 
						|
	  ,@aktTipusId AS C_TIPUS
 | 
						|
	  ,C_VONALKOD AS C_VONALKOD
 | 
						|
	  ,C_PROJEKT
 | 
						|
      ,0 AS SERIAL
 | 
						|
      ,t.LASTCHANGED AS LASTCHANGED
 | 
						|
      ,t.LASTCHANGED AS CREATED
 | 
						|
      ,t.MODIFIER AS MODIFIER
 | 
						|
      ,t.MODIFIER AS CREATOR
 | 
						|
	  ,t.ID AS ELOZOTANEVIREKORDID
 | 
						|
    FROM T_ESZKOZ_OSSZES t 
 | 
						|
		INNER JOIN T_TEREM_OSSZES te ON te.ELOZOTANEVIREKORDID=t.C_TEREMID AND te.TOROLT='F'
 | 
						|
	WHERE t.ID=@EszkozId
 | 
						|
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 = aktiv.C_CELJA
 | 
						|
	,kovetkezo.C_DARABSZAM = aktiv.C_DARABSZAM
 | 
						|
	,kovetkezo.C_FELELOSID = (SELECT ID FROM T_FELHASZNALO_OSSZES WHERE ELOZOTANEVIREKORDID = aktiv.C_FELELOSID AND C_TANEVID = @kovetkezoTanevId AND TOROLT = 'F')
 | 
						|
	,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 = aktiv.C_JELLEGE
 | 
						|
	,kovetkezo.C_KATEGORIA = 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_PROJEKT = aktiv.C_PROJEKT
 | 
						|
	,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 = t.ID
 | 
						|
	,kovetkezo.C_TIPUS = @aktTipusId
 | 
						|
	,kovetkezo.C_VONALKOD = aktiv.C_VONALKOD
 | 
						|
	,kovetkezo.SERIAL += 1
 | 
						|
	,kovetkezo.MODIFIER = aktiv.MODIFIER
 | 
						|
	,kovetkezo.LASTCHANGED = aktiv.LASTCHANGED
 | 
						|
	FROM T_ESZKOZ_OSSZES kovetkezo
 | 
						|
		INNER JOIN T_ESZKOZ_OSSZES aktiv ON  aktiv.ID = @eszkozId AND aktiv.ID=kovetkezo.ELOZOTANEVIREKORDID
 | 
						|
		INNER JOIN T_TEREM_OSSZES t ON t.ELOZOTANEVIREKORDID=aktiv.C_TEREMID AND t.TOROLT='F'
 | 
						|
	
 | 
						|
END
 | 
						|
 | 
						|
END
 | 
						|
GO
 |