Project

General

Profile

TL_USER_KSV_XL_Search 1.txt

Luc Tran Van, 10/11/2024 04:28 PM

 
1

    
2
ALTER PROCEDURE dbo.TL_USER_KSV_XL_Search
3
@p_TLID	varchar(15)  = NULL,
4
@p_TLNANME	varchar(15)  = NULL,
5
@p_Password	varchar(50)  = NULL,
6
@p_TLFullName	nvarchar(200)  = NULL,
7
@p_TLSUBBRID	varchar(15)  = NULL,
8
@p_BRANCH_LOGIN	varchar(15)  = NULL,
9

    
10
@p_BRANCH_ID	varchar(15)  = NULL,
11
@p_BRANCH_NAME	nvarchar(200)  = NULL,
12
@p_BRANCH_TYPE	varchar(5)  = NULL,
13
@p_RoleName	varchar(20)  = NULL,
14
@p_EMAIL	varchar(50)  = NULL,
15
@p_ADDRESS	varchar(100)  = NULL,
16
@p_PHONE	varchar(15)  = NULL,
17
@p_AUTH_STATUS	varchar(1)  = NULL,
18
@p_MARKER_ID	varchar(12)  = NULL,
19
@p_AUTH_ID	varchar(12)  = NULL,
20
@p_APPROVE_DT	VARCHAR(20) = NULL,
21
@p_ISAPPROVE	varchar(1)  = NULL,
22
@p_Birthday	VARCHAR(20) = NULL,
23
@p_ISFIRSTTIME	varchar(1)  = NULL,
24
@p_SECUR_CODE	varchar(50)  = NULL,
25
@p_DEP_ID	varchar(15)  = NULL,
26
@p_TYPE VARCHAR(15) = NULL,
27
@p_TOP	INT = 10,
28
@P_LEVEL varchar(10) = NULL
29
AS
30
	--Validation is here
31
/*
32
	DECLARE @ERRORSYS NVARCHAR(15) = '' 
33
	IF ( [NOT] EXISTS ( SELECT * FROM [TABLE] WHERE  [CONDITION] ))
34
		 SET @ERRORSYS = ''
35
	IF @ERRORSYS <> '' 
36
	BEGIN
37
		SELECT ErrorCode Result, ''  CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
38
		RETURN '0'
39
	END */
40

    
41
BEGIN -- PAGING
42

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

    
55
insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_TLSUBBRID)
56
INSERT INTO @tmp_AUTH SELECT @p_TLSUBBRID
57
---- INSERT KIÊM NHIỆM ĐƠN VỊ
58
INSERT INTO @tmp_AUTH SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING TRM
59
							WHERE 1=1
60
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
61
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
62
							AND TLNAME =@p_MARKER_ID
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

    
67
--SET @p_SECUR_CODE = NUll
68
--IF(@p_MARKER_ID IS NULL OR @p_MARKER_ID ='')
69
--BEGIN
70
--	SET @p_MARKER_ID ='sangnm1'
71
--END
72

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

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

    
84
	PRINT @p_DEP_ID_TMP
85

    
86
	INSERT INTO @t_DEP_ID_TMP
87
	--------TH1 : DEP_ID TRUYỀN VÀO-----------
88
		SELECT @p_DEP_ID_TMP
89
		UNION
90
	--------TH2 : PHÒNG BAN CON CỦA DEP_ID TRUYỀN VÀO---------
91
		SELECT DEP_ID FROM CM_DEPARTMENT CD WHERE CD.FATHER_ID = @p_DEP_ID_TMP
92
		UNION
93
	--------TH3 : PHÒNG BAN ĐANG DC USER_LOGIN KIÊM NHIỆM GDDV-----------
94
		SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TSM 
95
		WHERE TSM.TLNAME = @p_MARKER_ID AND ROLE_NEW = 'GDDV'
96
			AND CONVERT(DATE,GETDATE(),103) >= TSM.EFF_DATE 
97
			AND CONVERT(DATE,GETDATE(),103) <= TSM.EXP_DATE
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
END
106
-------------------ENDBAODNQ 17/11/2022--------------------
107

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

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

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

    
335
	 WHERE 1 = 1
336
		AND (A.TLID LIKE '%' + @p_TLID + '%' OR  @p_TLID IS NULL OR @p_TLID = '')
337
		AND (A.TLNANME LIKE '%' + @p_TLNANME + '%' OR  @p_TLNANME IS NULL OR @p_TLNANME = '')
