Project

General

Profile

2.0 TL USER Search.txt

Luc Tran Van, 11/21/2022 11:25 AM

 
1

    
2
/*
3
[dbo].[TL_USER_Search]
4
@p_TLID	= NULL,
5
@p_TLNANME	 = '',
6
@p_Password	 = '',
7
@p_TLFullName   = NULL,
8
@p_TLSUBBRID	= 'DV0001',
9
@p_BRANCH_NAME	 = NULL,
10
@p_BRANCH_TYPE	= NULL,
11
@p_RoleName	 = NULL,
12
@p_EMAIL	 = NULL,
13
@p_ADDRESS	= NULL,
14
@p_PHONE	 = NULL,
15
@p_AUTH_STATUS  = NULL,
16
@p_MARKER_ID	 = NULL,
17
@p_AUTH_ID	 = NULL,
18
@p_APPROVE_DT	= NULL,
19
@p_ISAPPROVE	  = NULL,
20
@p_Birthday	 = NULL,
21
@p_ISFIRSTTIME	  = NULL,
22
@p_SECUR_CODE	 = NULL,
23
@p_TOP	= 100,
24
@p_Level = 'unit'
25

    
26
*/
27
ALTER PROCEDURE [dbo].[TL_USER_Search]
28
@p_TLID	varchar(15)  = NULL,
29
@p_TLNANME	varchar(15)  = NULL,
30
@p_Password	varchar(50)  = NULL,
31
@p_TLFullName	nvarchar(200)  = NULL,
32
@p_TLSUBBRID	varchar(15)  = NULL,
33
@p_BRANCH_NAME	nvarchar(200)  = NULL,
34
@p_BRANCH_TYPE	varchar(5)  = NULL,
35
@p_RoleName	varchar(20)  = NULL,
36
@p_EMAIL	varchar(50)  = NULL,
37
@p_ADDRESS	varchar(100)  = NULL,
38
@p_PHONE	varchar(15)  = NULL,
39
@p_AUTH_STATUS	varchar(1)  = NULL,
40
@p_MARKER_ID	varchar(12)  = NULL,
41
@p_AUTH_ID	varchar(12)  = NULL,
42
@p_APPROVE_DT	VARCHAR(20) = NULL,
43
@p_ISAPPROVE	varchar(1)  = NULL,
44
@p_Birthday	VARCHAR(20) = NULL,
45
@p_ISFIRSTTIME	varchar(1)  = NULL,
46
@p_SECUR_CODE	varchar(50)  = NULL,
47
@p_DEP_ID	varchar(15)  = NULL,
48
@p_TOP	INT = 10,
49
@P_LEVEL varchar(10) = NULL
50
AS
51
	--Validation is here
52
/*
53
	DECLARE @ERRORSYS NVARCHAR(15) = '' 
54
	IF ( [NOT] EXISTS ( SELECT * FROM [TABLE] WHERE  [CONDITION] ))
55
		 SET @ERRORSYS = ''
56
	IF @ERRORSYS <> '' 
57
	BEGIN
58
		SELECT ErrorCode Result, ''  CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
59
		RETURN '0'
60
	END */
