DROP PROCEDURE IF EXISTS sp_FollowUpTanuloFelmentes GO CREATE PROCEDURE sp_FollowUpTanuloFelmentes @intezmenyId int, @aktTanevId int, @kovTanevId int, @felmentesId int AS BEGIN DECLARE @kovFelmentesId int = (SELECT ID FROM T_TANULOMENTESSEG_OSSZES WHERE ELOZOTANEVIREKORDID=@felmentesId AND TOROLT='F') DECLARE @elsoNap datetime = (select C_KEZDONAP from T_TANEV_OSSZES WHERE ID = @kovTanevId) IF (SELECT TOROLT FROM T_TANULOMENTESSEG_OSSZES WHERE ID = @felmentesId)='T' BEGIN RETURN END IF @kovFelmentesId IS NULL BEGIN INSERT INTO T_TANULOMENTESSEG_OSSZES ( C_ERTEKELESMENTESITES ,C_KEZDETE ,C_MENTESSEGOKA ,C_ORAMENTESITES ,C_VEGE ,C_SZOVEGESENERTEKELHETO ,C_TANTARGYID ,C_TANULOID ,C_INTEZMENYID ,C_TANEVID ,SERIAL ,LASTCHANGED ,CREATED ,MODIFIER ,CREATOR ,ELOZOTANEVIREKORDID ) SELECT C_ERTEKELESMENTESITES ,C_KEZDETE ,C_MENTESSEGOKA ,C_ORAMENTESITES ,C_VEGE ,C_SZOVEGESENERTEKELHETO ,tgy.ID ,tKov.ID ,tm.C_INTEZMENYID ,@kovTanevId ,0 ,tm.LASTCHANGED ,tm.LASTCHANGED ,tm.MODIFIER ,tm.MODIFIER ,tm.ID FROM T_TANULOMENTESSEG_OSSZES tm INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = tm.C_TANULOID INNER JOIN T_FELHASZNALO_OSSZES tKov ON tKov.C_OKTATASIAZONOSITO = t.C_OKTATASIAZONOSITO AND tKov.C_TANEVID = @kovTanevId AND tKov.TOROLT='F' INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ELOZOTANEVIREKORDID=tm.C_TANTARGYID AND tgy.TOROLT='F' WHERE tm.ID=@felmentesId AND ISNULL(tm.C_VEGE,'2200-01-01')>@elsoNap END ELSE BEGIN IF (SELECT C_VEGE FROM T_TANULOMENTESSEG_OSSZES WHERE ID = @felmentesId)<=@elsoNap UPDATE T_TANULOMENTESSEG_OSSZES SET TOROLT='T' WHERE ELOZOTANEVIREKORDID=@felmentesId AND TOROLT='F' ELSE BEGIN UPDATE kovetkezo SET C_ERTEKELESMENTESITES = regi.C_ERTEKELESMENTESITES ,C_KEZDETE = regi.C_KEZDETE ,C_MENTESSEGOKA = regi.C_MENTESSEGOKA ,C_ORAMENTESITES = regi.C_ORAMENTESITES ,C_VEGE = regi.C_VEGE ,C_SZOVEGESENERTEKELHETO = regi.C_SZOVEGESENERTEKELHETO ,C_TANTARGYID = tgy.ID ,SERIAL += 1 ,LASTCHANGED = regi.LASTCHANGED ,MODIFIER = regi.MODIFIER FROM T_TANULOMENTESSEG_OSSZES kovetkezo INNER JOIN T_TANULOMENTESSEG_OSSZES regi ON regi.ID=kovetkezo.ELOZOTANEVIREKORDID AND regi.TOROLT='F' AND regi.ID=@felmentesId INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ELOZOTANEVIREKORDID=regi.C_TANTARGYID AND tgy.TOROLT='F' END END END GO