338
		AND (A.Password LIKE '%' + @p_Password + '%' OR  @p_Password IS NULL OR @p_Password = '')
339
		AND (A.TLFullName LIKE '%' + @p_TLFullName + '%' OR  @p_TLFullName IS NULL OR @p_TLFullName = '')
340
		--AND (A.TLSUBBRID LIKE '%' + @p_TLSUBBRID + '%' OR  @p_TLSUBBRID IS NULL OR @p_TLSUBBRID = '')
341
		AND (A.BRANCH_NAME LIKE '%' + @p_BRANCH_NAME + '%' OR  @p_BRANCH_NAME IS NULL OR @p_BRANCH_NAME = '')
342
		AND (A.BRANCH_TYPE LIKE '%' + @p_BRANCH_TYPE + '%' OR  @p_BRANCH_TYPE IS NULL OR @p_BRANCH_TYPE = '')
343
		AND (A.EMAIL LIKE '%' + @p_EMAIL + '%' OR  @p_EMAIL IS NULL OR @p_EMAIL = '')
344
		AND (A.ADDRESS LIKE '%' + @p_ADDRESS + '%' OR  @p_ADDRESS IS NULL OR @p_ADDRESS = '')
345
		AND (A.PHONE LIKE '%' + @p_PHONE + '%' OR  @p_PHONE IS NULL OR @p_PHONE = '')
346
		AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
347
		--AND (A.MARKER_ID LIKE '%' + @p_MARKER_ID + '%' OR  @p_MARKER_ID IS NULL OR @p_MARKER_ID = '')
348
		AND (A.AUTH_ID LIKE '%' + @p_AUTH_ID + '%' OR  @p_AUTH_ID IS NULL OR @p_AUTH_ID = '')
349
		AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
350
		AND (A.ISAPPROVE LIKE '%' + @p_ISAPPROVE + '%' OR  @p_ISAPPROVE IS NULL OR @p_ISAPPROVE = '')
351
		AND (DATEDIFF(DAY,A.Birthday ,CONVERT(DATETIME, @p_Birthday, 103)) = 0 OR  @p_Birthday IS NULL OR @p_Birthday = '')
352
		AND (A.ISFIRSTTIME LIKE '%' + @p_ISFIRSTTIME + '%' OR  @p_ISFIRSTTIME IS NULL OR @p_ISFIRSTTIME = '')
353
--		AND (A.RoleName <> 'DISABLE' OR A.RoleName IS NULL) 
354
    AND T.RoleName2 <> 'DISABLE' -- NGUYENTD 22042024_SECRETKEY: CHECK ROLE Ở BẢNG ROLE THAY VÌ BẢNG TL_USER
355
       AND (A.TLSUBBRID = @p_BRANCH_LOGIN OR @p_BRANCH_LOGIN IS NULL OR @p_BRANCH_LOGIN = '')
356

    
357
		--AND (
358
		--	(A.SECUR_CODE LIKE '%' + @p_SECUR_CODE + '%'
359
		--		--OR (SELECT TOP 1 TRM.DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
360
		--		--	WHERE TRM.TLNAME = A.TLNANME 
361
		--		--	AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
362
		--		--	) LIKE '%' + @p_SECUR_CODE + '%'
363
		--		----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
364
		--		OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
365
		--					WHERE TRM.TLNAME = A.TLNANME 
366
		--					AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
367
		--					AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
368
		--					AND TRM.DEP_ID = @p_SECUR_CODE
369
		--			)
370
		--		OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
371
		--					WHERE 1=1
372
		--					AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
373
		--					AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
374
		--					AND TRM.TLNAME = @p_MARKER_ID)
375
		--		OR (@p_TLSUBBRID <> 'DV0001' AND A.TLSUBBRID =@p_TLSUBBRID)
376
		--		OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
377
		--	) 
378
		--	OR (@p_DEP_ID IS NULL OR @p_DEP_ID = '' OR @p_SECUR_CODE IS NULL OR @p_SECUR_CODE ='')
379
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_SECUR_CODE))
380
		--	OR (A.SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@p_DEP_ID))
381
		--)
382
		--------------BAODNQ 17/11/2022 : CHỈNH SỬA LẠI ĐIỀU KIỆN TÌM KIẾM THEO SECUR_CODE-------------------