61

    
62
BEGIN -- PAGING
63

    
64
BEGIN TRANSACTION
65

    
66
-- Toannv
67
DECLARE @BRANCH_ID VARCHAR(15)
68
declare @tmp table(BRANCH_ID varchar(15))
69
SET @BRANCH_ID =ISNULL((SELECT BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID=@p_SECUR_CODE),'')
70
SET @p_TLSUBBRID = @BRANCH_ID
71
insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_TLSUBBRID)
72
IF(@p_SECUR_CODE IS NOT NULL AND @p_SECUR_CODE <> '') SET @p_DEP_ID = @p_SECUR_CODE
73
IF(@p_DEP_ID IS NOT NULL AND @p_DEP_ID <> '') SET @p_SECUR_CODE = @p_DEP_ID
74
--IF(@p_MARKER_ID IS NULL OR @p_MARKER_ID ='')
75
--BEGIN
76
--	SET @p_MARKER_ID ='sangnm1'
77
--END
78

    
79
IF(@p_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
80
-- PAGING BEGIN
81
	SELECT A.*, B.AUTH_STATUS_NAME,D.BRANCH_ID, D.BRANCH_CODE,
82
			DE.DEP_NAME,DE.DEP_CODE,
83
			dbo.FN_GET_CHINHANH(D.BRANCH_ID,'KV') KHU_VUC,
84
			dbo.FN_GET_CHINHANH(D.BRANCH_ID,'CN') CHI_NHANH, 
85
			D.BRANCH_NAME PGD, D.TAX_NO,E.POS_NAME, E.EMP_CODE,
86
			--STUFF( (SELECT ',' + R.[Name] FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') RoleName2
87
			T.RoleName2
88
			, CMA.ACC_NUM, CMA.ACC_NAME, CMA.ACC_TYPE,
89
			D.BRANCH_NAME AS BR_NAME, D.BRANCH_CODE + '-'+ D.BRANCH_NAME AS BR_FULL_NAME,
90
		    DE.DEP_CODE +'-'+ DE.DEP_NAME AS DP_FULL_NAME
91
	-- SELECT END
92
	FROM TL_USER A
93
		INNER JOIN CM_AUTH_STATUS B ON B.AUTH_STATUS = A.AUTH_STATUS
94
		LEFT JOIN CM_BRANCH D ON  A.TLSUBBRID = D.BRANCH_ID
95
		LEFT JOIN CM_DEPARTMENT DE ON A.DEP_ID = DE.DEP_ID
96
		--LEFT JOIN AbpUserRoles UR  ON A.ID = UR.UserId
97
		--LEFT JOIN AbpRoles R ON R.Id = UR.RoleId
98
		-- GIANT 16/09/2021
99
		LEFT JOIN CM_EMPLOYEE_LOG E ON A.TLNANME = E.USER_DOMAIN
100
		LEFT JOIN CM_ACCOUNT_PAY CMA ON A.TLNANME = CMA.REF_ID
101
		INNER JOIN
102
			(SELECT A2.ID,
103
				(SELECT stuff((SELECT ',' + CONVERT(VARCHAR(MAX),R1.[DisplayName])
104
				FROM TL_USER A1
105
					LEFT JOIN AbpUserRoles UR1  ON A1.ID = UR1.UserId
106
					LEFT JOIN AbpRoles R1 ON R1.Id = UR1.RoleId
107
				WHERE A1.ID=A2.ID
108
				FOR XML PATH ('')
109
				), 1, 1, '')) AS [RoleName2]
110
			FROM TL_USER A2
111
			GROUP BY A2.ID) T ON T.ID=A.ID
112

    
113
	 WHERE 1 = 1
114
		AND (A.TLID LIKE '%' + @p_TLID + '%' OR  @p_TLID IS NULL OR @p_TLID = '')
115
		AND (A.TLNANME LIKE '%' + @p_TLNANME + '%' OR  @p_TLNANME IS NULL OR @p_TLNANME = '')
116
		AND (A.Password LIKE '%' + @p_Password + '%' OR  @p_Password IS NULL OR @p_Password = '')
117
		AND (A.TLFullName LIKE '%' + @p_TLFullName + '%' OR  @p_TLFullName IS NULL OR @p_TLFullName = '')
118
		--AND (A.TLSUBBRID LIKE '%' + @p_TLSUBBRID + '%' OR  @p_TLSUBBRID IS NULL OR @p_TLSUBBRID = '')
119
		AND (A.BRANCH_NAME LIKE '%' + @p_BRANCH_NAME + '%' OR  @p_BRANCH_NAME IS NULL OR @p_BRANCH_NAME = '')
120
		AND (A.BRANCH_TYPE LIKE '%' + @p_BRANCH_TYPE + '%' OR  @p_BRANCH_TYPE IS NULL OR @p_BRANCH_TYPE = '')
121
		AND (A.RoleName LIKE '%' + @p_RoleName + '%' OR  @p_RoleName IS NULL OR @p_RoleName = '')
122
		AND (
123
			(A.DEP_ID LIKE '%' + @p_DEP_ID + '%'
124
				--OR (SELECT TOP 1 TRM.DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
125
				--	WHERE TRM.TLNAME = A.TLNANME 
126
				--	AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
127
				--	) LIKE '%' + @p_DEP_ID + '%'
128
				----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
129
				OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
130
							WHERE TRM.TLNAME = A.TLNANME 
131
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
132
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
133
							AND TRM.DEP_ID = @p_DEP_ID
134
					)
135
				OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM WHERE 1=1
136
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
137
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
138
							AND TRM.TLNAME = @p_MARKER_ID)
139
				OR (@p_TLSUBBRID <> 'DV0001' AND A.TLSUBBRID =@p_TLSUBBRID)
140
				OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
141
			)
142
			OR (@p_DEP_ID IS NULL OR @p_DEP_ID = '' OR @p_SECUR_CODE IS NULL OR @p_SECUR_CODE ='')
143
			OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
144
			OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
145

    
146
		)
147
		AND (A.EMAIL LIKE '%' + @p_EMAIL + '%' OR  @p_EMAIL IS NULL OR @p_EMAIL = '')
148
		AND (A.ADDRESS LIKE '%' + @p_ADDRESS + '%' OR  @p_ADDRESS IS NULL OR @p_ADDRESS = '')
149
		AND (A.PHONE LIKE '%' + @p_PHONE + '%' OR  @p_PHONE IS NULL OR @p_PHONE = '')
150
		AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
151
		--AND (A.MARKER_ID LIKE '%' + @p_MARKER_ID + '%' OR  @p_MARKER_ID IS NULL OR @p_MARKER_ID = '')
152
		AND (A.AUTH_ID LIKE '%' + @p_AUTH_ID + '%' OR  @p_AUTH_ID IS NULL OR @p_AUTH_ID = '')
153
		AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
154
		AND (A.ISAPPROVE LIKE '%' + @p_ISAPPROVE + '%' OR  @p_ISAPPROVE IS NULL OR @p_ISAPPROVE = '')
155
		AND (DATEDIFF(DAY,A.Birthday ,CONVERT(DATETIME, @p_Birthday, 103)) = 0 OR  @p_Birthday IS NULL OR @p_Birthday = '')
156
		AND (A.ISFIRSTTIME LIKE '%' + @p_ISFIRSTTIME + '%' OR  @p_ISFIRSTTIME IS NULL OR @p_ISFIRSTTIME = '')
157
		AND (A.RoleName <> 'DISABLE')
158
		AND (
159
			(A.SECUR_CODE LIKE '%' + @p_SECUR_CODE + '%'
160
				--OR (SELECT TOP 1 TRM.DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
161
				--	WHERE TRM.TLNAME = A.TLNANME 
162
				--	AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
163
				--	) LIKE '%' + @p_SECUR_CODE + '%'
164
				----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
165
				OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
166
							WHERE TRM.TLNAME = A.TLNANME 
167
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
168
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
169
							AND TRM.DEP_ID = @p_SECUR_CODE
170
					)
171
				OR (@p_TLSUBBRID <> 'DV0001' AND A.TLSUBBRID =@p_TLSUBBRID)
172
				OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
173
			) 
174
			OR (@p_DEP_ID IS NULL OR @p_DEP_ID = '' OR @p_SECUR_CODE IS NULL OR @p_SECUR_CODE ='')
175
			OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
176
			OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
177
		)
