﻿IF OBJECT_ID('sp_FollowUpAlkalmazottTovabbiMunkaugy') IS NOT NULL BEGIN
  DROP PROCEDURE sp_FollowUpAlkalmazottTovabbiMunkaugy
END;
GO

CREATE PROCEDURE sp_FollowUpAlkalmazottTovabbiMunkaugy
  @intezmenyId int,
  @aktTanevId int,
  @kovetkezoTanevId int,
  @alkalmazottId int
AS
BEGIN

  DECLARE @kovAlkalmazottId int

  SELECT @kovAlkalmazottId = ID
  FROM T_FELHASZNALO_OSSZES 
  WHERE ELOZOTANEVIREKORDID = @alkalmazottId 
    AND C_TANEVID = @kovetkezoTanevId   
  
  IF (SELECT TOROLT FROM T_FELHASZNALO_OSSZES WHERE ID = @alkalmazottId) = 'T' OR (SELECT TOROLT FROM T_FELHASZNALO_OSSZES WHERE ID = @kovAlkalmazottId) = 'T' BEGIN
    RETURN
  END

  UPDATE kov SET
     kov.C_ALKALMAZASKEZDETE = akt.C_ALKALMAZASKEZDETE 
		,kov.C_ALKALMAZASMEGSZUNESE = akt.C_ALKALMAZASMEGSZUNESE
		,kov.C_BESOROLASIFOKOZAT = akt.C_BESOROLASIFOKOZAT
		,kov.C_FELADATELLATASIHELYID = akt.C_FELADATELLATASIHELYID
		,kov.C_FOGLALKOZTATASTIPUS = akt.C_FOGLALKOZTATASTIPUS
		,kov.C_INTEZMENYID = @intezmenyId
		,kov.C_KOTELEZOORASZAM = akt.C_KOTELEZOORASZAM
		,kov.C_MUNKAIDOKEDVEZMENYOKA = akt.C_MUNKAIDOKEDVEZMENYOKA
		,kov.C_MUNKAIDOKEDVEZMENYOKASZOVEG = akt.C_MUNKAIDOKEDVEZMENYOKASZOVEG
		,kov.C_MUNKAIDOKEDVEZMENYORASZAM = akt.C_MUNKAIDOKEDVEZMENYORASZAM
		,kov.C_MUNKAKORTIPUSA = akt.C_MUNKAKORTIPUSA
		,kov.C_MUNKAVISZONYTIPUSA = akt.C_MUNKAVISZONYTIPUSA
		,kov.C_NYUGDIJAS = akt.C_NYUGDIJAS
		,kov.C_RESZMUNKAIDOSZAZALEK = akt.C_RESZMUNKAIDOSZAZALEK
		,kov.C_VEZETOIORASZAMOK = akt.C_VEZETOIORASZAMOK
		,kov.C_TANEVID = @kovetkezoTanevId
		,kov.SERIAL += 1
    ,kov.MODIFIER=akt.MODIFIER
  FROM T_TOVABBIMUNKAUGYIADATOK_OSSZES kov
    INNER JOIN T_TOVABBIMUNKAUGYIADATOK_OSSZES akt ON kov.ELOZOTANEVIREKORDID = akt.ID 
  WHERE akt.C_TANEVID = @aktTanevId 
    AND akt.C_INTEZMENYID = @intezmenyId 
    AND akt.C_ALKALMAZOTTID = @alkalmazottId
    AND akt.TOROLT = 'F' 
    AND kov.C_ALKALMAZOTTID = @kovAlkalmazottId 
    AND kov.C_TANEVID = @kovetkezoTanevId 
    AND kov.C_INTEZMENYID = @intezmenyId 
    AND kov.TOROLT = 'F'
  

	INSERT INTO T_TOVABBIMUNKAUGYIADATOK(
		 C_ALKALMAZASKEZDETE
		,C_ALKALMAZASMEGSZUNESE
		,C_ALKALMAZOTTID
		,C_BESOROLASIFOKOZAT
		,C_FELADATELLATASIHELYID
		,C_FOGLALKOZTATASTIPUS
		,C_INTEZMENYID
		,C_KOTELEZOORASZAM
		,C_MUNKAIDOKEDVEZMENYOKA
		,C_MUNKAIDOKEDVEZMENYOKASZOVEG
		,C_MUNKAIDOKEDVEZMENYORASZAM
		,C_MUNKAKORTIPUSA
		,C_MUNKAVISZONYTIPUSA
		,C_NYUGDIJAS
		,C_RESZMUNKAIDOSZAZALEK
		,C_VEZETOIORASZAMOK 
		,C_TANEVID
		,TOROLT
		,SERIAL
    ,LASTCHANGED
    ,CREATED
    ,MODIFIER
		,CREATOR
    ,NNID
		,ELOZOTANEVIREKORDID
	) SELECT 
		 C_ALKALMAZASKEZDETE AS C_ALKALMAZASKEZDETE
		,C_ALKALMAZASMEGSZUNESE AS C_ALKALMAZASMEGSZUNESE
		,@kovAlkalmazottId AS C_ALKALMAZOTTID
		,akt.C_BESOROLASIFOKOZAT AS C_BESOROLASIFOKOZAT
		,akt.C_FELADATELLATASIHELYID AS C_FELADATELLATASIHELYID
		,akt.C_FOGLALKOZTATASTIPUS AS C_FOGLALKOZTATASTIPUS
		,@intezmenyId AS C_INTEZMENYID
		,akt.C_KOTELEZOORASZAM AS C_KOTELEZOORASZAM
		,akt.C_MUNKAIDOKEDVEZMENYOKA AS C_MUNKAIDOKEDVEZMENYOKA
		,akt.C_MUNKAIDOKEDVEZMENYOKASZOVEG AS C_MUNKAIDOKEDVEZMENYOKASZOVEG
		,akt.C_MUNKAIDOKEDVEZMENYORASZAM AS C_MUNKAIDOKEDVEZMENYORASZAM
		,akt.C_MUNKAKORTIPUSA AS C_MUNKAKORTIPUSA
		,akt.C_MUNKAVISZONYTIPUSA AS C_MUNKAVISZONYTIPUSA
		,akt.C_NYUGDIJAS AS C_NYUGDIJAS
		,akt.C_RESZMUNKAIDOSZAZALEK AS C_RESZMUNKAIDOSZAZALEK
		,akt.C_VEZETOIORASZAMOK AS C_VEZETOIORASZAMOK 
		,@kovetkezoTanevId AS C_TANEVID
		,akt.TOROLT AS TOROLT
		,0 AS SERIAL
		,GETDATE() AS LASTCHANGED
		,GETDATE() AS CREATED
		,akt.MODIFIER AS MODIFIER
		,akt.MODIFIER AS CREATOR
    ,akt.NNID AS NNID
		,akt.ID AS ELOZOTANEVIREKORDID
	FROM T_TOVABBIMUNKAUGYIADATOK_OSSZES akt 
  WHERE akt.C_TANEVID = @aktTanevId 
    AND akt.C_INTEZMENYID = @intezmenyId 
    AND akt.C_ALKALMAZOTTID = @alkalmazottId 
    AND akt.TOROLT = 'F'
    AND NOT EXISTS (SELECT 1 FROM T_TOVABBIMUNKAUGYIADATOK_OSSZES kov WHERE kov.ELOZOTANEVIREKORDID = akt.ID AND kov.C_TANEVID = @kovetkezoTanevId AND kov.C_ALKALMAZOTTID = @kovAlkalmazottId)

END
GO
