Project

General

Profile

GEN_USER_XDCB_PTML_31072023.txt

Luc Tran Van, 08/01/2023 10:49 AM

 
1

    
2
BEGIN TRANSACTION
3
DECLARE @FULLNAME NVARCHAR(MAX) = N'Nguyễn Đức Anh,Đỗ Nguyên Khang,Đỗ 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,Nguyễn Đức Anh ,Nguyễn Thị Thu Ngân ,Đặng Giang Sang ,Nguyễn Văn Thịnh ,Trương Hồ Hoàng Chương ,Huỳnh Thị Thanh Thảo'
4
DECLARE @EMP_CODE VARCHAR(MAX) = N'2022-05039,2021-06046,2021-06046,2020-07085,2017-04015,2018-06032,2018-05001,2019-04102,2017-03059,2019-08005,0000-10759,2022-06032,2017-07006,2022-05039,2021-07004,2020-05049,2020-06018,2021-06068,2018-10045'
5
DECLARE @EMAIL NVARCHAR(MAX) = N'nguyenducanh@vietbank.com.vn,donguyenkhang@vietbank.com.vn,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,nguyenducanh@vietbank.com.vn,nguyenthithungan@vietbank.com.vn,danggiangsang@vietbank.com.vn,nguyenvanthinh1@gmail.com.vn,truonghohoangchuong@vietbank.com.vn,huynhthithanhthao@vietbank.com.vn'
6
DECLARE @BRANCH_CODE VARCHAR(MAX) = N'0500,0500,0500,0500,0500,0500,0500,0500,0500,0500,0500,0500,0500,0500,0500,0500,0500,0500,0500'
7
DECLARE @DEP_ID_IMP VARCHAR(MAX) = N'05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22,05N22'
8
DECLARE @ROLE VARCHAR(MAX) =  N'TBP_PTML,TBP_XDCB,XDCB,XDCB,XDCB,XDCB,XDCB,XDCB,XDCB,XDCB,XDCB,XDCB,XDCB,PTML,PTML,PTML,PTML,PTML,PTML'
9
DECLARE @USER_NAME VARCHAR(MAX) = 'anhnd0500,khangdn0500,khangdn0500,hoattt0500,diennv,phucnt2,tungnt1,huanvc,dungbv,trind,phuongvt,tienpa0500,quanmv,anhnd0500,nganntt10500,sangdg,thinhnv0500,chuongthh0500,thaohtt1'
10
--DELETE AbpUserRoles WHERE UserId IN (SELECT TU.ID FROM TL_USER TU WHERE TU.TLNANME IN (SELECT * FROM STRING_SPLIT(@USER_NAME,',')))
11
--DELETE CM_EMPLOYEE_LOG WHERE USER_DOMAIN IN (SELECT * FROM STRING_SPLIT(@USER_NAME,','))
12
--DELETE TL_USER WHERE TLNANME IN (SELECT * FROM STRING_SPLIT(@USER_NAME,','))
13
--DELETE IMPORT_USER_QLTS
14
--INSERT INTO IMPORT_USER_QLTS (TLNAME, FULLNAME, EMAIL, EMP_CODE, BRANCH_CODE, DEP_CODE, ROLE_NAME)
15
--SELECT * FROM TL_USER CE WHERE CE.TLNANME IN (SELECT * FROM STRING_SPLIT(@USER_NAME,','))
16
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))
17
INSERT INTO @TBL_IMPORT
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
SELECT LTRIM(RTRIM(A.TLNAME)) AS TLNAME
41
      ,LTRIM(RTRIM(A.FULLNAME)) AS FULLNAME
42
      ,LTRIM(RTRIM(A.EMAIL)) AS EMAIL
43
      ,LTRIM(RTRIM(A.EMP_CODE)) AS EMP_CODE
44
      ,LTRIM(RTRIM(B.BRANCH_ID)) AS BRANCH_ID
45
      ,LTRIM(RTRIM(C.DEP_ID)) AS DEP_ID
46
      ,LTRIM(RTRIM(A.ROLE_NAME)) AS ROLE_NAME
47
      ,LTRIM(RTRIM(D.POS_NAME)) AS POS_NAME
48
      ,LTRIM(RTRIM(D.POS_CODE)) AS POS_CODE