178
		AND (A.TLNANME != 'admin')
179
		--AND (A.TLSUBBRID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_TLSUBBRID)))
180
		--AND ((@P_LEVEL = 'ALL' AND A.TLSUBBRID IN (SELECT BRANCH_ID FROM @tmp)
181
		--OR (@P_LEVEL = 'UNIT' AND A.TLSUBBRID = @p_TLSUBBRID)) OR @p_TLSUBBRID = '' OR @p_TLSUBBRID IS NULL
182

    
183
		--)
184
		AND(
185
			(@P_LEVEL = 'ALL'
186
				AND (A.TLSUBBRID IN (SELECT BRANCH_ID FROM @tmp)
187
					--OR (SELECT TOP 1 TRM.BRANCH_ID
188
					--		FROM TL_SYS_ROLE_MAPPING TRM
189
					--		WHERE TRM.TLNAME = A.TLNANME
190
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
191
					--	) IN (SELECT BRANCH_ID FROM @tmp)
192
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
193
					OR EXISTS(SELECT *
194
							FROM TL_SYS_ROLE_MAPPING TRM
195
							WHERE 1=1
196
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
197
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
198
							AND TRM.BRANCH_ID IN (SELECT BRANCH_ID FROM @tmp)
199
						)
200
					OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
201
					)
202
			)
203
			OR(@P_LEVEL = 'UNIT'
204
				AND (A.TLSUBBRID = @p_TLSUBBRID
205
					--OR (SELECT TOP 1 TRM.BRANCH_ID
206
					--		FROM TL_SYS_ROLE_MAPPING TRM
207
					--		WHERE TRM.TLNAME = A.TLNANME
208
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
209
					--	) = @p_TLSUBBRID
210
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
211
					OR EXISTS(SELECT *
212
							FROM TL_SYS_ROLE_MAPPING TRM
213
							WHERE TRM.TLNAME = A.TLNANME
214
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
215
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
216
							AND TRM.BRANCH_ID = @p_TLSUBBRID
217
						)
218
						OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
219
							WHERE 1=1
220
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
221
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
222
							AND TRM.TLNAME = @p_MARKER_ID)
223
						OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
224
					)
225
			)
