83 lines
2.4 KiB
Transact-SQL
83 lines
2.4 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspFollowUpAlkalmazottPEP
|
|
GO
|
|
|
|
CREATE PROCEDURE uspFollowUpAlkalmazottPEP
|
|
@intezmenyId int
|
|
,@aktTanevId int
|
|
,@kovetkezoTanevId int
|
|
,@PEPId int
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
IF NOT EXISTS (SELECT 1 from T_TANEV where ID = @kovetkezoTanevId and C_KOVETKEZO = 'T' and C_AKTIVALVA is null and C_ISKIVALASZTHATO = 'T')
|
|
BEGIN
|
|
RETURN;
|
|
END
|
|
|
|
DECLARE
|
|
@kovPEPId int
|
|
,@selectColList nvarchar(max)
|
|
,@insertColList nvarchar(max)
|
|
,@updateColList nvarchar(max)
|
|
,@sql nvarchar(max)
|
|
|
|
SELECT @kovPEPId = ID
|
|
FROM T_PEDAGOGUSELETPALYAMODELL_OSSZES WHERE ELOZOTANEVIREKORDID = @PEPId
|
|
|
|
IF (SELECT TOROLT FROM T_PEDAGOGUSELETPALYAMODELL_OSSZES WHERE ID = @PEPId) = 'T' OR (SELECT TOROLT FROM T_PEDAGOGUSELETPALYAMODELL_OSSZES WHERE ID = @kovPEPId) = 'T' BEGIN
|
|
RETURN
|
|
END
|
|
|
|
CREATE TABLE #ColumnMapping (selectColName nvarchar(max),insertColName nvarchar(max),updateColName nvarchar(max))
|
|
INSERT INTO #ColumnMapping(
|
|
selectColName
|
|
,insertColname
|
|
,updateColname
|
|
)
|
|
SELECT
|
|
selectColName
|
|
,insertColName
|
|
,updateColName
|
|
FROM fnGetFollowUpColumnMapping (NULL,'T_PEDAGOGUSELETPALYAMODELL')
|
|
|
|
IF @kovPEPId IS NOT NULL BEGIN
|
|
SELECT
|
|
@updateColList = ISNULL(@updateColList+','+insertColname+' = '+updateColname,insertColName+' = '+updateColname)
|
|
FROM #columnMapping WHERE updateColName IS NOT NULL
|
|
SET @sql = N'
|
|
UPDATE t set
|
|
'+@updateColList+'
|
|
FROM T_PEDAGOGUSELETPALYAMODELL_OSSZES t
|
|
INNER JOIN T_PEDAGOGUSELETPALYAMODELL_OSSZES s ON t.ELOZOTANEVIREKORDID = s.ID AND t.ID=@kovPEPId'
|
|
END
|
|
ELSE BEGIN
|
|
SELECT @insertColList = ISNULL(@insertColList+','+insertColname,insertColname) FROM #columnMapping
|
|
SELECT @selectColList = ISNULL(@selectColList+','+selectColName,selectColName) FROM #columnMapping
|
|
SET @sql = N'
|
|
INSERT INTO T_PEDAGOGUSELETPALYAMODELL_OSSZES(
|
|
'+@insertColList+'
|
|
) SELECT
|
|
'+@selectColList+'
|
|
FROM T_PEDAGOGUSELETPALYAMODELL_OSSZES s
|
|
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = s.C_TANARID
|
|
WHERE s.ID=@PEPId'
|
|
END
|
|
|
|
--PRINT @sql
|
|
EXEC sp_executesql
|
|
@sql,N'
|
|
@intezmenyId int
|
|
,@aktTanevId int
|
|
,@kovetkezoTanevId int
|
|
,@PEPId int
|
|
,@kovPEPId int'
|
|
,@intezmenyId = @intezmenyId
|
|
,@aktTanevId = @aktTanevId
|
|
,@kovetkezoTanevId = @kovetkezoTanevId
|
|
,@PEPId = @PEPId
|
|
,@kovPEPId = @kovPEPId
|
|
|
|
END
|
|
GO
|
|
|