Project

General

Profile

new 1.txt

Luc Tran Van, 06/16/2025 10:50 AM

 
1
ALTER PROCEDURE dbo.TL_USER_Search
2
@p_TLID	varchar(15)  = NULL,
3
@p_TLNANME	varchar(15)  = NULL,
4
@p_Password	varchar(50)  = NULL,
5
@p_TLFullName	nvarchar(200)  = NULL,
6
@p_TLSUBBRID	varchar(15)  = NULL,
7
@p_BRANCH_NAME	nvarchar(200)  = NULL,
8
@p_BRANCH_TYPE	varchar(5)  = NULL,
9
@p_RoleName	varchar(20)  = NULL,
10
@p_EMAIL	varchar(50)  = NULL,
11
@p_ADDRESS	varchar(100)  = NULL,
12
@p_PHONE	varchar(15)  = NULL,
13
@p_AUTH_STATUS	varchar(1)  = NULL,
14
@p_MARKER_ID	varchar(12)  = NULL,
15
@p_AUTH_ID	varchar(12)  = NULL,
16
@p_APPROVE_DT	VARCHAR(20) = NULL,
17
@p_ISAPPROVE	varchar(1)  = NULL,
18
@p_Birthday	VARCHAR(20) = NULL,
19
@p_ISFIRSTTIME	varchar(1)  = NULL,
20
@p_SECUR_CODE	varchar(50)  = NULL,
21
@p_DEP_ID	varchar(15)  = NULL,
22
@p_TOP	INT = 10,
23
@P_LEVEL varchar(10) = NULL
24
AS
25

    
26
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
27
SET NOCOUNT ON; 
28
	--Validation is here
29
/*
30
	DECLARE @ERRORSYS NVARCHAR(15) = '' 
31
	IF ( [NOT] EXISTS ( SELECT * FROM [TABLE] WHERE  [CONDITION] ))
32
		 SET @ERRORSYS = ''
33
	IF @ERRORSYS <> '' 
34
	BEGIN
35
		SELECT ErrorCode Result, ''  CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
36
		RETURN '0'
37
	END */
38

    
39
BEGIN -- PAGING
40

    
41
BEGIN TRANSACTION
42

    
43
-- Toannv
44
DECLARE @BRANCH_ID VARCHAR(15)
45
declare @tmp table(BRANCH_ID varchar(15))
46
declare @tmp_AUTH table(BRANCH_ID varchar(15))
47
IF(@p_SECUR_CODE IS NOT NULL AND @p_SECUR_CODE <> '')
48
BEGIN
49
	SET @BRANCH_ID =ISNULL((SELECT BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID=@p_SECUR_CODE),'')
50
	SET @p_TLSUBBRID = @BRANCH_ID
51
END
52

    
53
insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_TLSUBBRID)
54
INSERT INTO @tmp_AUTH SELECT @p_TLSUBBRID
55
---- INSERT KIÊM NHIỆM ĐƠN VỊ
56
INSERT INTO @tmp_AUTH 
57
    SELECT  TM.BRANCH_ID
58
		FROM dbo.SYS_PERMISSIONS_PAGE_FOR_USER TM 