226
			OR @BRANCH_ID = '' OR @BRANCH_ID IS NULL
227
			OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
228
			OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
229
		)
230
	-- PAGING END
231
ELSE
232

    
233
-- PAGING BEGIN
234
	SELECT TOP(CONVERT(INT,@P_TOP))A.*, B.AUTH_STATUS_NAME,D.BRANCH_ID, D.BRANCH_CODE,
235
				DE.DEP_NAME,DE.DEP_CODE,
236
				dbo.FN_GET_CHINHANH(D.BRANCH_ID,'KV') KHU_VUC,
237
				dbo.FN_GET_CHINHANH(D.BRANCH_ID,'CN') CHI_NHANH, 
238
				D.BRANCH_NAME PGD, D.TAX_NO,E.POS_NAME, E.EMP_CODE,
239
				--STUFF( (SELECT ',' + R.[Name] FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') RoleName2
240
				T.RoleName2, CMA.ACC_NUM, CMA.ACC_NAME, CMA.ACC_TYPE,
241
				D.BRANCH_NAME AS BR_NAME, D.BRANCH_CODE + '-'+ D.BRANCH_NAME AS BR_FULL_NAME,
242
				DE.DEP_CODE +'-'+ DE.DEP_NAME AS DP_FULL_NAME
243
			-- SELECT END
244
	FROM TL_USER A
245
		INNER JOIN CM_AUTH_STATUS B ON B.AUTH_STATUS = A.AUTH_STATUS
246
		LEFT JOIN CM_BRANCH D ON  D.BRANCH_ID = A.TLSUBBRID
247
		LEFT JOIN CM_DEPARTMENT DE ON A.DEP_ID = DE.DEP_ID
248
		--LEFT JOIN AbpUserRoles UR  ON A.ID = UR.UserId
249
		--LEFT JOIN AbpRoles R ON R.Id = UR.RoleId
250
		-- GIANT 16/09/2021
251
		LEFT JOIN CM_EMPLOYEE_LOG E ON A.TLNANME = E.USER_DOMAIN
252
		LEFT JOIN CM_ACCOUNT_PAY CMA ON A.TLNANME = CMA.REF_ID
253
		INNER JOIN
254
			(SELECT A2.ID,
255
				(SELECT stuff((SELECT ',' + CONVERT(VARCHAR(MAX),R1.[DisplayName])
256
				FROM TL_USER A1
257
					LEFT JOIN AbpUserRoles UR1  ON A1.ID = UR1.UserId
258
					LEFT JOIN AbpRoles R1 ON R1.Id = UR1.RoleId
259
				WHERE A1.ID=A2.ID
260
				FOR XML PATH ('')
261
				), 1, 1, '')) AS [RoleName2]
262
			FROM TL_USER A2
263
			GROUP BY A2.ID) T ON T.ID=A.ID
264

    
265
	 WHERE 1 = 1
266
		AND (A.TLID LIKE '%' + @p_TLID + '%' OR  @p_TLID IS NULL OR @p_TLID = '')
267
		AND (A.TLNANME LIKE '%' + @p_TLNANME + '%' OR  @p_TLNANME IS NULL OR @p_TLNANME = '')
268
		AND (A.Password LIKE '%' + @p_Password + '%' OR  @p_Password IS NULL OR @p_Password = '')
269
		AND (A.TLFullName LIKE '%' + @p_TLFullName + '%' OR  @p_TLFullName IS NULL OR @p_TLFullName = '')
270
		--AND (A.TLSUBBRID LIKE '%' + @p_TLSUBBRID + '%' OR  @p_TLSUBBRID IS NULL OR @p_TLSUBBRID = '')
271
		AND (A.BRANCH_NAME LIKE '%' + @p_BRANCH_NAME + '%' OR  @p_BRANCH_NAME IS NULL OR @p_BRANCH_NAME = '')
272
		AND (A.BRANCH_TYPE LIKE '%' + @p_BRANCH_TYPE + '%' OR  @p_BRANCH_TYPE IS NULL OR @p_BRANCH_TYPE = '')
273
		AND (A.RoleName LIKE '%' + @p_RoleName + '%' OR  @p_RoleName IS NULL OR @p_RoleName = '')
274
		AND (A.EMAIL LIKE '%' + @p_EMAIL + '%' OR  @p_EMAIL IS NULL OR @p_EMAIL = '')
275
		AND (A.ADDRESS LIKE '%' + @p_ADDRESS + '%' OR  @p_ADDRESS IS NULL OR @p_ADDRESS = '')
276
		AND (A.PHONE LIKE '%' + @p_PHONE + '%' OR  @p_PHONE IS NULL OR @p_PHONE = '')
277
		AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
278
		--AND (A.MARKER_ID LIKE '%' + @p_MARKER_ID + '%' OR  @p_MARKER_ID IS NULL OR @p_MARKER_ID = '')
279
		AND (A.AUTH_ID LIKE '%' + @p_AUTH_ID + '%' OR  @p_AUTH_ID IS NULL OR @p_AUTH_ID = '')
280
		AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
281
		AND (A.ISAPPROVE LIKE '%' + @p_ISAPPROVE + '%' OR  @p_ISAPPROVE IS NULL OR @p_ISAPPROVE = '')
282
		AND (DATEDIFF(DAY,A.Birthday ,CONVERT(DATETIME, @p_Birthday, 103)) = 0 OR  @p_Birthday IS NULL OR @p_Birthday = '')
283
		AND (A.ISFIRSTTIME LIKE '%' + @p_ISFIRSTTIME + '%' OR  @p_ISFIRSTTIME IS NULL OR @p_ISFIRSTTIME = '')
284
		AND (A.RoleName <> 'DISABLE')
285
		AND (
286
			(A.SECUR_CODE LIKE '%' + @p_SECUR_CODE + '%'
287
				--OR (SELECT TOP 1 TRM.DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
288
				--	WHERE TRM.TLNAME = A.TLNANME 
289
				--	AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
290
				--	) LIKE '%' + @p_SECUR_CODE + '%'
291
				----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
292
				OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
293
							WHERE TRM.TLNAME = A.TLNANME 
294
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
295
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
296
							AND TRM.DEP_ID = @p_SECUR_CODE
297
					)
298
				OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
299
							WHERE 1=1
300
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
301
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
302
							AND TRM.TLNAME = @p_MARKER_ID)
303
				OR (@p_TLSUBBRID <> 'DV0001' AND A.TLSUBBRID =@p_TLSUBBRID)
304
				OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
305
			) 
306
			OR (@p_DEP_ID IS NULL OR @p_DEP_ID = '' OR @p_SECUR_CODE IS NULL OR @p_SECUR_CODE ='')
307
			OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
308
			OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
309
		)
