DROP PROCEDURE IF EXISTS [dbo].[uspCopyOrarendiElem] GO CREATE PROCEDURE [dbo].[uspCopyOrarendiElem] @copyId int ,@date datetime ,@oraszam int ,@pOraErvenyessegKezdete datetime = null ,@pOraErvenyessegVege datetime = null ,@pIsGenerateOrarend bit = 1 AS BEGIN SET NOCOUNT ON DECLARE @newId int = 0 DECLARE @intezmenyId int, @tanevId int, @hetNapja int, @tanarId int, @tantargyId int, @osztalycsoportId int, @teremId int, @ora int, @egyediNap char(1); DECLARE @ervenyessegKezdet datetime, @ervenyessegVege datetime, @orarendiOraGroupId int, @hetirendId int; SELECT @intezmenyId = C_INTEZMENYID, @tanevId = C_TANEVID, @tanarId = C_TANARID, @tantargyId = C_TANTARGYID ,@osztalycsoportId = C_OSZTALYCSOPORTID, @teremId = C_TEREMID, @ora = C_ORASZAM ,@ervenyessegKezdet = C_ORAERVENYESSEGKEZDETE, @ervenyessegVege = C_ORAERVENYESSEGVEGE ,@orarendiOraGroupId = C_ORARENDIORAGROUPID, @hetirendId = C_HETIREND, @egyediNap = C_EGYEDINAP FROM T_ORARENDIORA_OSSZES WHERE ID = @copyId AND TOROLT = 'F' IF @date IS NOT NULL BEGIN SELECT @hetNapja = C_HETNAPJA FROM T_NAPTARINAP_OSSZES where C_NAPDATUMA = CAST(@date AS DATE) END IF (@oraszam < 0) BEGIN SET @oraszam = NULL END IF NOT EXISTS(SELECT * FROM T_ORARENDIORA_OSSZES where @intezmenyId = C_INTEZMENYID AND @tanevId = C_TANEVID AND @tanarId = C_TANARID AND @tantargyId = C_TANTARGYID AND @osztalycsoportId = C_OSZTALYCSOPORTID AND @teremId = C_TEREMID AND (@oraszam IS NOT NULL AND @oraszam = C_ORASZAM) AND TOROLT = 'F' AND @hetNapja = C_HETNAPJA AND @hetirendId = C_HETIREND AND @ervenyessegKezdet < C_ORAERVENYESSEGVEGE AND @ervenyessegVege >= C_ORAERVENYESSEGKEZDETE AND @egyediNap = C_EGYEDINAP ) BEGIN INSERT INTO T_ORARENDIORA ( [C_DIFFERENCIALT],[C_DRAMA],[C_HETIREND],[C_HETNAPJA],[C_IKTTANORA],[C_IPRTANORA],[C_KOOPERATIV],[C_MERES],[C_MINDENNAPOSTESTNEVELES],[C_NEMSZAKRENDSZERUORA],[C_NEMZETISEGIORA] ,[C_ORASZAM],[C_SORSZAMOZANDO],[C_TAMOPORA],[C_TULORA],[C_BONTOTT],[C_ORAERVENYESSEGKEZDETE],[C_ORAERVENYESSEGVEGE],[C_PARHUZAMOSORA],[C_TIOP12],[C_ORAKEZDETE],[C_ORAVEGE] ,[C_IMPORTALT],[C_CSENGETESIRENDID],[C_CSENGETESIRENDORAID],[C_ORARENDIORAGROUPID],[C_EFOP32317],[C_MULTIKULTURALISORA],[C_KOMPLEXORA],[C_KIPORA],[C_VEKOP73317],[C_KAPORA] ,[C_GINOP623],[C_EGYEDINAP],[C_TEREMID],[C_FOGLALKOZASID],[C_TANTARGYID],[C_OSZTALYCSOPORTID],[C_TANARID],[C_ORATULAJDONOSID],[C_INTEZMENYID],[C_TANEVID],[TOROLT],[SERIAL] ,[LASTCHANGED],[CREATED],[MODIFIER],[CREATOR],[ELOZOTANEVIREKORDID],[C_ISKEZZELFELVETTEGYEDINAP],[C_EFOP31716],[C_EFOP33717],[C_TIOP1111212012001],[C_ISDFHTKIPORA] ,[C_ISDFHTORA],[C_ISDIGITALISALAPUALPROGRAM],[C_ISELETGYAKORLATALAPUALPROGRA],[C_ISLOGIKAALAPUALPROGRAM],[C_ISMUVESZETALAPUALPROGRAM],[C_ISRAHANGOLODAS],[C_ISTEORAD] ,[C_ISTESTMOZGASALAPUALPROGRAM],[C_ISFELNOTTOKTATASISZERZODES],[C_KOZPONTILAGTOROLTORAGROUPID],[C_KOZPONTIORAGROUPID],[C_EFOP23517] ) SELECT [C_DIFFERENCIALT] ,[C_DRAMA] ,[C_HETIREND] ,ISNULL(@hetNapja, [C_HETNAPJA]) ,[C_IKTTANORA] ,[C_IPRTANORA] ,[C_KOOPERATIV] ,[C_MERES] ,[C_MINDENNAPOSTESTNEVELES] ,[C_NEMSZAKRENDSZERUORA] ,[C_NEMZETISEGIORA] ,@oraszam ,[C_SORSZAMOZANDO] ,[C_TAMOPORA] ,[C_TULORA] ,[C_BONTOTT] ,ISNULL(@pOraErvenyessegKezdete, [C_ORAERVENYESSEGKEZDETE]) ,ISNULL(@pOraErvenyessegVege, [C_ORAERVENYESSEGVEGE]) ,[C_PARHUZAMOSORA] ,[C_TIOP12] ,CASE WHEN @date IS NULL THEN [C_ORAKEZDETE] WHEN @oraszam IS NOT NULL THEN (select C_KEZDETE from T_CSENGETESIRENDORA_OSSZES where C_ORASZAM = @oraszam and C_CSENGETESIRENDID = oo.C_CSENGETESIRENDID and TOROLT = 'F') ELSE DATEADD(minute, (DATEPART(hour, @date) *60 + DATEPART(minute, @date)),0) END ,CASE WHEN @date IS NULL THEN [C_ORAVEGE] WHEN @oraszam IS NOT NULL THEN (select C_VEGE from T_CSENGETESIRENDORA_OSSZES where C_ORASZAM = @oraszam and C_CSENGETESIRENDID = oo.C_CSENGETESIRENDID and TOROLT = 'F') ELSE (C_ORAVEGE - C_ORAKEZDETE) + DATEADD(minute, (DATEPART(hour, @date) *60 + DATEPART(minute, @date)),0) END ,[C_IMPORTALT] ,[C_CSENGETESIRENDID] ,ISNULL((SELECT ID FROM T_CSENGETESIRENDORA_OSSZES WHERE C_CSENGETESIRENDID = oo.C_CSENGETESIRENDID AND C_ORASZAM = @oraszam AND TOROLT = 'F' AND C_TANEVID = oo.C_TANEVID),[C_CSENGETESIRENDORAID]) ,[C_ORARENDIORAGROUPID] ,[C_EFOP32317] ,[C_MULTIKULTURALISORA] ,[C_KOMPLEXORA] ,[C_KIPORA] ,[C_VEKOP73317] ,[C_KAPORA] ,[C_GINOP623] ,[C_EGYEDINAP] ,[C_TEREMID] ,[C_FOGLALKOZASID] ,[C_TANTARGYID] ,[C_OSZTALYCSOPORTID] ,[C_TANARID] ,[C_ORATULAJDONOSID] ,[C_INTEZMENYID] ,[C_TANEVID] ,'F' ,0 ,GETDATE() ,GETDATE() ,[MODIFIER] ,[CREATOR] ,NULL ,[C_ISKEZZELFELVETTEGYEDINAP] ,[C_EFOP31716] ,[C_EFOP33717] ,[C_TIOP1111212012001] ,[C_ISDFHTKIPORA] ,[C_ISDFHTORA] ,[C_ISDIGITALISALAPUALPROGRAM] ,[C_ISELETGYAKORLATALAPUALPROGRA] ,[C_ISLOGIKAALAPUALPROGRAM] ,[C_ISMUVESZETALAPUALPROGRAM] ,[C_ISRAHANGOLODAS] ,[C_ISTEORAD] ,[C_ISTESTMOZGASALAPUALPROGRAM] ,[C_ISFELNOTTOKTATASISZERZODES] ,[C_KOZPONTILAGTOROLTORAGROUPID] ,[C_KOZPONTIORAGROUPID] ,[C_EFOP23517] FROM T_ORARENDIORA_OSSZES oo WHERE ID = @copyId AND TOROLT = 'F' SET @newId = (select SCOPE_IDENTITY()) UPDATE T_ORARENDIORA_OSSZES SET C_ORARENDIORAGROUPID = @newId WHERE ID = @newId UPDATE T_SZAMONKERESELOREJELZES_OSSZES set C_ORARENDIORAGROUPID = @newId WHERE C_ORARENDIORAGROUPID = @orarendiOraGroupId AND TOROLT = 'F' IF @pIsGenerateOrarend = 1 BEGIN EXEC uspGenerateOrarend @intezmenyId, @tanevId, null, null, @newId, null END INSERT INTO T_ORARENDIORATULAJDONSAG ( [C_ORATULAJDONSAGID],[C_ORARENDIORAID],[C_INTEZMENYID],[C_TANEVID],[TOROLT],[SERIAL],[LASTCHANGED],[CREATED],[MODIFIER],[CREATOR],[ELOZOTANEVIREKORDID],[C_BOOLERTEK] ) SELECT [C_ORATULAJDONSAGID] ,@newId ,[C_INTEZMENYID] ,[C_TANEVID] ,'F' ,0 ,GETDATE() ,GETDATE() ,[MODIFIER] ,[CREATOR] ,NULL ,[C_BOOLERTEK] FROM T_ORARENDIORATULAJDONSAG_OSSZES oot WHERE C_ORARENDIORAID = @copyId AND TOROLT = 'F' END SELECT @newId as Result END