Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -681,7 +681,6 @@
<Build Include="Stored Procedures\Adf\AdfMergeUserEmploymentResponsibility.sql" />
<Build Include="Stored Procedures\Adf\AdfMergeUserGroupTypeInputValidation.sql" />
<Build Include="Stored Procedures\Adf\AdfMergeUserHistory.sql" />
<Build Include="Stored Procedures\Adf\AdfMergeUserHistoryAttribute.sql" />
<Build Include="Stored Procedures\Adf\AdfMergeUserHistoryType.sql" />
<Build Include="Stored Procedures\Adf\AdfMergeUserPasswordValidationToke.sql" />
<Build Include="Stored Procedures\Adf\AdfMergeUserProfileData.sql" />
Expand All @@ -692,6 +691,7 @@
<None Include="Scripts\Post-Deploy\Scripts\TD-6148-ADFtableData.sql" />
<Build Include="Tables\Adf\ADFSyncMetadata.sql" />
<Build Include="Stored Procedures\Adf\proc_UpdateLastSyncTimeAdf.sql" />
<Build Include="Stored Procedures\Adf\AdfMergeUserGroupReporter.sql" />
<Build Include="Tables\Databricks\ReportHistory.sql" />
</ItemGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,5 @@ VALUES
('ELFHtoLH', 'JobRoleTbl', '1900-01-01'),
('ELFHtoLH', 'userTermsAndConditionsTBL', '1900-01-01'),
('ELFHtoLH', 'medicalCouncilTBL', '1900-01-01'),
('ELFHtoLH', 'staffGroupTBL', '1900-01-01')
('ELFHtoLH', 'staffGroupTBL', '1900-01-01'),
('ELFHtoLH', 'usergroupreportertbl', '1900-01-01')
Original file line number Diff line number Diff line change
Expand Up @@ -7,44 +7,56 @@
--
-- 04-11-2025 Sarathlal Initial Revision
-------------------------------------------------------------------------------
CREATE PROCEDURE [AdfMergeUserAdminLocation]
CREATE PROCEDURE [dbo].[AdfMergeUserAdminLocation]
@UserAdminLocationList dbo.UserAdminLocationType READONLY
AS
BEGIN
SET NOCOUNT ON;

MERGE [elfh].[userAdminLocationTBL] AS target
USING @UserAdminLocationList AS source
ON target.[userId] = source.[userId]
AND target.[adminLocationId] = source.[adminLocationId] -- composite key match
-- Deduplicate source first
;WITH DedupedSource AS (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY userId, adminLocationId, deleted
ORDER BY amendDate DESC, createdDate DESC
) AS rn
FROM @UserAdminLocationList
),
CleanSource AS (
SELECT * FROM DedupedSource WHERE rn = 1
)

MERGE elfh.userAdminLocationTBL AS target
USING CleanSource AS source
ON target.userId = source.userId
AND target.adminLocationId = source.adminLocationId
AND target.deleted = source.deleted -- IMPORTANT!

WHEN MATCHED THEN
UPDATE SET
target.[deleted] = source.[deleted],
target.[amendUserId] = source.[amendUserId],
target.[amendDate] = source.[amendDate],
target.[createdUserId] = source.[createdUserId],
target.[createdDate] = source.[createdDate]
target.amendUserId = source.amendUserId,
target.amendDate = source.amendDate,
target.createdUserId = source.createdUserId,
target.createdDate = source.createdDate

WHEN NOT MATCHED BY TARGET THEN
INSERT (
[userId],
[adminLocationId],
[deleted],
[amendUserId],
[amendDate],
[createdUserId],
[createdDate]
userId,
adminLocationId,
deleted,
amendUserId,
amendDate,
createdUserId,
createdDate
)
VALUES (
source.[userId],
source.[adminLocationId],
source.[deleted],
source.[amendUserId],
source.[amendDate],
source.[createdUserId],
source.[createdDate]
source.userId,
source.adminLocationId,
source.deleted,
source.amendUserId,
source.amendDate,
source.createdUserId,
source.createdDate
);

END
GO
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@
--
-- 04-11-2025 Sarathlal Initial Revision
-------------------------------------------------------------------------------
CREATE PROCEDURE [AdfMergeUserEmploymentReference]
CREATE PROCEDURE [dbo].[AdfMergeUserEmploymentReference]
@UserEmploymentReferenceList dbo.UserEmploymentReferenceType READONLY
AS
BEGIN
SET NOCOUNT ON;

