Project

General

Profile

dbo.TR_REQ_PAYMENT_AUTO_Search.txt

baotq thấy full phiếu tt tự động để support - Luc Tran Van, 06/26/2025 10:32 AM

 
1
ALTER PROCEDURE dbo.TR_REQ_PAYMENT_AUTO_Search
2
@p_REQ_PAY_AUTO_ID	VARCHAR(20)= NULL,
3
@p_REQ_PAY_AUTO_CODE	VARCHAR(20)= NULL,
4
@p_REQ_PAY_AUTO_NAME	VARCHAR(20)= NULL,
5
@p_REQ_PAY_AUTO_DT	VARCHAR(20)= NULL,
6
@p_REQ_PAY_AUTO_TYPE	VARCHAR(20)= NULL,
7
@p_REQ_PAY_AUTO_SERVICE_TYPE	VARCHAR(20)= NULL,
8
@p_REQ_PAY_AUTO_STATUS	VARCHAR(20)= NULL,
9
@p_REQ_PAY_AUTO_EFFECTIVE_DT	VARCHAR(20)= NULL,
10
@p_BRANCH_ID	VARCHAR(20)= NULL,
11
@p_BRANCH_CODE	VARCHAR(20)= NULL,
12
@p_BRANCH_NAME	VARCHAR(20)= NULL,
13
@p_DEP_ID	VARCHAR(20)= NULL,
14
@p_DEP_CODE	VARCHAR(20)= NULL,
15
@p_DEP_NAME	VARCHAR(20)= NULL,
16
@p_BRANCH_CREATE	VARCHAR(20)= NULL,
17
@p_BRANCH_CREATE_CODE	VARCHAR(20)= NULL,
18
@p_BRANCH_CREATE_NAME	VARCHAR(20)= NULL,
19
@p_TRANSFER_USER_RECEIVE	VARCHAR(20)= NULL,
20
@p_TRANSFER_USER_RECEIVE_NAME	VARCHAR(20)= NULL,
21
@p_CONFIRM_NOTE	VARCHAR(20)= NULL,
22
@p_CONTRACT_ID	VARCHAR(20)= NULL,
23
@p_CONTRACT_CODE	VARCHAR(20)= NULL,
24
@p_CONTRACT_NAME	VARCHAR(20)= NULL,
25
@p_PROCESS	VARCHAR(20)= NULL,
26
@p_TRANSFER_MAKER	VARCHAR(20)= NULL,
27
@p_TRANSFER_DT	VARCHAR(20)= NULL,
28
@p_MAKER_ID	VARCHAR(20)= NULL,
29
@p_MAKER_NAME	VARCHAR(20)= NULL,
30
@p_CREATE_DT	VARCHAR(20)= NULL,
31
@p_EDITOR_ID	VARCHAR(20)= NULL,
32
@p_EDITOR_NAME	VARCHAR(20)= NULL,
33
@p_EDIT_DT	VARCHAR(20)= NULL,
34
@p_CHECKER_ID	VARCHAR(20)= NULL,
35
@p_CHECKER_NAME	VARCHAR(20)= NULL,
36
@p_APPROVE_DT	VARCHAR(20)= NULL,
37
@p_AUTH_STATUS	VARCHAR(20)= NULL,
38
@p_MAKER_ID_KT	VARCHAR(20)= NULL,
39
@p_MAKER_KT_NAME	VARCHAR(20)= NULL,
40
@p_CREATE_DT_KT	VARCHAR(20)= NULL,
41
@p_CHECKER_ID_KT	VARCHAR(20)= NULL,
42
@p_CHECKER_KT_NAME	VARCHAR(20)= NULL,
43
@p_APPROVE_DT_KT	VARCHAR(20)= NULL,
44
@p_AUTH_STATUS_KT	VARCHAR(20)= NULL,
45
@p_AUTH_STATUS_KT_DESC	VARCHAR(20)= NULL,
46
@p_RECORD_STATUS	VARCHAR(20)= NULL,
47
@p_FRMDATE	VARCHAR(20)= NULL,
48
@p_TODATE	VARCHAR(20)= NULL,
49
@p_LEVEL	VARCHAR(20)= NULL,
50
@p_USER_LOGIN	VARCHAR(20)= NULL,
51
@p_IS_SEND_APPR	VARCHAR(20)= NULL,
52
@p_TYPE_SEARCH	VARCHAR(20)= NULL,
53
@p_BRANCH_LOGIN	VARCHAR(20)= NULL,
54
@p_EXEC_USER_KT	nvarchar(20)	= NULL,
55
@p_IS_UPDATE_KT VARCHAR(15) = NULL,
56
@p_BRANCH_MANAGE_ID	VARCHAR(20)= NULL,
57
@p_TOP INT = NULL
58
AS
59
/*
60
1. Trạng thái chờ duyệt ở DVKD: Sẽ kiếm thấy các phiếu chờ người đó xử lý, hoặc do người đó gửi phê duyệt
61
	- Do người này gửi duyệt(U-0)
62
	- Do người này đề nghị tạm dừng(A-6)
63
	- Do người này đề nghị khôi phục(A-9)
64
	- Do người này đề nghị hủy phiếu(A-15)
65

    
66
*/
67
BEGIN -- PAGING
68
DECLARE @MENU_PERMISSON NVARCHAR(500) = 'Pages.Administration.ReqPaymentAutoKT'
69
-- BEGIN KHAI BÁO
70
	IF(@p_TYPE_SEARCH = 'HC')
71
	BEGIN
72
		SET @p_LEVEL = 'UNIT'
73
		SET @MENU_PERMISSON = 'Pages.Administration.ReqPaymentAuto'
74
	END
75
	IF(ISNULL(@p_BRANCH_ID, '') = '')
76
	BEGIN
77
		SET @p_BRANCH_ID = @p_BRANCH_CREATE
78
	END
79
	IF(@p_BRANCH_LOGIN <> 'DV0001')
80
	BEGIN
81
		SET @p_DEP_ID = NULL
82
	END
83
-- ĐƠN VỊ YÊU CẦU
84
	DECLARE @tmp_branch TABLE(BRANCH_ID VARCHAR(15))
85
	DECLARE @tmp_dep TABLE(DEP_ID VARCHAR(15))
86
	DECLARE @DEP_ID VARCHAR(15) = NULL
87
	INSERT INTO @tmp_branch  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
88
	DECLARE @BRANCH_TYPE VARCHAR(15)
89
	SET @BRANCH_TYPE =(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=(SELECT BRANCH_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_AUTO_ID))
90

    
91
-- ĐƠN VỊ ĐĂNG NHẬP
92
	DECLARE @tmp_branch_login TABLE(BRANCH_ID VARCHAR(15))
93
	DECLARE @tmp_dep_login TABLE(DEP_ID VARCHAR(15))
94
	INSERT INTO @tmp_branch_login  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
95
	INSERT INTO @tmp_branch_login VALUES (@p_BRANCH_LOGIN)
96
	INSERT INTO @tmp_branch_login	SELECT BRANCH_ID 
97
									FROM SYS_PERMISSIONS_PAGE_FOR_USER A
98
									WHERE A.TLNAME = @P_USER_LOGIN 