310
		AND (A.TLNANME != 'admin')
311
		--AND (A.TLSUBBRID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_TLSUBBRID)))
312
		--AND ((@P_LEVEL = 'ALL' AND A.TLSUBBRID IN (SELECT BRANCH_ID FROM @tmp)
313
		--OR (@P_LEVEL = 'UNIT' AND A.TLSUBBRID = @p_TLSUBBRID)) OR @p_TLSUBBRID = '' OR @p_TLSUBBRID IS NULL
314

    
315
		--)
316
		AND(
317
			(@P_LEVEL = 'ALL'
318
				AND (A.TLSUBBRID IN (SELECT BRANCH_ID FROM @tmp)
319
					--OR (SELECT TOP 1 TRM.BRANCH_ID
320
					--		FROM TL_SYS_ROLE_MAPPING TRM
321
					--		WHERE TRM.TLNAME = A.TLNANME
322
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
323
					--	) IN (SELECT BRANCH_ID FROM @tmp)
324
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
325
					OR EXISTS(SELECT *
326
							FROM TL_SYS_ROLE_MAPPING TRM
327
							WHERE TRM.TLNAME = A.TLNANME
328
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
329
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
330
							AND TRM.BRANCH_ID IN (SELECT BRANCH_ID FROM @tmp)
331
						)
332
					OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
333
							WHERE 1=1
334
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
335
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
336
							AND TRM.TLNAME = @p_MARKER_ID)
337
					OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
338
					)
339
			)
