Project

General

Profile

gen_user_dvcm_qlts.txt

Luc Tran Van, 04/05/2023 03:58 PM

 
1
BEGIN TRANSACTION
2

    
3
DECLARE @FULLNAME NVARCHAR(MAX) = N'Đỗ Nguyên Khang ,Trần Thị Tuyết Hoa ,Nguyễn Văn Điền ,Nguyễn Thanh Phúc ,Nguyễn Thiện Tùng ,Vũ Công Huân ,Bùi Văn Dũng ,Nguyễn Duy Trí ,Võ Tấn Phương ,Phan Anh Tiến ,Mai Văn Quân'
4
DECLARE @EMP_CODE VARCHAR(MAX) = N'2021-06046,2020-07085,2017-04015,2018-06032,2018-05001,2019-04102,2017-03059,2019-08005,0000-10759,2022-06032,2017-07006'
5
DECLARE @USER_NAME VARCHAR(MAX) = 'khangdn0500,hoattt0500,diennv,phucnt2,tungnt1,huanvc,dungbv,trind,phuongvt,tienpa0500,quanmv'
6
DECLARE @EMAIL NVARCHAR(MAX) = N'donguyenkhang@vietbank.com.vn,tranthituyethoa1@vietbank.com.vn,nguyenvandien@vietbank.com.vn,nguyenthanhphuc@vietbank.com.vn,nguyenthientung@vietbank.com.vn,vuconghuan@vietbank.com.vn,buivandung@vietbank.com.vn,nguyenduytri@vietbank.com.vn,votanphuong@vietbank.com.vn,phananhtien@vietbank.com.vn,maivanquan@vietbank.com.vn'
7
DECLARE @BRANCH_CODE VARCHAR(MAX) = '0500,0500,0500,0500,0500,0500,0500,0500,0500,0500,0500'
8
DECLARE @DEP_ID_IMP VARCHAR(MAX) = '05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22'
9
DECLARE @ROLE VARCHAR(MAX) = 'DVCM,DVCM,DVCM,DVCM,DVCM,DVCM,DVCM,DVCM,DVCM,DVCM,DVCM'
10

    
11
--DELETE IMPORT_USER_QLTS
12
--INSERT INTO IMPORT_USER_QLTS (TLNAME, FULLNAME, EMAIL, EMP_CODE, BRANCH_CODE, DEP_CODE, ROLE_NAME)
13
SELECT C.TLNAME,A.FULLNAME,D.EMAIL,B.EMP_CODE,E.BRANCH_CODE,F.DEP_CODE,G.ROLE_NAME
14
FROM (
15
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS FULLNAME
16
FROM STRING_SPLIT(@FULLNAME,','))A
17
LEFT JOIN (
18
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS EMP_CODE
19
    FROM STRING_SPLIT(@EMP_CODE,','))B ON A.ID = B.ID
20
LEFT JOIN (
21
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS TLNAME
22
    FROM STRING_SPLIT(@USER_NAME,',')) C ON A.ID = C.ID
23
LEFT JOIN (
24
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS EMAIL
25
    FROM STRING_SPLIT(@EMAIL,','))D ON A.ID = D.ID
26
LEFT JOIN (
27
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS BRANCH_CODE
28
    FROM STRING_SPLIT(@BRANCH_CODE,','))E ON A.ID = E.ID
29
LEFT JOIN (
30
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS DEP_CODE
31
    FROM STRING_SPLIT(@DEP_ID_IMP,','))F ON A.ID = F.ID
32
LEFT JOIN (
33
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS ROLE_NAME
34
    FROM STRING_SPLIT(@ROLE,','))G ON A.ID = G.ID
35

    
36
DECLARE @INS_MESSAGE NVARCHAR(1000)         
37
DECLARE @INS_FULLNAME NVARCHAR(1000)
38
DECLARE @INS_EMP_CODE VARCHAR(1000)        
39
DECLARE @INS_USER_NAME VARCHAR(1000) 
40
DECLARE @INS_EMAIL NVARCHAR(1000)
41
DECLARE @INS_BRANCH_CODE VARCHAR(1000) 
42
DECLARE @INS_DEP_CODE VARCHAR(1000)   
43
DECLARE @INS_ROLE VARCHAR(1000)
44

    
45

    
46
DECLARE cur CURSOR FAST_FORWARD READ_ONLY LOCAL FOR
47
--SELECT TLNAME
48
--      ,FULLNAME
49
--      ,EMAIL
50
--      ,EMP_CODE
51
--      ,BRANCH_CODE
52
--      ,DEP_CODE
53
--      ,ROLE_NAME FROM IMPORT_USER_QLTS 
54
--	  where TLNAME = 'khoidt'
55
SELECT C.TLNAME,A.FULLNAME,D.EMAIL,B.EMP_CODE,E.BRANCH_CODE,F.DEP_CODE,G.ROLE_NAME
56
FROM (
57
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS FULLNAME
58
FROM STRING_SPLIT(@FULLNAME,','))A
59
LEFT JOIN (
60
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS EMP_CODE
61
    FROM STRING_SPLIT(@EMP_CODE,','))B ON A.ID = B.ID
