This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View File

@@ -0,0 +1,218 @@
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET]...';
GO
CREATE TABLE [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET] (
[ID] INT IDENTITY (1, 1) NOT NULL,
[C_KOZPONTITAVOLLETID] INT NOT NULL,
[C_SZINKRONIZALVA] DATETIME NULL,
[C_IKTATOTTDOKUMENTUMID] INT NOT NULL,
[C_INTEZMENYID] INT NOT NULL,
[C_TANEVID] INT NOT NULL,
[TOROLT] CHAR (1) NOT NULL,
[SERIAL] INT NOT NULL,
[LASTCHANGED] DATETIME NOT NULL,
[CREATED] DATETIME NOT NULL,
[MODIFIER] INT NULL,
[CREATOR] INT NULL,
[ELOZOTANEVIREKORDID] INT NULL,
[NNID] INT NULL,
CONSTRAINT [PK_IktatottDokumentumTavollet] PRIMARY KEY CLUSTERED ([ID] ASC)
);
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[NCI_IktatottDokumentumTavollet_IktatottDokumentumId]...';
GO
CREATE NONCLUSTERED INDEX [NCI_IktatottDokumentumTavollet_IktatottDokumentumId]
ON [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET]([C_IKTATOTTDOKUMENTUMID] ASC);
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[NCI_IktatottDokumentumTavollet_IntezmenyId]...';
GO
CREATE NONCLUSTERED INDEX [NCI_IktatottDokumentumTavollet_IntezmenyId]
ON [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET]([C_INTEZMENYID] ASC);
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[NCI_IktatottDokumentumTavollet_TanevId]...';
GO
CREATE NONCLUSTERED INDEX [NCI_IktatottDokumentumTavollet_TanevId]
ON [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET]([C_TANEVID] ASC);
GO
PRINT N'Creating unnamed constraint on [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET]...';
GO
ALTER TABLE [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET]
ADD DEFAULT ((0)) FOR [SERIAL];
GO
PRINT N'Creating unnamed constraint on [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET]...';
GO
ALTER TABLE [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET]
ADD DEFAULT (getdate()) FOR [CREATED];
GO
PRINT N'Creating unnamed constraint on [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET]...';
GO
ALTER TABLE [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET]
ADD DEFAULT ('F') FOR [TOROLT];
GO
PRINT N'Creating unnamed constraint on [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET]...';
GO
ALTER TABLE [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET]
ADD DEFAULT (getdate()) FOR [LASTCHANGED];
GO
PRINT N'Creating [dbo].[FK_IktatottDokumentumTavollet_IktatottDokumentumId_REF_IktatottDokumentum]...';
GO
ALTER TABLE [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET] WITH NOCHECK
ADD CONSTRAINT [FK_IktatottDokumentumTavollet_IktatottDokumentumId_REF_IktatottDokumentum] FOREIGN KEY ([C_IKTATOTTDOKUMENTUMID]) REFERENCES [dbo].[T_IKTATOTTDOKUMENTUM] ([ID]);
GO
PRINT N'Creating [dbo].[FK_IktatottDokumentumTavollet_IntezmenyId_REF_Intezmeny]...';
GO
ALTER TABLE [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET] WITH NOCHECK
ADD CONSTRAINT [FK_IktatottDokumentumTavollet_IntezmenyId_REF_Intezmeny] FOREIGN KEY ([C_INTEZMENYID]) REFERENCES [dbo].[T_INTEZMENY] ([ID]);
GO
PRINT N'Creating [dbo].[FK_IktatottDokumentumTavollet_TanevId_REF_Tanev]...';
GO
ALTER TABLE [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET] WITH NOCHECK
ADD CONSTRAINT [FK_IktatottDokumentumTavollet_TanevId_REF_Tanev] FOREIGN KEY ([C_TANEVID]) REFERENCES [dbo].[T_TANEV] ([ID]);
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[ID].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord egyedi azonosítója, generált IDENTITY(1, 1) (kivéve altáblák esetén, ahol a főtábla ID-ját kapja)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_IKTATOTTDOKUMENTUMTAVOLLET', @level2type = N'COLUMN', @level2name = N'ID';
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[C_INTEZMENYID].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'Az intézmény ID-ja, amihez a rekord tartozik', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_IKTATOTTDOKUMENTUMTAVOLLET', @level2type = N'COLUMN', @level2name = N'C_INTEZMENYID';
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[C_TANEVID].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A tanév ID-ja, amihez a rekord tartozik', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_IKTATOTTDOKUMENTUMTAVOLLET', @level2type = N'COLUMN', @level2name = N'C_TANEVID';
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[TOROLT].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord logikai töröltségét jelző flag', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_IKTATOTTDOKUMENTUMTAVOLLET', @level2type = N'COLUMN', @level2name = N'TOROLT';
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[SERIAL].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'Minden C# kódból történő módosítás esetén eggyel nő az értéke. Hogy párhuzamos módosítás esetnán ne íródjanak felül az adatok', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_IKTATOTTDOKUMENTUMTAVOLLET', @level2type = N'COLUMN', @level2name = N'SERIAL';
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[LASTCHANGED].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N' A rekord utolsó módosításának időpontja', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_IKTATOTTDOKUMENTUMTAVOLLET', @level2type = N'COLUMN', @level2name = N'LASTCHANGED';
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[CREATED].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord létrehozásának időpontja ', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_IKTATOTTDOKUMENTUMTAVOLLET', @level2type = N'COLUMN', @level2name = N'CREATED';
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[MODIFIER].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekordot utoljára módosító felhasználó ID-ja', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_IKTATOTTDOKUMENTUMTAVOLLET', @level2type = N'COLUMN', @level2name = N'MODIFIER';
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[CREATOR].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekordot létrehozó felhasználó ID-ja', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_IKTATOTTDOKUMENTUMTAVOLLET', @level2type = N'COLUMN', @level2name = N'CREATOR';
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[ELOZOTANEVIREKORDID].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord előző tanévben lévő ID-ja', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_IKTATOTTDOKUMENTUMTAVOLLET', @level2type = N'COLUMN', @level2name = N'ELOZOTANEVIREKORDID';
GO
PRINT N'Creating [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET].[NNID].[MS_Description]...';
GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord régi, Neptun Naplóban lévő ID-ja. (migrációval került be)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_IKTATOTTDOKUMENTUMTAVOLLET', @level2type = N'COLUMN', @level2name = N'NNID';
GO
PRINT N'Checking existing data against newly created constraints';
GO
ALTER TABLE [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET] WITH CHECK CHECK CONSTRAINT [FK_IktatottDokumentumTavollet_IktatottDokumentumId_REF_IktatottDokumentum];
ALTER TABLE [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET] WITH CHECK CHECK CONSTRAINT [FK_IktatottDokumentumTavollet_IntezmenyId_REF_Intezmeny];
ALTER TABLE [dbo].[T_IKTATOTTDOKUMENTUMTAVOLLET] WITH CHECK CHECK CONSTRAINT [FK_IktatottDokumentumTavollet_TanevId_REF_Tanev];
GO
PRINT N'Update complete.';
GO