340
			OR(@P_LEVEL = 'UNIT'
341
				AND (A.TLSUBBRID = @p_TLSUBBRID
342
					--OR (SELECT TOP 1 TRM.BRANCH_ID
343
					--		FROM TL_SYS_ROLE_MAPPING TRM
344
					--		WHERE TRM.TLNAME = A.TLNANME
345
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
346
					--	) = @p_TLSUBBRID
347
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
348
					OR EXISTS(SELECT *
349
							FROM TL_SYS_ROLE_MAPPING TRM
350
							WHERE TRM.TLNAME = A.TLNANME
351
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
352
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
353
							AND TRM.BRANCH_ID = @p_TLSUBBRID
354
						)
355
					OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
356
							WHERE 1=1
357
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
358
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
359
							AND TRM.TLNAME = @p_MARKER_ID)
360
					OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
361
					)
362
			)
363
			OR @BRANCH_ID = '' OR @BRANCH_ID IS NULL
364
		)
365
		----------BAODNQ 22/3/2022 : Thêm điều kiện search theo phòng ban------
366
		AND (
367
			(A.DEP_ID LIKE '%' + @p_DEP_ID + '%' 
368
				--OR (SELECT TOP 1 TRM.DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
369
				--	WHERE TRM.TLNAME = A.TLNANME 
370
				--	AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
371
				--	) LIKE '%' + @p_DEP_ID + '%'
372
				----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
373
				OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
374
							WHERE TRM.TLNAME = A.TLNANME 
375
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
376
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
377
							AND TRM.DEP_ID = @p_DEP_ID
378
					)
379
					OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
380
							WHERE 1=1
381
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
382
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
383
							AND TRM.TLNAME = @p_MARKER_ID)
384
					OR (@p_TLSUBBRID <> 'DV0001' AND A.TLSUBBRID =@p_TLSUBBRID)
385
					OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
386
			)
387
			OR (@p_DEP_ID IS NULL OR @p_DEP_ID = '' OR @p_SECUR_CODE IS NULL OR @p_SECUR_CODE ='')
388
			OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
389
			OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
390
		)
391
	-- PAGING END
392
COMMIT TRANSACTION
393

    
394

    
395
END -- PAGING
396