Project

General

Profile

01_Search_PDNTT_TTĐ_210923.txt

Luc Tran Van, 09/21/2023 11:18 AM

 
1
ALTER  PROCEDURE [dbo].[TR_REQ_PAYMENT_2_Search]
2
@p_REQ_PAY_ID					VARCHAR(15)= NULL,
3
@p_REQ_PAY_CODE					VARCHAR(50)	= NULL,
4
@p_CONTRACT_ID					VARCHAR(15)= NULL,
5
@p_REQ_DT						VARCHAR(20)= NULL,
6
@p_BRANCH_ID					VARCHAR(15)	= NULL,
7
@p_DEP_ID						VARCHAR(15)	= NULL,
8
@p_REQ_REASON					NVARCHAR(MAX)	= NULL,
9
@p_REQ_TYPE						VARCHAR(15)	= NULL,
10
@P_REQ_ENTRIES					NVARCHAR(MAX)	= NULL,
11
@p_REQ_DESCRIPTION				NVARCHAR(MAX)	= NULL,
12
@p_REF_ID						VARCHAR(15)	= NULL,
13
@p_RECEIVER_PO					NVARCHAR(250)	= NULL,
14
@p_REQ_PAY_TYPE					VARCHAR(15)	= NULL,
15
@p_REQ_TYPE_CURRENCY			NVARCHAR(50)	= NULL,
16
@p_REQ_AMT						DECIMAL(18, 0)	= NULL,
17
@p_REQ_TEMP_AMT					DECIMAL(18, 0)	= NULL,
18
@p_MAKER_ID						VARCHAR(15)	= NULL,
19
@p_CREATE_DT					VARCHAR(25)	= NULL,
20
@p_EDITOR_ID					VARCHAR(15)	= NULL,
21
@p_AUTH_STATUS					VARCHAR(1)	= NULL,
22
@p_CHECKER_ID					VARCHAR(15)	= NULL,
23
@p_APPROVE_DT					VARCHAR(25)	= NULL,
24
@p_CREATE_DT_KT					VARCHAR(25)	= NULL,
25
@p_MAKER_ID_KT					VARCHAR(15)	= NULL,
26
@p_AUTH_STATUS_KT				VARCHAR(1)	= NULL,
27
@p_CHECKER_ID_KT				NVARCHAR(20)	= NULL,
28
@p_EXEC_USER_KT					NVARCHAR(20)	= NULL,
29
@p_APPROVE_DT_KT				VARCHAR(25)= NULL,
30
@p_CONFIRM_NOTE					NVARCHAR(500)	= NULL,
31
@p_BRANCH_CREATE				VARCHAR(15)	= NULL,
32
@p_NOTES						VARCHAR(15)	= NULL,
33
@p_RECORD_STATUS				VARCHAR(1)	= NULL,
34
@p_TRANSFER_MAKER				NVARCHAR(50)= NULL,
35
@p_TRANSFER_DT					VARCHAR(25)	= NULL,
36
@p_TRASFER_USER_RECIVE			VARCHAR(15)	= NULL,
37
@p_PROCESS						VARCHAR(15)	= NULL,
38
@p_PAY_PHASE					VARCHAR(15) = NULL,
39
@p_TOP							INT = 300,
40
@p_LEVEL						VARCHAR(10) = NULL,
41
@p_FRMDATE						VARCHAR(20)= NULL,
42
@p_TODATE						VARCHAR(20) = NULL,
43
@p_BRANCH_LOGIN					VARCHAR(15) = NULL,
44
@p_IS_UPDATE_KT					VARCHAR(15) = NULL,
45
@P_IS_TRANSFER					VARCHAR(15) = NULL,
46
@p_TERM_ID						VARCHAR(15) = NULL,
47
@P_USER_LOGIN					VARCHAR(15)= NULL,
48
@p_FUNCTION						VARCHAR(15) = NULL,
49
@p_TYPE_SEARCH					VARCHAR(15) = NULL,
50
@p_REQ_PAY_AUTO_TYPE			VARCHAR(15) = NULL,
51
@p_REQ_PAY_AUTO_SERVICE_TYPE	VARCHAR(15) = NULL,
52
@p_TR_REQ_PAY_AUTO_CHECK_STATUS	VARCHAR(15) = NULL
53
AS
54
BEGIN -- PAGING
55
-- BEGIN KHAI BÁO
56
	SET @p_LEVEL = 'UNIT'