59
		WHERE (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
60
			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
61
      AND TLNAME =@p_MARKER_ID 
62
    	AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
63
---- INSERT KIÊM NHIỆM ĐƠN VỊ
64
IF(@p_SECUR_CODE IS NOT NULL AND @p_SECUR_CODE <> '') SET @p_DEP_ID = @p_SECUR_CODE
65
IF(@p_DEP_ID IS NOT NULL AND @p_DEP_ID <> '') SET @p_SECUR_CODE = @p_DEP_ID
66
--IF(@p_MARKER_ID IS NULL OR @p_MARKER_ID ='')
67
--BEGIN
68
--	SET @p_MARKER_ID ='sangnm1'
69
--END
70

    
71
-----------------BAODNQ 17/11/2022 : BẢNG TẠM LƯU DEP_ID---------------------
72
DECLARE @t_DEP_ID_TMP TABLE(DEP_ID VARCHAR(15))
73
DECLARE @p_DEP_ID_TMP VARCHAR(15)
74

    
75
---------------NẾU CÓ TRUYỀN SECUR_CODE, LẤY RA NHỮNG DEP_ID THỎA ĐK:---------------
76
---------------1.PHÒNG BAN TRUYỀN VÀO, 2.PHÒNG BAN CON CỦA PHÒNG BAN TRUYỀN VÀO, 
77
---------------3.PHÒNG BAN ĐANG DC USER_LOGIN KIÊM NHIỆM GDDV, 4.PHÒNG BAN CON CỦA PHÒNG BAN DC USER_LOGIN KIÊM NHIỆM
78
IF(@p_SECUR_CODE IS NOT NULL AND @p_SECUR_CODE <> '')
79
BEGIN
80
	SET @p_DEP_ID_TMP = @p_SECUR_CODE
81

    
82
	PRINT @p_DEP_ID_TMP
83

    
84
	INSERT INTO @t_DEP_ID_TMP
85
	--------TH1 : DEP_ID TRUYỀN VÀO-----------
86
		SELECT @p_DEP_ID_TMP
87
		UNION
88
	--------TH2 : PHÒNG BAN CON CỦA DEP_ID TRUYỀN VÀO---------
89
		SELECT DEP_ID FROM CM_DEPARTMENT CD WHERE CD.FATHER_ID = @p_DEP_ID_TMP
90
		UNION
91
	--------TH3 : PHÒNG BAN ĐANG DC USER_LOGIN KIÊM NHIỆM GDDV-----------
92
    SELECT  TM.BRANCH_ID
93
		FROM dbo.SYS_PERMISSIONS_PAGE_FOR_USER TM
94
		WHERE (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
95
			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
96
      AND TLNAME =@p_MARKER_ID AND TM.RoleDisplayName = 'GDDV'
97
    	AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
98
		UNION
99
	---------TH4 : PHÒNG BAN CON CỦA PHÒNG BAN ĐANG DC USER_LOGIN KIÊM NHIỆM GDDV-----------
100
--		SELECT CDF.DEP_ID FROM TL_SYS_ROLE_MAPPING TSMF 
101
--		INNER JOIN CM_DEPARTMENT CDF ON CDF.FATHER_ID = TSMF.DEP_ID
102
--		WHERE TSMF.TLNAME = @p_MARKER_ID
103
--			AND CONVERT(DATE,GETDATE(),103) >= TSMF.EFF_DATE 
104
--			AND CONVERT(DATE,GETDATE(),103) <= TSMF.EXP_DATE
105
--    	AND A.AUTH_STATUS = 'A' AND A.RECORD_STATUS = '1'
106
    SELECT  CDF.DEP_ID
107
		FROM dbo.SYS_PERMISSIONS_PAGE_FOR_USER TM
108
		INNER JOIN CM_DEPARTMENT CDF ON CDF.FATHER_ID = TM.DEP_ID
109
		WHERE (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
110
			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
111
      AND TLNAME =@p_MARKER_ID
112
    	AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
113
END
114
-------------------ENDBAODNQ 17/11/2022--------------------
115

    
116
IF(@p_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
117
-- PAGING BEGIN
118
	SELECT A.ID
119
        ,A.TLNANME
120
        ,A.TLFullName
121
        ,A.TLSUBBRID
122
        ,A.BRANCH_TYPE
123
        --,A.RoleName
124
        ,A.EMAIL
125
        ,A.ADDRESS
126
        ,A.PHONE
127
        ,A.SECUR_CODE
128
        ,A.PhoneNumber
129
        ,A.DEP_ID
130
		,D.BRANCH_NAME
131
		,A.EmailAddress
132
        , B.AUTH_STATUS_NAME,D.BRANCH_ID, D.BRANCH_CODE,
133
			DE.DEP_NAME,DE.DEP_CODE,
134
			dbo.FN_GET_CHINHANH(D.BRANCH_ID,'KV') KHU_VUC,
135
			dbo.FN_GET_CHINHANH(D.BRANCH_ID,'CN') CHI_NHANH, 
136
			D.BRANCH_NAME PGD, D.TAX_NO,E.POS_NAME, E.EMP_CODE,
137
			--STUFF( (select ',' + R.[Name] FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') RoleName2
138
			T.RoleName2 AS RoleName
139
			, CMA.ACC_NUM, CMA.ACC_NAME, CMA.ACC_TYPE,
140
			D.BRANCH_NAME AS BR_NAME, D.BRANCH_CODE + '-'+ D.BRANCH_NAME AS BR_FULL_NAME,
141
		    DE.DEP_CODE +'-'+ DE.DEP_NAME AS DP_FULL_NAME,
142
			K.DVDM_ID AS KHOI_ID, K.DVDM_CODE AS KHOI_CODE, K.DVDM_NAME AS KHOI_NAME
143
	-- SELECT END
144
	FROM TL_USER A
145
		INNER JOIN CM_AUTH_STATUS B ON B.AUTH_STATUS = A.AUTH_STATUS
146
		LEFT JOIN CM_BRANCH D ON  A.TLSUBBRID = D.BRANCH_ID
147
		LEFT JOIN CM_DEPARTMENT DE ON A.DEP_ID = DE.DEP_ID
148
		--LEFT JOIN AbpUserRoles UR  ON A.ID = UR.UserId
149
		--LEFT JOIN AbpRoles R ON R.Id = UR.RoleId
150
		-- GIANT 16/09/2021
151
		LEFT JOIN CM_EMPLOYEE_LOG E ON A.TLNANME = E.USER_DOMAIN
152
		LEFT JOIN CM_ACCOUNT_PAY CMA ON A.TLNANME = CMA.REF_ID
153
--		INNER JOIN
154
--		(SELECT A2.ID,
155
--			(SELECT stuff((SELECT ',' + CONVERT(VARCHAR(MAX),R1.[DisplayName])
156
--			FROM TL_USER A1
157
--				LEFT JOIN AbpUserRoles UR1  ON A1.ID = UR1.UserId
158
--				LEFT JOIN AbpRoles R1 ON R1.Id = UR1.RoleId
159
--			WHERE A1.ID=A2.ID
160
--			FOR XML PATH ('')
161
--			), 1, 1, '')) AS [RoleName2]
162
--		FROM TL_USER A2
163
--		GROUP BY A2.ID) T ON T.ID=A.ID
164
    
165
    OUTER APPLY
166
    (
167
        SELECT STRING_AGG(R1.DisplayName,',') RoleName2 FROM  AbpUserRoles UR1  
168
				LEFT JOIN AbpRoles R1 ON R1.Id = UR1.RoleId
169
        WHERE UR1.UserId = A.ID
170
    ) T 
171
		LEFT JOIN CM_DVDM K ON DE.KHOI_ID = K.DVDM_ID AND K.IS_KHOI = '1'
172
	 WHERE 1 = 1
173
		AND (A.TLID LIKE '%' + @p_TLID + '%' OR  @p_TLID IS NULL OR @p_TLID = '')
174
		AND (A.TLNANME LIKE '%' + @p_TLNANME + '%' OR  @p_TLNANME IS NULL OR @p_TLNANME = '')
175
		AND (A.Password LIKE '%' + @p_Password + '%' OR  @p_Password IS NULL OR @p_Password = '')
176
		AND (A.TLFullName LIKE '%' + @p_TLFullName + '%' OR  @p_TLFullName IS NULL OR @p_TLFullName = '')
177
		--AND (A.TLSUBBRID LIKE '%' + @p_TLSUBBRID + '%' OR  @p_TLSUBBRID IS NULL OR @p_TLSUBBRID = '')
178
		AND (A.BRANCH_NAME LIKE '%' + @p_BRANCH_NAME + '%' OR  @p_BRANCH_NAME IS NULL OR @p_BRANCH_NAME = '')
179
		AND (A.BRANCH_TYPE LIKE '%' + @p_BRANCH_TYPE + '%' OR  @p_BRANCH_TYPE IS NULL OR @p_BRANCH_TYPE = '')
180
		AND (A.RoleName IN (SELECT * FROM dbo.wsiSplit(@p_RoleName,',') s) OR  @p_RoleName IS NULL OR @p_RoleName = '')
181
		--AND (
182
		--	(A.DEP_ID LIKE '%' + @p_DEP_ID + '%'
183
		--		--OR (SELECT TOP 1 TRM.DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
184
		--		--	WHERE TRM.TLNAME = A.TLNANME 
185
		--		--	AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
186
		--		--	) LIKE '%' + @p_DEP_ID + '%'
187
		--		----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
188
		--		OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
189
		--					WHERE TRM.TLNAME = A.TLNANME 
190
		--					AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
191
		--					AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
192
		--					AND TRM.DEP_ID = @p_DEP_ID
193
		--			)
194
		--		OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM WHERE 1=1
195
		--					AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
196
		--					AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
197
		--					AND TRM.TLNAME = @p_MARKER_ID)
198
		--		OR (@p_TLSUBBRID <> 'DV0001' AND A.TLSUBBRID =@p_TLSUBBRID)
199
		--		OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
200
		--	)
201
		--	OR (@p_DEP_ID IS NULL OR @p_DEP_ID = '' OR @p_SECUR_CODE IS NULL OR @p_SECUR_CODE ='')
202
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
203
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
204
		--)
205
		--------------BAODNQ 17/11/2022 : CHỈNH SỬA LẠI ĐIỀU KIỆN TÌM KIẾM THEO DEP_ID-------------------
206
		AND(
207
			(EXISTS(SELECT DEP_ID FROM @t_DEP_ID_TMP TMP WHERE TMP.DEP_ID = A.DEP_ID)
208
				OR EXISTS(SELECT 1 FROM SYS_PERMISSIONS_PAGE_FOR_USER TM 
209
							WHERE TM.TLNAME = A.TLNANME 
210
        		  AND  (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
211
        			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
212
							AND TM.DEP_ID  IN (SELECT DEP_ID FROM @t_DEP_ID_TMP)
213
    	        AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
214
					)
215
			)
216
			OR (@p_DEP_ID IS NULL OR @p_DEP_ID = '')
217
		)
218
		-------------ENDBAODNQ----------------------
219
		AND (A.EMAIL LIKE '%' + @p_EMAIL + '%' OR  @p_EMAIL IS NULL OR @p_EMAIL = '')
220
		AND (A.ADDRESS LIKE '%' + @p_ADDRESS + '%' OR  @p_ADDRESS IS NULL OR @p_ADDRESS = '')
221
		AND (A.PHONE LIKE '%' + @p_PHONE + '%' OR  @p_PHONE IS NULL OR @p_PHONE = '')
222
		AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
223
		--AND (A.MARKER_ID LIKE '%' + @p_MARKER_ID + '%' OR  @p_MARKER_ID IS NULL OR @p_MARKER_ID = '')
224
		AND (A.AUTH_ID LIKE '%' + @p_AUTH_ID + '%' OR  @p_AUTH_ID IS NULL OR @p_AUTH_ID = '')
225
		AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
226
		AND (A.ISAPPROVE LIKE '%' + @p_ISAPPROVE + '%' OR  @p_ISAPPROVE IS NULL OR @p_ISAPPROVE = '')
227
		AND (DATEDIFF(DAY,A.Birthday ,CONVERT(DATETIME, @p_Birthday, 103)) = 0 OR  @p_Birthday IS NULL OR @p_Birthday = '')
228
		AND (A.ISFIRSTTIME LIKE '%' + @p_ISFIRSTTIME + '%' OR  @p_ISFIRSTTIME IS NULL OR @p_ISFIRSTTIME = '')
229
--		AND (A.RoleName <> 'DISABLE' OR A.RoleName IS NULL)
230
    AND T.RoleName2 <> 'DISABLE' -- NGUYENTD 22042024_SECRETKEY: CHECK ROLE Ở BẢNG ROLE THAY VÌ BẢNG TL_USER
231
		--AND (
232
		--	(A.SECUR_CODE LIKE '%' + @p_SECUR_CODE + '%'
233
		--		--OR (SELECT TOP 1 TRM.DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
234
		--		--	WHERE TRM.TLNAME = A.TLNANME 
235
		--		--	AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
236
		--		--	) LIKE '%' + @p_SECUR_CODE + '%'
237
		--		----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
238
		--		OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
239
		--					WHERE TRM.TLNAME = A.TLNANME 
240
		--					AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
241
		--					AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
242
		--					AND TRM.DEP_ID = @p_SECUR_CODE
243
		--			)
244
		--		OR (@p_TLSUBBRID <> 'DV0001' AND A.TLSUBBRID =@p_TLSUBBRID)
245
		--		OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
246
		--	) 
247
		--	OR (@p_DEP_ID IS NULL OR @p_DEP_ID = '' OR @p_SECUR_CODE IS NULL OR @p_SECUR_CODE ='')
248
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
249
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
250
		--)
251
		--------------BAODNQ 17/11/2022 : CHỈNH SỬA LẠI ĐIỀU KIỆN TÌM KIẾM THEO SECUR_CODE-------------------
252
		AND(
253
			(EXISTS(SELECT DEP_ID FROM @t_DEP_ID_TMP TMP WHERE TMP.DEP_ID = A.SECUR_CODE)
254
				OR EXISTS(SELECT 1 FROM SYS_PERMISSIONS_PAGE_FOR_USER TM 
255
							WHERE TM.TLNAME = A.TLNANME 
256
        		  AND  (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
257
        			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
258
							AND TM.DEP_ID  IN (SELECT DEP_ID FROM @t_DEP_ID_TMP)
259
    	        AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
260
					)
261
			)
262
			OR (@p_SECUR_CODE IS NULL OR @p_SECUR_CODE = '')
263
		)
264
		--------------ENDBAODNQ-------------------
265
		AND (A.TLNANME != 'admin')
266
		--AND (A.TLSUBBRID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_TLSUBBRID)))
267
		--AND ((@P_LEVEL = 'ALL' AND A.TLSUBBRID IN (SELECT BRANCH_ID from @tmp)
268
		--OR (@P_LEVEL = 'UNIT' AND A.TLSUBBRID = @p_TLSUBBRID)) OR @p_TLSUBBRID = '' OR @p_TLSUBBRID IS NULL
269

    
270
		--)
271
		AND(
272
			(@P_LEVEL = 'ALL'
273
				AND ( EXISTS(SELECT BRANCH_ID from @tmp Tmp WHERE A.TLSUBBRID = Tmp.BRANCH_ID )
274
					--OR (SELECT TOP 1 TRM.BRANCH_ID
275
					--		FROM TL_SYS_ROLE_MAPPING TRM
276
					--		WHERE TRM.TLNAME = A.TLNANME
277
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
278
					--	) IN (SELECT BRANCH_ID from @tmp)
279
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
280
					OR EXISTS(SELECT 1 FROM SYS_PERMISSIONS_PAGE_FOR_USER TM 
281
							WHERE TM.TLNAME = A.TLNANME 
282
        		  AND  (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
283
        			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
284
    	        AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
285
							AND TM.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
286
						)
287
					OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
288
					)
289
			)
290
			OR(@P_LEVEL = 'UNIT'
291
				AND (A.TLSUBBRID = @p_TLSUBBRID OR A.TLSUBBRID IN (SELECT * FROM @tmp_AUTH)
292
					--OR (SELECT TOP 1 TRM.BRANCH_ID
293
					--		FROM TL_SYS_ROLE_MAPPING TRM
294
					--		WHERE TRM.TLNAME = A.TLNANME
295
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
296
					--	) = @p_TLSUBBRID
297
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
298
					OR EXISTS(SELECT 1 FROM SYS_PERMISSIONS_PAGE_FOR_USER TM 
299
							WHERE TM.TLNAME = A.TLNANME 
300
        		  AND  (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
301
        			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
302
    	        AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
303
							AND TM.BRANCH_ID = @p_TLSUBBRID
304
						)
305
						OR A.DEP_ID IN (SELECT TM.DEP_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER TM 
306
							WHERE TM.TLNAME = A.TLNANME 
307
        		  AND  (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
308
        			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
309
    	        AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
310
							AND TM.TLNAME = @p_MARKER_ID)
311
						OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
312
					)
313
			)
314
			--OR @BRANCH_ID = '' OR @BRANCH_ID IS NULL
315
			OR(@p_TLSUBBRID IS NULL OR @p_TLSUBBRID = '')
316
			--OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
317
			--OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
318
		)
319
	-- PAGING END
320
ELSE
321

    
322
-- PAGING BEGIN
323
	SELECT TOP(CONVERT(INT,@P_TOP))A.ID
324
        ,A.TLNANME
325
        ,A.TLFullName
326
        ,A.TLSUBBRID
327
        ,A.BRANCH_TYPE
328
        --,A.RoleName
329
        ,A.EMAIL
330
        ,A.ADDRESS
331
        ,A.PHONE
332
        ,A.SECUR_CODE
333
        ,A.PhoneNumber
334
        ,A.DEP_ID
335
		,D.BRANCH_NAME
336
		,A.EmailAddress
337
        , B.AUTH_STATUS_NAME,D.BRANCH_ID, D.BRANCH_CODE,
338
				DE.DEP_NAME,DE.DEP_CODE,
339
				dbo.FN_GET_CHINHANH(D.BRANCH_ID,'KV') KHU_VUC,
340
				dbo.FN_GET_CHINHANH(D.BRANCH_ID,'CN') CHI_NHANH, 
341
				D.BRANCH_NAME PGD, D.TAX_NO,E.POS_NAME,E.EMP_CODE,
342
				--STUFF( (select ',' + R.[Name] FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') RoleName2
343
				T.RoleName2 AS RoleName, CMA.ACC_NUM, CMA.ACC_NAME, CMA.ACC_TYPE,
344
				D.BRANCH_NAME AS BR_NAME, D.BRANCH_CODE + '-'+ D.BRANCH_NAME AS BR_FULL_NAME,
345
				DE.DEP_CODE +'-'+ DE.DEP_NAME AS DP_FULL_NAME,
346
				K.DVDM_ID AS KHOI_ID, K.DVDM_CODE AS KHOI_CODE, K.DVDM_NAME AS KHOI_NAME
347
			-- SELECT END
348
	FROM TL_USER A
349
		INNER JOIN CM_AUTH_STATUS B ON B.AUTH_STATUS = A.AUTH_STATUS
350
		LEFT JOIN CM_BRANCH D ON  D.BRANCH_ID = A.TLSUBBRID
351
		LEFT JOIN CM_DEPARTMENT DE ON A.DEP_ID = DE.DEP_ID
352
		--LEFT JOIN AbpUserRoles UR  ON A.ID = UR.UserId
353
		--LEFT JOIN AbpRoles R ON R.Id = UR.RoleId
354
		-- GIANT 16/09/2021
355
		LEFT JOIN CM_EMPLOYEE_LOG E ON A.TLNANME = E.USER_DOMAIN
356
		LEFT JOIN CM_ACCOUNT_PAY CMA ON A.TLNANME = CMA.REF_ID
357
--		INNER JOIN
358
--		(SELECT A2.ID,
359
--			(SELECT stuff((SELECT ',' + CONVERT(VARCHAR(MAX),R1.[DisplayName])
360
--			FROM TL_USER A1
361
--				LEFT JOIN AbpUserRoles UR1  ON A1.ID = UR1.UserId
362
--				LEFT JOIN AbpRoles R1 ON R1.Id = UR1.RoleId
363
--			WHERE A1.ID=A2.ID
364
--			FOR XML PATH ('')
365
--			), 1, 1, '')) AS [RoleName2]
366
--		FROM TL_USER A2
367
--		GROUP BY A2.ID) T ON T.ID=A.ID
368
    OUTER APPLY
369
    (
370
        SELECT STRING_AGG(R1.DisplayName,',') RoleName2 FROM  AbpUserRoles UR1  
371
				LEFT JOIN AbpRoles R1 ON R1.Id = UR1.RoleId
372
        WHERE UR1.UserId = A.ID
373
    ) T 
374
		LEFT JOIN CM_DVDM K ON DE.KHOI_ID = K.DVDM_ID AND K.IS_KHOI = '1'
375

    
376
	 WHERE 1 = 1
377
		AND (A.TLID LIKE '%' + @p_TLID + '%' OR  @p_TLID IS NULL OR @p_TLID = '')
378
		AND (A.TLNANME LIKE '%' + @p_TLNANME + '%' OR  @p_TLNANME IS NULL OR @p_TLNANME = '')
379
		AND (A.Password LIKE '%' + @p_Password + '%' OR  @p_Password IS NULL OR @p_Password = '')
380
		AND (A.TLFullName LIKE '%' + @p_TLFullName + '%' OR  @p_TLFullName IS NULL OR @p_TLFullName = '')
381
		--AND (A.TLSUBBRID LIKE '%' + @p_TLSUBBRID + '%' OR  @p_TLSUBBRID IS NULL OR @p_TLSUBBRID = '')
382
		AND (A.BRANCH_NAME LIKE '%' + @p_BRANCH_NAME + '%' OR  @p_BRANCH_NAME IS NULL OR @p_BRANCH_NAME = '')
383
		AND (A.BRANCH_TYPE LIKE '%' + @p_BRANCH_TYPE + '%' OR  @p_BRANCH_TYPE IS NULL OR @p_BRANCH_TYPE = '')
384
		AND (A.RoleName IN (SELECT * FROM dbo.wsiSplit(@p_RoleName,',') s) OR  @p_RoleName IS NULL OR @p_RoleName = '')
385
		AND (A.EMAIL LIKE '%' + @p_EMAIL + '%' OR  @p_EMAIL IS NULL OR @p_EMAIL = '')
386
		AND (A.ADDRESS LIKE '%' + @p_ADDRESS + '%' OR  @p_ADDRESS IS NULL OR @p_ADDRESS = '')
387
		AND (A.PHONE LIKE '%' + @p_PHONE + '%' OR  @p_PHONE IS NULL OR @p_PHONE = '')
388
		AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
389
		--AND (A.MARKER_ID LIKE '%' + @p_MARKER_ID + '%' OR  @p_MARKER_ID IS NULL OR @p_MARKER_ID = '')
390
		AND (A.AUTH_ID LIKE '%' + @p_AUTH_ID + '%' OR  @p_AUTH_ID IS NULL OR @p_AUTH_ID = '')
391
		AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
392
		AND (A.ISAPPROVE LIKE '%' + @p_ISAPPROVE + '%' OR  @p_ISAPPROVE IS NULL OR @p_ISAPPROVE = '')
393
		AND (DATEDIFF(DAY,A.Birthday ,CONVERT(DATETIME, @p_Birthday, 103)) = 0 OR  @p_Birthday IS NULL OR @p_Birthday = '')
394
		AND (A.ISFIRSTTIME LIKE '%' + @p_ISFIRSTTIME + '%' OR  @p_ISFIRSTTIME IS NULL OR @p_ISFIRSTTIME = '')
395
--		AND (A.RoleName <> 'DISABLE' OR A.RoleName IS NULL) 
396
    AND T.RoleName2 <> 'DISABLE' -- NGUYENTD 22042024_SECRETKEY: CHECK ROLE Ở BẢNG ROLE THAY VÌ BẢNG TL_USER
397
		--AND (
398
		--	(A.SECUR_CODE LIKE '%' + @p_SECUR_CODE + '%'
399
		--		--OR (SELECT TOP 1 TRM.DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
400
		--		--	WHERE TRM.TLNAME = A.TLNANME 
401
		--		--	AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
402
		--		--	) LIKE '%' + @p_SECUR_CODE + '%'
403
		--		----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
404
		--		OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
405
		--					WHERE TRM.TLNAME = A.TLNANME 
406
		--					AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
407
		--					AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
408
		--					AND TRM.DEP_ID = @p_SECUR_CODE
409
		--			)
410
		--		OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
411
		--					WHERE 1=1
412
		--					AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
413
		--					AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
414
		--					AND TRM.TLNAME = @p_MARKER_ID)
415
		--		OR (@p_TLSUBBRID <> 'DV0001' AND A.TLSUBBRID =@p_TLSUBBRID)
416
		--		OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
417
		--	) 
418
		--	OR (@p_DEP_ID IS NULL OR @p_DEP_ID = '' OR @p_SECUR_CODE IS NULL OR @p_SECUR_CODE ='')
419
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
420
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
421
		--)
422
		--------------BAODNQ 17/11/2022 : CHỈNH SỬA LẠI ĐIỀU KIỆN TÌM KIẾM THEO SECUR_CODE-------------------
423
		AND(
424
			(EXISTS(SELECT DEP_ID FROM @t_DEP_ID_TMP TMP WHERE TMP.DEP_ID = A.SECUR_CODE)
425
				OR EXISTS(SELECT 1 FROM SYS_PERMISSIONS_PAGE_FOR_USER TM 
426
							WHERE TM.TLNAME = A.TLNANME 
427
        		  AND  (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
428
        			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
429
    	        AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
430
							AND TM.DEP_ID IN (SELECT DEP_ID FROM @t_DEP_ID_TMP)
431
					)
432
			)
433
			OR (@p_SECUR_CODE IS NULL OR @p_SECUR_CODE = '')
434
		)
435
		---------------ENDBAODNQ-------------------
436
		AND (A.TLNANME != 'admin')
437
		--AND (A.TLSUBBRID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_TLSUBBRID)))
438
		--AND ((@P_LEVEL = 'ALL' AND A.TLSUBBRID IN (SELECT BRANCH_ID from @tmp)
439
		--OR (@P_LEVEL = 'UNIT' AND A.TLSUBBRID = @p_TLSUBBRID)) OR @p_TLSUBBRID = '' OR @p_TLSUBBRID IS NULL
440

    
441
		--)
442
		AND(
443
			(@P_LEVEL = 'ALL'
444
				AND ( EXISTS(SELECT BRANCH_ID from @tmp Tmp WHERE A.TLSUBBRID = Tmp.BRANCH_ID )
445
					--OR (SELECT TOP 1 TRM.BRANCH_ID
446
					--		FROM TL_SYS_ROLE_MAPPING TRM
447
					--		WHERE TRM.TLNAME = A.TLNANME
448
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
449
					--	) IN (SELECT BRANCH_ID from @tmp)
450
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
451
					OR EXISTS(SELECT 1 FROM SYS_PERMISSIONS_PAGE_FOR_USER TM 
452
							WHERE TM.TLNAME = A.TLNANME 
453
        		  AND  (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
454
        			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
455
    	        AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
456
							AND TM.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
457
						)
458
					--OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
459
					--		WHERE 1=1
460
					--		AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
461
					--		AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
462
					--		AND TRM.TLNAME = @p_MARKER_ID)
463
					OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
464
					)
465
			)
466
			OR(@P_LEVEL = 'UNIT'
467
				AND (A.TLSUBBRID = @p_TLSUBBRID
468
					--OR (SELECT TOP 1 TRM.BRANCH_ID
469
					--		FROM TL_SYS_ROLE_MAPPING TRM
470
					--		WHERE TRM.TLNAME = A.TLNANME
471
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
472
					--	) = @p_TLSUBBRID
473
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
474
					OR EXISTS(SELECT 1 FROM SYS_PERMISSIONS_PAGE_FOR_USER TM 
475
							WHERE TM.TLNAME = A.TLNANME 
476
        		  AND  (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
477
        			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
478
    	        AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
479
							AND TM.BRANCH_ID = @p_TLSUBBRID
480
						)
481
					--OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
482
					--		WHERE 1=1
483
					--		AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
484
					--		AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
485
					--		AND TRM.TLNAME = @p_MARKER_ID)
486
					OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
487
					)
488
			)
489
			--OR @BRANCH_ID = '' OR @BRANCH_ID IS NULL
490
			OR(@p_TLSUBBRID IS NULL OR @p_TLSUBBRID = '')
491
		)
492
		----------BAODNQ 22/3/2022 : Thêm điều kiện search theo phòng ban------
493
		--AND (
494
		--	(A.DEP_ID LIKE '%' + @p_DEP_ID + '%' 
495
		--		--OR (SELECT TOP 1 TRM.DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
496
		--		--	WHERE TRM.TLNAME = A.TLNANME 
497
		--		--	AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
498
		--		--	) LIKE '%' + @p_DEP_ID + '%'
499
		--		----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
500
		--		OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
501
		--					WHERE TRM.TLNAME = A.TLNANME 
502
		--					AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
503
		--					AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
504
		--					AND TRM.DEP_ID = @p_DEP_ID
505
		--			)
506
		--			OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
507
		--					WHERE 1=1
508
		--					AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
509
		--					AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
510
		--					AND TRM.TLNAME = @p_MARKER_ID)
511
		--			OR (@p_TLSUBBRID <> 'DV0001' AND A.TLSUBBRID =@p_TLSUBBRID)
512
		--			OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
513
		--	)
514
		--	OR (@p_DEP_ID IS NULL OR @p_DEP_ID = '' OR @p_SECUR_CODE IS NULL OR @p_SECUR_CODE ='')
515
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
516
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
517
		--)
518
		--------------BAODNQ 17/11/2022 : CHỈNH SỬA LẠI ĐIỀU KIỆN TÌM KIẾM THEO DEP_ID-------------------
519
		AND(
520
			(EXISTS(SELECT DEP_ID FROM @t_DEP_ID_TMP TMP WHERE TMP.DEP_ID = A.DEP_ID)
521
				OR EXISTS(SELECT TM.DEP_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER TM 
522
							WHERE TM.TLNAME = A.TLNANME 
523
        		  AND  (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
524
        			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
525
    	        AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
526
							AND TM.DEP_ID IN (SELECT DEP_ID FROM @t_DEP_ID_TMP)
527
					)
528
			)
529
			OR(@p_DEP_ID IS NULL OR @p_DEP_ID = '')
530
		)
531
	-- PAGING END
532
COMMIT TRANSACTION
533

    
534

    
535
END -- PAGING