Project

General

Profile

Import_user.txt

Luc Tran Van, 04/07/2023 04:53 PM

 
1
BEGIN TRANSACTION
2
--DECLARE @FULLNAME NVARCHAR(MAX) = N''
3
--DECLARE @EMP_CODE VARCHAR(MAX) = N''
4
--DECLARE @EMAIL NVARCHAR(MAX) = N''
5
--DECLARE @BRANCH_CODE VARCHAR(MAX) = N''
6
--DECLARE @DEP_ID_IMP VARCHAR(MAX) = N''
7
--DECLARE @ROLE VARCHAR(MAX) =  N''
8
DECLARE @FULLNAME NVARCHAR(MAX) = N'Huỳnh Kim Thuỷ,Trần Thị Thể,Phạm Di Luân,Lâm Bích Hà, Võ thị Tuyết Nhi,Nguyễn Văn Thuyên,Phan Nguyễn Hữu Nhàn'
9
DECLARE @EMP_CODE VARCHAR(MAX) = N'2019-05017,2018-05003,2019-10041,2019-06039,2020-09017,2019-04076,1101-14001'
10
DECLARE @EMAIL NVARCHAR(MAX) = N'huynhkimthuy@vietbank.com.vn,tranthithe@vietbank.com.vn,phamdiluan@vietbank.com.vn,lambichha@vietbank.com.vn,vothituyetnhi@vietbank.com.vn,nguyenvanthuyen@vietbank.com.vn,phannguyenhuunhan@vietbank.com.vn'
11
DECLARE @BRANCH_CODE VARCHAR(MAX) = N'1401,1401,1401,1602,1602,1602,1600'
12
DECLARE @DEP_ID_IMP VARCHAR(MAX) = N',,,,,,'
13
DECLARE @ROLE VARCHAR(MAX) =  N'NVTT,NVTT,GDDV,NVTT,NVTT,GDDV,DVCM'
14
DECLARE @USER_NAME VARCHAR(MAX) = 'thuyhk,thett,luanpd1401,hald,nhivtt1602,thuyennv,nhanpnh'
15
--DELETE IMPORT_USER_QLTS
16
--INSERT INTO IMPORT_USER_QLTS (TLNAME, FULLNAME, EMAIL, EMP_CODE, BRANCH_CODE, DEP_CODE, ROLE_NAME)
17
SELECT * FROM TL_USER CE WHERE CE.TLNANME IN (SELECT * FROM STRING_SPLIT(@USER_NAME,','))
18
SELECT C.TLNAME,A.FULLNAME,D.EMAIL,B.EMP_CODE,E.BRANCH_CODE,F.DEP_CODE,G.ROLE_NAME
19
FROM (
20
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS FULLNAME
21
FROM STRING_SPLIT(@FULLNAME,','))A
22
LEFT JOIN (
23
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS EMP_CODE
24
    FROM STRING_SPLIT(@EMP_CODE,','))B ON A.ID = B.ID
25
LEFT JOIN (
26
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS TLNAME
27
    FROM STRING_SPLIT(@USER_NAME,',')) C ON A.ID = C.ID
28
LEFT JOIN (
29
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS EMAIL
30
    FROM STRING_SPLIT(@EMAIL,','))D ON A.ID = D.ID
31
LEFT JOIN (
32
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS BRANCH_CODE
33
    FROM STRING_SPLIT(@BRANCH_CODE,','))E ON A.ID = E.ID
34
LEFT JOIN (
35
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS DEP_CODE
36
    FROM STRING_SPLIT(@DEP_ID_IMP,','))F ON A.ID = F.ID
37
LEFT JOIN (
38
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS ROLE_NAME
39
    FROM STRING_SPLIT(@ROLE,','))G ON A.ID = G.ID