383
		AND(
384
		(((A.SECUR_CODE IN (SELECT DEP_ID FROM @t_DEP_ID_TMP)
385
				OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
386
							WHERE TRM.TLNAME = A.TLNANME 
387
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
388
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
389
							AND TRM.DEP_ID  IN (SELECT DEP_ID FROM @t_DEP_ID_TMP)
390
					)
391
			)
392
			OR (@p_SECUR_CODE IS NULL OR @p_SECUR_CODE = '')) AND A.TLSUBBRID = 'DV0001')
393
      OR (A.TLSUBBRID <> 'DV0001')
394
		)
395
		---------------ENDBAODNQ-------------------
396
		AND (A.TLNANME != 'admin')
397
		--AND (A.TLSUBBRID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_TLSUBBRID)))
398
		--AND ((@P_LEVEL = 'ALL' AND A.TLSUBBRID IN (SELECT BRANCH_ID from @tmp)
399
		--OR (@P_LEVEL = 'UNIT' AND A.TLSUBBRID = @p_TLSUBBRID)) OR @p_TLSUBBRID = '' OR @p_TLSUBBRID IS NULL
400

    
401
		--)
402
		AND(
403
			(@P_LEVEL = 'ALL'
404
				AND (A.TLSUBBRID IN (SELECT BRANCH_ID from @tmp)
405
					--OR (SELECT TOP 1 TRM.BRANCH_ID
406
					--		FROM TL_SYS_ROLE_MAPPING TRM
407
					--		WHERE TRM.TLNAME = A.TLNANME
408
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
409
					--	) IN (SELECT BRANCH_ID from @tmp)
410
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
411
					OR EXISTS(SELECT *
412
							FROM TL_SYS_ROLE_MAPPING TRM
413
							WHERE TRM.TLNAME = A.TLNANME
414
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
415
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
416
							AND TRM.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
417
						)
418
					--OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
419
					--		WHERE 1=1
420
					--		AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
421
					--		AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
422
					--		AND TRM.TLNAME = @p_MARKER_ID)
423
					OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
424
					)
425
			)
426
			OR(@P_LEVEL = 'UNIT'
427
				AND (A.TLSUBBRID = @p_TLSUBBRID
428
					--OR (SELECT TOP 1 TRM.BRANCH_ID
429
					--		FROM TL_SYS_ROLE_MAPPING TRM
430
					--		WHERE TRM.TLNAME = A.TLNANME
431
					--		AND GETDATE() >= TRM.EFF_DATE AND GETDATE() <= TRM.EXP_DATE
432
					--	) = @p_TLSUBBRID
433
					----------BAODNQ 30/9/2022 : Thêm xử lý tìm kiếm ủy quyền kiêm nhiệm--------
434
					OR EXISTS(SELECT *
435
							FROM TL_SYS_ROLE_MAPPING TRM
436
							WHERE TRM.TLNAME = A.TLNANME
437
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
438
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
439
							AND TRM.BRANCH_ID = @p_TLSUBBRID
440
						)
441
					--OR A.DEP_ID IN (SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING TRM 
442
					--		WHERE 1=1
443
					--		AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
444
					--		AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
445
					--		AND TRM.TLNAME = @p_MARKER_ID)
446
					OR (@BRANCH_ID <> 'DV0001' AND A.TLSUBBRID =@BRANCH_ID)
447
					)
448
			)
449
			--OR @BRANCH_ID = '' OR @BRANCH_ID IS NULL
450
			OR(@p_TLSUBBRID IS NULL OR @p_TLSUBBRID = '')
451
		)
452
		----------BAODNQ 22/3/2022 : Thêm điều kiện search theo phòng ban------
453

    
454
		--------------BAODNQ 17/11/2022 : CHỈNH SỬA LẠI ĐIỀU KIỆN TÌM KIẾM THEO DEP_ID-------------------
455
		AND(
456
			(((A.DEP_ID IN (SELECT DEP_ID FROM @t_DEP_ID_TMP)
457
				OR EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING TRM 
458
							WHERE TRM.TLNAME = A.TLNANME 
459
							AND CONVERT(DATE,GETDATE(),103) >= TRM.EFF_DATE 
460
							AND CONVERT(DATE,GETDATE(),103) <= TRM.EXP_DATE
461
							AND TRM.DEP_ID IN (SELECT DEP_ID FROM @t_DEP_ID_TMP)
462
					)
463
			)
464
			OR(@p_DEP_ID IS NULL OR @p_DEP_ID = '')) AND A.TLSUBBRID = 'DV0001')
465
      OR (A.TLSUBBRID <> 'DV0001')
466
		)
467
	-- PAGING END
468
COMMIT TRANSACTION
469

    
470

    
471
END -- PAGING
472

    
473
GO