SET IDENTITY_INSERT [elfh].[userEmploymentReferenceTBL] ON;
ALTER TABLE [elfh].[userEmploymentReferenceTBL] NOCHECK CONSTRAINT ALL;
MERGE [elfh].[userEmploymentReferenceTBL] AS target
USING @UserEmploymentReferenceList AS source
ON target.[userEmploymentReferenceId] = source.[userEmploymentReferenceId]
Expand Down Expand Up @@ -47,5 +48,6 @@ BEGIN
source.[amendDate]
);
SET IDENTITY_INSERT [elfh].[userEmploymentReferenceTBL] OFF;
ALTER TABLE [elfh].[userEmploymentReferenceTBL] NOCHECK CONSTRAINT ALL;
END
GO
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
-------------------------------------------------------------------------------
-- Author Sarathlal
-- Created 25-11-2025
-- Purpose ELFH-LH Data sync
--
-- Modification History
--
-- 25-11-2025 Sarathlal Initial Revision
-------------------------------------------------------------------------------
CREATE PROCEDURE [dbo].[AdfMergeUserGroupReporter]
@UserGroupReporterList [dbo].[UserGroupReporterType] READONLY
AS
BEGIN
SET NOCOUNT ON;
SET IDENTITY_INSERT [elfh].[userGroupReporterTBL] ON;
ALTER TABLE elfh.userGroupReporterTBL NOCHECK CONSTRAINT FK_userGroupReporterTBL_userGroupTBL;
MERGE [elfh].[userGroupReporterTBL] AS target
USING @UserGroupReporterList AS source
ON target.[userGroupReporterId] = source.[userGroupReporterId]

WHEN MATCHED THEN
UPDATE SET
target.[userId] = source.[userId],
target.[userGroupId] = source.[userGroupId],
target.[deleted] = source.[deleted],
target.[amendUserId] = source.[amendUserId],
target.[amendDate] = source.[amendDate]

WHEN NOT MATCHED BY TARGET THEN
INSERT (
[userGroupReporterId],
[userId],
[userGroupId],
[deleted],
[amendUserId],
[amendDate]
)
VALUES (
source.[userGroupReporterId],
source.[userId],
source.[userGroupId],
source.[deleted],
source.[amendUserId],
source.[amendDate]
);
SET IDENTITY_INSERT [elfh].[userGroupReporterTBL] OFF;
ALTER TABLE elfh.userGroupReporterTBL CHECK CONSTRAINT FK_userGroupReporterTBL_userGroupTBL;
END
GO

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ BEGIN

-- Enable identity insert if userPasswordValidationTokenId is an IDENTITY column
SET IDENTITY_INSERT [elfh].[userPasswordValidationTokenTBL] ON;
ALTER TABLE [elfh].[userPasswordValidationTokenTBL] NOCHECK CONSTRAINT ALL;
ALTER TABLE [hub].[User] NOCHECK CONSTRAINT ALL;
MERGE [elfh].[userPasswordValidationTokenTBL] AS target
USING @userPasswordValidationTokenList AS source
ON target.userPasswordValidationTokenId = source.userPasswordValidationTokenId
Expand Down Expand Up @@ -56,5 +58,7 @@ BEGIN

-- Disable identity insert
SET IDENTITY_INSERT [elfh].[userPasswordValidationTokenTBL] OFF;
ALTER TABLE [hub].[User] CHECK CONSTRAINT ALL;
ALTER TABLE [elfh].[userPasswordValidationTokenTBL] CHECK CONSTRAINT ALL;
END
GO
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,6 @@ CREATE TYPE dbo.UserReportingUserType AS TABLE
[AmendDate] DATETIMEOFFSET
);
GO
CREATE TYPE UserHistoryAttributeType AS TABLE
(
[userHistoryAttributeId] INT,
[userHistoryId] INT,
[attributeId] INT,
[intValue] INT NULL,
[textValue] NVARCHAR(1000) NULL,
[booleanValue] BIT NULL,
[dateValue] DATETIMEOFFSET NULL,
[deleted] BIT,
[amendUserId] INT,
[amendDate] DATETIMEOFFSET
);
GO
CREATE TYPE UserEmploymentResponsibilityType AS TABLE
(
[userEmploymentResponsibilityId] INT,
Expand Down Expand Up @@ -584,6 +570,16 @@ CREATE TYPE dbo.MedicalCouncil AS TABLE
amendDate datetimeoffset(7)
);
GO
CREATE TYPE [dbo].[UserGroupReporterType] AS TABLE
(
[userGroupReporterId] INT,
[userId] INT,
[userGroupId] INT,
[deleted] BIT,
[amendUserId] INT,
[amendDate] DATETIMEOFFSET(7)
);
GO
CREATE PROCEDURE [dbo].[AdfMergeattribute]
@attributeList dbo.Attribute READONLY -- Table-valued parameter
AS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ BEGIN
SET NOCOUNT ON;

SET IDENTITY_INSERT [elfh].[userEmploymentTBL] ON;
ALTER TABLE [elfh].[userEmploymentTBL] NOCHECK CONSTRAINT ALL;
ALTER TABLE [hub].[User] NOCHECK CONSTRAINT ALL;
MERGE [elfh].[userEmploymentTBL] AS target
USING @userEmploymentList AS source
ON target.userEmploymentId = source.userEmploymentId
Expand Down Expand Up @@ -73,5 +75,7 @@ BEGIN

-- Disable identity insert
SET IDENTITY_INSERT [elfh].[userEmploymentTBL] OFF;
ALTER TABLE [elfh].[userEmploymentTBL] NOCHECK CONSTRAINT ALL;
ALTER TABLE [hub].[User] NOCHECK CONSTRAINT ALL;
END
GO
Loading