Project

General

Profile

DB.txt

Luc Tran Van, 10/14/2022 10:35 AM

 
1

    
2
----B1
3
SET NUMERIC_ROUNDABORT OFF
4
GO
5
SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT, QUOTED_IDENTIFIER, ANSI_NULLS ON
6
GO
7
SET XACT_ABORT ON
8
GO
9
SET TRANSACTION ISOLATION LEVEL Serializable
10
GO
11
IF @@ERROR <> 0 SET NOEXEC ON
12
GO
13
BEGIN TRANSACTION
14
GO
15
DECLARE @USER_DOMAIN VARCHAR(100), @BRANCH_CODE VARCHAR(50), @ROLE VARCHAR(100), @DEP_ID VARCHAR(15), @FULLNAME NVARCHAR(500)
16
DECLARE @Role1 INT, @Role2 INT, @BRANCH_ID VARCHAR(15)
17
DECLARE CURR_USER CURSOR LOCAL FOR  
18
SELECT TOP 50 LOWER(TLNANME),BRANCH_CODE,RoleName,SECUR_CODE,TLFullName FROM dbo.TL_USER_V2 tuv  WHERE TLNANME NOT IN (SELECT TLNANME FROM TL_USER)
19
OPEN CURR_USER               
20
FETCH NEXT FROM CURR_USER INTO @USER_DOMAIN,@BRANCH_CODE,@ROLE,@DEP_ID, @FULLNAME
21
WHILE @@FETCH_STATUS = 0        
22
BEGIN
23
SET  @Role1 = (SELECT TOP(1) Id FROM AbpRoles WHERE DisplayName = @ROLE)
24
SET  @BRANCH_ID = (SELECT TOP(1) BRANCH_ID FROM CM_BRANCH WHERE BRANCH_CODE =@BRANCH_CODE)
25
IF(@BRANCH_ID IS NULL OR @BRANCH_ID ='')
26
BEGIN
27
	--ROLLBACK TRANSACTION
28
	PRINT N'Mã đơn vị: ' +@BRANCH_ID +N' không tồn tại trong hệ thống'
29
END	
30
IF(@Role1 IS NULl)
31
BEGIN
32
	--ROLLBACK TRANSACTION
33
	--PRINT N'Mã ROLE: '+ @ROLE +N' không tồn tại trong hệ thống'
34
	SET @Role1 =(SELECT TOP 1 ID FROM AbpRoles WHERE DisplayName='NVMS')
35
END	
36
IF(NOT EXISTS (SELECT * FROM TL_USER WHERE TLNANME = @USER_DOMAIN))
37
BEGIN
38
	--PRINT @USER_DOMAIN
39
	INSERT INTO [TL_USER] ([TLID],[TLNANME],[Password],[TLFullName],[TLSUBBRID],[BRANCH_NAME],[BRANCH_TYPE],[RoleName],[EMAIL],[ADDRESS],[PHONE],[AUTH_STATUS],[MARKER_ID],[AUTH_ID],[APPROVE_DT],[ISAPPROVE],[Birthday],[ISFIRSTTIME],[SECUR_CODE],[AccessFailedCount],[AuthenticationSource],[ConcurrencyStamp],[CreatorUserId],[DeleterUserId],[EmailAddress],[EmailConfirmationCode],[IsActive],[IsDeleted],[IsEmailConfirmed],[IsLockoutEnabled],[IsPhoneNumberConfirmed],[IsTwoFactorEnabled],[LastModifierUserId],[LockoutEndDateUtc],[Name],[NormalizedEmailAddress],[NormalizedUserName],[PasswordResetCode],[PhoneNumber],[ProfilePictureId],[SecurityStamp],[ShouldChangePasswordOnNextLogin],[Surname],[TenantId],[SignInToken],[SignInTokenExpireTimeUtc],[GoogleAuthenticatorKey],[SendActivationEmail],[DEP_ID],[CreationTime],[UamFullName],[UamEmployeeId],[UamCompanyCode],[UamWfDataId],[UamCompanyName],[UamJobTitle])
40
	SELECT NULL,@USER_DOMAIN,N'd41d8cd98f00b204e9800998ecf8427e',@FULLNAME,BRANCH_ID,BRANCH_NAME,BRANCH_TYPE,@ROLE,@USER_DOMAIN+'@vietcapitalbank.com.vn',N'',N'',N'A',N'tscd_hoiso',NULL,N'Jan  1 1900 12:00AM',N'1',N'Jan  1 1900 12:00AM',N'1',NULL,0,NULL,N'1360eb6c-4581-4870-aaf7-a2986428b91d',NULL,NULL,@USER_DOMAIN+'@vietcapitalbank.com.vn',NULL,1,0,1,0,1,0,810,NULL,NULL,@USER_DOMAIN+'@VIETCAPITALBANK.COM.VN',N'ABC',NULL,NULL,NULL,N'QSTE4B7VTYWRQON4JZTJST6QN4PEVVLB',1,NULL,1,NULL,NULL,NULL,0,NULL,N'Jul  4 2021 11:22AM',NULL,NULL,NULL,NULL,NULL,NULL
