Project

General

Profile

user_05O04.txt

Luc Tran Van, 04/12/2023 02:27 PM

 
1
BEGIN TRANSACTION
2
DECLARE @FULLNAME NVARCHAR(MAX) = N'Huỳnh Đăng Nguyện ,Bạch Tuấn Hợp ,Trần Việt Quốc Anh'
3
DECLARE @EMP_CODE VARCHAR(MAX) = N'2022-10011,2021-01020,2018-05076'
4
DECLARE @EMAIL NVARCHAR(MAX) = N'huynhdangnguyen@vietbank.com.vn,bachtuanhop@vietbank.com.vn,tranvietquocanh@vietbank.com.vn'
5
DECLARE @BRANCH_CODE VARCHAR(MAX) = N'0500,0500,0500'
6
DECLARE @DEP_ID_IMP VARCHAR(MAX) = N'05O04,05O04,05O04'
7
DECLARE @ROLE VARCHAR(MAX) =  N'NVTT,NVTT,GDDV'
8
DECLARE @USER_NAME VARCHAR(MAX) = 'nguyenhd0500,hopbt0500,anhtvq'
9
--DELETE IMPORT_USER_QLTS
10
--INSERT INTO IMPORT_USER_QLTS (TLNAME, FULLNAME, EMAIL, EMP_CODE, BRANCH_CODE, DEP_CODE, ROLE_NAME)
11
--SELECT * FROM TL_USER CE WHERE CE.TLNANME IN (SELECT * FROM STRING_SPLIT(@USER_NAME,','))
12
--DECLARE @TBL_IMPORT TABLE(TLNAME VARCHAR(MAX),FULLNAME NVARCHAR(MAX),EMAIL NVARCHAR(MAX),EMP_CODE NVARCHAR(MAX),BRANCH_CODE NVARCHAR(MAX),DEP_CODE NVARCHAR(MAX),ROLE_NAME NVARCHAR(MAX))
13
--INSERT INTO @TBL_IMPORT
14
SELECT C.TLNAME,A.FULLNAME,D.EMAIL,B.EMP_CODE,E.BRANCH_CODE,F.DEP_CODE,G.ROLE_NAME
15
FROM (
16
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS FULLNAME
17
FROM STRING_SPLIT(@FULLNAME,','))A
18
LEFT JOIN (
19
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS EMP_CODE
20
    FROM STRING_SPLIT(@EMP_CODE,','))B ON A.ID = B.ID
21
LEFT JOIN (
22
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS TLNAME
23
    FROM STRING_SPLIT(@USER_NAME,',')) C ON A.ID = C.ID
24
LEFT JOIN (
25
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS EMAIL
26
    FROM STRING_SPLIT(@EMAIL,','))D ON A.ID = D.ID
27
LEFT JOIN (
28
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS BRANCH_CODE
29
    FROM STRING_SPLIT(@BRANCH_CODE,','))E ON A.ID = E.ID
30
LEFT JOIN (
31
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS DEP_CODE
32
    FROM STRING_SPLIT(@DEP_ID_IMP,','))F ON A.ID = F.ID
33
LEFT JOIN (
34
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS ROLE_NAME
35
    FROM STRING_SPLIT(@ROLE,','))G ON A.ID = G.ID
36

    
37
--SELECT A.TLNAME,A.FULLNAME,A.ROLE_NAME,C.BRANCH_NAME,B.TLNANME,B.TLFullName,B.RoleName,D.BRANCH_NAME
38
--FROM @TBL_IMPORT A
39
--LEFT JOIN CM_BRANCH C ON A.BRANCH_CODE = C.BRANCH_CODE
40
--LEFT JOIN TL_USER B ON A.TLNAME = B.TLNANME
41
--LEFT JOIN CM_BRANCH D ON B.TLSUBBRID = D.BRANCH_ID
42
--WHERE A.ROLE_NAME <> B.RoleName OR A.BRANCH_CODE <> D.BRANCH_CODE
43

    
44
DECLARE @INS_MESSAGE NVARCHAR(1000)         
45
DECLARE @INS_FULLNAME NVARCHAR(1000)
46
DECLARE @INS_EMP_CODE VARCHAR(1000)        
47
DECLARE @INS_USER_NAME VARCHAR(1000) 
48
DECLARE @INS_EMAIL NVARCHAR(1000)
49
DECLARE @INS_BRANCH_CODE VARCHAR(1000) 
50
DECLARE @INS_DEP_CODE VARCHAR(1000)   
51
DECLARE @INS_ROLE VARCHAR(1000)
52
DECLARE cur CURSOR FAST_FORWARD READ_ONLY LOCAL FOR
53
--SELECT TLNAME
54
--      ,FULLNAME
55
--      ,EMAIL
56
--      ,EMP_CODE
57
--      ,BRANCH_CODE
58
--      ,DEP_CODE
59
--      ,ROLE_NAME FROM IMPORT_USER_QLTS 
60
--	  where TLNAME = 'khoidt'
61
SELECT C.TLNAME,A.FULLNAME,D.EMAIL,B.EMP_CODE,E.BRANCH_CODE,F.DEP_CODE,G.ROLE_NAME
62
FROM (
63
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS FULLNAME
64
FROM STRING_SPLIT(@FULLNAME,','))A
65
LEFT JOIN (
66
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS EMP_CODE
67
    FROM STRING_SPLIT(@EMP_CODE,','))B ON A.ID = B.ID
68
LEFT JOIN (
69
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS TLNAME
70
    FROM STRING_SPLIT(@USER_NAME,',')) C ON A.ID = C.ID