40
DECLARE @INS_MESSAGE NVARCHAR(1000)         
41
DECLARE @INS_FULLNAME NVARCHAR(1000)
42
DECLARE @INS_EMP_CODE VARCHAR(1000)        
43
DECLARE @INS_USER_NAME VARCHAR(1000) 
44
DECLARE @INS_EMAIL NVARCHAR(1000)
45
DECLARE @INS_BRANCH_CODE VARCHAR(1000) 
46
DECLARE @INS_DEP_CODE VARCHAR(1000)   
47
DECLARE @INS_ROLE VARCHAR(1000)
48
DECLARE cur CURSOR FAST_FORWARD READ_ONLY LOCAL FOR
49
--SELECT TLNAME
50
--      ,FULLNAME
51
--      ,EMAIL
52
--      ,EMP_CODE
53
--      ,BRANCH_CODE
54
--      ,DEP_CODE
55
--      ,ROLE_NAME FROM IMPORT_USER_QLTS 
56
--	  where TLNAME = 'khoidt'
57
SELECT C.TLNAME,A.FULLNAME,D.EMAIL,B.EMP_CODE,E.BRANCH_CODE,F.DEP_CODE,G.ROLE_NAME
58
FROM (
59
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS FULLNAME
60
FROM STRING_SPLIT(@FULLNAME,','))A
61
LEFT JOIN (
62
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS EMP_CODE
63
    FROM STRING_SPLIT(@EMP_CODE,','))B ON A.ID = B.ID
64
LEFT JOIN (
65
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS TLNAME
66
    FROM STRING_SPLIT(@USER_NAME,',')) C ON A.ID = C.ID
67
LEFT JOIN (
68
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS EMAIL
69
    FROM STRING_SPLIT(@EMAIL,','))D ON A.ID = D.ID
70
LEFT JOIN (
71
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS BRANCH_CODE
72
    FROM STRING_SPLIT(@BRANCH_CODE,','))E ON A.ID = E.ID
73
LEFT JOIN (
74
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS DEP_CODE
75
    FROM STRING_SPLIT(@DEP_ID_IMP,','))F ON A.ID = F.ID
76
LEFT JOIN (
77
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS ROLE_NAME
78
    FROM STRING_SPLIT(@ROLE,','))G ON A.ID = G.ID
79
OPEN cur
80
FETCH NEXT FROM cur INTO @INS_USER_NAME,@INS_FULLNAME,@INS_EMAIL,@INS_EMP_CODE,@INS_BRANCH_CODE,@INS_DEP_CODE,@INS_ROLE
81
WHILE @@FETCH_STATUS = 0 BEGIN
82
   
83
	IF(NOT EXISTS(SELECT 1 FROM TL_USER WHERE TLNANME = @INS_USER_NAME))
84
    BEGIN
85
			DECLARE @BRANCH_ID VARCHAR(15), @DEP_ID VARCHAR(15), @DEP_CODE VARCHAR(100)
86
    
87
			SELECT @BRANCH_ID = cb.BRANCH_ID FROM CM_BRANCH cb WHERE cb.BRANCH_CODE = @INS_BRANCH_CODE
88
			SELECT @DEP_ID = cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @INS_DEP_CODE
89
			SET @DEP_CODE = @INS_DEP_CODE
90

    
91
      if(@INS_ROLE = 'DVCM')
92
      BEGIN
93
          SET @BRANCH_ID = 'DV0001'
94
          SET @DEP_ID = 'DEP000000000027'
95
          SET @DEP_CODE = '05J03'
96
      END
97
          
98
			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
99
			(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)
100
        
101
			INSERT INTO CM_EMPLOYEE_LOG (EMP_CODE, EMP_NAME, BRANCH_CODE, DEP_CODE, USER_DOMAIN, POS_CODE, POS_NAME, CREATE_DT)
102
			VALUES (@INS_EMP_CODE, @INS_FULLNAME, @INS_BRANCH_CODE, @INS_DEP_CODE, @INS_USER_NAME, '', N'', GETDATE());
103
    
104
			INSERT INTO AbpUserRoles (CreationTime, CreatorUserId, RoleId, TenantId, UserId)
105
			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));
106

    
107
  	END
108

    
109
    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)))
110
    BEGIN
111
      	INSERT INTO AbpUserRoles (CreationTime, CreatorUserId, RoleId, TenantId, UserId)
112
			  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));
113
    END
114
  
115
  SET @BRANCH_ID = NULL
116
  SET @DEP_ID = NULL
117
  SET @DEP_CODE = NULL
118

    
119
	FETCH NEXT FROM cur INTO @INS_USER_NAME,@INS_FULLNAME,@INS_EMAIL,@INS_EMP_CODE,@INS_BRANCH_CODE,@INS_DEP_CODE,@INS_ROLE
120
END
121
CLOSE cur
122
DEALLOCATE cur
123
COMMIT TRANSACTION