init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,104 @@
|
|||
-- Összes szervezet (és parent szervezet) followup-ja
|
||||
declare @szerv cursor
|
||||
declare @IntezmenyId int
|
||||
declare @TanevId int
|
||||
declare @KovTanevId int
|
||||
declare @SzervezetId int
|
||||
|
||||
set @szerv = cursor static for
|
||||
select sz.ID, sz.C_INTEZMENYID, sz.C_TANEVID, kov.ID
|
||||
from T_SZERVEZET sz
|
||||
inner join T_TANEV t on sz.C_TANEVID = t.ID
|
||||
inner join T_TANEV kov on kov.C_INTEZMENYID = t.C_INTEZMENYID and kov.C_SORSZAM = t.C_SORSZAM + 2 and kov.TOROLT = 'F' and kov.C_KOVETKEZO = 'T'
|
||||
inner join T_INTEZMENY i on i.ID = sz.C_INTEZMENYID
|
||||
where i.TOROLT = 'F'
|
||||
and i.C_ISARCHIV = 'F'
|
||||
and t.TOROLT = 'F'
|
||||
and (t.C_AKTIV = 'T' or t.C_NEV = '2021/2022')
|
||||
|
||||
open @szerv
|
||||
fetch next from @szerv into @SzervezetId, @IntezmenyId, @TanevId, @KovTanevId
|
||||
while(@@fetch_status = 0)
|
||||
begin
|
||||
|
||||
exec dbo.uspFollowUpSzervezet @IntezmenyId, @TanevId, @KovTanevId, @SzervezetId
|
||||
|
||||
fetch next from @szerv into @SzervezetId, @IntezmenyId, @TanevId, @KovTanevId
|
||||
|
||||
end
|
||||
close @szerv
|
||||
go
|
||||
|
||||
|
||||
-- Hibásan léptetett munkaügyiadatok javítása
|
||||
update akt
|
||||
set akt.C_SZERVEZETID = sz.ID,
|
||||
akt.SERIAL += 1,
|
||||
akt.LASTCHANGED = getdate(),
|
||||
akt.MODIFIER = 0
|
||||
--select akt.ID, akt.ELOZOTANEVIREKORDID, akt.C_SZERVEZETID, sz.ID
|
||||
from T_MUNKAUGYIADATOK akt
|
||||
inner join T_MUNKAUGYIADATOK elo on elo.ID = akt.ELOZOTANEVIREKORDID and elo.TOROLT = 'F'
|
||||
left join T_SZERVEZET sz on sz.ELOZOTANEVIREKORDID = elo.C_SZERVEZETID and sz.TOROLT = 'F'
|
||||
where akt.TOROLT = 'F'
|
||||
and coalesce(akt.C_SZERVEZETID, sz.ID, 0) <> coalesce(sz.ID, akt.C_SZERVEZETID, 0)
|
||||
go
|
||||
|
||||
|
||||
-- Hibásan léptetett csoportok javítása
|
||||
update akt
|
||||
set akt.C_SZERVEZETID = sz.ID,
|
||||
akt.SERIAL += 1,
|
||||
akt.LASTCHANGED = getdate(),
|
||||
akt.MODIFIER = 0
|
||||
--select akt.ID, akt.ELOZOTANEVIREKORDID, akt.C_SZERVEZETID, sz.ID
|
||||
from T_CSOPORT akt
|
||||
inner join T_CSOPORT elo on elo.ID = akt.ELOZOTANEVIREKORDID and elo.TOROLT = 'F'
|
||||
left join T_SZERVEZET sz on sz.ELOZOTANEVIREKORDID = elo.C_SZERVEZETID and sz.TOROLT = 'F'
|
||||
where akt.TOROLT = 'F'
|
||||
and coalesce(akt.C_SZERVEZETID, sz.ID, 0) <> coalesce(sz.ID, akt.C_SZERVEZETID, 0)
|
||||
go
|
||||
|
||||
|
||||
-- Hibásan léptetett tantárgyak javítása
|
||||
update akt
|
||||
set akt.C_SZERVEZETID = sz.ID,
|
||||
akt.SERIAL += 1,
|
||||
akt.LASTCHANGED = getdate(),
|
||||
akt.MODIFIER = 0
|
||||
--select akt.ID, akt.ELOZOTANEVIREKORDID, akt.C_SZERVEZETID, sz.ID
|
||||
from T_TANTARGY akt
|
||||
inner join T_TANTARGY elo on elo.ID = akt.ELOZOTANEVIREKORDID and elo.TOROLT = 'F'
|
||||
left join T_SZERVEZET sz on sz.ELOZOTANEVIREKORDID = elo.C_SZERVEZETID and sz.TOROLT = 'F'
|
||||
where akt.TOROLT = 'F'
|
||||
and coalesce(akt.C_SZERVEZETID, sz.ID, 0) <> coalesce(sz.ID, akt.C_SZERVEZETID, 0)
|
||||
go
|
||||
|
||||
|
||||
-- Hibásan léptetett termek javítása
|
||||
update akt
|
||||
set akt.C_SZERVEZETID = sz.ID,
|
||||
akt.SERIAL += 1,
|
||||
akt.LASTCHANGED = getdate(),
|
||||
akt.MODIFIER = 0
|
||||
--select akt.ID, akt.ELOZOTANEVIREKORDID, akt.C_SZERVEZETID, sz.ID
|
||||
from T_TEREM akt
|
||||
inner join T_TEREM elo on elo.ID = akt.ELOZOTANEVIREKORDID and elo.TOROLT = 'F'
|
||||
left join T_SZERVEZET sz on sz.ELOZOTANEVIREKORDID = elo.C_SZERVEZETID and sz.TOROLT = 'F'
|
||||
where akt.TOROLT = 'F'
|
||||
and coalesce(akt.C_SZERVEZETID, sz.ID, 0) <> coalesce(sz.ID, akt.C_SZERVEZETID, 0)
|
||||
go
|
||||
|
||||
|
||||
-- Hibásan léptetett szakmunka szerződések javítása
|
||||
update akt
|
||||
set akt.C_SZERVEZETID = sz.ID,
|
||||
akt.SERIAL += 1,
|
||||
akt.LASTCHANGED = getdate(),
|
||||
akt.MODIFIER = 0
|
||||
--select akt.ID, akt.ELOZOTANEVIREKORDID, akt.C_SZERVEZETID, sz.ID
|
||||
from T_SZAKMUNKASZERZODES akt
|
||||
inner join T_SZAKMUNKASZERZODES elo on elo.ID = akt.ELOZOTANEVIREKORDID and elo.TOROLT = 'F'
|
||||
left join T_SZERVEZET sz on sz.ELOZOTANEVIREKORDID = elo.C_SZERVEZETID and sz.TOROLT = 'F'
|
||||
where akt.TOROLT = 'F'
|
||||
and coalesce(akt.C_SZERVEZETID, sz.ID, 0) <> coalesce(sz.ID, akt.C_SZERVEZETID, 0)
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE name = 'NCU_Szervezet_Azonosito_Nev')
|
||||
CREATE UNIQUE NONCLUSTERED INDEX NCU_Szervezet_Azonosito_Nev
|
||||
ON dbo.T_SZERVEZET(C_INTEZMENYID, C_TANEVID, C_AZONOSITO, C_NEV)
|
||||
WHERE (TOROLT = 'F')
|
||||
WITH (FILLFACTOR = 80)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
DROP PROCEDURE IF EXISTS uspFollowUpSzervezet
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE uspFollowUpSzervezet
|
||||
@intezmenyId int
|
||||
,@aktTanevId int
|
||||
,@kovetkezoTanevId int
|
||||
,@szervezetId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @kovSzervezetId int
|
||||
,@parentSzerverzetId int
|
||||
,@sql nvarchar(max)
|
||||
,@insertColList nvarchar(max)
|
||||
,@selectColList nvarchar(max)
|
||||
,@updateColList nvarchar(max);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM T_TANEV_OSSZES WHERE ID = @kovetkezoTanevId and C_KOVETKEZO = 'T' AND C_AKTIVALVA IS NULL AND C_ISKIVALASZTHATO = 'T')
|
||||
OR
|
||||
EXISTS (SELECT * FROM T_TANEV_OSSZES WHERE ID = @kovetkezoTanevId and C_AKTIV = 'T' AND TOROLT = 'F')
|
||||
RETURN;
|
||||
|
||||
IF (SELECT TOROLT FROM T_SZERVEZET_OSSZES WHERE ID = @szervezetId) = 'T'
|
||||
RETURN;
|
||||
|
||||
-- ha név és azonosító alapján nem létezik a következő tanévben, de van következő tanévi rekordja
|
||||
IF @kovSzervezetId IS NULL
|
||||
SELECT @kovSzervezetId = kov.ID
|
||||
FROM T_SZERVEZET_OSSZES kov
|
||||
WHERE kov.TOROLT = 'F'
|
||||
AND kov.C_INTEZMENYID = @intezmenyId
|
||||
AND kov.C_TANEVID = @kovetkezoTanevId
|
||||
AND kov.ELOZOTANEVIREKORDID = @szervezetId;
|
||||
|
||||
-- ha a következő tanévben már létezik azonos névvel és azonosítóval
|
||||
IF @kovSzervezetId IS NULL
|
||||
SELECT @kovSzervezetId = kov.ID
|
||||
FROM T_SZERVEZET_OSSZES kov
|
||||
WHERE kov.TOROLT = 'F'
|
||||
AND kov.C_INTEZMENYID = @intezmenyId
|
||||
AND kov.C_TANEVID = @kovetkezoTanevId
|
||||
AND EXISTS(
|
||||
SELECT *
|
||||
FROM T_SZERVEZET_OSSZES akt
|
||||
WHERE akt.TOROLT = 'F'
|
||||
AND akt.C_AZONOSITO = kov.C_AZONOSITO
|
||||
AND akt.C_NEV = kov.C_NEV
|
||||
AND akt.C_INTEZMENYID = @intezmenyId
|
||||
AND akt.C_TANEVID = @aktTanevId
|
||||
AND akt.ID = @szervezetId
|
||||
);
|
||||
|
||||
IF @parentSzerverzetId IS NULL
|
||||
SELECT @parentSzerverzetId = C_PARENTSZERVEZETID
|
||||
FROM T_SZERVEZET_OSSZES
|
||||
WHERE TOROLT = 'F'
|
||||
AND C_INTEZMENYID = @intezmenyId
|
||||
AND C_TANEVID = @aktTanevId
|
||||
AND ID = @szervezetId;
|
||||
|
||||
SELECT @insertColList = ISNULL(@insertColList + ', ', '') + insertColname FROM fnGetFollowUpColumnMapping ('C_PARENTSZERVEZETID', 'T_SZERVEZET') ORDER BY insertColName;
|
||||
SELECT @selectColList = ISNULL(@selectColList + ', ', '') + selectColname FROM fnGetFollowUpColumnMapping ('C_PARENTSZERVEZETID', 'T_SZERVEZET') ORDER BY insertColName;
|
||||
SELECT @updateColList = ISNULL(@updateColList + ', ', '') + insertColname + ' = ' + updateColName FROM fnGetFollowUpColumnMapping ('C_PARENTSZERVEZETID', 'T_SZERVEZET') WHERE updateColName > '' ORDER BY insertColName;
|
||||
|
||||
IF @parentSzerverzetId IS NOT NULL
|
||||
EXEC uspFollowUpSzervezet @intezmenyId, @aktTanevId, @kovetkezoTanevId, @parentSzerverzetId;
|
||||
|
||||
IF @kovszervezetId IS NULL
|
||||
SET @sql = '
|
||||
INSERT INTO T_SZERVEZET_OSSZES(' + @insertColList + ', C_PARENTSZERVEZETID)
|
||||
SELECT ' + @selectColList + ', te.ID AS C_PARENTSZERVEZETID
|
||||
FROM T_SZERVEZET_OSSZES s
|
||||
LEFT JOIN T_SZERVEZET_OSSZES te ON te.ELOZOTANEVIREKORDID = s.C_PARENTSZERVEZETID AND te.TOROLT = ''F''
|
||||
WHERE s.ID = @szervezetId
|
||||
AND s.TOROLT = ''F''
|
||||
AND NOT EXISTS(SELECT * FROM T_SZERVEZET_OSSZES sz WHERE sz.ELOZOTANEVIREKORDID = s.ID AND sz.TOROLT = ''F'')'
|
||||
ELSE
|
||||
SET @sql = '
|
||||
UPDATE t
|
||||
SET
|
||||
' + @updateColList + ', C_PARENTSZERVEZETID = ps.ID
|
||||
FROM T_SZERVEZET_OSSZES t
|
||||
INNER JOIN T_SZERVEZET_OSSZES s ON s.ID = t.ELOZOTANEVIREKORDID AND s.TOROLT = ''F''
|
||||
LEFT JOIN T_SZERVEZET_OSSZES ps ON ps.ELOZOTANEVIREKORDID = s.C_PARENTSZERVEZETID AND ps.TOROLT = ''F''
|
||||
WHERE t.ID = @kovszervezetId
|
||||
AND s.ID = @szervezetId
|
||||
AND t.TOROLT = ''F'''
|
||||
|
||||
--print @sql
|
||||
EXEC sp_executesql
|
||||
@sql, N'
|
||||
@intezmenyId int
|
||||
,@aktTanevId int
|
||||
,@kovetkezoTanevId int
|
||||
,@szervezetId int
|
||||
,@kovszervezetId int'
|
||||
,@intezmenyId = @intezmenyId
|
||||
,@aktTanevId = @aktTanevId
|
||||
,@kovetkezoTanevId = @kovetkezoTanevId
|
||||
,@szervezetId = @szervezetId
|
||||
,@kovszervezetId = @kovszervezetId
|
||||
|
||||
END
|
||||
GO
|
Loading…
Add table
Add a link
Reference in a new issue