View File

@@ -0,0 +1,113 @@
CREATE PROCEDURE [dbo].[sp_AddNewSchemaViews]
@IntezmenyId int,
@IntezmenyAzonosito nvarchar(30),
@TanevId int
AS
BEGIN
DECLARE @IntezmenyTemplate nvarchar(50) = 'KR_'+@IntezmenyAzonosito
DECLARE @Schema nvarchar(50) = @IntezmenyTemplate+'_Schema'
DECLARE @SchemaUser nvarchar(50) = @IntezmenyTemplate + '_user'
DECLARE @AktivTanev nvarchar(500)
DECLARE @Sql nvarchar(max)
IF OBJECT_ID('['+@Schema+'].T_IKTATOTTDOKUMENTUMTAVOLLET', 'V') IS NOT NULL BEGIN
SET @Sql = N'EXEC sp_refreshview ''['+@Schema+'].T_IKTATOTTDOKUMENTUMTAVOLLET'''
EXEC sp_executesql @Sql
IF OBJECT_ID('['+@Schema+'].T_IKTATOTTDOKUMENTUMTAVOLLET_OSSZES', 'V') IS NOT NULL BEGIN
SET @Sql = N'EXEC sp_refreshview ''['+@Schema+'].T_IKTATOTTDOKUMENTUMTAVOLLET_OSSZES'''
EXEC sp_executesql @Sql
END
END
ELSE BEGIN
/* Ha nem létezik a view, akkor létrehozzuk */
IF (SELECT COUNT(1)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'T_IKTATOTTDOKUMENTUMTAVOLLET' AND TABLE_SCHEMA = 'dbo' AND COLUMN_NAME = 'C_TANEVID'
) > 0
BEGIN
SET @AktivTanev = N' C_TANEVID = '+ CAST(@TanevId as nvarchar) +' AND '
END
ELSE
BEGIN
SET @AktivTanev = N''
END
IF (SELECT COUNT(1)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'T_IKTATOTTDOKUMENTUMTAVOLLET' AND TABLE_SCHEMA = 'dbo' AND COLUMN_NAME = 'C_INTEZMENYID'
) > 0
BEGIN
/* T_IKTATOTTDOKUMENTUMTAVOLLET */
SET @Sql = N'CREATE VIEW ['+@Schema+'].T_IKTATOTTDOKUMENTUMTAVOLLET
AS
SELECT *
FROM dbo.T_IKTATOTTDOKUMENTUMTAVOLLET
WHERE '+@AktivTanev+' (TOROLT = ''F'') AND C_INTEZMENYID = '+CAST(@IntezmenyId as nvarchar)
EXECUTE sp_executesql @Sql
/* T_IKTATOTTDOKUMENTUMTAVOLLET_OSSZES */
SET @Sql = N'CREATE VIEW ['+@Schema+'].T_IKTATOTTDOKUMENTUMTAVOLLET_OSSZES
AS
SELECT *
FROM dbo.T_IKTATOTTDOKUMENTUMTAVOLLET
WHERE C_INTEZMENYID = '+CAST(@IntezmenyId as nvarchar)
EXECUTE sp_executesql @Sql
END
ELSE
BEGIN
/* T_IKTATOTTDOKUMENTUMTAVOLLET */
SET @Sql = N'CREATE VIEW ['+@Schema+'].T_IKTATOTTDOKUMENTUMTAVOLLET
AS
SELECT *
FROM dbo.T_IKTATOTTDOKUMENTUMTAVOLLET
WHERE '+@AktivTanev+' (TOROLT = ''F'')'
EXECUTE sp_executesql @Sql
/* T_IKTATOTTDOKUMENTUMTAVOLLET_OSSZES */
SET @Sql = N'CREATE VIEW ['+@Schema+'].T_IKTATOTTDOKUMENTUMTAVOLLET_OSSZES
AS
SELECT *
FROM dbo.T_IKTATOTTDOKUMENTUMTAVOLLET'
EXECUTE sp_executesql @Sql
END
END
END
GO
--------------------
DECLARE intezmenytanevekCursor CURSOR LOCAL FOR
SELECT T_INTEZMENY.ID, T_INTEZMENY.C_AZONOSITO, T_TANEV.ID
FROM T_INTEZMENY
INNER JOIN T_TANEV ON T_TANEV.C_INTEZMENYID = T_INTEZMENY.ID
WHERE T_TANEV.C_AKTIV = 'T' AND T_INTEZMENY.TOROLT = 'F' AND T_TANEV.TOROLT = 'F'
ORDER BY T_INTEZMENY.ID
DECLARE @intezmenyId int, @intezmenyAzonosito nvarchar(30), @tanevId int
OPEN intezmenytanevekCursor
FETCH NEXT FROM intezmenytanevekCursor INTO @intezmenyId, @intezmenyAzonosito, @tanevId
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'INTÉZMÉNY ID: ' + CAST(@intezmenyId AS NVARCHAR(10)) + ', INTÉZMÉNY AZONOSÍTÓ: ' + CAST(@intezmenyAzonosito AS NVARCHAR(30)) + ', TANÉV ID: ' + CAST(@tanevId AS NVARCHAR(10))
EXEC sp_AddNewSchemaViews @IntezmenyId = @intezmenyId, @IntezmenyAzonosito = @intezmenyAzonosito, @TanevId = @tanevId
FETCH NEXT FROM intezmenytanevekCursor INTO @intezmenyId, @intezmenyAzonosito, @tanevId
END
CLOSE intezmenytanevekCursor
DEALLOCATE intezmenytanevekCursor
GO
--------------------
DROP PROCEDURE [dbo].[sp_AddNewSchemaViews]
GO