41
	FROM CM_BRANCH
42
	WHERE BRANCH_CODE = @BRANCH_CODE
43
	INSERT INTO [AbpUserRoles] ([CreationTime],[CreatorUserId],[RoleId],[TenantId],[UserId])
44
	SELECT N'2021-10-06 11:22:39.4900000' AS CreationTime, NULL AS CreatorUserId, @Role1 AS RoleId, 1 AS TenantId, ID AS UserId
45
	FROM TL_USER
46
	WHERE TLNANME = @USER_DOMAIN
47
	UPDATE TL_USER SET SECUR_CODE =@DEP_ID, DEP_ID =@DEP_ID WHERE TLNANME =@USER_DOMAIN
48
END
49
ELSE
50
BEGIN
51
	PRINT 'DA TON TAI'
52
	--UPDATE TL_USER SET TLSUBBRID = @BRANCH_ID, DEP_ID =@DEP_ID WHERE TLNANME = @USER_DOMAIN
53
	--UPDATE AbpUserRoles SET RoleId = @Role1 WHERE ID IN (SELECT TOP(1) A.ID FROM AbpUserRoles A LEFT JOIN TL_USER B ON A.UserId = B.ID WHERE B.TLNANME = @USER_DOMAIN)
54
END
55
UPDATE TL_USER SET  NormalizedUserName = UPPER(TLNANME)
56
FETCH NEXT FROM CURR_USER INTO @USER_DOMAIN,@BRANCH_CODE,@ROLE,@DEP_ID, @FULLNAME
57
END
58
CLOSE CURR_USER              -- Đóng Cursor
59
DEALLOCATE CURR_USER         -- Giải phóng tài nguyên
60
IF @@ERROR <> 0 SET NOEXEC ON
61
GO
62
COMMIT TRANSACTION
63
GO
64
IF @@ERROR <> 0 SET NOEXEC ON
65
GO
66
-- This statement writes to the SQL Server Log so SQL Monitor can show this deployment.
67
IF HAS_PERMS_BY_NAME(N'sys.xp_logevent', N'OBJECT', N'EXECUTE') = 1
68
BEGIN
69
    DECLARE @databaseName AS nvarchar(2048), @eventMessage AS nvarchar(2048)
70
    SET @databaseName = REPLACE(REPLACE(DB_NAME(), N'\', N'\\'), N'"', N'\"')
71
    SET @eventMessage = N'Redgate SQL Compare: { "deployment": { "description": "Redgate SQL Compare deployed to ' + @databaseName + N'", "database": "' + @databaseName + N'" }}'
72
    EXECUTE sys.xp_logevent 55000, @eventMessage
73
END
74
GO
75
DECLARE @Success AS BIT
76
SET @Success = 1
77
SET NOEXEC OFF
78
IF (@Success = 1) PRINT 'The database update succeeded'
79
ELSE BEGIN
80
	IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION
81
	PRINT 'The database update failed'
82
END
83
GO
84
--B2
85
UPDATE TL_SYS_ROLE_MAPPING SET IS_MAIN = 1
86
-- B3
87
SELECT COUNT(*) FROM TL_SYS_ROLE_MAPPING --93
88

    
89
SELECT COUNT(*) FROM AbpUserRoles aur --3829
90

    
91
INSERT INTO TL_SYS_ROLE_MAPPING (ROLE_OLD, ROLE_NEW, TLNAME, DEP_ID, BRANCH_ID, EFF_DATE, EXP_DATE, NOTES, AUTH_STATUS, RECORD_STATUS, MAKER_ID, CHECKER_ID, IS_MAIN)
92
SELECT tu.RoleName, ar.DisplayName, tu.TLNANME,tu.DEP_ID,tu.TLSUBBRID,NULL,NULL,NULL,'A',1,'Admin','Admin',0
93
FROM TL_USER tu
94
JOIN AbpUserRoles aur ON tu.ID = aur.UserId
95
JOIN AbpRoles ar ON aur.RoleId = ar.Id
96

    
97
SELECT COUNT(*) FROM TL_SYS_ROLE_MAPPING
98

    
99
INSERT INTO AbpUserRoles (CreationTime, CreatorUserId, RoleId, TenantId, UserId)
100
SELECT DISTINCT SYSDATETIME(),678 AS CreatorUserId,ar.ID AS RoleId,0,B.ID AS UserId
101
FROM TL_SYS_ROLE_MAPPING A
102
JOIN TL_USER B ON B.TLNANME =A.TLNAME
103
LEFT JOIN AbpUserRoles aur  ON B.ID = aur.UserId
104
LEFT JOIN AbpRoles ar ON ar.DisplayName = A.ROLE_NEW
105
WHERE A.IS_MAIN = 1 AND ar.Id <> aur.RoleId
106

    
107

    
108
SELECT UserId,RoleId 
109
FROM AbpUserRoles 
110
WHERE UserId
111
IN(SELECT UserId FROM AbpUserRoles GROUP BY UserId
112
HAVING COUNT(RoleId)>2)