154 lines
No EOL
6.4 KiB
Transact-SQL
154 lines
No EOL
6.4 KiB
Transact-SQL
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 |