62
LEFT JOIN (
63
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS TLNAME
64
    FROM STRING_SPLIT(@USER_NAME,',')) C ON A.ID = C.ID
65
LEFT JOIN (
66
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS EMAIL
67
    FROM STRING_SPLIT(@EMAIL,','))D ON A.ID = D.ID
68
LEFT JOIN (
69
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS BRANCH_CODE
70
    FROM STRING_SPLIT(@BRANCH_CODE,','))E ON A.ID = E.ID
71
LEFT JOIN (
72
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS DEP_CODE
73
    FROM STRING_SPLIT(@DEP_ID_IMP,','))F ON A.ID = F.ID
74
LEFT JOIN (
75
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID, VALUE AS ROLE_NAME
76
    FROM STRING_SPLIT(@ROLE,','))G ON A.ID = G.ID
77
OPEN cur
78

    
79
FETCH NEXT FROM cur INTO @INS_USER_NAME,@INS_FULLNAME,@INS_EMAIL,@INS_EMP_CODE,@INS_BRANCH_CODE,@INS_DEP_CODE,@INS_ROLE
80

    
81
WHILE @@FETCH_STATUS = 0 BEGIN
82
    DECLARE @MESSAGE NVARCHAR(MAX)
83

    
84
    IF(EXISTS(SELECT 1 FROM TL_USER tu WHERE tu.TLNANME = @INS_USER_NAME))
85
    BEGIN
86
        SET @MESSAGE = ISNULL(@INS_USER_NAME,'') + N' Tên đăng nhập đã tồn tại'
87
    END
88
    
89
    IF(NOT EXISTS(SELECT 1 FROM AbpRoles WHERE DisplayName = @INS_ROLE))
90
    BEGIN
91
        SET @MESSAGE = ISNULL(@INS_ROLE,'') + N' Quyền không tồn tại trong hệ thống'
92
    END
93
    
94
    IF(NOT EXISTS(SELECT 1 FROM CM_BRANCH cb WHERE cb.BRANCH_CODE = @INS_BRANCH_CODE))
95
    BEGIN
96
        SET @MESSAGE = ISNULL(@INS_BRANCH_CODE,'') + N' ĐƠN VỊ không tồn tại trong hệ thống'
97
    END
98
    
99
    IF(NOT EXISTS(SELECT 1 FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @INS_DEP_CODE) AND @INS_DEP_CODE IS NOT NULL AND @INS_DEP_CODE <> '')
100
    BEGIN
101
        SET @MESSAGE = ISNULL(@INS_DEP_CODE,'') + N' PHÒNG BAN không tồn tại trong hệ thống'
102
    END
103
    
104
    
105
    IF(@MESSAGE IS NOT NULL AND @MESSAGE <> '')
106
    BEGIN
107
				--DEALLOCATE cur
108
				--ROLLBACK TRANSACTION
109
				SELECT @MESSAGE as Result
110
				--RETURN '-1'
111
    END
112
	IF(NOT EXISTS(SELECT 1 FROM TL_USER WHERE TLNANME = @INS_USER_NAME))
113
    BEGIN
114
			DECLARE @BRANCH_ID VARCHAR(15), @DEP_ID VARCHAR(15), @DEP_CODE VARCHAR(100)
115
    
116
			SELECT @BRANCH_ID = cb.BRANCH_ID FROM CM_BRANCH cb WHERE cb.BRANCH_CODE = @INS_BRANCH_CODE
117
			SELECT @DEP_ID = cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @INS_DEP_CODE
118
			SET @DEP_CODE = @INS_DEP_CODE
119
    
120
			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
121
			(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)
122
        
123
			INSERT INTO CM_EMPLOYEE_LOG (EMP_CODE, EMP_NAME, BRANCH_CODE, DEP_CODE, USER_DOMAIN, POS_CODE, POS_NAME, CREATE_DT)
124
			VALUES (@INS_EMP_CODE, @INS_FULLNAME, @INS_BRANCH_CODE, @INS_DEP_CODE, @INS_USER_NAME, '', N'', GETDATE());
125
    
126
			INSERT INTO AbpUserRoles (CreationTime, CreatorUserId, RoleId, TenantId, UserId)
127
			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));
128
  	END
129

    
130
	FETCH NEXT FROM cur INTO @INS_USER_NAME,@INS_FULLNAME,@INS_EMAIL,@INS_EMP_CODE,@INS_BRANCH_CODE,@INS_DEP_CODE,@INS_ROLE
131

    
132

    
133

    
134
END
135

    
136
CLOSE cur
137
DEALLOCATE cur
138
COMMIT TRANSACTION