71
LEFT JOIN (
72
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS EMAIL
73
    FROM STRING_SPLIT(@EMAIL,','))D ON A.ID = D.ID
74
LEFT JOIN (
75
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS BRANCH_CODE
76
    FROM STRING_SPLIT(@BRANCH_CODE,','))E ON A.ID = E.ID
77
LEFT JOIN (
78
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS DEP_CODE
79
    FROM STRING_SPLIT(@DEP_ID_IMP,','))F ON A.ID = F.ID
80
LEFT JOIN (
81
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS ROLE_NAME
82
    FROM STRING_SPLIT(@ROLE,','))G ON A.ID = G.ID
83
OPEN cur
84
FETCH NEXT FROM cur INTO @INS_USER_NAME,@INS_FULLNAME,@INS_EMAIL,@INS_EMP_CODE,@INS_BRANCH_CODE,@INS_DEP_CODE,@INS_ROLE
85
WHILE @@FETCH_STATUS = 0 BEGIN
86
   
87
	IF(NOT EXISTS(SELECT 1 FROM TL_USER WHERE TLNANME = @INS_USER_NAME))
88
    BEGIN
89
			DECLARE @BRANCH_ID VARCHAR(15), @DEP_ID VARCHAR(15), @DEP_CODE VARCHAR(100)
90
    
91
			SELECT @BRANCH_ID = cb.BRANCH_ID FROM CM_BRANCH cb WHERE cb.BRANCH_CODE = @INS_BRANCH_CODE
92
			SELECT @DEP_ID = cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @INS_DEP_CODE
93
			SET @DEP_CODE = @INS_DEP_CODE
94

    
95
--      if(@INS_ROLE = 'DVCM')
96
--      BEGIN
97
--          SET @BRANCH_ID = 'DV0001'
98
--          SET @DEP_ID = 'DEP000000000027'
99
--          SET @DEP_CODE = '05J03'
100
--      END
101
          
102
			INSERT INTO TL_USER ( TLID, TLNANME, Password, TLFullName, TLSUBBRID,  BRANCH_TYPE,  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, UserCurrentLanguage, EMAILTEMP) VALUES
103
			(NULL, @INS_USER_NAME, N'AQAAAAEAACcQAAAAEMF7sJx/2L/X7bkO6YmSRfr8d7Na/RURfT4tDZYFIDMaik/cy+y7PSfq48Btaka28A==', @INS_FULLNAME, @BRANCH_ID, '',  @INS_EMAIL, N'', '', 'A', 'bichnn', NULL, GETDATE(), '1', GETDATE(), '1', @DEP_ID, 0, NULL, N'fd2b0a93-3081-460d-b969-b5a75f96c0de', NULL, NULL, @INS_EMAIL, NULL, CONVERT(bit, 'True'), CONVERT(bit, 'False'), CONVERT(bit, 'True'), CONVERT(bit, 'False'), CONVERT(bit, 'True'), CONVERT(bit, 'False'), 259, NULL, NULL, @INS_EMAIL, @INS_USER_NAME, NULL, NULL, NULL, N'QSTE4B7VTYWRQON4JZTJST6QN4PEVVLB', CONVERT(bit, 'False'), NULL, 1, NULL, NULL, NULL, CONVERT(bit, 'False'), @DEP_ID, GETDATE(), NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
104
        
105
			INSERT INTO CM_EMPLOYEE_LOG (EMP_CODE, EMP_NAME, BRANCH_CODE, DEP_CODE, USER_DOMAIN, POS_CODE, POS_NAME, CREATE_DT)
106
			VALUES (@INS_EMP_CODE, @INS_FULLNAME, @INS_BRANCH_CODE, @INS_DEP_CODE, @INS_USER_NAME, '', N'', GETDATE());
107
    
108
			INSERT INTO AbpUserRoles (CreationTime, CreatorUserId, RoleId, TenantId, UserId)
109
			VALUES (SYSDATETIME(), 0, (SELECT TOP 1 ar.Id FROM AbpRoles ar WHERE ar.DisplayName = @INS_ROLE), 1, (SELECT MAX(ID) FROM TL_USER tu WHERE tu.TLNANME = @INS_USER_NAME));
110

    
111
  	END
112

    
113
    IF(NOT EXISTS(SELECT 1 FROM AbpUserRoles AUR WHERE AUR.RoleId = (SELECT TOP 1 ar.Id FROM AbpRoles ar WHERE ar.DisplayName = @INS_ROLE) AND AUR.UserId = (SELECT MAX(ID) FROM TL_USER tu WHERE tu.TLNANME = @INS_USER_NAME)))
114
    BEGIN
115
      	INSERT INTO AbpUserRoles (CreationTime, CreatorUserId, RoleId, TenantId, UserId)
116
			  VALUES (SYSDATETIME(), 0, (SELECT TOP 1 ar.Id FROM AbpRoles ar WHERE ar.DisplayName = @INS_ROLE), 1, (SELECT MAX(ID) FROM TL_USER tu WHERE tu.TLNANME = @INS_USER_NAME));
117
    END
118
  
119
  SET @BRANCH_ID = NULL
120
  SET @DEP_ID = NULL
121
  SET @DEP_CODE = NULL
122

    
123
	FETCH NEXT FROM cur INTO @INS_USER_NAME,@INS_FULLNAME,@INS_EMAIL,@INS_EMP_CODE,@INS_BRANCH_CODE,@INS_DEP_CODE,@INS_ROLE
124
END
125
CLOSE cur
126
DEALLOCATE cur
127
COMMIT TRANSACTION