49
FROM @TBL_IMPORT A
50
LEFT JOIN CM_BRANCH B ON A.BRANCH_CODE = B.BRANCH_CODE
51
LEFT JOIN CM_DEPARTMENT C ON A.DEP_CODE = C.DEP_CODE
52
LEFT JOIN CM_EMPLOYEE D ON A.EMP_CODE = D.EMP_CODE
53
--LEFT JOIN CM_BRANCH C ON A.BRANCH_CODE = C.BRANCH_CODE
54
--LEFT JOIN TL_USER B ON A.TLNAME = B.TLNANME
55
--LEFT JOIN CM_BRANCH D ON B.TLSUBBRID = D.BRANCH_ID
56
--WHERE A.ROLE_NAME <> B.RoleName OR A.BRANCH_CODE <> D.BRANCH_CODE
57
DECLARE @INS_MESSAGE NVARCHAR(1000)         
58
DECLARE @INS_FULLNAME NVARCHAR(1000)
59
DECLARE @INS_EMP_CODE VARCHAR(1000)        
60
DECLARE @INS_USER_NAME VARCHAR(1000) 
61
DECLARE @INS_EMAIL NVARCHAR(1000)
62
DECLARE @INS_BRANCH_CODE VARCHAR(1000) 
63
DECLARE @INS_DEP_CODE VARCHAR(1000)   
64
DECLARE @INS_ROLE VARCHAR(1000)
65
DECLARE @INS_POSNAME NVARCHAR(200)
66
DECLARE @INS_POSCODE NVARCHAR(200)
67
DECLARE cur CURSOR FAST_FORWARD READ_ONLY LOCAL FOR
68
SELECT A.*,D.POS_NAME,D.POS_CODE
69
FROM @TBL_IMPORT A
70
LEFT JOIN CM_EMPLOYEE D ON A.EMP_CODE = D.EMP_CODE
71
OPEN cur
72
FETCH NEXT FROM cur INTO @INS_USER_NAME,@INS_FULLNAME,@INS_EMAIL,@INS_EMP_CODE,@INS_BRANCH_CODE,@INS_DEP_CODE,@INS_ROLE,@INS_POSNAME,@INS_POSCODE
73
WHILE @@FETCH_STATUS = 0 BEGIN
74
   
75
	--IF(NOT EXISTS(SELECT 1 FROM TL_USER WHERE TLNANME = @INS_USER_NAME))
76
    --BEGIN
77
			DECLARE @BRANCH_ID VARCHAR(15), @DEP_ID VARCHAR(15), @DEP_CODE VARCHAR(100)
78
    
79
			SELECT @BRANCH_ID = cb.BRANCH_ID FROM CM_BRANCH cb WHERE cb.BRANCH_CODE = @INS_BRANCH_CODE
80
			SELECT @DEP_ID = cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @INS_DEP_CODE
81
			SET @DEP_CODE = @INS_DEP_CODE
82
--      if(@INS_ROLE = 'DVCM')
83
--      BEGIN
84
--          SET @BRANCH_ID = 'DV0001'
85
--          SET @DEP_ID = 'DEP000000000027'
86
--          SET @DEP_CODE = '05J03'
87
--      END
88
      
89
      IF(NOT EXISTS(SELECT 1 FROM TL_USER WHERE TLNANME = @INS_USER_NAME))
90
      BEGIN     
91
    			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
92
    			(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)        
93
          INSERT INTO CM_EMPLOYEE_LOG (EMP_CODE, EMP_NAME, BRANCH_CODE, DEP_CODE, USER_DOMAIN, POS_CODE, POS_NAME, CREATE_DT)
94
			    VALUES (@INS_EMP_CODE, @INS_FULLNAME, @INS_BRANCH_CODE, @INS_DEP_CODE, @INS_USER_NAME, @INS_POSCODE, @INS_POSNAME, GETDATE());
95
     END
96

    
97
    
98
--			INSERT INTO AbpUserRoles (CreationTime, CreatorUserId, RoleId, TenantId, UserId)
99
--			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));
100
  	--END
101
    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)))
102
    BEGIN
103
      	INSERT INTO AbpUserRoles (CreationTime, CreatorUserId, RoleId, TenantId, UserId)
104
			  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));
105
    END
106
  
107
  SET @BRANCH_ID = NULL
108
  SET @DEP_ID = NULL
109
  SET @DEP_CODE = NULL
110
  SET @INS_POSNAME = NULL
111
  SET @INS_POSCODE = NULL
112
	FETCH NEXT FROM cur INTO @INS_USER_NAME,@INS_FULLNAME,@INS_EMAIL,@INS_EMP_CODE,@INS_BRANCH_CODE,@INS_DEP_CODE,@INS_ROLE,@INS_POSNAME,@INS_POSCODE
113
END
114
CLOSE cur
115
DEALLOCATE cur
116
COMMIT TRANSACTION
117