Project

General

Profile

Hot_fix TL_USER_Search.txt

Luc Tran Van, 12/26/2022 10:53 AM

 
1
USE [gAMSPro_BVB_v3_FINAL]
2
GO
3
/****** Object:  StoredProcedure [dbo].[TL_USER_Search]    Script Date: 26/12/2022 10:50:18 AM ******/
4
SET ANSI_NULLS ON
5
GO
6
SET QUOTED_IDENTIFIER ON
7
GO
8

    
9

    
10
/*
11
[dbo].[TL_USER_Search]
12
@p_TLID	= NULL,
13
@p_TLNANME	 = '',
14
@p_Password	 = '',
15
@p_TLFullName   = NULL,
16
@p_TLSUBBRID	= 'DV0001',
17
@p_BRANCH_NAME	 = NULL,
18
@p_BRANCH_TYPE	= NULL,
19
@p_RoleName	 = NULL,
20
@p_EMAIL	 = NULL,
21
@p_ADDRESS	= NULL,
22
@p_PHONE	 = NULL,
23
@p_AUTH_STATUS  = NULL,
24
@p_MARKER_ID	 = NULL,
25
@p_AUTH_ID	 = NULL,
26
@p_APPROVE_DT	= NULL,
27
@p_ISAPPROVE	  = NULL,
28
@p_Birthday	 = NULL,
29
@p_ISFIRSTTIME	  = NULL,
30
@p_SECUR_CODE	 = NULL,
31
@p_TOP	= 100,
32
@p_Level = 'unit'
33

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

    
70
BEGIN -- PAGING
71

    
72
BEGIN TRANSACTION
73

    
74
-- Toannv
75
DECLARE @BRANCH_ID VARCHAR(15)
76
declare @tmp table(BRANCH_ID varchar(15))
77

    
78
IF(@p_SECUR_CODE IS NOT NULL AND @p_SECUR_CODE <> '')
79
BEGIN
80
	SET @BRANCH_ID =ISNULL((SELECT BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID=@p_SECUR_CODE),'')
81
	SET @p_TLSUBBRID = @BRANCH_ID
82
END
83

    
84
insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_TLSUBBRID)
85
IF(@p_SECUR_CODE IS NOT NULL AND @p_SECUR_CODE <> '') SET @p_DEP_ID = @p_SECUR_CODE
86
IF(@p_DEP_ID IS NOT NULL AND @p_DEP_ID <> '') SET @p_SECUR_CODE = @p_DEP_ID
87
--IF(@p_MARKER_ID IS NULL OR @p_MARKER_ID ='')
88
--BEGIN
89
--	SET @p_MARKER_ID ='sangnm1'
90
--END
91

    
92
-----------------BAODNQ 17/11/2022 : BẢNG TẠM LƯU DEP_ID---------------------
93
DECLARE @t_DEP_ID_TMP TABLE(DEP_ID VARCHAR(15))
94
DECLARE @p_DEP_ID_TMP VARCHAR(15)
95

    
96
---------------NẾU CÓ TRUYỀN SECUR_CODE, LẤY RA NHỮNG DEP_ID THỎA ĐK:---------------
97
---------------1.PHÒNG BAN TRUYỀN VÀO, 2.PHÒNG BAN CON CỦA PHÒNG BAN TRUYỀN VÀO, 
98
---------------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
99
IF(@p_SECUR_CODE IS NOT NULL AND @p_SECUR_CODE <> '')
100
BEGIN
101
	SET @p_DEP_ID_TMP = @p_SECUR_CODE
102

    
103
	PRINT @p_DEP_ID_TMP
104

    
105
	INSERT INTO @t_DEP_ID_TMP
106
	--------TH1 : DEP_ID TRUYỀN VÀO-----------
107
		SELECT @p_DEP_ID_TMP
108
		UNION
109
	--------TH2 : PHÒNG BAN CON CỦA DEP_ID TRUYỀN VÀO---------
110
		SELECT DEP_ID FROM CM_DEPARTMENT CD WHERE CD.FATHER_ID = @p_DEP_ID_TMP
111
		UNION
112
	--------TH3 : PHÒNG BAN ĐANG DC USER_LOGIN KIÊM NHIỆM GDDV-----------
113
		SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TSM 
114
		WHERE TSM.TLNAME = @p_MARKER_ID AND ROLE_NEW = 'GDDV'
115
			AND CONVERT(DATE,GETDATE(),103) >= TSM.EFF_DATE 
116
			AND CONVERT(DATE,GETDATE(),103) <= TSM.EXP_DATE
117
		UNION
118
	---------TH4 : PHÒNG BAN CON CỦA PHÒNG BAN ĐANG DC USER_LOGIN KIÊM NHIỆM GDDV-----------
119
		SELECT CDF.DEP_ID FROM TL_SYS_ROLE_MAPPING TSMF 
120
		INNER JOIN CM_DEPARTMENT CDF ON CDF.FATHER_ID = TSMF.DEP_ID
121
		WHERE TSMF.TLNAME = @p_MARKER_ID
122
			AND CONVERT(DATE,GETDATE(),103) >= TSMF.EFF_DATE 
123
			AND CONVERT(DATE,GETDATE(),103) <= TSMF.EXP_DATE
124
END
125
-------------------ENDBAODNQ 17/11/2022--------------------
126

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

    
257
		--)
258
		AND(
259
			(@P_LEVEL = 'ALL'
260
				AND (A.TLSUBBRID IN (SELECT BRANCH_ID from @tmp)
261
					--OR (SELECT TOP 1 TRM.BRANCH_ID
262
					--		FROM TL_SYS_ROLE_MAPPING TRM
263
					--		WHERE TRM.TLNAME = A.TLNANME
264
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
265
					--	) IN (SELECT BRANCH_ID from @tmp)
266
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
267
					OR EXISTS(SELECT *
268
							FROM TL_SYS_ROLE_MAPPING TRM
269
							WHERE 1=1
270
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
271
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
272
							AND TRM.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
273
						)
274
					OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
275
					)
276
			)
277
			OR(@P_LEVEL = 'UNIT'
278
				AND (A.TLSUBBRID = @p_TLSUBBRID
279
					--OR (SELECT TOP 1 TRM.BRANCH_ID
280
					--		FROM TL_SYS_ROLE_MAPPING TRM
281
					--		WHERE TRM.TLNAME = A.TLNANME
282
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
283
					--	) = @p_TLSUBBRID
284
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
285
					OR EXISTS(SELECT *
286
							FROM TL_SYS_ROLE_MAPPING TRM
287
							WHERE TRM.TLNAME = A.TLNANME
288
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
289
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
290
							AND TRM.BRANCH_ID = @p_TLSUBBRID
291
						)
292
						OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
293
							WHERE 1=1
294
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
295
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
296
							AND TRM.TLNAME = @p_MARKER_ID)
297
						OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
298
					)
299
			)
300
			--OR @BRANCH_ID = '' OR @BRANCH_ID IS NULL
301
			OR(@p_TLSUBBRID IS NULL OR @p_TLSUBBRID = '')
302
			--OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
303
			--OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
304
		)
305
	-- PAGING END
306
ELSE
307

    
308
-- PAGING BEGIN
309
	SELECT TOP(CONVERT(INT,@P_TOP))A.*, B.AUTH_STATUS_NAME,D.BRANCH_ID, D.BRANCH_CODE,
310
				DE.DEP_NAME,DE.DEP_CODE,
311
				dbo.FN_GET_CHINHANH(D.BRANCH_ID,'KV') KHU_VUC,
312
				dbo.FN_GET_CHINHANH(D.BRANCH_ID,'CN') CHI_NHANH, 
313
				D.BRANCH_NAME PGD, D.TAX_NO,E.POS_NAME, E.EMP_CODE,
314
				--STUFF( (select ',' + R.[Name] FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') RoleName2
315
				T.RoleName2, CMA.ACC_NUM, CMA.ACC_NAME, CMA.ACC_TYPE,
316
				D.BRANCH_NAME AS BR_NAME, D.BRANCH_CODE + '-'+ D.BRANCH_NAME AS BR_FULL_NAME,
317
				DE.DEP_CODE +'-'+ DE.DEP_NAME AS DP_FULL_NAME,
318
				K.DVDM_ID AS KHOI_ID, K.DVDM_CODE AS KHOI_CODE, K.DVDM_NAME AS KHOI_NAME
319
			-- SELECT END
320
	FROM TL_USER A
321
		INNER JOIN CM_AUTH_STATUS B ON B.AUTH_STATUS = A.AUTH_STATUS
322
		LEFT JOIN CM_BRANCH D ON  D.BRANCH_ID = A.TLSUBBRID
323
		LEFT JOIN CM_DEPARTMENT DE ON A.DEP_ID = DE.DEP_ID
324
		--LEFT JOIN AbpUserRoles UR  ON A.ID = UR.UserId
325
		--LEFT JOIN AbpRoles R ON R.Id = UR.RoleId
326
		-- GIANT 16/09/2021
327
		LEFT JOIN CM_EMPLOYEE_LOG E ON A.TLNANME = E.USER_DOMAIN
328
		LEFT JOIN CM_ACCOUNT_PAY CMA ON A.TLNANME = CMA.REF_ID
329
		INNER JOIN
330
		(SELECT A2.ID,
331
			(SELECT stuff((SELECT ',' + CONVERT(VARCHAR(MAX),R1.[DisplayName])
332
			FROM TL_USER A1
333
				LEFT JOIN AbpUserRoles UR1  ON A1.ID = UR1.UserId
334
				LEFT JOIN AbpRoles R1 ON R1.Id = UR1.RoleId
335
			WHERE A1.ID=A2.ID
336
			FOR XML PATH ('')
337
			), 1, 1, '')) AS [RoleName2]
338
		FROM TL_USER A2
339
		GROUP BY A2.ID) T ON T.ID=A.ID
340
		LEFT JOIN CM_DVDM K ON DE.KHOI_ID = K.DVDM_ID AND K.IS_KHOI = '1'
341

    
342
	 WHERE 1 = 1
343
		AND (A.TLID LIKE '%' + @p_TLID + '%' OR  @p_TLID IS NULL OR @p_TLID = '')
344
		AND (A.TLNANME LIKE '%' + @p_TLNANME + '%' OR  @p_TLNANME IS NULL OR @p_TLNANME = '')
345
		AND (A.Password LIKE '%' + @p_Password + '%' OR  @p_Password IS NULL OR @p_Password = '')
346
		AND (A.TLFullName LIKE '%' + @p_TLFullName + '%' OR  @p_TLFullName IS NULL OR @p_TLFullName = '')
347
		--AND (A.TLSUBBRID LIKE '%' + @p_TLSUBBRID + '%' OR  @p_TLSUBBRID IS NULL OR @p_TLSUBBRID = '')
348
		AND (A.BRANCH_NAME LIKE '%' + @p_BRANCH_NAME + '%' OR  @p_BRANCH_NAME IS NULL OR @p_BRANCH_NAME = '')
349
		AND (A.BRANCH_TYPE LIKE '%' + @p_BRANCH_TYPE + '%' OR  @p_BRANCH_TYPE IS NULL OR @p_BRANCH_TYPE = '')
350
		AND (A.RoleName LIKE '%' + @p_RoleName + '%' OR  @p_RoleName IS NULL OR @p_RoleName = '')
351
		AND (A.EMAIL LIKE '%' + @p_EMAIL + '%' OR  @p_EMAIL IS NULL OR @p_EMAIL = '')
352
		AND (A.ADDRESS LIKE '%' + @p_ADDRESS + '%' OR  @p_ADDRESS IS NULL OR @p_ADDRESS = '')
353
		AND (A.PHONE LIKE '%' + @p_PHONE + '%' OR  @p_PHONE IS NULL OR @p_PHONE = '')
354
		AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
355
		--AND (A.MARKER_ID LIKE '%' + @p_MARKER_ID + '%' OR  @p_MARKER_ID IS NULL OR @p_MARKER_ID = '')
356
		AND (A.AUTH_ID LIKE '%' + @p_AUTH_ID + '%' OR  @p_AUTH_ID IS NULL OR @p_AUTH_ID = '')
357
		AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
358
		AND (A.ISAPPROVE LIKE '%' + @p_ISAPPROVE + '%' OR  @p_ISAPPROVE IS NULL OR @p_ISAPPROVE = '')
359
		AND (DATEDIFF(DAY,A.Birthday ,CONVERT(DATETIME, @p_Birthday, 103)) = 0 OR  @p_Birthday IS NULL OR @p_Birthday = '')
360
		AND (A.ISFIRSTTIME LIKE '%' + @p_ISFIRSTTIME + '%' OR  @p_ISFIRSTTIME IS NULL OR @p_ISFIRSTTIME = '')
361
		AND (A.RoleName <> 'DISABLE')
362
		--AND (
363
		--	(A.SECUR_CODE LIKE '%' + @p_SECUR_CODE + '%'
364
		--		--OR (SELECT TOP 1 TRM.DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
365
		--		--	WHERE TRM.TLNAME = A.TLNANME 
366
		--		--	AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
367
		--		--	) LIKE '%' + @p_SECUR_CODE + '%'
368
		--		----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
369
		--		OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
370
		--					WHERE TRM.TLNAME = A.TLNANME 
371
		--					AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
372
		--					AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
373
		--					AND TRM.DEP_ID = @p_SECUR_CODE
374
		--			)
375
		--		OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
376
		--					WHERE 1=1
377
		--					AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
378
		--					AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
379
		--					AND TRM.TLNAME = @p_MARKER_ID)
380
		--		OR (@p_TLSUBBRID <> 'DV0001' AND A.TLSUBBRID =@p_TLSUBBRID)
381
		--		OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
382
		--	) 
383
		--	OR (@p_DEP_ID IS NULL OR @p_DEP_ID = '' OR @p_SECUR_CODE IS NULL OR @p_SECUR_CODE ='')
384
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
385
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
386
		--)
387
		--------------BAODNQ 17/11/2022 : CHỈNH SỬA LẠI ĐIỀU KIỆN TÌM KIẾM THEO SECUR_CODE-------------------
388
		AND(
389
			(A.SECUR_CODE IN (SELECT DEP_ID FROM @t_DEP_ID_TMP)
390
				OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
391
							WHERE TRM.TLNAME = A.TLNANME 
392
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
393
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
394
							AND TRM.DEP_ID IN (SELECT DEP_ID FROM @t_DEP_ID_TMP)
395
					)
396
			)
397
			OR (@p_SECUR_CODE IS NULL OR @p_SECUR_CODE = '')
398
		)
399
		---------------ENDBAODNQ-------------------
400
		AND (A.TLNANME != 'admin')
401
		--AND (A.TLSUBBRID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_TLSUBBRID)))
402
		--AND ((@P_LEVEL = 'ALL' AND A.TLSUBBRID IN (SELECT BRANCH_ID from @tmp)
403
		--OR (@P_LEVEL = 'UNIT' AND A.TLSUBBRID = @p_TLSUBBRID)) OR @p_TLSUBBRID = '' OR @p_TLSUBBRID IS NULL
404

    
405
		--)
406
		AND(
407
			(@P_LEVEL = 'ALL'
408
				AND (A.TLSUBBRID IN (SELECT BRANCH_ID from @tmp)
409
					--OR (SELECT TOP 1 TRM.BRANCH_ID
410
					--		FROM TL_SYS_ROLE_MAPPING TRM
411
					--		WHERE TRM.TLNAME = A.TLNANME
412
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
413
					--	) IN (SELECT BRANCH_ID from @tmp)
414
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
415
					OR EXISTS(SELECT *
416
							FROM TL_SYS_ROLE_MAPPING TRM
417
							WHERE TRM.TLNAME = A.TLNANME
418
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
419
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
420
							AND TRM.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
421
						)
422
					--OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
423
					--		WHERE 1=1
424
					--		AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
425
					--		AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
426
					--		AND TRM.TLNAME = @p_MARKER_ID)
427
					OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
428
					)
429
			)
430
			OR(@P_LEVEL = 'UNIT'
431
				AND (A.TLSUBBRID = @p_TLSUBBRID
432
					--OR (SELECT TOP 1 TRM.BRANCH_ID
433
					--		FROM TL_SYS_ROLE_MAPPING TRM
434
					--		WHERE TRM.TLNAME = A.TLNANME
435
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
436
					--	) = @p_TLSUBBRID
437
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
438
					OR EXISTS(SELECT *
439
							FROM TL_SYS_ROLE_MAPPING TRM
440
							WHERE TRM.TLNAME = A.TLNANME
441
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
442
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
443
							AND TRM.BRANCH_ID = @p_TLSUBBRID
444
						)
445
					--OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
446
					--		WHERE 1=1
447
					--		AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
448
					--		AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
449
					--		AND TRM.TLNAME = @p_MARKER_ID)
450
					OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
451
					)
452
			)
453
			--OR @BRANCH_ID = '' OR @BRANCH_ID IS NULL
454
			OR(@p_TLSUBBRID IS NULL OR @p_TLSUBBRID = '')
455
		)
456
		----------BAODNQ 22/3/2022 : Thêm điều kiện search theo phòng ban------
457
		--AND (
458
		--	(A.DEP_ID LIKE '%' + @p_DEP_ID + '%' 
459
		--		--OR (SELECT TOP 1 TRM.DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
460
		--		--	WHERE TRM.TLNAME = A.TLNANME 
461
		--		--	AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
462
		--		--	) LIKE '%' + @p_DEP_ID + '%'
463
		--		----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
464
		--		OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
465
		--					WHERE TRM.TLNAME = A.TLNANME 
466
		--					AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
467
		--					AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
468
		--					AND TRM.DEP_ID = @p_DEP_ID
469
		--			)
470
		--			OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
471
		--					WHERE 1=1
472
		--					AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
473
		--					AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
474
		--					AND TRM.TLNAME = @p_MARKER_ID)
475
		--			OR (@p_TLSUBBRID <> 'DV0001' AND A.TLSUBBRID =@p_TLSUBBRID)
476
		--			OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
477
		--	)
478
		--	OR (@p_DEP_ID IS NULL OR @p_DEP_ID = '' OR @p_SECUR_CODE IS NULL OR @p_SECUR_CODE ='')
479
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
480
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
481
		--)
482
		--------------BAODNQ 17/11/2022 : CHỈNH SỬA LẠI ĐIỀU KIỆN TÌM KIẾM THEO DEP_ID-------------------
483
		AND(
484
			(A.DEP_ID IN (SELECT DEP_ID FROM @t_DEP_ID_TMP)
485
				OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
486
							WHERE TRM.TLNAME = A.TLNANME 
487
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
488
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
489
							AND TRM.DEP_ID IN (SELECT DEP_ID FROM @t_DEP_ID_TMP)
490
					)
491
			)
492
			OR(@p_DEP_ID IS NULL OR @p_DEP_ID = '')
493
		)
494
	-- PAGING END
495
COMMIT TRANSACTION
496

    
497

    
498
END -- PAGING
499