57
	IF(ISNULL(@p_BRANCH_ID, '') = '')
58
	BEGIN
59
		SET @p_BRANCH_ID = @p_BRANCH_CREATE
60
	END
61
	IF(ISNULL(@p_BRANCH_ID, '') <> 'DV0001')
62
	BEGIN
63
		SET @p_DEP_ID = NULL
64
	END
65
-- ĐƠN VỊ YÊU CẦU
66
	DECLARE @tmp_branch TABLE(BRANCH_ID VARCHAR(15))
67
	DECLARE @tmp_dep TABLE(DEP_ID VARCHAR(15))
68
	DECLARE @DEP_ID VARCHAR(15) = NULL
69
	INSERT INTO @tmp_branch  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
70
	DECLARE @BRANCH_TYPE VARCHAR(15)
71
	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_ID))
72

    
73
-- ĐƠN VỊ ĐĂNG NHẬP
74
	DECLARE @tmp_branch_login TABLE(BRANCH_ID VARCHAR(15))
75
	DECLARE @tmp_dep_login TABLE(DEP_ID VARCHAR(15))
76
	INSERT INTO @tmp_branch_login  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
77
	INSERT INTO @tmp_branch_login VALUES (@p_BRANCH_LOGIN)
78
	INSERT INTO @tmp_branch_login	SELECT BRANCH_ID 
79
									FROM TL_SYS_ROLE_MAPPING 
80
									WHERE TLNAME =@P_USER_LOGIN 
81
									AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103)  OR ISNULL(EFF_DATE, '') = '')
82
									AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103 )  OR ISNULL(EXP_DATE, '') = '')
83
	DECLARE @BRANCH_TYPE_LG VARCHAR(15)
84
	SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
85
-- PHÒNG BAN ĐĂNG NHẬP
86
	DECLARE @DEP_ID_LG VARCHAR(15) = NULL
87
	SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
88
	INSERT INTO @tmp_dep_login VALUES (@DEP_ID_LG)
89
	INSERT INTO @tmp_dep_login SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@DEP_ID_LG
90
	INSERT INTO @tmp_dep_login	SELECT DEP_ID 
91
								FROM TL_SYS_ROLE_MAPPING 
92
								WHERE TLNAME =@P_USER_LOGIN 
93
								AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103)  OR ISNULL(EFF_DATE, '') = '')
94
								AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103 )  OR ISNULL(EXP_DATE, '') = '')
95
-- ĐƠN VỊ ỦY QUYỀN KIÊM NHIỆM
96
DECLARE @tmp_branch_auth TABLE (BRANCH_ID VARCHAR(15))
97
INSERT INTO @tmp_branch_auth VALUES (@p_BRANCH_LOGIN)
98
INSERT INTO @tmp_branch_auth	SELECT BRANCH_ID 
99
								FROM TL_SYS_ROLE_MAPPING 
100
								WHERE TLNAME =@P_USER_LOGIN 
101
								AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103)  OR ISNULL(EFF_DATE, '') = '')
102
								AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103 )  OR ISNULL(EXP_DATE, '') = '')
103
-- PHÒNG BAN ỦY QUYỀN KIÊM NHIỆM
104
DECLARE @tmp_dep_auth TABLE (DEP_ID VARCHAR(15))
105
INSERT INTO @tmp_dep_auth VALUES (@DEP_ID_LG)
106
INSERT INTO @tmp_dep_auth	SELECT DEP_ID 
107
							FROM TL_SYS_ROLE_MAPPING 
108
							WHERE TLNAME =@P_USER_LOGIN 
109
							AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103)  OR ISNULL(EFF_DATE, '') = '')
110
							AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103 )  OR ISNULL(EXP_DATE, '') = '')
111
INSERT INTO @tmp_dep_auth SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@DEP_ID_LG
112

    
113
-- ROLE
114
	DECLARE @ROLE_ID VARCHAR(20)
115
	SET @ROLE_ID = (SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
116
	DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))  
117
	INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)
