85 lines
2.7 KiB
Transact-SQL
85 lines
2.7 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspFollowupRendszerBeallitas
|
|
|
|
GO
|
|
|
|
CREATE PROCEDURE uspFollowupRendszerBeallitas
|
|
@intezmenyId int
|
|
,@aktTanevId int
|
|
,@kovetkezoTanevId int
|
|
,@beallitasId 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
|
|
@updateColList nvarchar(max)
|
|
,@sql nvarchar(max)
|
|
|
|
SELECT
|
|
@updateColList = ISNULL(@updateColList+','+insertColName+' = '+updateColname,insertColName+' = '+updateColname)
|
|
FROM fnGetFollowUpColumnMapping ('','T_RENDSZERBEALLITAS')
|
|
WHERE updateColname IS NOT NULL
|
|
|
|
SET @sql = N'
|
|
UPDATE t SET
|
|
'+@updateColList+'
|
|
FROM T_RENDSZERBEALLITAS_OSSZES t
|
|
INNER JOIN T_RENDSZERBEALLITAS_OSSZES s ON s.ID = @beallitasId AND s.ID = t.ELOZOTANEVIREKORDID'
|
|
|
|
PRINT @sql
|
|
EXEC sp_executesql
|
|
@sql,N'
|
|
@intezmenyId int
|
|
,@aktTanevId int
|
|
,@kovetkezoTanevId int
|
|
,@beallitasId int'
|
|
,@intezmenyId = @intezmenyId
|
|
,@aktTanevId = @aktTanevId
|
|
,@kovetkezoTanevId = @kovetkezoTanevId
|
|
,@beallitasId = @beallitasId
|
|
|
|
-- Dátum típusú rendszerbeállításoknál az alapértelmezett beállításnál a dátumokat a tanév első és utolsó napja közé módosítjuk
|
|
IF EXISTS (
|
|
SELECT 1
|
|
FROM T_RENDSZERBEALLITAS_OSSZES rbk
|
|
INNER JOIN T_RENDSZERBEALLITAS_OSSZES rba ON rba.ID = @beallitasId
|
|
AND rba.ID = rbk.ELOZOTANEVIREKORDID
|
|
AND rba.C_ERTEKTIPUS = 1696
|
|
AND rba.C_BEALLITASTIPUS <> 3082
|
|
AND rba.TOROLT = 'F'
|
|
WHERE rbk.TOROLT = 'F'
|
|
)
|
|
BEGIN
|
|
DECLARE @rbDatum datetime
|
|
,@rbID int
|
|
|
|
SELECT @rbID = rbk.ID, @rbDatum = CAST(JSON_VALUE(rbk.C_ERTEK, '$.Date') AS datetime)
|
|
FROM T_RENDSZERBEALLITAS_OSSZES rbk
|
|
INNER JOIN T_RENDSZERBEALLITAS_OSSZES rba ON rba.ID = @beallitasId
|
|
AND rba.ID = rbk.ELOZOTANEVIREKORDID
|
|
AND rba.C_ERTEKTIPUS = 1696
|
|
AND rba.TOROLT = 'F'
|
|
WHERE rbk.TOROLT = 'F'
|
|
|
|
UPDATE rbk SET
|
|
rbk.C_ERTEK = JSON_MODIFY(rbk.C_ERTEK, '$.Date', CONVERT(nvarchar, nn.C_NAPDATUMA, 126))
|
|
,rbk.SERIAL = rbk.SERIAL + 1
|
|
,rbk.MODIFIER = rba.MODIFIER
|
|
,rbk.LASTCHANGED = rba.LASTCHANGED
|
|
FROM T_RENDSZERBEALLITAS_OSSZES rbk
|
|
INNER JOIN T_RENDSZERBEALLITAS_OSSZES rba ON rba.ID = @beallitasId
|
|
AND rba.ID = rbk.ELOZOTANEVIREKORDID
|
|
AND rba.TOROLT = 'F'
|
|
INNER JOIN T_NAPTARINAP_OSSZES nn ON nn.C_TANEVID = rbk.C_TANEVID AND nn.TOROLT = 'F'
|
|
AND DATEPART(month, nn.C_NAPDATUMA) = DATEPART(month, @rbDatum)
|
|
AND DATEPART(day, nn.C_NAPDATUMA) = DATEPART(day, @rbDatum)
|
|
WHERE rbk.ID = @rbID
|
|
AND rbk.TOROLT = 'F'
|
|
AND @rbDatum <> nn.C_NAPDATUMA
|
|
END
|
|
END
|
|
GO
|