99
									AND (DATEDIFF(DAY, CONVERT(DATE, A.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR A.EffectiveDate IS NULL OR A.EffectiveDate = '')
100
									AND (DATEDIFF(DAY, CONVERT(DATE, A.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR A.ExpirationDate IS NULL OR A.ExpirationDate = '')
101
									AND A.AUTH_STATUS = 'A' AND A.RECORD_STATUS = '1'
102
									AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = A.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
103
	DECLARE @BRANCH_TYPE_LG VARCHAR(15)
104
	SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
105
-- PHÒNG BAN ĐĂNG NHẬP
106
	DECLARE @DEP_ID_LG VARCHAR(15) = NULL
107
	SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
108
	INSERT INTO @tmp_dep_login VALUES (@DEP_ID_LG)
109
	INSERT INTO @tmp_dep_login SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@DEP_ID_LG
110
	INSERT INTO @tmp_dep_login	SELECT DEP_ID 
111
								FROM SYS_PERMISSIONS_PAGE_FOR_USER A
112
								WHERE A.TLNAME = @P_USER_LOGIN 
113
								AND (DATEDIFF(DAY, CONVERT(DATE, A.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR A.EffectiveDate IS NULL OR A.EffectiveDate = '')
114
								AND (DATEDIFF(DAY, CONVERT(DATE, A.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR A.ExpirationDate IS NULL OR A.ExpirationDate = '')
115
								AND A.AUTH_STATUS = 'A' AND A.RECORD_STATUS = '1'
116
								AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = A.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
117
-- ĐƠN VỊ ỦY QUYỀN KIÊM NHIỆM
118
DECLARE @tmp_branch_auth TABLE (BRANCH_ID VARCHAR(15))
119
INSERT INTO @tmp_branch_auth VALUES (@p_BRANCH_LOGIN)
120
INSERT INTO @tmp_branch_auth	SELECT BRANCH_ID 
121
								FROM SYS_PERMISSIONS_PAGE_FOR_USER A
122
								WHERE A.TLNAME = @P_USER_LOGIN 
123
								AND (DATEDIFF(DAY, CONVERT(DATE, A.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR A.EffectiveDate IS NULL OR A.EffectiveDate = '')
124
								AND (DATEDIFF(DAY, CONVERT(DATE, A.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR A.ExpirationDate IS NULL OR A.ExpirationDate = '')
125
								AND A.AUTH_STATUS = 'A' AND A.RECORD_STATUS = '1'
126
								AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = A.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
127
-- PHÒNG BAN ỦY QUYỀN KIÊM NHIỆM
128
DECLARE @tmp_dep_auth TABLE (DEP_ID VARCHAR(15))
129
INSERT INTO @tmp_dep_auth VALUES (@DEP_ID_LG)
130
INSERT INTO @tmp_dep_auth	SELECT DEP_ID 
131
							FROM SYS_PERMISSIONS_PAGE_FOR_USER A
132
							WHERE A.TLNAME = @P_USER_LOGIN 
133
							AND (DATEDIFF(DAY, CONVERT(DATE, A.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR A.EffectiveDate IS NULL OR A.EffectiveDate = '')
134
							AND (DATEDIFF(DAY, CONVERT(DATE, A.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR A.ExpirationDate IS NULL OR A.ExpirationDate = '')
135
							AND A.AUTH_STATUS = 'A' AND A.RECORD_STATUS = '1'
136
							AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = A.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
137
INSERT INTO @tmp_dep_auth SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@DEP_ID_LG
138

    
139
-- ROLE
140

    
141
	DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))  
142
  
143
  INSERT INTO @TABLE_ROLE(ROLE_AUTH)
144
	SELECT C.DisplayName
145
	FROM TL_USER A
146
	LEFT JOIN AbpUserRoles B ON A.ID = B.UserId
147
	LEFT JOIN AbpRoles C ON B.RoleId = C.Id
148
	WHERE A.TLNANME = @p_USER_LOGIN
149

    
150
	INSERT INTO @TABLE_ROLE SELECT RoleDisplayName 
151
							FROM SYS_PERMISSIONS_PAGE_FOR_USER A
152
							WHERE A.TLNAME = @P_USER_LOGIN 
153
							AND (DATEDIFF(DAY, CONVERT(DATE, A.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR A.EffectiveDate IS NULL OR A.EffectiveDate = '')
154
							AND (DATEDIFF(DAY, CONVERT(DATE, A.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR A.ExpirationDate IS NULL OR A.ExpirationDate = '')
155
							AND A.AUTH_STATUS = 'A' AND A.RECORD_STATUS = '1'
156
							AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = A.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
157
	
158
-- NEU USER KHONG CHON TU NGAY THI TU NGAY BANG NGAY 1 1 HANG THANG 20211116
159
	DECLARE @DATE DATE
160
	IF ((@p_FRMDATE IS NULL OR @p_FRMDATE ='') AND ISNULL(@p_REQ_PAY_AUTO_ID,'')='' AND @p_AUTH_STATUS ='') -- MỤC ĐÍCH NẾU NHƯ XEM CHI TIẾT 1 PĐN THANH TOÁN DẠNG POPUP THÌ BỎ QUA ĐIỀU KIỆN NÀY, TỪ NGÀY VẪN LÀ NULL
161
	BEGIN
162
		SET @DATE = CONVERT(DATE,GETDATE(),103)
163
		SET @DATE = DATEADD(MONTH,-2,@DATE)
164
	END
165
	ELSE
166
	BEGIN
167
		SET @DATE = CONVERT(DATE,@p_FRMDATE,103)
168
	END
169
-- CHECK NGUOI DUYET
170
	DECLARE @IS_TDV VARCHAR(1) = 'N'
171
	IF	(		
172
				(	SELECT COUNT(*) 
173
					FROM @TABLE_ROLE A 
174
					WHERE A.ROLE_AUTH IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD')
175
				) = 0
176
		)
177
	BEGIN
178
		SET @IS_TDV = 'N'
179
	END
180
	ELSE
181
	BEGIN
182
		SET @IS_TDV = 'Y'
183
	END
184
-- END KHAI BÁO
185
	IF(@p_TYPE_SEARCH = 'HC')
186
	BEGIN
187
		IF(@p_TOP IS NULL OR @p_TOP=0)
188
		BEGIN
189
			IF(@DEP_ID_LG = 'DEP000000000022')
190
			BEGIN
191
	-- PAGING BEGIN
192
				SELECT A.*,
193
				--B.BRANCH_CODE, B.BRANCH_NAME,
194
				CASE	WHEN	(	SELECT TOP 1 BRANCH_ID 
195
									FROM TR_CONTRACT 
196
									WHERE CONTRACT_ID = A.CONTRACT_ID
197
								) <> 'DV0001'
198
								THEN  B.BRANCH_NAME + ISNULL	(	' - ' + (	SELECT TOP 1 BRANCH_NAME 
199
																						FROM CM_BRANCH 
200
																						WHERE BRANCH_ID =	(	SELECT TOP 1 BRANCH_ID 
201
																												FROM TR_CONTRACT 
202
																												WHERE CONTRACT_ID = A.CONTRACT_ID
203
																											)
204
																			),''
205
																)
206
						ELSE B.BRANCH_NAME 
207
				END BRANCH_NAME,
208
				C.DEP_CODE, C.DEP_NAME, 
209
				D.CONTRACT_CODE, D.[CONTRACT_NAME], 
210
				E.TLFullName AS MAKER_NAME, 
211
				F.TLFullName AS MAKER_NAME_KT, 
212
				G.TLFullName AS CHECKER_NAME_KT,
213
				H.CONTENT AS REQ_PAY_AUTO_STATUS_NAME,
214
				--I.CONTENT AS REQ_PAY_AUTO_TYPE_NAME,
215
				CASE 
216
					WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN N.CONTENT
217
					ELSE O.CONTENT
218
				END REQ_PAY_AUTO_TYPE_NAME,
219
				J.CONTENT AS AUTH_STATUS_NAME,
220
				K.CONTENT AS AUTH_STATUS_KT_NAME,
221
				L.TLFullName AS TRANSFER_USER_RECEIVE_NAME,
222
				M.BRANCH_CODE AS BRANCH_MANAGE_CODE, M.BRANCH_NAME AS BRANCH_MANAGE_NAME,
223
				@IS_TDV IS_CHECKER
224
		-- SELECT END
225
				FROM TR_REQ_PAYMENT_AUTO A
226
				LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
227
				LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
228
				LEFT JOIN TR_CONTRACT D ON A.CONTRACT_ID = D.CONTRACT_ID
229
				LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
230
				LEFT JOIN TL_USER F ON A.MAKER_ID_KT = F.TLNANME
231
				LEFT JOIN TL_USER G ON A.CHECKER_ID_KT = G.TLNANME
232
				LEFT JOIN CM_ALLCODE H ON A.REQ_PAY_AUTO_STATUS = H.CDVAL AND H.CDNAME = 'PAY_AUTO_STATUS' AND H.CDTYPE = 'REQ_AUTO'
233
				LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_TYPE = I.CDVAL AND I.CDNAME = 'PAY_TYPE_AUTO' AND I.CDTYPE = 'REQ_AUTO'
234
				LEFT JOIN CM_ALLCODE J ON A.AUTH_STATUS = J.CDVAL AND J.CDNAME = 'AUTH_STATUS' AND J.CDTYPE = 'TR_REQ_PAYMENT'
235
				LEFT JOIN CM_ALLCODE K ON A.AUTH_STATUS_KT = K.CDVAL AND K.CDNAME = 'AUTH_STATUS_KT' AND K.CDTYPE = 'TR_REQ_PAYMENT'
236
				LEFT JOIN TL_USER L ON A.TRANSFER_USER_RECEIVE = L.TLNANME
237
				LEFT JOIN CM_BRANCH M ON A.BRANCH_MANAGE_ID = M.BRANCH_ID
238
				LEFT JOIN CM_ALLCODE N ON A.REQ_PAY_AUTO_SERVICE_TYPE = N.CDVAL AND N.CDNAME = 'PAY_SER_AUTO_TS' AND N.CDTYPE = 'REQ_AUTO'
239
				LEFT JOIN CM_ALLCODE O ON A.REQ_PAY_AUTO_SERVICE_TYPE = O.CDVAL AND O.CDNAME = 'PAY_SER_AUTO' AND O.CDTYPE = 'REQ_AUTO'
240
				WHERE 1=1 
241
				-- BEGIN FILTER
242
				AND	(	A.REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID OR ISNULL(@p_REQ_PAY_AUTO_ID, '') = '')
243
				AND	(	A.REQ_PAY_AUTO_CODE LIKE '%' + @p_REQ_PAY_AUTO_CODE +'%' OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
244
				AND	(	A.BRANCH_ID = @p_BRANCH_ID OR ISNULL(@p_BRANCH_ID, '') = @p_BRANCH_CREATE)
245
				--AND	(	A.AUTH_STATUS = @p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS, '') = '')
246
				AND (	(@p_AUTH_STATUS = A.AUTH_STATUS)	-- dùng cho: lưu nháp, phiếu bị hủy
247
					OR	(@p_AUTH_STATUS = 'W' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ cấp trung gian xác nhận
248
					OR	(@p_AUTH_STATUS = 'G' AND A.PROCESS IN ('1', '7', '10', '16')) -- cấp trung gian xác nhận
249
					OR	(@p_AUTH_STATUS = 'U' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ duyệt CTG
250
					OR	(@p_AUTH_STATUS = 'U' AND A.PROCESS IN ('0', '1', '6', '7', '9', '10', '15', '16')) -- chờ duyệt TDV
251
					OR	(@p_AUTH_STATUS = 'A' AND A.PROCESS IN ('1', '2', '7', '8', '10', '11', '16', '17')) -- đã duyệt
252
					OR	(@p_AUTH_STATUS = 'R' AND ISNULL(A.PROCESS, '') IN ('', '7.1', '8.1', '10.1', '11.1', '14.1', '16.1', '17.1', '20.1') AND ISNULL(A.AUTH_STATUS, '') <> 'E') -- từ chối
253
					OR (ISNULL(@p_AUTH_STATUS, '') = '')
254
					)
255
				AND	(	A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
256
				AND	(	A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
257
				AND	(	M.BRANCH_ID = @p_BRANCH_MANAGE_ID OR ISNULL(@p_BRANCH_MANAGE_ID, '') = '')
258
				AND	(	A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
259
				AND	(	A.REQ_PAY_AUTO_STATUS = @p_REQ_PAY_AUTO_STATUS OR ISNULL(@p_REQ_PAY_AUTO_STATUS, '') = '')
260
				AND	(	CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
261
				AND	(	CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
262
				AND	(	A.BRANCH_ID = @p_BRANCH_ID 
263
						OR ISNULL(@p_BRANCH_ID, '') = ''
264
						OR A.BRANCH_ID IN	(	SELECT BRANCH_ID 
265
												FROM @tmp_branch
266
											)
267
					)
268
				AND	(	A.DEP_ID = @p_DEP_ID 
269
						OR ISNULL(@p_DEP_ID, '') = ''
270
					)
271
				AND	(	A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
272
				AND	(	A.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
273
				-- END FILTER
274
			ORDER BY A.CREATE_DT DESC
275
	-- PAGING END
276
			END
277
			ELSE
278
			BEGIN-- DVKD Search
279
	-- PAGING BEGIN
280
				SELECT A.*,
281
				--B.BRANCH_CODE, B.BRANCH_NAME,
282
				CASE	WHEN	(	SELECT TOP 1 BRANCH_ID 
283
									FROM TR_CONTRACT 
284
									WHERE CONTRACT_ID = A.CONTRACT_ID
285
								) <> 'DV0001'
286
								THEN  B.BRANCH_NAME + ISNULL	(	' - ' + (	SELECT TOP 1 BRANCH_NAME 
287
																						FROM CM_BRANCH 
288
																						WHERE BRANCH_ID =	(	SELECT TOP 1 BRANCH_ID 
289
																												FROM TR_CONTRACT 
290
																												WHERE CONTRACT_ID = A.CONTRACT_ID
291
																											)
292
																			),''
293
																)
294
						ELSE B.BRANCH_NAME 
295
				END BRANCH_NAME,
296
				C.DEP_CODE, C.DEP_NAME, 
297
				D.CONTRACT_CODE, D.[CONTRACT_NAME], 
298
				E.TLFullName AS MAKER_NAME, 
299
				F.TLFullName AS MAKER_NAME_KT, 
300
				G.TLFullName AS CHECKER_NAME_KT,
301
				H.CONTENT AS REQ_PAY_AUTO_STATUS_NAME,
302
				--I.CONTENT AS REQ_PAY_AUTO_TYPE_NAME,
303
				CASE 
304
					WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN N.CONTENT
305
					ELSE O.CONTENT
306
				END REQ_PAY_AUTO_TYPE_NAME,
307
				J.CONTENT AS AUTH_STATUS_NAME,
308
				K.CONTENT AS AUTH_STATUS_KT_NAME,
309
				L.TLFullName AS TRANSFER_USER_RECEIVE_NAME,
310
				M.BRANCH_CODE AS BRANCH_MANAGE_CODE, M.BRANCH_NAME AS BRANCH_MANAGE_NAME,
311
				@IS_TDV IS_CHECKER
312
		-- SELECT END
313
				FROM TR_REQ_PAYMENT_AUTO A
314
				LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
315
				LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
316
				LEFT JOIN TR_CONTRACT D ON A.CONTRACT_ID = D.CONTRACT_ID
317
				LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
318
				LEFT JOIN TL_USER F ON A.MAKER_ID_KT = F.TLNANME
319
				LEFT JOIN TL_USER G ON A.CHECKER_ID_KT = G.TLNANME
320
				LEFT JOIN CM_ALLCODE H ON A.REQ_PAY_AUTO_STATUS = H.CDVAL AND H.CDNAME = 'PAY_AUTO_STATUS' AND H.CDTYPE = 'REQ_AUTO'
321
				LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_TYPE = I.CDVAL AND I.CDNAME = 'PAY_TYPE_AUTO' AND I.CDTYPE = 'REQ_AUTO'
322
				LEFT JOIN CM_ALLCODE J ON A.AUTH_STATUS = J.CDVAL AND J.CDNAME = 'AUTH_STATUS' AND J.CDTYPE = 'TR_REQ_PAYMENT'
323
				LEFT JOIN CM_ALLCODE K ON A.AUTH_STATUS_KT = K.CDVAL AND K.CDNAME = 'AUTH_STATUS_KT' AND K.CDTYPE = 'TR_REQ_PAYMENT'
324
				LEFT JOIN TL_USER L ON A.TRANSFER_USER_RECEIVE = L.TLNANME
325
				LEFT JOIN CM_BRANCH M ON A.BRANCH_MANAGE_ID = M.BRANCH_ID
326
				LEFT JOIN CM_ALLCODE N ON A.REQ_PAY_AUTO_SERVICE_TYPE = N.CDVAL AND N.CDNAME = 'PAY_SER_AUTO_TS' AND N.CDTYPE = 'REQ_AUTO'
327
				LEFT JOIN CM_ALLCODE O ON A.REQ_PAY_AUTO_SERVICE_TYPE = O.CDVAL AND O.CDNAME = 'PAY_SER_AUTO' AND O.CDTYPE = 'REQ_AUTO'
328
				WHERE 1=1 
329
				-- BEGIN FILTER
330
				AND	(	A.REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID OR ISNULL(@p_REQ_PAY_AUTO_ID, '') = '')
331
				AND	(	A.REQ_PAY_AUTO_CODE LIKE '%' + @p_REQ_PAY_AUTO_CODE +'%' OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
332
				--AND	(	A.AUTH_STATUS = @p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS, '') = '')
333
				AND (	(@p_AUTH_STATUS = A.AUTH_STATUS)	-- dùng cho: lưu nháp, phiếu bị hủy
334
					OR	(@p_AUTH_STATUS = 'W' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ cấp trung gian xác nhận
335
					OR	(@p_AUTH_STATUS = 'G' AND A.PROCESS IN ('1', '7', '10', '16')) -- cấp trung gian xác nhận
336
					OR	(@p_AUTH_STATUS = 'U' AND @IS_TDV = 'N' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ duyệt CTG
337
					OR	(@p_AUTH_STATUS = 'U' AND @IS_TDV = 'Y' AND A.PROCESS IN ('0', '1', '6', '7', '9', '10', '15', '16')) -- chờ duyệt TDV
338
					OR	(@p_AUTH_STATUS = 'A' AND A.PROCESS IN ('1', '2', '7', '8', '10', '11', '16', '17')) -- đã duyệt
339
					OR	(@p_AUTH_STATUS = 'R' AND ISNULL(A.PROCESS, '') IN ('', '7.1', '8.1', '10.1', '11.1', '14.1', '16.1', '17.1', '20.1') AND ISNULL(A.AUTH_STATUS, '') <> 'E') -- từ chối
340
					OR (ISNULL(@p_AUTH_STATUS, '') = '')
341
					)
342
				AND	(	A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
343
				AND	(	A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
344
				AND	(	M.BRANCH_ID = @p_BRANCH_MANAGE_ID OR ISNULL(@p_BRANCH_MANAGE_ID, '') = '')
345
				AND	(	A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
346
				AND	(	A.REQ_PAY_AUTO_STATUS = @p_REQ_PAY_AUTO_STATUS OR ISNULL(@p_REQ_PAY_AUTO_STATUS, '') = '')
347
				AND(	CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
348
				AND(	CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
349
				AND	(	A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
350
				AND	(	A.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
351
				-- END FILTER
352
				-- BEGIN VALIDATE FLOW
353
				AND	(
354
						(
355
								(	A.MAKER_ID = @p_USER_LOGIN OR @p_USER_LOGIN = 'baotq')
356
						)-- NGUOI TAO
357
					OR	(
358
							(	A.TRANSFER_USER_RECEIVE = @p_USER_LOGIN AND A.AUTH_STATUS IN ('U', 'R', 'A', 'N') AND PROCESS IN ('0', '6', '9', '15') )
359
						)-- NGUOI DUYET TRUNG GIAN
360
					OR	(
361
							(	A.AUTH_STATUS IN ('R', 'A', 'N') AND @IS_TDV = 'Y')
362
						OR	(	A.AUTH_STATUS = 'U' AND ISNULL(A.TRANSFER_USER_RECEIVE, '') = '' AND @IS_TDV = 'Y')
363
						OR	(	A.AUTH_STATUS = 'U' AND ISNULL(A.TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(A.PROCESS, '') = '1' AND @IS_TDV = 'Y')
364
						)-- TRUONG DON VI
365
					OR	(
366
							A.AUTH_STATUS = 'A'
367
							
368
						)-- VA NHUNG PHIEU DA DUYET
369
					)
370
				AND	(	(	@p_LEVEL='ALL' 
371
							AND	(	A.BRANCH_ID IN	(	SELECT BRANCH_ID 
372
														FROM @tmp_branch
373
													) -- PYC cua don vi minh va cac don vi con
374
									OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PYC cua don vi kiem nhiem
375
								)
376
						)
377
						OR	(	@p_LEVEL='UNIT' 
378
								AND	(	A.BRANCH_ID = @p_BRANCH_ID	-- PYC cua don vi minh
379
										OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PYC cua don vi kiem nhiem
380
									)
381
							)
382
					)
383
				AND	(	A.DEP_ID = @p_DEP_ID 
384
						OR ISNULL(@p_DEP_ID, '') = ''
385
            OR @p_USER_LOGIN = 'baotq'
386
					)
387
							
388
				AND	(
389
						A.DEP_ID IN	(
390
										SELECT * 
391
										FROM @tmp_dep_auth
392
									)
393
						OR A.BRANCH_ID <> 'DV0001'
394
            OR @p_USER_LOGIN = 'baotq'
395
					)
396
        
397
				-- END VALIDATE FLOW
398
			ORDER BY A.CREATE_DT DESC
399
	-- PAGING END
400
			END
401
		END;
402
		ELSE -- TOP IS NOT NULL
403
		BEGIN
404
			IF(@DEP_ID_LG = 'DEP000000000022')
405
			BEGIN
406
	-- PAGING BEGIN
407
				SELECT A.*,
408
				--B.BRANCH_CODE, B.BRANCH_NAME,
409
				CASE	WHEN	(	SELECT TOP 1 BRANCH_ID 
410
									FROM TR_CONTRACT 
411
									WHERE CONTRACT_ID = A.CONTRACT_ID
412
								) <> 'DV0001'
413
								THEN  B.BRANCH_NAME + ISNULL	(	' - ' + (	SELECT TOP 1 BRANCH_NAME 
414
																						FROM CM_BRANCH 
415
																						WHERE BRANCH_ID =	(	SELECT TOP 1 BRANCH_ID 
416
																												FROM TR_CONTRACT 
417
																												WHERE CONTRACT_ID = A.CONTRACT_ID
418
																											)
419
																			),''
420
																)
421
						ELSE B.BRANCH_NAME 
422
				END BRANCH_NAME,
423
				C.DEP_CODE, C.DEP_NAME, 
424
				D.CONTRACT_CODE, D.[CONTRACT_NAME], 
425
				E.TLFullName AS MAKER_NAME, 
426
				F.TLFullName AS MAKER_NAME_KT, 
427
				G.TLFullName AS CHECKER_NAME_KT,
428
				H.CONTENT AS REQ_PAY_AUTO_STATUS_NAME,
429
				--I.CONTENT AS REQ_PAY_AUTO_TYPE_NAME,
430
				CASE 
431
					WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN N.CONTENT
432
					ELSE O.CONTENT
433
				END REQ_PAY_AUTO_TYPE_NAME,
434
				J.CONTENT AS AUTH_STATUS_NAME,
435
				K.CONTENT AS AUTH_STATUS_KT_NAME,
436
				L.TLFullName AS TRANSFER_USER_RECEIVE_NAME,
437
				M.BRANCH_CODE AS BRANCH_MANAGE_CODE, M.BRANCH_NAME AS BRANCH_MANAGE_NAME,
438
				@IS_TDV IS_CHECKER
439
		-- SELECT END
440
				FROM TR_REQ_PAYMENT_AUTO A
441
				LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
442
				LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
443
				LEFT JOIN TR_CONTRACT D ON A.CONTRACT_ID = D.CONTRACT_ID
444
				LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
445
				LEFT JOIN TL_USER F ON A.MAKER_ID_KT = F.TLNANME
446
				LEFT JOIN TL_USER G ON A.CHECKER_ID_KT = G.TLNANME
447
				LEFT JOIN CM_ALLCODE H ON A.REQ_PAY_AUTO_STATUS = H.CDVAL AND H.CDNAME = 'PAY_AUTO_STATUS' AND H.CDTYPE = 'REQ_AUTO'
448
				LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_TYPE = I.CDVAL AND I.CDNAME = 'PAY_TYPE_AUTO' AND I.CDTYPE = 'REQ_AUTO'
449
				LEFT JOIN CM_ALLCODE J ON A.AUTH_STATUS = J.CDVAL AND J.CDNAME = 'AUTH_STATUS' AND J.CDTYPE = 'TR_REQ_PAYMENT'
450
				LEFT JOIN CM_ALLCODE K ON A.AUTH_STATUS_KT = K.CDVAL AND K.CDNAME = 'AUTH_STATUS_KT' AND K.CDTYPE = 'TR_REQ_PAYMENT'
451
				LEFT JOIN TL_USER L ON A.TRANSFER_USER_RECEIVE = L.TLNANME
452
				LEFT JOIN CM_BRANCH M ON A.BRANCH_MANAGE_ID = M.BRANCH_ID
453
				LEFT JOIN CM_ALLCODE N ON A.REQ_PAY_AUTO_SERVICE_TYPE = N.CDVAL AND N.CDNAME = 'PAY_SER_AUTO_TS' AND N.CDTYPE = 'REQ_AUTO'
454
				LEFT JOIN CM_ALLCODE O ON A.REQ_PAY_AUTO_SERVICE_TYPE = O.CDVAL AND O.CDNAME = 'PAY_SER_AUTO' AND O.CDTYPE = 'REQ_AUTO'
455
				WHERE 1=1 
456
				-- BEGIN FILTER
457
				AND	(	A.REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID OR ISNULL(@p_REQ_PAY_AUTO_ID, '') = '')
458
				AND	(	A.REQ_PAY_AUTO_CODE LIKE '%' + @p_REQ_PAY_AUTO_CODE +'%' OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
459
				--AND	(	A.AUTH_STATUS = @p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS, '') = '')
460
				AND (	(@p_AUTH_STATUS = A.AUTH_STATUS)	-- dùng cho: lưu nháp, phiếu bị hủy
461
					OR	(@p_AUTH_STATUS = 'W' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ cấp trung gian xác nhận
462
					OR	(@p_AUTH_STATUS = 'G' AND A.PROCESS IN ('1', '7', '10', '16')) -- cấp trung gian xác nhận
463
					OR	(@p_AUTH_STATUS = 'U' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ duyệt CTG
464
					OR	(@p_AUTH_STATUS = 'U' AND A.PROCESS IN ('0', '1', '6', '7', '9', '10', '15', '16')) -- chờ duyệt TDV
465
					OR	(@p_AUTH_STATUS = 'A' AND A.PROCESS IN ('1', '2', '7', '8', '10', '11', '16', '17')) -- đã duyệt
466
					OR	(@p_AUTH_STATUS = 'R' AND ISNULL(A.PROCESS, '') IN ('', '7.1', '8.1', '10.1', '11.1', '14.1', '16.1', '17.1', '20.1') AND ISNULL(A.AUTH_STATUS, '') <> 'E') -- từ chối
467
					OR (ISNULL(@p_AUTH_STATUS, '') = '')
468
					)
469
				AND	(	A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
470
				AND	(	A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
471
				AND	(	M.BRANCH_ID = @p_BRANCH_MANAGE_ID OR ISNULL(@p_BRANCH_MANAGE_ID, '') = '')
472
				AND	(	A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
473
				AND	(	A.REQ_PAY_AUTO_STATUS = @p_REQ_PAY_AUTO_STATUS OR ISNULL(@p_REQ_PAY_AUTO_STATUS, '') = '')
474
				AND	(	CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
475
				AND	(	CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
476
				AND	(	A.BRANCH_ID = @p_BRANCH_ID 
477
						OR ISNULL(@p_BRANCH_ID, '') = ''
478
						OR A.BRANCH_ID IN	(	SELECT BRANCH_ID 
479
												FROM @tmp_branch
480
											)
481
					)
482
				AND	(	A.DEP_ID = @p_DEP_ID 
483
						OR ISNULL(@p_DEP_ID, '') = ''
484
					)
485
				AND	(	A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
486
				AND	(	A.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
487
				-- END FILTER
488
			ORDER BY A.CREATE_DT DESC
489
	-- PAGING END
490
			END--END @DEP_ID_LG = 'DEP000000000022'
491
			ELSE
492
			BEGIN
493
	-- PAGING BEGIN
494
				SELECT A.*,
495
				--B.BRANCH_CODE, B.BRANCH_NAME,
496
				CASE	WHEN	(	SELECT TOP 1 BRANCH_ID 
497
									FROM TR_CONTRACT 
498
									WHERE CONTRACT_ID = A.CONTRACT_ID
499
								) <> 'DV0001'
500
								THEN  B.BRANCH_NAME + ISNULL	(	' - ' + (	SELECT TOP 1 BRANCH_NAME 
501
																						FROM CM_BRANCH 
502
																						WHERE BRANCH_ID =	(	SELECT TOP 1 BRANCH_ID 
503
																												FROM TR_CONTRACT 
504
																												WHERE CONTRACT_ID = A.CONTRACT_ID
505
																											)
506
																			),''
507
																)
508
						ELSE B.BRANCH_NAME 
509
				END BRANCH_NAME,
510
				C.DEP_CODE, C.DEP_NAME, 
511
				D.CONTRACT_CODE, D.[CONTRACT_NAME], 
512
				E.TLFullName AS MAKER_NAME, 
513
				F.TLFullName AS MAKER_NAME_KT, 
514
				G.TLFullName AS CHECKER_NAME_KT,
515
				H.CONTENT AS REQ_PAY_AUTO_STATUS_NAME,
516
				--I.CONTENT AS REQ_PAY_AUTO_TYPE_NAME,
517
				CASE 
518
					WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN N.CONTENT
519
					ELSE O.CONTENT
520
				END REQ_PAY_AUTO_TYPE_NAME,
521
				J.CONTENT AS AUTH_STATUS_NAME,
522
				K.CONTENT AS AUTH_STATUS_KT_NAME,
523
				L.TLFullName AS TRANSFER_USER_RECEIVE_NAME,
524
				M.BRANCH_CODE AS BRANCH_MANAGE_CODE, M.BRANCH_NAME AS BRANCH_MANAGE_NAME,
525
				@IS_TDV IS_CHECKER
526
		-- SELECT END
527
				FROM TR_REQ_PAYMENT_AUTO A
528
				LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
529
				LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
530
				LEFT JOIN TR_CONTRACT D ON A.CONTRACT_ID = D.CONTRACT_ID
531
				LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
532
				LEFT JOIN TL_USER F ON A.MAKER_ID_KT = F.TLNANME
533
				LEFT JOIN TL_USER G ON A.CHECKER_ID_KT = G.TLNANME
534
				LEFT JOIN CM_ALLCODE H ON A.REQ_PAY_AUTO_STATUS = H.CDVAL AND H.CDNAME = 'PAY_AUTO_STATUS' AND H.CDTYPE = 'REQ_AUTO'
535
				LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_TYPE = I.CDVAL AND I.CDNAME = 'PAY_TYPE_AUTO' AND I.CDTYPE = 'REQ_AUTO'
536
				LEFT JOIN CM_ALLCODE J ON A.AUTH_STATUS = J.CDVAL AND J.CDNAME = 'AUTH_STATUS' AND J.CDTYPE = 'TR_REQ_PAYMENT'
537
				LEFT JOIN CM_ALLCODE K ON A.AUTH_STATUS_KT = K.CDVAL AND K.CDNAME = 'AUTH_STATUS_KT' AND K.CDTYPE = 'TR_REQ_PAYMENT'
538
				LEFT JOIN TL_USER L ON A.TRANSFER_USER_RECEIVE = L.TLNANME
539
				LEFT JOIN CM_BRANCH M ON A.BRANCH_MANAGE_ID = M.BRANCH_ID
540
				LEFT JOIN CM_ALLCODE N ON A.REQ_PAY_AUTO_SERVICE_TYPE = N.CDVAL AND N.CDNAME = 'PAY_SER_AUTO_TS' AND N.CDTYPE = 'REQ_AUTO'
541
				LEFT JOIN CM_ALLCODE O ON A.REQ_PAY_AUTO_SERVICE_TYPE = O.CDVAL AND O.CDNAME = 'PAY_SER_AUTO' AND O.CDTYPE = 'REQ_AUTO'
542
				WHERE 1=1 
543
				-- BEGIN FILTER
544
				AND	(	A.REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID OR ISNULL(@p_REQ_PAY_AUTO_ID, '') = '')
545
				AND	(	A.REQ_PAY_AUTO_CODE LIKE '%' + @p_REQ_PAY_AUTO_CODE +'%' OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
546
				--AND	(	A.AUTH_STATUS = @p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS, '') = '')
547
				AND (	(@p_AUTH_STATUS = A.AUTH_STATUS)	-- dùng cho: lưu nháp, phiếu bị hủy
548
					OR	(@p_AUTH_STATUS = 'W' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ cấp trung gian xác nhận
549
					OR	(@p_AUTH_STATUS = 'G' AND A.PROCESS IN ('1', '7', '10', '16')) -- cấp trung gian xác nhận
550
					OR	(@p_AUTH_STATUS = 'U' AND @IS_TDV = 'N' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ duyệt CTG
551
					OR	(@p_AUTH_STATUS = 'U' AND @IS_TDV = 'Y' AND A.PROCESS IN ('0', '1', '6', '7', '9', '10', '15', '16')) -- chờ duyệt TDV
552
					OR	(@p_AUTH_STATUS = 'A' AND A.PROCESS IN ('1', '2', '7', '8', '10', '11', '16', '17')) -- đã duyệt
553
					OR	(@p_AUTH_STATUS = 'R' AND ISNULL(A.PROCESS, '') IN ('', '7.1', '8.1', '10.1', '11.1', '14.1', '16.1', '17.1', '20.1') AND ISNULL(A.AUTH_STATUS, '') <> 'E') -- từ chối
554
					OR (ISNULL(@p_AUTH_STATUS, '') = '')
555
					)
556
				AND	(	A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
557
				AND	(	A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
558
				AND	(	M.BRANCH_ID = @p_BRANCH_MANAGE_ID OR ISNULL(@p_BRANCH_MANAGE_ID, '') = '')
559
				AND	(	A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
560
				AND	(	A.REQ_PAY_AUTO_STATUS = @p_REQ_PAY_AUTO_STATUS OR ISNULL(@p_REQ_PAY_AUTO_STATUS, '') = '')
561
				AND(	CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
562
				AND(	CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
563
				AND	(	A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
564
				AND	(	A.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
565
				-- END FILTER
566
				-- BEGIN VALIDATE FLOW
567
				AND	(
568
						(
569
								(	A.MAKER_ID = @p_USER_LOGIN or @p_USER_LOGIN = 'baotq')
570
						)-- NGUOI TAO
571
					OR	(
572
							(	A.TRANSFER_USER_RECEIVE = @p_USER_LOGIN AND A.AUTH_STATUS IN ('U', 'R', 'A', 'N') AND PROCESS IN ('0', '6', '9', '15') )
573
						)-- NGUOI DUYET TRUNG GIAN
574
					OR	(
575
							(	A.AUTH_STATUS IN ('R', 'A', 'N') AND @IS_TDV = 'Y')
576
						OR	(	A.AUTH_STATUS = 'U' AND ISNULL(A.TRANSFER_USER_RECEIVE, '') = '' AND @IS_TDV = 'Y')
577
						OR	(	A.AUTH_STATUS = 'U' AND ISNULL(A.TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(A.PROCESS, '') = '1' AND @IS_TDV = 'Y')
578
						)-- TRUONG DON VI
579
					OR	(
580
							A.AUTH_STATUS = 'A'
581
							
582
						)-- VA NHUNG PHIEU DA DUYET
583
					)
584
				AND	(	(	@p_LEVEL='ALL' 
585
							AND	(	A.BRANCH_ID IN	(	SELECT BRANCH_ID 
586
														FROM @tmp_branch
587
													) -- PYC cua don vi minh va cac don vi con
588
									OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PYC cua don vi kiem nhiem
589
								)
590
						)
591
						OR	(	@p_LEVEL='UNIT' 
592
								AND	(	A.BRANCH_ID = @p_BRANCH_ID	-- PYC cua don vi minh
593
										OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PYC cua don vi kiem nhiem
594
									)
595
							)
596
					)
597
				AND	(	A.DEP_ID = @p_DEP_ID 
598
						OR ISNULL(@p_DEP_ID, '') = ''
599
					)
600
							
601
				AND	(
602
						A.DEP_ID IN	(
603
										SELECT * 
604
										FROM @tmp_dep_auth
605
									)
606
						OR A.BRANCH_ID <> 'DV0001'
607
					)
608
				-- END VALIDATE FLOW
609
			ORDER BY A.CREATE_DT DESC
610
	-- PAGING END
611
			END
612
		END;
613
	END
614
	ELSE IF(@p_TYPE_SEARCH = 'KT')
615
	BEGIN
616
		IF(@p_TOP IS NULL OR @p_TOP = 0)
617
		BEGIN
618
	-- PAGING BEGIN
619
				SELECT A.*,
620
				--B.BRANCH_CODE, B.BRANCH_NAME,
621
				CASE	WHEN	(	SELECT TOP 1 BRANCH_ID 
622
									FROM TR_CONTRACT 
623
									WHERE CONTRACT_ID = A.CONTRACT_ID
624
								) <> 'DV0001'
625
								THEN  B.BRANCH_NAME + ISNULL	(	' - ' + (	SELECT TOP 1 BRANCH_NAME 
626
																						FROM CM_BRANCH 
627
																						WHERE BRANCH_ID =	(	SELECT TOP 1 BRANCH_ID 
628
																												FROM TR_CONTRACT 
629
																												WHERE CONTRACT_ID = A.CONTRACT_ID
630
																											)
631
																			),''
632
																)
633
						ELSE B.BRANCH_NAME 
634
				END BRANCH_NAME,
635
				C.DEP_CODE, C.DEP_NAME, 
636
				D.CONTRACT_CODE, D.[CONTRACT_NAME], 
637
				E.TLFullName AS MAKER_NAME, 
638
				F.TLFullName AS MAKER_NAME_KT, 
639
				G.TLFullName AS CHECKER_NAME_KT,
640
				H.CONTENT AS REQ_PAY_AUTO_STATUS_NAME,
641
				--I.CONTENT AS REQ_PAY_AUTO_TYPE_NAME,
642
				CASE 
643
					WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN N.CONTENT
644
					ELSE O.CONTENT
645
				END REQ_PAY_AUTO_TYPE_NAME,
646
				J.CONTENT AS AUTH_STATUS_NAME,
647
				K.CONTENT AS AUTH_STATUS_KT_NAME,
648
				L.TLFullName AS TRANSFER_USER_RECEIVE_NAME,
649
				M.BRANCH_CODE AS BRANCH_MANAGE_CODE, M.BRANCH_NAME AS BRANCH_MANAGE_NAME,
650
				@IS_TDV IS_CHECKER
651
		-- SELECT END
652
				FROM TR_REQ_PAYMENT_AUTO A
653
				LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
654
				LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
655
				LEFT JOIN TR_CONTRACT D ON A.CONTRACT_ID = D.CONTRACT_ID
656
				LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
657
				LEFT JOIN TL_USER F ON A.MAKER_ID_KT = F.TLNANME
658
				LEFT JOIN TL_USER G ON A.CHECKER_ID_KT = G.TLNANME
659
				LEFT JOIN CM_ALLCODE H ON A.REQ_PAY_AUTO_STATUS = H.CDVAL AND H.CDNAME = 'PAY_AUTO_STATUS' AND H.CDTYPE = 'REQ_AUTO'
660
				LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_TYPE = I.CDVAL AND I.CDNAME = 'PAY_TYPE_AUTO' AND I.CDTYPE = 'REQ_AUTO'
661
				LEFT JOIN CM_ALLCODE J ON A.AUTH_STATUS = J.CDVAL AND J.CDNAME = 'AUTH_STATUS' AND J.CDTYPE = 'TR_REQ_PAYMENT'
662
				LEFT JOIN CM_ALLCODE K ON A.AUTH_STATUS_KT = K.CDVAL AND K.CDNAME = 'AUTH_STATUS_KT' AND K.CDTYPE = 'TR_REQ_PAYMENT'
663
				LEFT JOIN TL_USER L ON A.TRANSFER_USER_RECEIVE = L.TLNANME
664
				LEFT JOIN CM_BRANCH M ON A.BRANCH_MANAGE_ID = M.BRANCH_ID
665
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_AUTO_ID AND PC3.STATUS_JOB ='C' 
666
				LEFT JOIN CM_ALLCODE N ON A.REQ_PAY_AUTO_SERVICE_TYPE = N.CDVAL AND N.CDNAME = 'PAY_SER_AUTO_TS' AND N.CDTYPE = 'REQ_AUTO'
667
				LEFT JOIN CM_ALLCODE O ON A.REQ_PAY_AUTO_SERVICE_TYPE = O.CDVAL AND O.CDNAME = 'PAY_SER_AUTO' AND O.CDTYPE = 'REQ_AUTO'
668
				WHERE 1=1 
669
				-- BEGIN FILTER
670
				AND A.AUTH_STATUS IN ('A', 'N', 'D')
671
				AND	(	A.REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID OR ISNULL(@p_REQ_PAY_AUTO_ID, '') = '')
672
				AND	(	A.REQ_PAY_AUTO_CODE LIKE '%' + @p_REQ_PAY_AUTO_CODE +'%' OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
673
				AND	(	A.BRANCH_ID = @p_BRANCH_ID OR ISNULL(@p_BRANCH_ID, '') = @p_BRANCH_CREATE)
674
				--AND	(	A.AUTH_STATUS = @p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS, '') = '')
675
				AND (	(@p_AUTH_STATUS_KT = A.AUTH_STATUS_KT) -- dùng cho từ chối
676
					OR	(@p_AUTH_STATUS_KT = 'U' AND A.PROCESS IN ('3', '12', '18')) -- chờ duyệt
677
					OR	(@p_AUTH_STATUS_KT = 'P' AND A.PROCESS IN ('4', '13', '13.1', '19', '19.1')) -- đang xử lý
678
					OR	(@p_AUTH_STATUS_KT = 'S' AND A.PROCESS IN ('4', '13.1', '19.1')) -- đề xuất từ chối
679
					OR	(@p_AUTH_STATUS_KT = 'A' AND A.PROCESS IN ('5', '14', '20')) -- đã duyệt
680
					OR	(@p_AUTH_STATUS_KT = 'R' AND A.PROCESS IN ('20.2', '14.2')) -- từ chối
681
					OR (ISNULL(@p_AUTH_STATUS_KT, '') = '' AND A.PROCESS  IN ('2', '11', '17')) -- khi KSV chưa điều phối
682
					OR (ISNULL(@p_AUTH_STATUS_KT, '') = '')
683
					)
684
				AND	(	A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
685
				--AND	(	A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
686
				AND	(	M.BRANCH_ID = @p_BRANCH_MANAGE_ID OR ISNULL(@p_BRANCH_MANAGE_ID, '') = '')
687
				AND	(	A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
688
				AND	(	A.REQ_PAY_AUTO_STATUS = @p_REQ_PAY_AUTO_STATUS OR ISNULL(@p_REQ_PAY_AUTO_STATUS, '') = '')
689
				AND(	CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
690
				AND(	CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
691
				AND	(	(	@p_LEVEL='ALL' 
692
							AND	(	A.BRANCH_ID IN	(	SELECT BRANCH_ID 
693
														FROM @tmp_branch
694
													) -- PYC cua don vi minh
695
									OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PYC cua don vi kiem nhiem
696
								)
697
						)
698
						OR	(	
699
									@p_LEVEL='UNIT' 
700
								AND A.BRANCH_ID = @p_BRANCH_ID
701
							)
702
					)
703
				AND	(	A.DEP_ID = @p_DEP_ID 
704
						OR ISNULL(@p_DEP_ID, '') = ''
705
					)
706
				AND	(	A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
707
				AND	(	A.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
708
				AND(	PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL OR PC3.TLNAME = '' OR PC3.TLNAME IS NULL)
709
				AND	(
710
						(
711
							EXISTS	(	SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE	REQ_ID = A.REQ_PAY_AUTO_ID 
712
																								AND (
713
																										X.TLNAME= @p_USER_LOGIN 
714
																										OR X.TLNAME =@p_EXEC_USER_KT
715
																									)
716
									)
717
						) 
718
						OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT OR @p_USER_LOGIN = 'baotq')
719
						OR (SELECT COUNT(*) FROM @TABLE_ROLE WHERE ROLE_AUTH = 'KSV') > 0
720
						OR ISNULL(@p_EXEC_USER_KT, '') = ''
721
					)	
722
				AND	(	(	A.MAKER_ID_KT IS NOT NULL 
723
							AND @p_IS_UPDATE_KT='Y'
724
						)
725
						OR	(	(	A.MAKER_ID_KT IS NULL 
726
									AND @p_IS_UPDATE_KT='N'
727
								)
728
							)
729
						OR @p_IS_UPDATE_KT IS NULL 
730
						OR @p_IS_UPDATE_KT=''
731
					)
732
				-- END FILTER
733
			ORDER BY A.CREATE_DT DESC
734
	-- PAGING END
735
		END;
736
		ELSE 
737
		BEGIN
738
	-- PAGING BEGIN
739
				SELECT A.*,
740
				--B.BRANCH_CODE, B.BRANCH_NAME,
741
				CASE	WHEN	(	SELECT TOP 1 BRANCH_ID 
742
									FROM TR_CONTRACT 
743
									WHERE CONTRACT_ID = A.CONTRACT_ID
744
								) <> 'DV0001'
745
								THEN  B.BRANCH_NAME + ISNULL	(	' - ' + (	SELECT TOP 1 BRANCH_NAME 
746
																						FROM CM_BRANCH 
747
																						WHERE BRANCH_ID =	(	SELECT TOP 1 BRANCH_ID 
748
																												FROM TR_CONTRACT 
749
																												WHERE CONTRACT_ID = A.CONTRACT_ID
750
																											)
751
																			),''
752
																)
753
						ELSE B.BRANCH_NAME 
754
				END BRANCH_NAME,
755
				C.DEP_CODE, C.DEP_NAME, 
756
				D.CONTRACT_CODE, D.[CONTRACT_NAME], 
757
				E.TLFullName AS MAKER_NAME, 
758
				F.TLFullName AS MAKER_NAME_KT, 
759
				G.TLFullName AS CHECKER_NAME_KT,
760
				H.CONTENT AS REQ_PAY_AUTO_STATUS_NAME,
761
				--I.CONTENT AS REQ_PAY_AUTO_TYPE_NAME,
762
				CASE 
763
					WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN N.CONTENT
764
					ELSE O.CONTENT
765
				END REQ_PAY_AUTO_TYPE_NAME,
766
				J.CONTENT AS AUTH_STATUS_NAME,
767
				K.CONTENT AS AUTH_STATUS_KT_NAME,
768
				L.TLFullName AS TRANSFER_USER_RECEIVE_NAME,
769
				M.BRANCH_CODE AS BRANCH_MANAGE_CODE, M.BRANCH_NAME AS BRANCH_MANAGE_NAME,
770
				@IS_TDV IS_CHECKER
771
	-- SELECT END
772
				FROM TR_REQ_PAYMENT_AUTO A
773
				LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
774
				LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
775
				LEFT JOIN TR_CONTRACT D ON A.CONTRACT_ID = D.CONTRACT_ID
776
				LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
777
				LEFT JOIN TL_USER F ON A.MAKER_ID_KT = F.TLNANME
778
				LEFT JOIN TL_USER G ON A.CHECKER_ID_KT = G.TLNANME
779
				LEFT JOIN CM_ALLCODE H ON A.REQ_PAY_AUTO_STATUS = H.CDVAL AND H.CDNAME = 'PAY_AUTO_STATUS' AND H.CDTYPE = 'REQ_AUTO'
780
				LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_TYPE = I.CDVAL AND I.CDNAME = 'PAY_TYPE_AUTO' AND I.CDTYPE = 'REQ_AUTO'
781
				LEFT JOIN CM_ALLCODE J ON A.AUTH_STATUS = J.CDVAL AND J.CDNAME = 'AUTH_STATUS' AND J.CDTYPE = 'TR_REQ_PAYMENT'
782
				LEFT JOIN CM_ALLCODE K ON A.AUTH_STATUS_KT = K.CDVAL AND K.CDNAME = 'AUTH_STATUS_KT' AND K.CDTYPE = 'TR_REQ_PAYMENT'
783
				LEFT JOIN TL_USER L ON A.TRANSFER_USER_RECEIVE = L.TLNANME
784
				LEFT JOIN CM_BRANCH M ON A.BRANCH_MANAGE_ID = M.BRANCH_ID
785
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_AUTO_ID AND PC3.STATUS_JOB ='C' 
786
				LEFT JOIN CM_ALLCODE N ON A.REQ_PAY_AUTO_SERVICE_TYPE = N.CDVAL AND N.CDNAME = 'PAY_SER_AUTO_TS' AND N.CDTYPE = 'REQ_AUTO'
787
				LEFT JOIN CM_ALLCODE O ON A.REQ_PAY_AUTO_SERVICE_TYPE = O.CDVAL AND O.CDNAME = 'PAY_SER_AUTO' AND O.CDTYPE = 'REQ_AUTO'
788
				WHERE 1=1 
789
				-- BEGIN FILTER
790
				AND A.AUTH_STATUS IN ('A', 'N', 'D')
791
				AND	(	A.REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID OR ISNULL(@p_REQ_PAY_AUTO_ID, '') = '')
792
				AND	(	A.REQ_PAY_AUTO_CODE LIKE '%' + @p_REQ_PAY_AUTO_CODE +'%' OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
793
				--AND	(	A.AUTH_STATUS = @p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS, '') = '')
794
				AND (	(@p_AUTH_STATUS_KT = A.AUTH_STATUS_KT) -- dùng cho từ chối
795
					OR	(@p_AUTH_STATUS_KT = 'U' AND A.PROCESS IN ('3', '12', '18')) -- chờ duyệt
796
					OR	(@p_AUTH_STATUS_KT = 'P' AND A.PROCESS IN ('4', '13', '13.1', '19', '19.1')) -- đang xử lý
797
					OR	(@p_AUTH_STATUS_KT = 'S' AND A.PROCESS IN ('4', '13.1', '19.1')) -- đề xuất từ chối
798
					OR	(@p_AUTH_STATUS_KT = 'A' AND A.PROCESS IN ('5', '14', '20')) -- đã duyệt
799
					OR	(@p_AUTH_STATUS_KT = 'R' AND A.PROCESS IN ('20.2', '14.2')) -- từ chối
800
					OR (ISNULL(@p_AUTH_STATUS_KT, '') = '' AND A.PROCESS  IN ('2', '11', '17')) -- khi KSV chưa điều phối
801
					OR (ISNULL(@p_AUTH_STATUS_KT, '') = '')
802
					)
803
				AND	(	A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
804
				--AND	(	A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
805
				AND	(	M.BRANCH_ID = @p_BRANCH_MANAGE_ID OR ISNULL(@p_BRANCH_MANAGE_ID, '') = '')
806
				AND	(	A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
807
				AND	(	A.REQ_PAY_AUTO_STATUS = @p_REQ_PAY_AUTO_STATUS OR ISNULL(@p_REQ_PAY_AUTO_STATUS, '') = '')
808
				AND(	CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
809
				AND(	CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
810
				AND	(	(	@p_LEVEL='ALL' 
811
							AND	(	A.BRANCH_ID IN	(	SELECT BRANCH_ID 
812
														FROM @tmp_branch
813
													) -- PYC cua don vi minh
814
									OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PYC cua don vi kiem nhiem
815
								)
816
						)
817
						OR	(	
818
									@p_LEVEL='UNIT' 
819
								AND A.BRANCH_ID = @p_BRANCH_ID
820
							)
821
					)
822
				AND	(	A.DEP_ID = @p_DEP_ID 
823
						OR ISNULL(@p_DEP_ID, '') = ''
824
					)
825
				AND	(	A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
826
				AND	(	A.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
827
				AND(	PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL OR PC3.TLNAME = '' OR PC3.TLNAME IS NULL)
828
				AND	(
829
						(
830
							EXISTS	(	SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE	REQ_ID = A.REQ_PAY_AUTO_ID 
831
																								AND (
832
																										X.TLNAME= @p_USER_LOGIN 
833
																										OR X.TLNAME =@p_EXEC_USER_KT
834
																									)
835
									)
836
						) 
837
						OR	(A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT or @p_USER_LOGIN = 'baotq')
838
						OR (SELECT COUNT(*) FROM @TABLE_ROLE WHERE ROLE_AUTH = 'KSV') > 0
839
					)	
840
				AND	(	(	A.MAKER_ID_KT IS NOT NULL 
841
							AND @p_IS_UPDATE_KT='Y'
842
						)
843
						OR	(	(	A.MAKER_ID_KT IS NULL 
844
									AND @p_IS_UPDATE_KT='N'
845
								)
846
							)
847
						OR @p_IS_UPDATE_KT IS NULL 
848
						OR @p_IS_UPDATE_KT=''
849
					)
850
				
851
				-- END FILTER
852
			ORDER BY A.CREATE_DT DESC
853
	-- PAGING END
854
	   END;
855
	END
856

    
857
END -- PAGING