118
	INSERT INTO @TABLE_ROLE SELECT ROLE_NEW 
119
							FROM TL_SYS_ROLE_MAPPING 
120
							WHERE ROLE_OLD =@ROLE_ID AND TLNAME =@P_USER_LOGIN  
121
							AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
122
							AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') 
123
	
124
-- NEU USER KHONG CHON TU NGAY THI TU NGAY BANG NGAY 1 1 HANG THANG 20211116
125
	DECLARE @DATE DATE
126
	IF ((@p_FRMDATE IS NULL OR @p_FRMDATE ='') AND ISNULL(@p_REQ_PAY_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
127
	BEGIN
128
		SET @DATE = CONVERT(DATE,GETDATE(),103)
129
		SET @DATE = DATEADD(MONTH,-2,@DATE)
130
	END
131
	ELSE
132
	BEGIN
133
		SET @DATE = CONVERT(DATE,@p_FRMDATE,103)
134
	END
135
--DOANPTT: XÁC ĐỊNH USER XEM TOÀN BỘ PHIẾU
136
	DECLARE @IS_VIEW_ALL VARCHAR(1) 
137
	IF((SELECT COUNT(*) FROM @TABLE_ROLE WHERE ROLE_AUTH IN ('KSV', 'GDV', 'NVTC')) > 0)		-- ROLE CHỈ ĐỊNH
138
	BEGIN
139
		SET @IS_VIEW_ALL = 'Y'
140
	END
141
	ELSE IF(@DEP_ID_LG = 'DEP000000000022')														-- PHÒNG CHỈ ĐỊNH
142
	BEGIN
143
		SET @IS_VIEW_ALL = 'Y'
144
	END
145
	ELSE IF(@P_USER_LOGIN = 'baotq')															-- USER CHỈ ĐỊNH
146
	BEGIN
147
		SET @IS_VIEW_ALL = 'Y'
148
	END
149
	ELSE
150
	BEGIN
151
		SET @IS_VIEW_ALL = 'N'
152
	END
153

    
154
-- END KHAI BÁO
155

    
156
IF(@p_DEP_ID = 'DEP000000000022' OR @DEP_ID_LG = 'DEP000000000022')
157
BEGIN
158
	IF(@p_TOP IS NULL OR @p_TOP=0)
159
	BEGIN
160
	-- PAGING BEGIN
161
			SELECT A.*,
162
			BR.BRANCH_CODE BRANCH_CODE_REQ,
163
			CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
164
											INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
165
											WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
166
											BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
167
											WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
168
											ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
169
			BR1.BRANCH_NAME BRANCH_NAME_CRE, BR1.BRANCH_CODE BRANCH_CODE_CRE, CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
170
			DP.DEP_NAME, DP.DEP_CODE, 
171
			B.AUTH_STATUS_NAME, 
172
			C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, C.AUTH_STATUS_KT_DESC, 
173
			TL.TLFullName CREATE_FULLNAME,
174
			TL1.TLFullName APPROVE_FULLNAME,
175
			CASE WHEN ISNULL(TL2.TLFullName,'') <> '' THEN TL2.TLFullName ELSE TL6.TLFullName END AS CREATE_FULLNAME_KT,
176
			TL3.TLFullName APPROVE_FULLNAME_KT,
177
			TL4.TLFullName AS TRANSFER_FULLNAME,
178
			TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,
179
			AL.CONTENT REQ_TYPE_NAME, 
180
			AL1.CONTENT REQ_PAY_TYPE_NAME,
181
			PO.PO_CODE, PO.PO_NAME, 
182
			S.SUP_NAME, S.TAX_NO SUP_TAX_NO,
183
			PC3.LEVEL_JOB, PC3.STATUS_JOB, PC3.TYPE_JOB, PC3.TLNAME AS EXEC_USER_KT,
184
			CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
185
				 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
186
				 ELSE TL2.TLNANME END AS EXEC_USER,
187
			SR.ROLE_ID AS ROLE_ID_CRE,
188
			BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,
189
			'' AS BRANCH_CODE_CONTRACT,
190
			ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
191
			AS BRANCH_NAME_CONTRACT,
192
			L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE
193
	-- SELECT END
194
			FROM TR_REQ_PAYMENT A
195
				LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
196
				LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
197
				LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
198
				LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
199
				LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
200
				LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME	-- NGUOI TAO
201
				LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME	-- NGUOI DUYET
202
				LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME	-- GDV
203
				LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME	-- KSV
204
				LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME	-- KSV DIEU PHOI
205
				LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME	-- DUYET TRUNG GIAN
206
				LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
207
				LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
208
				LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
209
				LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
210
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' -- GDV
211
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'	-- KSV
212
				LEFT JOIN TL_USER TL6 ON PC5.TLNAME = TL6.TLNANME
213
				LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
214
				LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
215
				LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
216
				LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
217
			WHERE 1=1 
218
				AND ISNULL(A.IS_CREATE_AUTO, '') = 'Y'
219
			-- BEGIN FILTER
220
				AND	(	A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
221
				AND	(	A.REQ_PAY_CODE LIKE N'%'+ @p_REQ_PAY_CODE + '%' OR ISNULL(@p_REQ_PAY_CODE, '') = '')
222
				AND	(	L.CONTRACT_ID LIKE N'%'+ @p_CONTRACT_ID + '%' OR ISNULL(@p_CONTRACT_ID, '') = '')
223
				AND	(	A.REQ_REASON LIKE N'%'+ @p_REQ_REASON + '%' OR ISNULL(@p_REQ_REASON, '') = '')
224
				AND	(	L.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
225
				AND	(	L.REQ_PAY_AUTO_SERVICE_TYPE = @p_REQ_PAY_AUTO_SERVICE_TYPE OR ISNULL(@p_REQ_PAY_AUTO_SERVICE_TYPE, '') = '')
226
				AND(	CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
227
				AND(	CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
228
				AND	(	L.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
229
				AND	(	A.TR_REQ_PAY_AUTO_CHECK_STATUS = @p_TR_REQ_PAY_AUTO_CHECK_STATUS OR ISNULL(@p_TR_REQ_PAY_AUTO_CHECK_STATUS, '') = '')
230
				AND	(	A.BRANCH_ID = @p_BRANCH_ID  
231
						OR EXISTS	(	SELECT * 
232
											FROM TR_REQ_ADVANCE_DT 
233
											WHERE REQ_PAY_ID = A.REQ_PAY_ID
234
											AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID = @p_BRANCH_ID) 
235
											AND A.AUTH_STATUS_KT ='A'
236
										)
237
						OR ISNULL(@p_BRANCH_ID, '') = '' 
238
						OR @p_BRANCH_ID = 'DV0001' 
239
					)
240
				AND	(	A.BRANCH_ID = @p_BRANCH_LOGIN	-- PHIEU CUA DON VI MINH
241
						OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PHIEU CUA DON VI KIEM NHIEM
242
						OR @IS_VIEW_ALL = 'Y'
243
					)
244
				AND	(	A.DEP_ID IN	(SELECT * FROM @tmp_dep_auth)
245
						OR A.BRANCH_ID <> 'DV0001'
246
						OR @IS_VIEW_ALL = 'Y'
247
					)
248
			-- END FILTER
249
			ORDER BY A.CREATE_DT DESC
250
	-- PAGING END
251
		END;
252
	ELSE 
253
	BEGIN
254
	-- PAGING BEGIN
255
		SELECT TOP(CONVERT(INT,@p_TOP)) A.*,
256
		BR.BRANCH_CODE BRANCH_CODE_REQ,
257
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
258
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
259
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
260
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
261
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
262
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
263
		BR1.BRANCH_NAME BRANCH_NAME_CRE, BR1.BRANCH_CODE BRANCH_CODE_CRE, CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
264
		DP.DEP_NAME, DP.DEP_CODE, 
265
		B.AUTH_STATUS_NAME, 
266
		C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, C.AUTH_STATUS_KT_DESC, 
267
		TL.TLFullName CREATE_FULLNAME,
268
		TL1.TLFullName APPROVE_FULLNAME,
269
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL6.TLFullName END AS CREATE_FULLNAME_KT,
270
		TL3.TLFullName APPROVE_FULLNAME_KT,
271
		TL4.TLFullName AS TRANSFER_FULLNAME,
272
		TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,
273
		AL.CONTENT REQ_TYPE_NAME, 
274
		AL1.CONTENT REQ_PAY_TYPE_NAME,
275
		PO.PO_CODE, PO.PO_NAME, 
276
		S.SUP_NAME, S.TAX_NO SUP_TAX_NO,
277
		PC3.LEVEL_JOB, PC3.STATUS_JOB, PC3.TYPE_JOB, PC3.TLNAME AS EXEC_USER_KT,
278
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
279
				WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
280
				ELSE TL2.TLNANME END AS EXEC_USER,
281
		SR.ROLE_ID AS ROLE_ID_CRE,
282
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
283

    
284
		ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
285
		AS BRANCH_NAME_CONTRACT,
286
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE
287
	-- SELECT END
288
		FROM TR_REQ_PAYMENT A
289
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
290
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
291
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
292
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
293
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
294
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
295
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
296
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
297
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
298
			--Luanlt--2019/10/15-Sửa AL,AL1
299
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
300
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
301
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
302
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
303
			LEFT JOIN 
304
			(
305
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
306
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
307
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
308
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
309
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
310
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
311
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
312
			LEFT JOIN TL_USER TL6 ON PC5.TLNAME = TL6.TLNANME
313
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
314
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
315
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
316
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
317
		WHERE 1=1 
318
			AND ISNULL(A.IS_CREATE_AUTO, '') = 'Y'
319
		-- BEGIN FILTER
320
			AND	(	A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
321
			AND	(	A.REQ_PAY_CODE LIKE N'%'+ @p_REQ_PAY_CODE + '%' OR ISNULL(@p_REQ_PAY_CODE, '') = '')
322
			AND	(	L.CONTRACT_ID LIKE N'%'+ @p_CONTRACT_ID + '%' OR ISNULL(@p_CONTRACT_ID, '') = '')
323
			AND	(	A.REQ_REASON LIKE N'%'+ @p_REQ_REASON + '%' OR ISNULL(@p_REQ_REASON, '') = '')
324
			AND	(	L.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
325
			AND	(	L.REQ_PAY_AUTO_SERVICE_TYPE = @p_REQ_PAY_AUTO_SERVICE_TYPE OR ISNULL(@p_REQ_PAY_AUTO_SERVICE_TYPE, '') = '')
326
			AND(	CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
327
			AND(	CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
328
			AND	(	L.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
329
			AND	(	A.TR_REQ_PAY_AUTO_CHECK_STATUS = @p_TR_REQ_PAY_AUTO_CHECK_STATUS OR ISNULL(@p_TR_REQ_PAY_AUTO_CHECK_STATUS, '') = '')
330
			AND	(	A.BRANCH_ID = @p_BRANCH_ID  
331
					OR ISNULL((SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID)),'') = @p_BRANCH_ID
332
					OR ISNULL(@p_BRANCH_ID, '') = '' 
333
					OR @p_BRANCH_ID = 'DV0001' 
334
				)
335
			AND	(	A.BRANCH_ID = @p_BRANCH_LOGIN	-- PHIEU CUA DON VI MINH
336
					OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PHIEU CUA DON VI KIEM NHIEM
337
					OR @IS_VIEW_ALL = 'Y'
338
				)
339
			AND	(	A.DEP_ID IN	(SELECT * FROM @tmp_dep_auth)
340
					OR A.BRANCH_ID <> 'DV0001'
341
					OR @IS_VIEW_ALL = 'Y'
342
				)
343
		-- END FILTER
344
			  
345
		ORDER BY A.CREATE_DT DESC
346
	-- PAGING END
347
	END;
348

    
349
END
350
ELSE
351
BEGIN
352
	IF(@p_TOP IS NULL OR @p_TOP=0)
353
	BEGIN
354
	-- PAGING BEGIN
355
			SELECT A.*,
356
			BR.BRANCH_CODE BRANCH_CODE_REQ,
357
			CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
358
											INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
359
											WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
360
											BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
361
											WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
362
											ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
363
			BR1.BRANCH_NAME BRANCH_NAME_CRE, BR1.BRANCH_CODE BRANCH_CODE_CRE, CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
364
			DP.DEP_NAME, DP.DEP_CODE, 
365
			B.AUTH_STATUS_NAME, 
366
			C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, C.AUTH_STATUS_KT_DESC, 
367
			TL.TLFullName CREATE_FULLNAME,
368
			TL1.TLFullName APPROVE_FULLNAME,
369
			CASE WHEN ISNULL(TL2.TLFullName,'') <> '' THEN TL2.TLFullName ELSE TL6.TLFullName END AS CREATE_FULLNAME_KT,
370
			TL3.TLFullName APPROVE_FULLNAME_KT,
371
			TL4.TLFullName AS TRANSFER_FULLNAME,
372
			TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,
373
			AL.CONTENT REQ_TYPE_NAME, 
374
			AL1.CONTENT REQ_PAY_TYPE_NAME,
375
			PO.PO_CODE, PO.PO_NAME, 
376
			S.SUP_NAME, S.TAX_NO SUP_TAX_NO,
377
			PC3.LEVEL_JOB, PC3.STATUS_JOB, PC3.TYPE_JOB, PC3.TLNAME AS EXEC_USER_KT,
378
			CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
379
				 WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
380
				 ELSE TL2.TLNANME END AS EXEC_USER,
381
			SR.ROLE_ID AS ROLE_ID_CRE,
382
			BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,
383
			'' AS BRANCH_CODE_CONTRACT,
384
			ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
385
			AS BRANCH_NAME_CONTRACT,
386
			L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE
387
	-- SELECT END
388
			FROM TR_REQ_PAYMENT A
389
				LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
390
				LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
391
				LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
392
				LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
393
				LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
394
				LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME	-- NGUOI TAO
395
				LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME	-- NGUOI DUYET
396
				LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME	-- GDV
397
				LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME	-- KSV
398
				LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME	-- KSV DIEU PHOI
399
				LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME	-- DUYET TRUNG GIAN
400
				LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
401
				LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE ='REQ'
402
				LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
403
				LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
404
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' -- GDV
405
				LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'	-- KSV
406
				LEFT JOIN TL_USER TL6 ON PC5.TLNAME = TL6.TLNANME
407
				LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
408
				LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
409
				LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
410
				LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
411
			WHERE 1=1 
412
				AND ISNULL(A.IS_CREATE_AUTO, '') = 'Y'
413
			-- BEGIN FILTER
414
				AND	(	A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
415
				AND	(	A.REQ_PAY_CODE LIKE N'%'+ @p_REQ_PAY_CODE + '%' OR ISNULL(@p_REQ_PAY_CODE, '') = '')
416
				AND	(	L.CONTRACT_ID LIKE N'%'+ @p_CONTRACT_ID + '%' OR ISNULL(@p_CONTRACT_ID, '') = '')
417
				AND	(	A.REQ_REASON LIKE N'%'+ @p_REQ_REASON + '%' OR ISNULL(@p_REQ_REASON, '') = '')
418
				AND	(	L.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
419
				AND	(	L.REQ_PAY_AUTO_SERVICE_TYPE = @p_REQ_PAY_AUTO_SERVICE_TYPE OR ISNULL(@p_REQ_PAY_AUTO_SERVICE_TYPE, '') = '')
420
				AND(	CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
421
				AND(	CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
422
				AND	(	L.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
423
				AND	(	A.TR_REQ_PAY_AUTO_CHECK_STATUS = @p_TR_REQ_PAY_AUTO_CHECK_STATUS OR ISNULL(@p_TR_REQ_PAY_AUTO_CHECK_STATUS, '') = '')
424
				AND	(	(	@p_LEVEL='ALL' 
425
							AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp_branch) 
426
						)
427
						OR	(	@p_LEVEL='UNIT' 
428
								AND A.BRANCH_ID = @p_BRANCH_ID
429
							)
430
						OR	(	@BRANCH_TYPE_LG <> 'HS' AND
431
								EXISTS	(	SELECT * 
432
											FROM TR_REQ_ADVANCE_DT 
433
											WHERE REQ_PAY_ID = A.REQ_PAY_ID
434
											AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID = @p_BRANCH_LOGIN) 
435
											AND A.AUTH_STATUS_KT ='A'
436
										)
437
							)
438
						OR A.BRANCH_CREATE IN (SELECT * FROM @tmp_branch_auth)
439
						OR (@p_BRANCH_ID= '' OR @p_BRANCH_ID IS NULL) 
440
					)
441
				AND	(	ISNULL(@p_DEP_ID, '') = ''	-- NEU KHONG CHON PHONG BAN THI THOI
442
						OR A.DEP_ID = @p_DEP_ID		-- PDN PHONG BAN CUA MINH
443
						OR A.DEP_ID IN	(	SELECT * FROM @tmp_dep_auth	)	-- PDN PHONG BAN KIEM NHIEM
444
					)
445
			-- END FILTER
446
			ORDER BY A.CREATE_DT DESC
447
	-- PAGING END
448
		END;
449
	ELSE 
450
	BEGIN
451
	-- PAGING BEGIN
452
		SELECT TOP(CONVERT(INT,@p_TOP)) A.*,
453
		BR.BRANCH_CODE BRANCH_CODE_REQ,
454
		CASE WHEN ISNULL(A.IS_PERIOD,'') <> '' AND A.IS_PERIOD ='Y' AND  EXISTS (SELECT TOP 1 X.* FROM TR_REQ_ADVANCE_DT X 
455
										INNER JOIN TR_CONTRACT CT ON X.REF_ID = CT.CONTRACT_ID
456
										WHERE X.REQ_PAY_ID = A.REQ_PAY_ID AND CT.BRANCH_ID <>  @p_BRANCH_LOGIN AND CT.BRANCH_ID IS NOT NULL AND CT.BRANCH_ID <> '') THEN 
457
										BR.BRANCH_NAME + ISNULL(' - '+ (SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT 
458
										WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
459
										ELSE BR.BRANCH_NAME END BRANCH_NAME_REQ,
460
		BR1.BRANCH_NAME BRANCH_NAME_CRE, BR1.BRANCH_CODE BRANCH_CODE_CRE, CASE WHEN BR1.BRANCH_TYPE <> 'PGD'THEN BR1.BRANCH_TYPE ELSE 'CN' END AS BRANCH_TYPE_CR,
461
		DP.DEP_NAME, DP.DEP_CODE, 
462
		B.AUTH_STATUS_NAME, 
463
		C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, C.AUTH_STATUS_KT_DESC, 
464
		TL.TLFullName CREATE_FULLNAME,
465
		TL1.TLFullName APPROVE_FULLNAME,
466
		CASE WHEN ISNULL(TL2.TLFullName,'') <>'' THEN TL2.TLFullName ELSE TL6.TLFullName END AS CREATE_FULLNAME_KT,
467
		TL3.TLFullName APPROVE_FULLNAME_KT,
468
		TL4.TLFullName AS TRANSFER_FULLNAME,
469
		TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,
470
		AL.CONTENT REQ_TYPE_NAME, 
471
		AL1.CONTENT REQ_PAY_TYPE_NAME,
472
		PO.PO_CODE, PO.PO_NAME, 
473
		S.SUP_NAME, S.TAX_NO SUP_TAX_NO,
474
		PC3.LEVEL_JOB, PC3.STATUS_JOB, PC3.TYPE_JOB, PC3.TLNAME AS EXEC_USER_KT,
475
		CASE WHEN PC3.TLNAME IS NOT NULL THEN PC3.TLNAME 
476
				WHEN PC3.TLNAME <>'' THEN PC3.TLNAME 
477
				ELSE TL2.TLNANME END AS EXEC_USER,
478
		SR.ROLE_ID AS ROLE_ID_CRE,
479
		BR_CORE.BRANCH_CODE AS BRANCH_CODE_CORE, BR_CORE.BRANCH_NAME AS BRANCH_NAME_CORE,'' AS BRANCH_CODE_CONTRACT,
480

    
481
		ISNULL((SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =(SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID IN (SELECT TOP 1 REF_ID FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = A.REQ_PAY_ID))),'')
482
		AS BRANCH_NAME_CONTRACT,
483
		L.REQ_PAY_AUTO_ID, L.REQ_PAY_AUTO_CODE
484
	-- SELECT END
485
		FROM TR_REQ_PAYMENT A
486
			LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
487
			LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
488
			LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
489
			LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
490
			LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
491
			LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
492
			LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
493
			LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
494
			LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
495
			--Luanlt--2019/10/15-Sửa AL,AL1
496
			LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE' AND AL.CDTYPE = 'REQ'
497
			LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE' AND AL1.CDTYPE = 'REQ'
498
			LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
499
			LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
500
			LEFT JOIN 
501
			(
502
			SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
503
			) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
504
			LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
505
			LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
506
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C' 
507
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
508
			LEFT JOIN PL_REQUEST_PROCESS_CHILD PC5 ON PC5.REQ_ID = A.REQ_PAY_ID AND PC5.TYPE_JOB ='XL'
509
			LEFT JOIN TL_USER TL6 ON PC5.TLNAME = TL6.TLNANME
510
			LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
511
			LEFT JOIN CM_BRANCH BR_CORE ON TL2.TLSUBBRID = BR_CORE.BRANCH_ID
512
			LEFT JOIN TR_REQ_PAY_AUTO_PAYMENTS K ON A.REQ_PAY_ID = K.REQ_PAY_ID
513
			LEFT JOIN TR_REQ_PAYMENT_AUTO L ON K.REQ_PAY_AUTO_ID = L.REQ_PAY_AUTO_ID
514
		WHERE 1=1 
515
			AND ISNULL(A.IS_CREATE_AUTO, '') = 'Y'
516
		-- BEGIN FILTER
517
			AND	(	A.REQ_PAY_ID = @p_REQ_PAY_ID OR ISNULL(@p_REQ_PAY_ID, '') = '')
518
			AND	(	A.REQ_PAY_CODE LIKE N'%'+ @p_REQ_PAY_CODE + '%' OR ISNULL(@p_REQ_PAY_CODE, '') = '')
519
			AND	(	L.CONTRACT_ID LIKE N'%'+ @p_CONTRACT_ID + '%' OR ISNULL(@p_CONTRACT_ID, '') = '')
520
			AND	(	A.REQ_REASON LIKE N'%'+ @p_REQ_REASON + '%' OR ISNULL(@p_REQ_REASON, '') = '')
521
			AND(	CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
522
			AND(	CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
523
			AND	(	L.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
524
			AND	(	A.TR_REQ_PAY_AUTO_CHECK_STATUS = @p_TR_REQ_PAY_AUTO_CHECK_STATUS OR ISNULL(@p_TR_REQ_PAY_AUTO_CHECK_STATUS, '') = '')
525
			AND	(	(	@p_LEVEL='ALL' 
526
						AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp_branch) 
527
					)
528
					OR	(	@p_LEVEL='UNIT' 
529
							AND A.BRANCH_ID = @p_BRANCH_ID
530
						)
531
					OR	(	@BRANCH_TYPE_LG <> 'HS' AND
532
							EXISTS	(	SELECT * 
533
										FROM TR_REQ_ADVANCE_DT 
534
										WHERE REQ_PAY_ID = A.REQ_PAY_ID
535
										AND REF_ID IN (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE BRANCH_ID =@p_BRANCH_LOGIN) 
536
										AND A.AUTH_STATUS_KT ='A'
537
									)
538
						)
539
					OR A.BRANCH_CREATE IN (SELECT * FROM @tmp_branch_auth)
540
					OR (@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL) 
541
				)
542
			AND	(	ISNULL(@p_DEP_ID, '') = ''	-- NEU KHONG CHON PHONG BAN THI THOI
543
					OR A.DEP_ID = @p_DEP_ID		-- PDN PHONG BAN CUA MINH
544
					OR A.DEP_ID IN	(	SELECT * FROM @tmp_dep_auth	)	-- PDN PHONG BAN KIEM NHIEM
545
				)
546
		-- END FILTER
547
			  
548
		ORDER BY A.CREATE_DT DESC
549
	-- PAGING END
550
	END;
551

    
552
END
553

    
554
END -- PAGING
555
GO
556
update TR_REQ_PAYMENT 
557
SET TR_REQ_PAY_AUTO_CHECK_STATUS = 'U' 
558
where IS_CREATE_AUTO = 'Y' AND ISNULL(TR_REQ_PAY_AUTO_CHECK_STATUS , '') = ''
559
GO
560
--21092023_secretkey