Project

General

Profile

reject_ins_uat.txt

Luc Tran Van, 06/14/2023 11:49 AM

 
1

    
2

    
3
ALTER   PROC [dbo].[CM_REJECT_LOG_Ins]
4
@p_LOG_ID	varchar(15)	= NULL,
5
@p_STAGE	varchar(10)	 = NULL,
6
@p_TRN_ID	varchar(15)	 = NULL,
7
@p_TRN_TYPE	nvarchar(100)	 = NULL,
8
@p_LOG_DT	VARCHAR	 = NULL,
9
@p_AUTH_STAT	varchar(3)	 = NULL,
10
@p_REASON	nvarchar(4000)	 = NULL,
11
@p_IS_LATEST	varchar(1)	 = NULL,
12
@p_REJECTED_BY	varchar(20)	 = NULL,
13
@p_REJECTED_DT	VARCHAR	 = NULL
14
AS
15
BEGIN TRANSACTION
16
		DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0)
17
		DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0)
18
		DECLARE @p_MESSAGE NVARCHAR(100) = NULL
19
		IF(EXISTS (SELECT * FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID))
20
		BEGIN
21
			UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID
22
		END
23
		-- Thu hồi tài sản
24
		IF(@p_TRN_TYPE ='ASS_COLLECT_MUL')
25
		BEGIN
26
			IF(@p_STAGE='KT')
27
			BEGIN -- KSV trả về GDV
28
				IF(EXISTS (SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
29
				BEGIN
30
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thu hồi tài sản đã được kế toán duyệt'
31
					ROLLBACK TRANSACTION
32
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
33
					RETURN '-1'
34
				END
35
				ELSE
36
				BEGIN
37
					IF(EXISTS(SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
38
					BEGIN
39
						UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE COL_MULTI_MASTER_ID =@p_TRN_ID
40
						SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về giao dịch viên thành công'
41
						-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
42
						UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
43
						-- GiaNT 29/09/2021
44
						INSERT INTO dbo.PL_PROCESS
45
						(
46
							REQ_ID,
47
							PROCESS_ID,
48
							CHECKER_ID,
49
							APPROVE_DT,
50
							PROCESS_DESC,NOTES
51
						)
52
						VALUES
53
						(   @p_TRN_ID,       
54
							'REJECT',        
55
							@p_REJECTED_BY,       
56
							GETDATE(), 
57
						   @p_REASON ,
58
						   N'Từ chối phiếu'    
59
						)   
60
					END
61
					ELSE
62
					BEGIN
63
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thu hồi tài sản chưa được kế toán cập nhật'
64
						ROLLBACK TRANSACTION
65
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
66
						RETURN '-1'
67
					END
68
				END
69
			END
70
			ELSE IF(@p_STAGE='KT_HC')
71
			BEGIN -- KSV - GDV trả về người tạo
72
				IF(EXISTS (SELECT 1 FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
73
					BEGIN
74
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thu hồi tài sản đã được kế toán duyệt'
75
						ROLLBACK TRANSACTION
76
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
77
						RETURN '-1'
78
					END
79
				ELSE
80
				BEGIN
81
					-- Xóa thông tin xác nhận thu hồi
82
					DELETE dbo.ASS_COLLECT_CONFIRM_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID
83

    
84
					UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL,CHECKER_ID=NULL,APPROVE_DT=NULL WHERE COL_MULTI_MASTER_ID =@p_TRN_ID
85
					SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về người tạo thành công'
86
					-- GiaNT 29/09/2021
87
					INSERT INTO dbo.PL_PROCESS
88
					(
89
						REQ_ID,
90
						PROCESS_ID,
91
						CHECKER_ID,
92
						APPROVE_DT,
93
						PROCESS_DESC,NOTES
94
					)
95
					VALUES
96
					(   @p_TRN_ID,       
97
						'REJECT',        
98
						@p_REJECTED_BY,       
99
						GETDATE(), 
100
						@p_REASON ,
101
						N'Từ chối phiếu'    
102
					)
103
				END
104
			END
105
			ELSE
106
			BEGIN -- TDV trả về người tạo
107
				IF(EXISTS (SELECT 1 FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
108
				BEGIN
109
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thu hồi tài sản đã được hành chính duyệt'
110
					ROLLBACK TRANSACTION
111
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
112
					RETURN '-1'
113
				END
114
				ELSE
115
				BEGIN
116
					UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS ='R' WHERE COL_MULTI_MASTER_ID =@p_TRN_ID
117
					SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về người tạo thành công'
118
					INSERT INTO dbo.PL_PROCESS
119
					(
120
						REQ_ID,
121
						PROCESS_ID,
122
						CHECKER_ID,
123
						APPROVE_DT,
124
						PROCESS_DESC,NOTES
125
					)
126
					VALUES
127
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
128
						'REJECT',        -- PROCESS_ID - varchar(10)
129
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
130
						GETDATE(), -- APPROVE_DT - datetime
131
						@p_REASON,
132
						N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
133
					)
134
				END
135
			END
136

    
137
		END
138
		-- Điều chuyển tài sản 
139
		ELSE IF(@p_TRN_TYPE ='ASS_TRANSFER_MUL')
140
		BEGIN
141
			---- GiaNT 29/09/2021 Sửa
142
			IF(@p_STAGE='KT')
143
			BEGIN -- KSV trả về GDV
144
				IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
145
				BEGIN
146
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển tài sản đã được kế toán duyệt'
147
					ROLLBACK TRANSACTION
148
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
149
					RETURN '-1'
150
				END
151
				ELSE
152
				BEGIN				
153
					IF(EXISTS(SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
154
					BEGIN
155
						UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
156
						SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về giao dịch viên thành công'
157
						-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
158
						UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
159
						-- GiaNT 29/09/2021
160
						INSERT INTO dbo.PL_PROCESS
161
						(
162
							REQ_ID,
163
							PROCESS_ID,
164
							CHECKER_ID,
165
							APPROVE_DT,
166
							PROCESS_DESC,NOTES
167
						)
168
						VALUES
169
						(   @p_TRN_ID,        
170
							'REJECT',        
171
							@p_REJECTED_BY,       
172
							GETDATE(), 
173
							@p_REASON ,
174
							N'Trả về nhân viên xử lý'     
175
						)
176
					END
177
					ELSE
178
					BEGIN
179
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển tài sản chưa được kế toán cập nhật'
180
						ROLLBACK TRANSACTION
181
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
182
						RETURN '-1'
183
					END
184
				END
185
			END
186
			ELSE IF(@p_STAGE='KT_HC')
187
			BEGIN -- KSV - GDV trả về người tạo
188
				IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
189
					BEGIN
190
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển tài sản đã được kế toán duyệt'
191
						ROLLBACK TRANSACTION
192
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
193
						RETURN '-1'
194
					END
195
				ELSE
196
				BEGIN
197
					UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R',AUTH_STATUS_KT = NULL, APPROVE_DT = NULL,CHECKER_ID = NULL, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL , CORE_NOTE = NULL
198
					WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
199

    
200
					-- Xóa thông tin xác nhận điều chuyển
201
					DELETE ASS_TRANSFER_CONFIRM_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
202
          UPDATE ASS_TRANSFER_MULTI_MASTER  SET CHECKER_ID =NULL,APPROVE_DT=NULL,MAKER_ID_KT=NULL,CREATE_DT_KT=NULL WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
203

    
204
					SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về người tạo thành công'
205
					INSERT INTO dbo.PL_PROCESS
206
					(
207
						REQ_ID,
208
						PROCESS_ID,
209
						CHECKER_ID,
210
						APPROVE_DT,
211
						PROCESS_DESC,NOTES
212
					)
213
					VALUES
214
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
215
						'REJECT',        -- PROCESS_ID - varchar(10)
216
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
217
						GETDATE(), -- APPROVE_DT - datetime
218
						@p_REASON ,N'Trả về hành chính'      -- PROCESS_DESC - nvarchar(1000)
219
					)
220
				END
221
			END
222
			ELSE
223
			BEGIN -- TDV trả về người tạo
224
				IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
225
				BEGIN
226
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển tài sản đã được hành chính duyệt'
227
					ROLLBACK TRANSACTION
228
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
229
					RETURN '-1'
230
				END
231
				ELSE
232
				BEGIN
233
					UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
234
					SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về thành công'
235
					INSERT INTO dbo.PL_PROCESS
236
						(
237
							REQ_ID,
238
							PROCESS_ID,
239
							CHECKER_ID,
240
							APPROVE_DT,
241
							PROCESS_DESC,NOTES
242
						)
243
						VALUES
244
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
245
							'REJECT',        -- PROCESS_ID - varchar(10)
246
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
247
							GETDATE(), -- APPROVE_DT - datetime
248
						   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
249
						)
250
				END
251
			END
252
		END
253
		-- Xuất sử dụng tài sản 
254
		ELSE IF(@p_TRN_TYPE ='ASS_USE_MUL')
255
		BEGIN
256
			IF(@p_STAGE='KT')
257
			BEGIN -- KSV trả về GDV
258
				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
259
				BEGIN
260
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản đã được kế toán duyệt'
261
					ROLLBACK TRANSACTION
262
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
263
					RETURN '-1'
264
				END
265
				ELSE
266
				BEGIN
267
					IF(EXISTS(SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
268
					BEGIN
269
						UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE USER_MASTER_ID =@p_TRN_ID
270
						SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về giao dịch viên thành công'
271
						-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
272
						UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
273
						-- GiaNT 29/09/2021
274
						INSERT INTO dbo.PL_PROCESS
275
						(
276
							REQ_ID,
277
							PROCESS_ID,
278
							CHECKER_ID,
279
							APPROVE_DT,
280
							PROCESS_DESC,NOTES
281
						)
282
						VALUES
283
						(   @p_TRN_ID,       
284
							'REJECT',        
285
							@p_REJECTED_BY,       
286
							GETDATE(), 
287
						   @p_REASON ,
288
						   N'Từ chối phiếu'    
289
						)
290
					END
291
					ELSE
292
					BEGIN
293
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản chưa được kế toán cập nhật'
294
						ROLLBACK TRANSACTION
295
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
296
						RETURN '-1'
297
					END
298
				END
299
			END
300
			ELSE IF(@p_STAGE='KT_HC')
301
			BEGIN -- KSV - GDV trả về người tạo
302
				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
303
					BEGIN
304
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản đã được kế toán duyệt'
305
						ROLLBACK TRANSACTION
306
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
307
						RETURN '-1'
308
					END
309
				ELSE
310
				BEGIN
311
					-- Xóa thông tin xác nhận xuất sử dụng
312
					DELETE dbo.ASS_USE_CONFIRM_MASTER WHERE USER_MASTER_ID = @p_TRN_ID
313

    
314
					UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL,CHECKER_ID=NULL,APPROVE_DT=NULL WHERE USER_MASTER_ID =@p_TRN_ID
315
					SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công'
316
					-- GiaNT 29/09/2021
317
					INSERT INTO dbo.PL_PROCESS
318
					(
319
						REQ_ID,
320
						PROCESS_ID,
321
						CHECKER_ID,
322
						APPROVE_DT,
323
						PROCESS_DESC,NOTES
324
					)
325
					VALUES
326
					(   @p_TRN_ID,       
327
						'REJECT',        
328
						@p_REJECTED_BY,       
329
						GETDATE(), 
330
						@p_REASON ,
331
						N'Từ chối phiếu'    
332
					)
333
				END
334
			END
335
			ELSE
336
			BEGIN -- TDV trả về người tạo
337
				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
338
				BEGIN
339
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản đã được hành chính duyệt'
340
					ROLLBACK TRANSACTION
341
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
342
					RETURN '-1'
343
				END
344
				ELSE
345
				BEGIN
346
					UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R' WHERE USER_MASTER_ID =@p_TRN_ID
347
					SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công'
348
					INSERT INTO dbo.PL_PROCESS
349
					(
350
						REQ_ID,
351
						PROCESS_ID,
352
						CHECKER_ID,
353
						APPROVE_DT,
354
						PROCESS_DESC,NOTES
355
					)
356
					VALUES
357
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
358
						'REJECT',        -- PROCESS_ID - varchar(10)
359
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
360
						GETDATE(), -- APPROVE_DT - datetime
361
						@p_REASON,
362
						N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
363
					)
364
				END
365
			END
366

    
367
		END
368
		-- Thanh lý tài sản
369
		ELSE IF(@p_TRN_TYPE ='ASS_LIQ_MUL')
370
		BEGIN
371
			IF(@p_STAGE='KT')
372
			BEGIN -- KSV trả về GDV
373
				IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
374
				BEGIN
375
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý tài sản đã được kế toán duyệt'
376
					ROLLBACK TRANSACTION
377
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
378
					RETURN '-1'
379
				END
380
				ELSE
381
				BEGIN
382
					IF(EXISTS(SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
383
					BEGIN
384
						UPDATE ASS_LIQUIDATION SET AUTH_STATUS_KT ='R' WHERE LIQ_ID =@p_TRN_ID
385
						SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về giao dịch viên thành công'
386
						-- GiaNT 29/09/2021
387
						INSERT INTO dbo.PL_PROCESS
388
						(
389
							REQ_ID,
390
							PROCESS_ID,
391
							CHECKER_ID,
392
							APPROVE_DT,
393
							PROCESS_DESC,NOTES
394
						)
395
						VALUES
396
						(   @p_TRN_ID,       
397
							'REJECT',        
398
							@p_REJECTED_BY,       
399
							GETDATE(), 
400
						   @p_REASON ,
401
						   N'Từ chối phiếu'    
402
						)
403
					END
404
					ELSE
405
					BEGIN
406
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý tài sản chưa được kế toán cập nhật'
407
						ROLLBACK TRANSACTION
408
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
409
						RETURN '-1'
410
					END
411
				END
412
			END
413
			ELSE IF(@p_STAGE='KT_HC')
414
			BEGIN -- KSV - GDV trả về người tạo
415
				IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
416
					BEGIN
417
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý tài sản đã được kế toán duyệt'
418
						ROLLBACK TRANSACTION
419
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
420
						RETURN '-1'
421
					END
422
				ELSE
423
				BEGIN
424
					UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL,CHECKER_ID=NULL,APPROVE_DT=NULL WHERE LIQ_ID =@p_TRN_ID
425
					SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công'
426
					-- GiaNT 29/09/2021
427
						INSERT INTO dbo.PL_PROCESS
428
						(
429
							REQ_ID,
430
							PROCESS_ID,
431
							CHECKER_ID,
432
							APPROVE_DT,
433
							PROCESS_DESC,NOTES
434
						)
435
						VALUES
436
						(   @p_TRN_ID,       
437
							'REJECT',        
438
							@p_REJECTED_BY,       
439
							GETDATE(), 
440
						   @p_REASON ,
441
						   N'Từ chối phiếu'    
442
						)
443
				END
444
			END
445
			ELSE
446
			BEGIN -- TDV trả về người tạo
447
				IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
448
				BEGIN
449
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý tài sản đã được hành chính duyệt'
450
					ROLLBACK TRANSACTION
451
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
452
					RETURN '-1'
453
				END
454
				ELSE
455
				BEGIN
456
					UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R' WHERE LIQ_ID = @p_TRN_ID
457
					SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công'
458
					INSERT INTO dbo.PL_PROCESS
459
						(
460
							REQ_ID,
461
							PROCESS_ID,
462
							CHECKER_ID,
463
							APPROVE_DT,
464
							PROCESS_DESC,NOTES
465
						)
466
						VALUES
467
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
468
							'REJECT',        -- PROCESS_ID - varchar(10)
469
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
470
							GETDATE(), -- APPROVE_DT - datetime
471
						   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
472
						)
473
				END
474
			END
475
		END
476
		-- Nhập mới tài sản
477
		ELSE IF(@p_TRN_TYPE ='ASS_ADDNEW_MUL')
478
		BEGIN
479
			IF(@p_STAGE='KT')
480
			BEGIN -- KSV trả về GDV
481
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
482
				BEGIN
483
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản đã được kế toán duyệt'
484
					ROLLBACK TRANSACTION
485
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
486
					RETURN '-1'
487
				END
488
				ELSE
489
				BEGIN
490
					--IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
491
					--BEGIN
492
						UPDATE ASS_ADDNEW SET AUTH_STATUS_KT ='R' WHERE ADDNEW_ID =@p_TRN_ID
493
						SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về giao dịch viên thành công'
494
						-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
495
						UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
496
						-- GiaNT 29/09/2021
497
						INSERT INTO dbo.PL_PROCESS
498
						(
499
							REQ_ID,
500
							PROCESS_ID,
501
							CHECKER_ID,
502
							APPROVE_DT,
503
							PROCESS_DESC,NOTES
504
						)
505
						VALUES
506
						(   @p_TRN_ID,       
507
							'REJECT',        
508
							@p_REJECTED_BY,       
509
							GETDATE(), 
510
						   @p_REASON ,
511
						   N'Từ chối phiếu'    
512
						)
513
					--END
514
					--ELSE
515
					--BEGIN
516
					--	SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản chưa được kế toán cập nhật'
517
					--	ROLLBACK TRANSACTION
518
					--	SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
519
					--	RETURN '-1'
520
					--END
521
				END
522
			END
523
			ELSE IF(@p_STAGE='KT_HC')
524
			BEGIN -- KSV - GDV trả về người tạo
525
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
526
					BEGIN
527
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản đã được kế toán duyệt'
528
						ROLLBACK TRANSACTION
529
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
530
						RETURN '-1'
531
					END
532
				ELSE
533
				BEGIN
534
					UPDATE ASS_ADDNEW SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL,CHECKER_ID=NULL,APPROVE_DT=NULL WHERE ADDNEW_ID =@p_TRN_ID
535
					SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về người tạo thành công'
536
					-- GiaNT 29/09/2021
537
						INSERT INTO dbo.PL_PROCESS
538
						(
539
							REQ_ID,
540
							PROCESS_ID,
541
							CHECKER_ID,
542
							APPROVE_DT,
543
							PROCESS_DESC,NOTES
544
						)
545
						VALUES
546
						(   @p_TRN_ID,       
547
							'REJECT',        
548
							@p_REJECTED_BY,       
549
							GETDATE(), 
550
						   @p_REASON ,
551
						   N'Từ chối phiếu'    
552
						)
553
				END
554
			END
555
			ELSE
556
			BEGIN -- TDV trả về người tạo
557
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
558
				BEGIN
559
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản đã được hành chính duyệt'
560
					ROLLBACK TRANSACTION
561
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
562
					RETURN '-1'
563
				END
564
				ELSE
565
				BEGIN
566
					UPDATE ASS_ADDNEW SET AUTH_STATUS ='R' WHERE ADDNEW_ID = @p_TRN_ID
567
					SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về người tạo thành công'
568
					INSERT INTO dbo.PL_PROCESS
569
						(
570
							REQ_ID,
571
							PROCESS_ID,
572
							CHECKER_ID,
573
							APPROVE_DT,
574
							PROCESS_DESC,NOTES
575
						)
576
						VALUES
577
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
578
							'REJECT',        -- PROCESS_ID - varchar(10)
579
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
580
							GETDATE(), -- APPROVE_DT - datetime
581
						   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
582
						)
583
				END
584
			END
585
		END
586
		-- Kiểm kê tài sản
587
		ELSE IF(@p_TRN_TYPE ='ASS_INV_MUL')
588
		BEGIN
589
			IF(@p_STAGE='APPROVE')
590
			BEGIN -- Trưởng ban kiểm kê trả về người tạo
591
				IF(EXISTS (SELECT * FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_TRN_ID  AND AUTH_STATUS='A'))
592
				BEGIN
593
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin kiểm kê tài sản đã được trưởng ban kiểm kê duyệt'
594
					ROLLBACK TRANSACTION
595
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
596
					RETURN '-1'
597
				END
598
				ELSE
599
				BEGIN
600
					UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='A',AUTH_STATUS='U',APPROVE_DT_DVKD=NULL,CHECKER_ID_DVKD=NULL,PROCESS_ID='THKK' WHERE INVENT_ID = @p_TRN_ID
601
					UPDATE PL_REQUEST_PROCESS SET STATUS='U' WHERE REQ_ID= @p_TRN_ID AND PROCESS_ID<>'APPNEW'
602
					UPDATE PL_REQUEST_PROCESS SET STATUS='C' WHERE REQ_ID= @p_TRN_ID AND PROCESS_ID='THKK'
603
					UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '0', COMMENT = NULL, CONFIRM_DT = NULL WHERE INVENT_ID = @p_TRN_ID
604
					SET @p_MESSAGE =N'Thông tin nhập kiểm kê sản đã được trả về người tạo thành công'
605
					INSERT INTO dbo.PL_PROCESS
606
					(
607
						REQ_ID,
608
						PROCESS_ID,
609
						CHECKER_ID,
610
						APPROVE_DT,
611
						PROCESS_DESC,NOTES
612
					)
613
					VALUES
614
					(   @p_TRN_ID,       
615
						'REJECT',        
616
						@p_REJECTED_BY,       
617
						GETDATE(), 
618
						@p_REASON ,
619
						N'Từ chối phiếu'    
620
					)
621
				END
622
			END
623
			ELSE IF(@p_STAGE='CONFIRM')
624
			BEGIN -- Thành phần ban kiểm kê trả về người tạo
625
				IF(EXISTS(SELECT * FROM dbo.ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_TRN_ID AND PARTY_NAME = @p_REJECTED_BY AND IS_DONE = 1))
626
					BEGIN
627
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin kiểm kê tài sản đã được thành phần ban kiểm kê duyệt'
628
						ROLLBACK TRANSACTION
629
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
630
						RETURN '-1'
631
					END
632
				ELSE IF (EXISTS(SELECT * FROM dbo.ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_TRN_ID AND PARTY_NAME = @p_REJECTED_BY AND IS_DONE = 0))
633
				BEGIN
634
					UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='A',AUTH_STATUS='U',APPROVE_DT_DVKD=NULL,CHECKER_ID_DVKD=NULL,PROCESS_ID='THKK' WHERE INVENT_ID =@p_TRN_ID
635
					UPDATE PL_REQUEST_PROCESS SET STATUS='U' WHERE REQ_ID= @p_TRN_ID AND PROCESS_ID<>'APPNEW'
636
					UPDATE PL_REQUEST_PROCESS SET STATUS='C' WHERE REQ_ID= @p_TRN_ID AND PROCESS_ID='THKK'
637
					UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '0', COMMENT = NULL, CONFIRM_DT = NULL WHERE INVENT_ID = @p_TRN_ID
638
					SET @p_MESSAGE =N'Thông tin kiểm kê tài sản đã được trả về người tạo thành công'
639
					INSERT INTO dbo.PL_PROCESS
640
					(
641
						REQ_ID,
642
						PROCESS_ID,
643
						CHECKER_ID,
644
						APPROVE_DT,
645
						PROCESS_DESC,NOTES
646
					)
647
					VALUES
648
					(   @p_TRN_ID,       
649
						'REJECT',        
650
						@p_REJECTED_BY,       
651
						GETDATE(), 
652
						@p_REASON ,
653
						N'Từ chối phiếu'    
654
					)
655
				END
656
			END
657
			ELSE
658
			BEGIN -- TDV trả về người tạo
659
				IF(EXISTS (SELECT * FROM dbo.ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_TRN_ID  AND AUTH_STATUS_DVKD='A' AND @p_STAGE ='HC'))
660
				BEGIN
661
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin kiểm kê tài sản đã được trưởng đơn vị duyệt'
662
					ROLLBACK TRANSACTION
663
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
664
					RETURN '-1'
665
				END
666
				ELSE
667
				BEGIN
668
                    IF(EXISTS(SELECT 1 FROM ASS_INVENTORY_MASTER WHERE INVENT_ID= @p_TRN_ID AND AUTH_STATUS_DVKD='A'))
669
					BEGIN
670
						UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='A',AUTH_STATUS='U',APPROVE_DT_DVKD=NULL,CHECKER_ID_DVKD=NULL,PROCESS_ID='THKK' WHERE INVENT_ID =@p_TRN_ID
671
						UPDATE PL_REQUEST_PROCESS SET STATUS='U' WHERE REQ_ID= @p_TRN_ID AND PROCESS_ID<>'APPNEW'
672
						UPDATE PL_REQUEST_PROCESS SET STATUS='C' WHERE REQ_ID= @p_TRN_ID AND PROCESS_ID='THKK'
673
						UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '0', COMMENT = NULL, CONFIRM_DT = NULL WHERE INVENT_ID = @p_TRN_ID
674
					END
675
					ELSE
676
					BEGIN
677
						UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R',PROCESS_ID='' WHERE INVENT_ID = @p_TRN_ID
678
					END
679
					SET @p_MESSAGE =N'Thông tin kiểm kê tài sản đã được trả về người tạo thành công'
680
					INSERT INTO dbo.PL_PROCESS
681
					(
682
						REQ_ID,
683
						PROCESS_ID,
684
						CHECKER_ID,
685
						APPROVE_DT,
686
						PROCESS_DESC,NOTES
687
					)
688
					VALUES
689
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
690
						'REJECT',        -- PROCESS_ID - varchar(10)
691
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
692
						GETDATE(), -- APPROVE_DT - datetime
693
						@p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
694
					)
695
				END
696
			END
697
		END
698
		--PHONGNT 12/8/22 - Cập nhật thông tin tài sản
699
		ELSE IF(@p_TRN_TYPE ='ASS_UPDATE')
700
		BEGIN
701
			IF(EXISTS (SELECT 1 FROM ASS_UPDATE WHERE UPDATE_ID = @p_TRN_ID  AND AUTH_STATUS='A'))
702
			BEGIN
703
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin sửa chữa tài sản đã được trưởng phòng Kế Toán duyệt'
704
				ROLLBACK TRANSACTION
705
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
706
				RETURN '-1'
707
			END
708
			ELSE
709
			BEGIN
710
				UPDATE PL_PROCESS SET PROCESS_ID ='UPDATE_NT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID='UPDATE'
711
				UPDATE ASS_UPDATE SET AUTH_STATUS ='R' WHERE UPDATE_ID = @p_TRN_ID
712
				SET @p_MESSAGE =N' Thông tin sửa chữa tài sản đã được trả về người tạo thành công'
713
				INSERT INTO dbo.PL_PROCESS
714
				(
715
					REQ_ID,
716
					PROCESS_ID,
717
					CHECKER_ID,
718
					APPROVE_DT,
719
					PROCESS_DESC,NOTES
720
				)
721
				VALUES
722
				(   @p_TRN_ID,       
723
					'REJECT',        
724
					@p_REJECTED_BY,       
725
					GETDATE(), 
726
					@p_REASON ,
727
					N'Từ chối phiếu'    
728
				)
729
			END
730
		END
731
		--END
732
		--PHONGNT 09/08/22 phân bổ chi phí
733
		ELSE IF(@p_TRN_TYPE='ASS_COL_COST')
734
		BEGIN
735
			IF(EXISTS (SELECT 1 FROM dbo.ASS_COST_ALLOCATION WHERE COS_ID = @p_TRN_ID  AND AUTH_STATUS='A'))
736
			BEGIN
737
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin phân bổ chi phí được trưởng đơn vị duyệt'
738
				ROLLBACK TRANSACTION
739
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
740
				RETURN '-1'
741
			END
742
			ELSE
743
			BEGIN
744
				UPDATE PL_PROCESS SET PROCESS_ID ='UPDATE_NT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID='UPDATE'
745
				UPDATE ASS_COST_ALLOCATION SET AUTH_STATUS ='R' WHERE COS_ID = @p_TRN_ID
746
				SET @p_MESSAGE =N'Thông tin phân bổ chi phí đã được trả về người tạo thành công'
747
				INSERT INTO dbo.PL_PROCESS
748
				(
749
					REQ_ID,
750
					PROCESS_ID,
751
					CHECKER_ID,
752
					APPROVE_DT,
753
					PROCESS_DESC,NOTES
754
				)
755
				VALUES
756
				(   @p_TRN_ID,       
757
					'REJECT',        
758
					@p_REJECTED_BY,       
759
					GETDATE(), 
760
					@p_REASON ,
761
					N'Từ chối phiếu'    
762
				)
763
			END
764
		END
765
		--END
766
		ELSE IF(@p_TRN_TYPE ='MW_IN')
767
		BEGIN
768
			BEGIN
769
			IF(@p_STAGE='KT')
770
			BEGIN
771
				IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
772
				BEGIN
773
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới vật liệu đã được kế toán duyệt'
774
					ROLLBACK TRANSACTION
775
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
776
					RETURN '0'
777
				END
778
				ELSE
779
				BEGIN
780
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
781
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
782
					IF(EXISTS(SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
783
					BEGIN
784
						UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
785
						SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
786

    
787
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
788
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
789

    
790
					END
791
					ELSE
792
					BEGIN
793
						SET @p_STAGE ='HC'
794
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
795
						SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về hành chính thành công'
796

    
797
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
798
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
799
					END
800
				END
801
			END
802
			ELSE IF(@p_STAGE='KT_HC')
803
				BEGIN
804
					BEGIN
805
					IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
806
						BEGIN
807
							SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới vật liệu đã được kế toán duyệt'
808
							ROLLBACK TRANSACTION
809
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
810
							RETURN '0'
811
						END
812
					ELSE
813
						BEGIN
814
							SET @p_STAGE ='HC'
815
							UPDATE MW_IN_MASTER SET AUTH_STATUS ='R',CORE_NOTE = NULL
816
							, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
817
							--,CHECKER_ID_KT = @p_REJECTED_BY,APPROVE_DT_KT = GETDATE()
818
							WHERE IN_ID =@p_TRN_ID
819
							SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về hành chính thành công'
820

    
821
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
822
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
823
						END
824
					END
825
				END
826
			ELSE
827
			BEGIN
828
				IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
829
				BEGIN
830
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới vật liệu đã được hành chính duyệt'
831
					ROLLBACK TRANSACTION
832
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
833
					RETURN '0'
834
				END
835
				ELSE
836
				BEGIN
837
					UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
838
					SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
839

    
840
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
841
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
842
				END
843
			END
844
			END
845
		END
846
		
847
		--- MW - TRANSFER : ĐIỀU CHUYỂN VẬT LIỆU
848
		ELSE IF(@p_TRN_TYPE ='MW_TRANSFER')
849
		BEGIN
850
			BEGIN
851
			IF(@p_STAGE='KT')
852
			BEGIN
853
				IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
854
					BEGIN
855
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển vật liệu đã được kế toán duyệt'
856
						ROLLBACK TRANSACTION
857
						SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
858
						RETURN '0'
859
					END
860
				ELSE
861
					BEGIN
862
						--UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
863
						--SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
864
						IF(EXISTS(SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
865
						BEGIN
866
							UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
867
							SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
868

    
869
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
870
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
871
						END
872
						ELSE
873
						BEGIN
874
							SET @p_STAGE ='HC'
875
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
876
							SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về hành chính thành công'
877

    
878
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
879
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
880
						END
881
					END
882
			END
883
			ELSE IF(@p_STAGE='KT_HC')
884
				BEGIN
885
					IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
886
						BEGIN
887
							SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển vật liệu đã được kế toán duyệt'
888
							ROLLBACK TRANSACTION
889
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
890
							RETURN '0'
891
						END
892
					ELSE
893
						BEGIN
894
							SET @p_STAGE ='HC'
895
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R', CORE_NOTE = NULL 
896
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
897
							--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
898
							WHERE TRANSFER_ID =@p_TRN_ID
899
							SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về hành chính thành công'
900

    
901
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
902
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
903
						END
904
				END
905
			ELSE
906
			BEGIN
907
				IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
908
				BEGIN
909
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển vật liệu đã được hành chính duyệt'
910
					ROLLBACK TRANSACTION
911
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
912
					RETURN '0'
913
				END
914
				ELSE
915
				BEGIN
916
					UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
917
					SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
918

    
919
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
920
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
921
				END
922
			END
923
			END
924

    
925
		END
926
		--- MW_OUT : XUẤT VẬT LIỆU
927
		ELSE IF(@p_TRN_TYPE ='MW_OUT')
928
		BEGIN
929
			BEGIN
930
			IF(@p_STAGE='KT')
931
			BEGIN
932
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
933
				BEGIN
934
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng vật liệu đã được kế toán duyệt'
935
					ROLLBACK TRANSACTION
936
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
937
					RETURN '0'
938
				END
939
				ELSE
940
				BEGIN
941
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
942
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
943
					IF(EXISTS(SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
944
					BEGIN
945
						UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
946
						SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
947

    
948
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
949
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
950
					END
951
					ELSE
952
					BEGIN
953
						SET @p_STAGE ='HC'
954
						UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
955
						SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về hành chính thành công'
956

    
957
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
958
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
959
					END
960
				END
961
			END
962
			ELSE IF(@p_STAGE='KT_HC')
963
				BEGIN
964
					IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
965
						BEGIN
966
							SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng vật liệu đã được kế toán duyệt'
967
							ROLLBACK TRANSACTION
968
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
969
							RETURN '0'
970
						END
971
					ELSE
972
						BEGIN
973
							SET @p_STAGE ='HC'
974
							UPDATE MW_OUT SET AUTH_STATUS ='R', CORE_NOTE = NULL
975
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
976
							--, KT_APPROVE_DT = GETDATE() ,KT_CHECKER_ID = @p_REJECTED_BY
977
							WHERE OUT_ID =@p_TRN_ID
978
							SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về hành chính thành công'
979

    
980
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
981
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
982
						END
983
				END
984
			ELSE
985
			BEGIN
986
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
987
				BEGIN
988
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng vật liệu đã được hành chính duyệt'
989
					ROLLBACK TRANSACTION
990
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
991
					RETURN '0'
992
				END
993
				ELSE
994
				BEGIN
995
					UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
996
					SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
997

    
998
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
999
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1000
				END
1001
			END
1002
			END
1003
		END
1004
		--- MW_OUT : THANH LÝ VẬT LIỆU
1005
		ELSE IF(@p_TRN_TYPE ='MW_LIQ_MASTER')
1006
		BEGIN
1007
			BEGIN
1008
			IF(@p_STAGE='KT')
1009
			BEGIN
1010
				IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1011
				BEGIN
1012
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý vật liệu đã được kế toán duyệt'
1013
					ROLLBACK TRANSACTION
1014
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1015
					RETURN '0'
1016
				END
1017
				ELSE
1018
				BEGIN
1019
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1020
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1021
					IF(EXISTS(SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
1022
					BEGIN
1023
						UPDATE MW_LIQ_MASTER SET KT_AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
1024
						SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công'
1025

    
1026
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1027
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1028
					END
1029
					ELSE
1030
					BEGIN
1031
						SET @p_STAGE ='HC'
1032
						UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
1033
						SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công'
1034

    
1035
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1036
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1037
					END
1038
				END
1039
			END
1040
			ELSE IF(@p_STAGE='KT_HC')
1041
				BEGIN
1042
					IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1043
						BEGIN
1044
							SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý vật liệu đã được kế toán duyệt'
1045
							ROLLBACK TRANSACTION
1046
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1047
							RETURN '0'
1048
						END
1049
					ELSE
1050
						BEGIN
1051
							SET @p_STAGE ='HC'
1052
							UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R', CORE_NOTE = NULL
1053
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
1054
							--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
1055
							WHERE LIQ_ID =@p_TRN_ID
1056
							SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công'
1057

    
1058
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1059
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1060
						END
1061
				END
1062
			ELSE
1063
			BEGIN
1064
				IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1065
				BEGIN
1066
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý vật liệu đã được hành chính duyệt'
1067
					ROLLBACK TRANSACTION
1068
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1069
					RETURN '0'
1070
				END
1071
				ELSE
1072
				BEGIN
1073
					UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
1074
					SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công'
1075

    
1076
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1077
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1078
				END
1079
			END
1080
			END
1081
		END
1082
		-- PHIEU DE NGHI TAM UNG 05 11 2019
1083
		ELSE IF(@p_TRN_TYPE ='REQ_ADVANCE_PAY')
1084
		BEGIN
1085
			
1086
			IF(@p_STAGE='KT')
1087
			BEGIN
1088
				-- doanptt them rang buoc nhap ky do tra ve
1089
				IF(@p_REASON IS NULL OR @p_REASON = '')
1090
				BEGIN
1091
					SET @p_MESSAGE =N'Lý do trả về không được để trống'
1092
					ROLLBACK TRANSACTION
1093
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1094
					RETURN '-1'
1095
				END
1096
				IF((SELECT AUTH_STATUS_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
1097
				BEGIN
1098
					SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được kiểm soát viên trả về giao dịch viên trước đó'
1099
					ROLLBACK TRANSACTION
1100
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1101
					RETURN '-1'
1102
				END
1103
				IF((SELECT CHECKER_ID_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) IS NULL)
1104
				BEGIN
1105
					IF((SELECT AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
1106
					BEGIN
1107
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được kiểm soát viên trả về người tạo trước đó'
1108
						ROLLBACK TRANSACTION
1109
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1110
						RETURN '-1'
1111
					END
1112
					/*
1113
					ELSE
1114
					BEGIN
1115
						SET @p_MESSAGE =N'Trả về thất bại! Phiếu đề nghị tạm ứng này không thuộc quyền xử lý của kiểm soát viên'
1116
						ROLLBACK TRANSACTION
1117
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1118
						RETURN '-1'
1119
					END
1120
					*/
1121
				END
1122

    
1123
				IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
1124
				BEGIN
1125
					SET @p_MESSAGE =N'Trả về thất bại! Phiếu đề nghị tạm ứng đã được kế toán duyệt'
1126
					ROLLBACK TRANSACTION
1127
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1128
					RETURN '-1'
1129
				END
1130
				ELSE
1131
				BEGIN
1132
					-- NEU DANG O VI TRI TKTGD, TKHDQT
1133
					IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND ROLE_USER IN ('TKTGD','TKHDQT') AND STATUS ='C'))
1134
					BEGIN
1135
						IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS' AND TLNAME =@p_REJECTED_BY))
1136
							BEGIN
1137
								SET @p_MESSAGE =N'Trả về thất bại! Phiếu đề nghị tạm ứng chưa được điều phối cho nhân viên xử lý'
1138
								ROLLBACK TRANSACTION
1139
								SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1140
								RETURN '-1'
1141
						END
1142
						--UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
1143
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về nhân viên xử lý thành công'
1144
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1145
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TYPE_JOB ='XL')
1146
						AND REQ_ID =@p_TRN_ID
1147
					    -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1148
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS'
1149
						INSERT INTO dbo.PL_PROCESS
1150
						(
1151
							REQ_ID,
1152
							PROCESS_ID,
1153
							CHECKER_ID,
1154
							APPROVE_DT,
1155
							PROCESS_DESC,NOTES
1156
						)
1157
						VALUES
1158
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1159
							'REJECT',        -- PROCESS_ID - varchar(10)
1160
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1161
							GETDATE(), -- APPROVE_DT - datetime
1162
							@p_REASON ,N'Trưởng văn phòng từ chối nhân viên xử lý'       -- PROCESS_DESC - nvarchar(1000)
1163
						)
1164
						EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
1165
						IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
1166
						INSERT INTO [dbo].[CM_REJECT_LOG] VALUES (@p_LOG_ID,'HC',@p_TRN_ID,@p_TRN_TYPE,CONVERT(DATETIME,GETDATE(),103),'R',@p_REASON,'Y',@p_REJECTED_BY,CONVERT(DATETIME,GETDATE(),103))
1167
						COMMIT TRANSACTION
1168
						SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1169
						RETURN '0'
1170
					END
1171
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1172
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1173
					IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
1174
					BEGIN
1175
						UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
1176
						-- DOANPTT 291222: THEM LOG KPI
1177
						UPDATE TR_REQ_KPI 
1178
						SET AUTH_STATUS_KT ='U'
1179
						WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT IN ('P', 'S') AND IS_DONE = '0'
1180
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về thành công'
1181
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1182
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT MAKER_ID_KT FROM  TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID)
1183
						AND REQ_ID =@p_TRN_ID
1184
					    -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1185
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID
1186
						INSERT INTO dbo.PL_PROCESS
1187
						(
1188
							REQ_ID,
1189
							PROCESS_ID,
1190
							CHECKER_ID,
1191
							APPROVE_DT,
1192
							PROCESS_DESC,NOTES
1193
						)
1194
						VALUES
1195
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1196
							'REJECT_GDV',        -- PROCESS_ID - varchar(10)
1197
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1198
							GETDATE(), -- APPROVE_DT - datetime
1199
							@p_REASON ,N'KSV trả về cho GDV'       -- PROCESS_DESC - nvarchar(1000)
1200
						)
1201
					END
1202
					ELSE
1203
					BEGIN
1204
						SET @p_STAGE ='HC'
1205
						UPDATE TR_REQ_ADVANCE_PAYMENT 
1206
						SET AUTH_STATUS ='R',PROCESS = NULL,MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL, AUTH_STATUS_KT = NULL,
1207
						-- doanptt 070922: Xoa thong tin cac cap phe duyet TKTGd, TKHDQT neu co
1208
						TK_TGD_NOTES = NULL, TK_HDQT_NOTES = NULL, OTHER_NOTES = NULL, TK_TGD_XL_TLNAME = NULL, TK_TGD_APPR_TLNAME = NULL, TK_HDQT_XL_TLNAME = NULL, TK_HDQT_APPR_TLNAME = NULL
1209
						WHERE REQ_PAY_ID =@p_TRN_ID
1210
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về đơn vị thành công'
1211
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1212
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1213
						DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
1214
						IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID = @p_TRN_ID))
1215
						BEGIN
1216
							DELETE FROM TR_REQ_PAY_TRANS_OUTSIDE_REC WHERE REQ_PAY_ID =@p_TRN_ID
1217
						END
1218
						-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1219
						INSERT INTO dbo.PL_PROCESS
1220
						(
1221
							REQ_ID,
1222
							PROCESS_ID,
1223
							CHECKER_ID,
1224
							APPROVE_DT,
1225
							PROCESS_DESC,NOTES
1226
						)
1227
						VALUES
1228
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1229
							'REJECT',        -- PROCESS_ID - varchar(10)
1230
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1231
							GETDATE(), -- APPROVE_DT - datetime
1232
							@p_REASON,N'Trả về cho người tạo phiếu'    -- PROCESS_DESC - nvarchar(1000)
1233
						)
1234
					END
1235
				END
1236
			END
1237
			ELSE IF(@p_STAGE='KT_HC')
1238
			BEGIN
1239
				IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT = 'A'))
1240
				BEGIN
1241
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị tạm ứng đã được kế toán duyệt'
1242
					ROLLBACK TRANSACTION
1243
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1244
					RETURN '-1'
1245
				END
1246
				ELSE
1247
				BEGIN
1248
					SET @p_STAGE ='HC'
1249
					UPDATE TR_REQ_ADVANCE_PAYMENT 
1250
					SET AUTH_STATUS ='R',PROCESS = NULL,MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL, AUTH_STATUS_KT = NULL,
1251
					-- doanptt 070922: Xoa thong tin cac cap phe duyet TKTGd, TKHDQT neu co
1252
					TK_TGD_NOTES = NULL, TK_HDQT_NOTES = NULL, OTHER_NOTES = NULL, TK_TGD_XL_TLNAME = NULL, TK_TGD_APPR_TLNAME = NULL, TK_HDQT_XL_TLNAME = NULL, TK_HDQT_APPR_TLNAME = NULL 
1253
					WHERE REQ_PAY_ID =@p_TRN_ID
1254
					-- DOANPTT 291222: THEM LOG KPI
1255
					UPDATE TR_REQ_KPI 
1256
					SET AUTH_STATUS_KT ='R', APPROVE_DT_KT = GETDATE(),CHECKER_ID_KT = @p_REJECTED_BY, REQ_STATUS = 'REJECT', IS_DONE = '1'
1257
					WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT IN ('P', 'S') AND IS_DONE = '0'
1258
					SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về đơn vị thành công'
1259
					---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1260
					DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1261
					DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
1262
					IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID = @p_TRN_ID))
1263
					BEGIN
1264
						DELETE FROM TR_REQ_PAY_TRANS_OUTSIDE_REC WHERE REQ_PAY_ID =@p_TRN_ID
1265
					END
1266
					-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1267
					INSERT INTO dbo.PL_PROCESS
1268
					(
1269
						REQ_ID,
1270
						PROCESS_ID,
1271
						CHECKER_ID,
1272
						APPROVE_DT,
1273
						PROCESS_DESC,NOTES
1274
					)
1275
					VALUES
1276
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1277
						'REJECT',        -- PROCESS_ID - varchar(10)
1278
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1279
						GETDATE(), -- APPROVE_DT - datetime
1280
						@p_REASON,N'Trả về cho người tạo phiếu'    -- PROCESS_DESC - nvarchar(1000)
1281
					)
1282
				END
1283
			END
1284
			ELSE IF(@p_STAGE ='HC')
1285
			BEGIN
1286
				IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC' AND (MAKER_ID_KT IS  NULL OR  MAKER_ID_KT ='')))
1287
				BEGIN
1288
					SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị tạm ứng đã được duyệt hoàn tất ở cấp độ Hành Chính Quản Trị'
1289
					ROLLBACK TRANSACTION
1290
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1291
					RETURN '-1'
1292
				END
1293
				IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS='R'))
1294
				BEGIN
1295
					SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị tạm ứng đã được trả về trước đó'
1296
					ROLLBACK TRANSACTION
1297
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1298
					RETURN '-1'
1299
				END
1300
				ELSE
1301
				BEGIN
1302
					UPDATE TR_REQ_ADVANCE_PAYMENT 
1303
					SET AUTH_STATUS ='R',PROCESS =NULL,CHECKER_ID ='',APPROVE_DT =NULL, MAKER_ID_KT =NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT =NULL, AUTH_STATUS_KT = NULL,
1304
					-- doanptt 070922: Xoa thong tin cac cap phe duyet TKTGd, TKHDQT neu co
1305
					TK_TGD_NOTES = NULL, TK_HDQT_NOTES = NULL, OTHER_NOTES = NULL, TK_TGD_XL_TLNAME = NULL, TK_TGD_APPR_TLNAME = NULL, TK_HDQT_XL_TLNAME = NULL, TK_HDQT_APPR_TLNAME = NULL
1306
					WHERE REQ_PAY_ID =@p_TRN_ID
1307
					SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được trả về thành công'
1308
					--NEU PHIEU DANG TRONG QUA TRINH PHE DUYET THI XOA TOAN BO PL_PROCESS VA PL_REQUEST_PROCESS 
1309
					-- XOA CAC CAP PHE DUYET, KHI DON VI THUC HIEN CHINH SUA THI HE THONG SE INSERT LAI
1310
					DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
1311
				    DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1312
					-- XOA LENH CHUYEN TIEN NGOAI HE THONG NEU CO
1313
					DELETE FROM TR_REQ_PAY_TRANS_OUTSIDE_REC WHERE REQ_PAY_ID = @p_TRN_ID
1314
					--DELETE FROM PL_PROCESS WHERE REQ_ID =@p_TRN_ID
1315
					-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1316
						INSERT INTO dbo.PL_PROCESS
1317
						(
1318
							REQ_ID,
1319
							PROCESS_ID,
1320
							CHECKER_ID,
1321
							APPROVE_DT,
1322
							PROCESS_DESC,NOTES
1323
						)
1324
						VALUES
1325
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1326
							'REJECT',        -- PROCESS_ID - varchar(10)
1327
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1328
							GETDATE(), -- APPROVE_DT - datetime
1329
							@p_REASON ,N'Trả về cho người tạo phiếu'    -- PROCESS_DESC - nvarchar(1000)
1330
						)
1331
				END
1332
			END
1333
			ELSE IF(@p_STAGE ='SUG')
1334
			BEGIN
1335
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
1336
				DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT
1337
				SET @LEVEL_JOB =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
1338
				SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1
1339
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_TRN_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV)
1340
				-- CAP NHAT TINH TRANG VE DANG XU LY
1341
				UPDATE TR_REQ_ADVANCE_PAYMENT SET MAKER_ID_KT = @p_REJECTED_BY, CREATE_DT_KT = GETDATE(), AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID
1342
				UPDATE TR_REQ_KPI 
1343
				SET AUTH_STATUS_KT ='S', CREATE_DT_KT = GETDATE(),MAKER_ID_KT =@p_REJECTED_BY
1344
				WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT = 'U' AND IS_DONE = '0'
1345
				INSERT INTO dbo.PL_PROCESS
1346
						(
1347
							REQ_ID,
1348
							PROCESS_ID,
1349
							CHECKER_ID,
1350
							APPROVE_DT,
1351
							PROCESS_DESC,NOTES
1352
						)
1353
						VALUES
1354
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1355
							'REJECT',        -- PROCESS_ID - varchar(10)
1356
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1357
							GETDATE(), -- APPROVE_DT - datetime
1358
							@p_REASON ,N'GDV đề xuất từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1359
						)
1360
				SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được đề xuất từ chối thành công'
1361
			END
1362
			ELSE IF(@p_STAGE ='DEL')
1363
			BEGIN
1364
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1365
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1366
				UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID
1367
				UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE REQ_PAY_ID =@p_TRN_ID
1368
				UPDATE TR_REQ_PAY_PERIOD SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1369
				---------------------------------------------------------------------------------------------------------------------
1370
				DECLARE CURS_TRADE CURSOR FOR SELECT A.TRADE_ID, A.AMT_EXE FROM TR_REQ_PAY_BUDGET A WHERE A.REQ_PAY_ID =@p_TRN_ID
1371
				OPEN CURS_TRADE
1372
					FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1373
					WHILE @@FETCH_STATUS = 0
1374
					BEGIN
1375
						UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
1376
						WHERE TRADE_ID =@TRADED_ID
1377
						FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1378
					END
1379
				CLOSE CURS_TRADE
1380
				DEALLOCATE CURS_TRADE
1381
				
1382
				DECLARE CURS CURSOR FOR SELECT A.PAY_ADV_ID,A.AMT_USE,A.AMT_ADD,A.AMT_REVERT FROM TR_REQ_PAYMENT_DT A WHERE A.PAY_ID =@p_TRN_ID
1383
				OPEN CURS
1384
					FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
1385
					WHILE @@FETCH_STATUS = 0
1386
					BEGIN
1387
						UPDATE TR_REQ_ADVANCE_PAYMENT
1388
						SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
1389
						FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
1390
					END
1391
				CLOSE CURS
1392
				DEALLOCATE CURS
1393
				INSERT INTO dbo.PL_PROCESS
1394
						(
1395
							REQ_ID,
1396
							PROCESS_ID,
1397
							CHECKER_ID,
1398
							APPROVE_DT,
1399
							PROCESS_DESC,NOTES
1400
						)
1401
						VALUES
1402
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1403
							'DEL',        -- PROCESS_ID - varchar(10)
1404
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1405
							GETDATE(), -- APPROVE_DT - datetime
1406
							@p_REASON ,N'KSV hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
1407
						)
1408
				SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được hủy thành công. Bạn vẫn có thể xem thông tin giao dịch với tình trạng đã bị hủy'
1409
			END
1410
			ELSE IF(@p_STAGE='TGD/HDQT')
1411
			BEGIN
1412
				PRINT 'START'
1413
				IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND ROLE_USER IN ('TGD') AND STATUS ='C'))
1414
				BEGIN
1415
						PRINT 'CEO TGD'
1416
						--UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
1417
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về VP Thư Ký TGĐ thành công'
1418
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1419
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME ='phuongnht' AND REQ_ID =@p_TRN_ID
1420
						AND ID =(SELECT MAX(ID) FROM PL_REQUEST_PROCESS_CHILD WHERE TLNAME ='phuongnht' AND REQ_ID =@p_TRN_ID)
1421
					    -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1422
						UPDATE PL_REQUEST_PROCESS SET STATUS='C' WHERE REQ_ID =@p_TRN_ID AND ROLE_USER='TKTGD'
1423
						UPDATE PL_REQUEST_PROCESS SET STATUS='P' WHERE REQ_ID =@p_TRN_ID AND ROLE_USER='TGD'
1424
						INSERT INTO dbo.PL_PROCESS
1425
						(
1426
							REQ_ID,
1427
							PROCESS_ID,
1428
							CHECKER_ID,
1429
							APPROVE_DT,
1430
							PROCESS_DESC,NOTES
1431
						)
1432
						VALUES
1433
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1434
							'REJECT',        -- PROCESS_ID - varchar(10)
1435
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1436
							GETDATE(), -- APPROVE_DT - datetime
1437
							@p_REASON ,N'TGĐ trả về VP Thư Ký TGD'       -- PROCESS_DESC - nvarchar(1000)
1438
						)
1439
						EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
1440
						IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
1441
						INSERT INTO [dbo].[CM_REJECT_LOG] VALUES (@p_LOG_ID,'HC',@p_TRN_ID,@p_TRN_TYPE,CONVERT(DATETIME,GETDATE(),103),'R',@p_REASON,'Y',@p_REJECTED_BY,CONVERT(DATETIME,GETDATE(),103))
1442
						COMMIT TRANSACTION
1443
						SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1444
						RETURN '0'
1445
				END
1446
				--- NEU DANG CHỜ CHỦ TỊCH HĐQT
1447
				IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND ROLE_USER IN ('HDQT') AND STATUS ='C'))
1448
				BEGIN
1449
						PRINT 'CHU TICH HDQT'
1450
						--UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
1451
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về VP HĐQT thành công'
1452
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1453
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME ='toailc' AND REQ_ID =@p_TRN_ID
1454
						AND ID =(SELECT MAX(ID) FROM PL_REQUEST_PROCESS_CHILD WHERE TLNAME ='toailc' AND REQ_ID =@p_TRN_ID)
1455
					    -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1456
						UPDATE PL_REQUEST_PROCESS SET STATUS='C' WHERE REQ_ID =@p_TRN_ID AND ROLE_USER='TKHDQT'
1457
						UPDATE PL_REQUEST_PROCESS SET STATUS='P' WHERE REQ_ID =@p_TRN_ID AND ROLE_USER='HDQT'
1458
						INSERT INTO dbo.PL_PROCESS
1459
						(
1460
							REQ_ID,
1461
							PROCESS_ID,
1462
							CHECKER_ID,
1463
							APPROVE_DT,
1464
							PROCESS_DESC,NOTES
1465
						)
1466
						VALUES
1467
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1468
							'REJECT',        -- PROCESS_ID - varchar(10)
1469
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1470
							GETDATE(), -- APPROVE_DT - datetime
1471
							@p_REASON ,N'CTHDQT trả về VP HĐQT'       -- PROCESS_DESC - nvarchar(1000)
1472
						)
1473
						EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
1474
						IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
1475
						INSERT INTO [dbo].[CM_REJECT_LOG] VALUES (@p_LOG_ID,'HC',@p_TRN_ID,@p_TRN_TYPE,CONVERT(DATETIME,GETDATE(),103),'R',@p_REASON,'Y',@p_REJECTED_BY,CONVERT(DATETIME,GETDATE(),103))
1476
						COMMIT TRANSACTION
1477
						SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1478
						RETURN '0'
1479
				END
1480
			END
1481

    
1482
			
1483
		END
1484
		-- END  PHIEU DE NGHI TAM UNG 05 11 2019
1485
		-- START PHIEU DE THI THANH TOAN 19-11-2019
1486
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
1487
		BEGIN
1488
			BEGIN
1489
			IF(@p_STAGE='KT')
1490
			BEGIN
1491
				IF((SELECT AUTH_STATUS_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
1492
				BEGIN
1493
					SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được kiểm soát viên trả về trước đó'
1494
					ROLLBACK TRANSACTION
1495
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1496
					RETURN '-1'
1497
				END
1498
				IF((SELECT CHECKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) IS NULL)
1499
				BEGIN
1500
					IF((SELECT AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
1501
					BEGIN
1502
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được kiểm soát viên trả về trước đó'
1503
						ROLLBACK TRANSACTION
1504
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1505
						RETURN '-1'
1506
					END
1507
				END
1508
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
1509
				BEGIN
1510
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt'
1511
					ROLLBACK TRANSACTION
1512
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1513
					RETURN '-1'
1514
				END
1515
				ELSE
1516
				BEGIN
1517
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1518
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1519
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
1520
					BEGIN
1521
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
1522
						-- DOANPTT 291222: THEM LOG KPI
1523
						UPDATE TR_REQ_KPI 
1524
						SET AUTH_STATUS_KT ='U'
1525
						WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT = 'P' AND IS_DONE = '0'
1526
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về thành công'
1527
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1528
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT MAKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID)
1529
						AND REQ_ID =@p_TRN_ID
1530
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID
1531
						-- INSERT VAO BANG LICH SU
1532
						INSERT INTO dbo.PL_PROCESS
1533
						(
1534
							REQ_ID,
1535
							PROCESS_ID,
1536
							CHECKER_ID,
1537
							APPROVE_DT,
1538
							PROCESS_DESC,NOTES
1539
						)
1540
						VALUES
1541
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1542
							'REJECT_GDV',        -- PROCESS_ID - varchar(10)
1543
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1544
							GETDATE(), -- APPROVE_DT - datetime
1545
							@p_REASON ,N'KSV trả về cho GDV'     -- PROCESS_DESC - nvarchar(1000)
1546
						)
1547
					END
1548
					ELSE 
1549
					BEGIN
1550
						SET @p_STAGE ='HC'
1551
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R',PROCESS =NULL,MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL, AUTH_STATUS_KT = NULL
1552
						WHERE REQ_PAY_ID =@p_TRN_ID
1553
						-- DOANPTT 291222: THEM LOG KPI
1554
						UPDATE TR_REQ_KPI 
1555
						SET AUTH_STATUS_KT ='R', APPROVE_DT_KT = GETDATE(),CHECKER_ID_KT = @p_REJECTED_BY, REQ_STATUS = 'REJECT'
1556
						WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT = 'P'
1557
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công'
1558
						-- XOA DI DU LIEU DA DIEU PHOI, CHO DON VI XU LY VA DUYET LAI SE DIEU PHOI LAI
1559
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1560
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1561
						-- INSERT VAO BANG LICH SU
1562
						INSERT INTO dbo.PL_PROCESS
1563
						(
1564
							REQ_ID,
1565
							PROCESS_ID,
1566
							CHECKER_ID,
1567
							APPROVE_DT,
1568
							PROCESS_DESC,NOTES
1569
						)
1570
						VALUES
1571
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1572
							'REJECT',        -- PROCESS_ID - varchar(10)
1573
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1574
							GETDATE(), -- APPROVE_DT - datetime
1575
							@p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1576
						)
1577
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được từ chối thành công'
1578
						--doanptt 210622 xóa nscp khi hủy hoặc trả phiếu về HC
1579
						DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
1580
						DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
1581
					END
1582
				END
1583
			END
1584
			ELSE IF(@p_STAGE='KT_HC')
1585
			BEGIN
1586
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT = 'A'))
1587
				BEGIN
1588
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt'
1589
					ROLLBACK TRANSACTION
1590
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1591
					RETURN '-1'
1592
				END
1593
				ELSE
1594
				BEGIN
1595
					SET @p_STAGE ='HC'
1596
					UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R', AUTH_STATUS_KT = NULL, PROCESS =NULL,MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID
1597
					-- DOANPTT 291222: THEM LOG KPI
1598
					UPDATE TR_REQ_KPI 
1599
					SET AUTH_STATUS_KT ='R', APPROVE_DT_KT = GETDATE(),CHECKER_ID_KT = @p_REJECTED_BY, REQ_STATUS = 'REJECT', IS_DONE = '1'
1600
					WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT IN ('P', 'S') AND IS_DONE = '0'
1601
					SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công'
1602
					---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1603
					DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1604
					DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
1605
					-- XOA LENH CHUYEN TIEN NGOAI HE THONG NEU CO
1606
					DELETE FROM TR_REQ_PAY_TRANS_OUTSIDE_REC WHERE REQ_PAY_ID = @p_TRN_ID
1607
					-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1608
					INSERT INTO dbo.PL_PROCESS
1609
					(
1610
						REQ_ID,
1611
						PROCESS_ID,
1612
						CHECKER_ID,
1613
						APPROVE_DT,
1614
						PROCESS_DESC,NOTES
1615
					)
1616
					VALUES
1617
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1618
						'REJECT',        -- PROCESS_ID - varchar(10)
1619
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1620
						GETDATE(), -- APPROVE_DT - datetime
1621
						@p_REASON,N'Trả về cho người tạo phiếu'    -- PROCESS_DESC - nvarchar(1000)
1622
					)
1623
					--doanptt 210622 xóa nscp khi hủy hoặc trả phiếu về HC
1624
					DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
1625
					DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
1626
				END
1627
			END
1628
			ELSE IF(@p_STAGE ='HC')
1629
			BEGIN
1630
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'AND (MAKER_ID_KT IS  NULL OR  MAKER_ID_KT ='')))
1631
				BEGIN
1632
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được trưởng đơn vị duyệt'
1633
					ROLLBACK TRANSACTION
1634
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1635
					RETURN '-1'
1636
				END
1637
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS='R'))
1638
				BEGIN
1639
					SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị thanh toán đã được trả về trước đó'
1640
					ROLLBACK TRANSACTION
1641
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1642
					RETURN '-1'
1643
				END
1644
				ELSE
1645
				BEGIN
1646
					UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R', AUTH_STATUS_KT = NULL, PROCESS=NULL,CHECKER_ID ='',APPROVE_DT =NULL, MAKER_ID_KT =NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT =NULL WHERE REQ_PAY_ID =@p_TRN_ID
1647
					DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1648
					SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được trả về thành công'
1649
					-- INSERT VAO BANG LICH SU
1650
						INSERT INTO dbo.PL_PROCESS
1651
						(
1652
							REQ_ID,
1653
							PROCESS_ID,
1654
							CHECKER_ID,
1655
							APPROVE_DT,
1656
							PROCESS_DESC,NOTES
1657
						)
1658
						VALUES
1659
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1660
							'REJECT',        -- PROCESS_ID - varchar(10)
1661
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1662
							GETDATE(), -- APPROVE_DT - datetime
1663
							@p_REASON,N'Trả về'        -- PROCESS_DESC - nvarchar(1000)
1664
						)
1665

    
1666
					--doanptt 210622 xóa nscp khi hủy hoặc trả phiếu về HC
1667
					DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
1668
					DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
1669
				END
1670
			END
1671
			ELSE IF(@p_STAGE ='SUG')
1672
			BEGIN
1673
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
1674
				DECLARE @LEVEL_JOB_PAY VARCHAR(5), @LEVEL_JOB_PREV_PAY INT
1675
				SET @LEVEL_JOB_PAY =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
1676
				SET @LEVEL_JOB_PREV_PAY = CONVERT(INT,@LEVEL_JOB_PAY) -1
1677
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_TRN_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV_PAY)
1678
				UPDATE TR_REQ_PAYMENT SET CREATE_DT_KT = GETDATE(),MAKER_ID_KT =@p_REJECTED_BY, AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID
1679
				UPDATE TR_REQ_KPI 
1680
				SET AUTH_STATUS_KT ='S', CREATE_DT_KT = GETDATE(),MAKER_ID_KT =@p_REJECTED_BY
1681
				WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT = 'U' AND IS_DONE = '0'
1682
				INSERT INTO dbo.PL_PROCESS
1683
						(
1684
							REQ_ID,
1685
							PROCESS_ID,
1686
							CHECKER_ID,
1687
							APPROVE_DT,
1688
							PROCESS_DESC,NOTES
1689
						)
1690
						VALUES
1691
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1692
							'SUG',        -- PROCESS_ID - varchar(10)
1693
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1694
							GETDATE(), -- APPROVE_DT - datetime
1695
							@p_REASON ,N'GDV đề xuất từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1696
						)
1697
			SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được đề xuất từ chối thành công'
1698
			END
1699
			ELSE IF(@p_STAGE ='DEL')
1700
			BEGIN
1701
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1702
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1703
				UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID
1704
				UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE REQ_PAY_ID =@p_TRN_ID
1705
				---------------------------------------------------------------------------------------------------------------------
1706
				--DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0)
1707
				DECLARE CURS_TRADE CURSOR FOR SELECT A.TRADE_ID, A.AMT_EXE FROM TR_REQ_PAY_BUDGET A WHERE A.REQ_PAY_ID =@p_TRN_ID
1708
				OPEN CURS_TRADE
1709
					FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1710
					WHILE @@FETCH_STATUS = 0
1711
					BEGIN
1712
						UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
1713
						WHERE TRADE_ID =@TRADED_ID
1714
						FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1715
					END
1716
				CLOSE CURS_TRADE
1717
				DEALLOCATE CURS_TRADE
1718
				-- XOA NGAN SACH
1719
				--DELETE FROM TR_REQ_PAY_BUDGET WHERE  REQ_PAY_ID= @p_TRN_ID
1720
				--- NEU LA TAM UNG NOI BO THI PHAI REVERT LAI SO TIEN DA HOAN UNG CUA PHIEU DE NGHI TAM UNG
1721
				--DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0)
1722
				DECLARE CURS CURSOR FOR SELECT A.PAY_ADV_ID,A.AMT_USE,A.AMT_ADD,A.AMT_REVERT FROM TR_REQ_PAYMENT_DT A WHERE A.PAY_ID =@p_TRN_ID
1723
				OPEN CURS
1724
					FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
1725
					WHILE @@FETCH_STATUS = 0
1726
					BEGIN
1727
						UPDATE TR_REQ_ADVANCE_PAYMENT
1728
						SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
1729
						FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
1730
					END
1731
				CLOSE CURS
1732
				DEALLOCATE CURS
1733
				----  XOA DI SO TIEN DA HOAN UNG CUA KI THANH TOAN NEU THANH TOAN NHA CUNG CAP VUA HOAN UNG DOT CŨ VÀ VỪA THANH TOÁN ĐỢT MỚI
1734
				--DECLARE @REQ_PAY_ID VARCHAR(15), @AMT_REAL DECIMAL(18,0)
1735
				--DECLARE CURS_SCHE CURSOR FOR SELECT A.REQ_PAY_ID, A.AMT_PAY_REAL FROM TR_REQ_PAY_SCHEDULE A WHERE A.REQ_PAY_ID =@p_TRN_ID
1736
				--OPEN CURS_SCHE
1737
				--	FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1738
				--	WHILE @@FETCH_STATUS = 0
1739
				--	BEGIN
1740
				--		UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
1741
				--		WHERE TRADE_ID =@TRADED_ID
1742
				--		FETCH NEXT FROM CURS_SCHE INTO @TRADED_ID,@AMT_EXE
1743
				--	END
1744
				--CLOSE CURS_SCHE
1745
				--DEALLOCATE CURS_SCHE
1746
				INSERT INTO dbo.PL_PROCESS
1747
						(
1748
							REQ_ID,
1749
							PROCESS_ID,
1750
							CHECKER_ID,
1751
							APPROVE_DT,
1752
							PROCESS_DESC,NOTES
1753
						)
1754
						VALUES
1755
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1756
							'DEL',        -- PROCESS_ID - varchar(10)
1757
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1758
							GETDATE(), -- APPROVE_DT - datetime
1759
							@p_REASON ,N'KSV hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
1760
						)
1761
				SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được hủy thành công. Bạn vẫn có thể xem thông tin giao dịch với tình trạng đã bị hủy'
1762
				--doanptt ẩn nscp khi hủy hoặc trả phiếu về HC
1763
				UPDATE TR_REQ_BUDGET_MONTH_LIMIT_DETAIL SET RECORD_STATUS = '0' WHERE REQ_PAY_ID = @p_TRN_ID
1764
				UPDATE TR_REQ_BUDGET_YEAR_LIMIT_DETAIL SET RECORD_STATUS = '0' WHERE REQ_PAY_ID = @p_TRN_ID
1765
			END
1766
			
1767
			END
1768
		END
1769
		-- END PHIEU DE THI THANH TOAN 19-11-2019
1770

    
1771
		--- Tờ trình chủ trương
1772
		ELSE IF(@p_TRN_TYPE='PL_REQUEST_DOC')
1773
		BEGIN	IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
1774
				BEGIN
1775
					SET @p_MESSAGE =N'Trả về thất bại! Tờ trình chủ trương đã được duyệt'
1776
					ROLLBACK TRANSACTION
1777
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1778
					RETURN '0'
1779
				END
1780
				ELSE
1781
				BEGIN
1782
					UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
1783
					INSERT INTO dbo.PL_PROCESS
1784
					(
1785
						REQ_ID,
1786
						PROCESS_ID,
1787
						CHECKER_ID,
1788
						APPROVE_DT,
1789
						PROCESS_DESC,NOTES
1790
					)
1791
					VALUES
1792
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1793
						'REJECT',        -- PROCESS_ID - varchar(10)
1794
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1795
						GETDATE(), -- APPROVE_DT - datetime
1796
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1797
					)
1798
					SET @p_MESSAGE =N'Tờ trình chủ trương đã được trả về thành công'
1799
					 -- 28-10-2020 LUCTV, KHI TRA VE PHAI GO PL_REQUEST_PROCESS
1800
					 UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Tờ trình bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID
1801
					 UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SIGN' AND REQ_ID=@p_TRN_ID
1802
					 --LUCTV 10052023_secret, KHI TRA VE PHAI GO PL_REQUEST_PROCESS
1803
					 UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U',NOTES=N'Phiếu bị trả về' WHERE REQ_ID=@p_TRN_ID
1804
			 END
1805
		END
1806
		ELSE IF(@p_TRN_TYPE='TR_REQUEST_DOC')
1807
		BEGIN
1808
			--IF(@p_STAGE='DVMS')
1809
			--BEGIN
1810
			--END
1811
			IF(@p_STAGE='PDYC' OR @p_STAGE ='DV')
1812
			BEGIN
1813
				IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
1814
				BEGIN
1815
					SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được duyệt'
1816
					ROLLBACK TRANSACTION
1817
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1818
					RETURN '0'
1819
				END
1820
				ELSE
1821
				BEGIN
1822
					UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID='REJECT', AUTH_STATUS ='R' WHERE REQ_ID=@p_TRN_ID
1823
					INSERT INTO dbo.PL_PROCESS
1824
					(
1825
						REQ_ID,
1826
						PROCESS_ID,
1827
						CHECKER_ID,
1828
						APPROVE_DT,
1829
						PROCESS_DESC,NOTES
1830
					)
1831
					VALUES
1832
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1833
						'REJECT',        -- PROCESS_ID - varchar(10)
1834
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1835
						GETDATE(), -- APPROVE_DT - datetime
1836
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1837
					)
1838
					 SET @p_MESSAGE =N'Phiếu yêu cầu mua sắm đã được trả về thành công'
1839
					 -- 28-10-2020 LUCTV, KHI TRA VE PHAI GO PL_REQUEST_PROCESS
1840
					 UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID
1841
					 UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SIGN' AND REQ_ID=@p_TRN_ID
1842
				 END
1843
			END	
1844
		END
1845
		-- END IF
1846
		-- NEU LA TRA VE CUA HOP DONG
1847
		ELSE IF(@p_TRN_TYPE='TR_CONTRACT')
1848
		BEGIN
1849
		--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
1850
		IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
1851
		BEGIN
1852
			SET @p_MESSAGE =N'Trả về thất bại! Hợp đồng đã được trả về trước đó. Vui lòng đợi nhân viên cập nhật thông tin và bấm gửi phê duyệt'
1853
			ROLLBACK TRANSACTION
1854
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1855
			RETURN '0'
1856
		END
1857
		IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
1858
		BEGIN
1859
			SET @p_MESSAGE =N'Trả về thất bại! Hợp đồng đã được phê duyệt thành công trước đó!'
1860
			ROLLBACK TRANSACTION
1861
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1862
			RETURN '0'
1863
		END
1864
		UPDATE TR_CONTRACT SET 
1865
			AUTH_STATUS ='R', 
1866
			IS_SEND_APPR = 'N',
1867
			CHECKER_ID = NULL,
1868
			APPROVE_DT = NULL,
1869
			SEND_APPR_DT = NULL
1870
		WHERE CONTRACT_ID =@p_TRN_ID
1871
		INSERT INTO dbo.PL_PROCESS
1872
					(
1873
						REQ_ID,
1874
						PROCESS_ID,
1875
						CHECKER_ID,
1876
						APPROVE_DT,
1877
						PROCESS_DESC,NOTES
1878
					)
1879
					VALUES
1880
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1881
						'REJECT',        -- PROCESS_ID - varchar(10)
1882
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1883
						GETDATE(), -- APPROVE_DT - datetime
1884
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1885
					)
1886
			SET @p_MESSAGE =N'Hợp đồng đã được trả về thành công'		
1887
		END
1888
		-- NEU LA TRA VE CUA HOP DONG
1889
		ELSE IF(@p_TRN_TYPE='TR_PO')
1890
		BEGIN
1891
		--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
1892
		IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
1893
		BEGIN
1894
			SET @p_MESSAGE =N'Trả về thất bại! PO đã được trả về trước đó. Vui lòng đợi nhân viên cập nhật thông tin và bấm gửi phê duyệt'
1895
			ROLLBACK TRANSACTION
1896
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1897
			RETURN '0'
1898
		END
1899
		IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
1900
		BEGIN
1901
			SET @p_MESSAGE =N'Trả về thất bại! PO đã được phê duyệt thành công trước đó!'
1902
			ROLLBACK TRANSACTION
1903
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1904
			RETURN '0'
1905
		END
1906
		UPDATE TR_PO_MASTER SET 
1907
			AUTH_STATUS ='R', 
1908
			IS_SEND_APPR = 'N',
1909
			CHECKER_ID = NULL,
1910
			APPROVE_DT = NULL,
1911
			SEND_APPR_DT = NULL
1912
		WHERE PO_ID =@p_TRN_ID
1913
		INSERT INTO dbo.PL_PROCESS
1914
					(
1915
						REQ_ID,
1916
						PROCESS_ID,
1917
						CHECKER_ID,
1918
						APPROVE_DT,
1919
						PROCESS_DESC,NOTES
1920
					)
1921
					VALUES
1922
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1923
						'REJECT',        -- PROCESS_ID - varchar(10)
1924
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1925
						GETDATE(), -- APPROVE_DT - datetime
1926
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1927
					)
1928
			SET @p_MESSAGE =N'PO đã được trả về thành công'		
1929
		END
1930
		--- KET THUC TRA VE PO
1931
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY_AUTO')
1932
		BEGIN
1933
			IF(@p_STAGE ='HC')
1934
			BEGIN
1935
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND ISNULL(PROCESS, '') = '6' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')) -- TAM DUNG PHIEU
1936
				BEGIN
1937
					UPDATE TR_REQ_PAYMENT_AUTO 
1938
					SET PROCESS = '7.1'
1939
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
1940
					-- INSERT VAO BANG LICH SU
1941
					INSERT INTO dbo.PL_PROCESS
1942
					(
1943
						REQ_ID,
1944
						PROCESS_ID,
1945
						CHECKER_ID,
1946
						APPROVE_DT,
1947
						PROCESS_DESC,NOTES
1948
					)
1949
					VALUES
1950
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1951
						'REJECT_SUS',        -- PROCESS_ID - varchar(10)
1952
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1953
						GETDATE(), -- APPROVE_DT - datetime
1954
						@p_REASON,N'Cấp duyệt trung gian từ chối yêu cầu tạm dừng'        -- PROCESS_DESC - nvarchar(1000)
1955
					)
1956

    
1957
					-- Trả về câu thông báo
1958
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
1959
				END
1960
				ELSE IF	(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND	(	(ISNULL(PROCESS, '') = '6' AND ISNULL(TRANSFER_USER_RECEIVE, '') = '')
1961
																											OR	(ISNULL(PROCESS, '') = '7' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')
1962
																											)
1963
								)
1964
						) -- TAM DUNG PHIEU
1965
				BEGIN
1966
					UPDATE TR_REQ_PAYMENT_AUTO 
1967
					SET PROCESS = '8.1'
1968
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
1969
					-- INSERT VAO BANG LICH SU
1970
					INSERT INTO dbo.PL_PROCESS
1971
					(
1972
						REQ_ID,
1973
						PROCESS_ID,
1974
						CHECKER_ID,
1975
						APPROVE_DT,
1976
						PROCESS_DESC,NOTES
1977
					)
1978
					VALUES
1979
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1980
						'REJECT_SUS',        -- PROCESS_ID - varchar(10)
1981
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1982
						GETDATE(), -- APPROVE_DT - datetime
1983
						@p_REASON,N'Trưởng đơn vị từ chối yêu cầu tạm dừng'        -- PROCESS_DESC - nvarchar(1000)
1984
					)
1985

    
1986
					-- Trả về câu thông báo
1987
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
1988
				END
1989
				ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND ISNULL(PROCESS, '') = '9' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')) -- KHOI PHUC PHIEU
1990
				BEGIN
1991
					UPDATE TR_REQ_PAYMENT_AUTO 
1992
					SET PROCESS = '10.1'
1993
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
1994
					-- INSERT VAO BANG LICH SU
1995
					INSERT INTO dbo.PL_PROCESS
1996
					(
1997
						REQ_ID,
1998
						PROCESS_ID,
1999
						CHECKER_ID,
2000
						APPROVE_DT,
2001
						PROCESS_DESC,NOTES
2002
					)
2003
					VALUES
2004
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2005
						'REJ_UNSUS',        -- PROCESS_ID - varchar(10)
2006
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2007
						GETDATE(), -- APPROVE_DT - datetime
2008
						@p_REASON,N'Cấp duyệt trung gian từ chối yêu cầu khôi phục phiếu'        -- PROCESS_DESC - nvarchar(1000)
2009
					)
2010

    
2011
					-- Trả về câu thông báo
2012
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
2013
				END
2014
				ELSE IF	(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND	(	(ISNULL(PROCESS, '') = '9' AND ISNULL(TRANSFER_USER_RECEIVE, '') = '')
2015
																											OR	(ISNULL(PROCESS, '') = '10' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')
2016
																											)
2017
								)
2018
						) -- KHOI PHUC PHIEU
2019
				BEGIN
2020
					UPDATE TR_REQ_PAYMENT_AUTO 
2021
					SET PROCESS = '11.1'
2022
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2023
					-- INSERT VAO BANG LICH SU
2024
					INSERT INTO dbo.PL_PROCESS
2025
					(
2026
						REQ_ID,
2027
						PROCESS_ID,
2028
						CHECKER_ID,
2029
						APPROVE_DT,
2030
						PROCESS_DESC,NOTES
2031
					)
2032
					VALUES
2033
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2034
						'REJECT_SUS',        -- PROCESS_ID - varchar(10)
2035
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2036
						GETDATE(), -- APPROVE_DT - datetime
2037
						@p_REASON,N'Trưởng đơn vị từ chối yêu cầu khôi phục phiếu'        -- PROCESS_DESC - nvarchar(1000)
2038
					)
2039

    
2040
					-- Trả về câu thông báo
2041
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
2042
				END
2043
				ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND ISNULL(PROCESS, '') = '15' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')) -- HUY PHIEU
2044
				BEGIN
2045
					UPDATE TR_REQ_PAYMENT_AUTO 
2046
					SET PROCESS = '16.1'
2047
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2048
					-- INSERT VAO BANG LICH SU
2049
					INSERT INTO dbo.PL_PROCESS
2050
					(
2051
						REQ_ID,
2052
						PROCESS_ID,
2053
						CHECKER_ID,
2054
						APPROVE_DT,
2055
						PROCESS_DESC,NOTES
2056
					)
2057
					VALUES
2058
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2059
						'REJECT_DEL',        -- PROCESS_ID - varchar(10)
2060
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2061
						GETDATE(), -- APPROVE_DT - datetime
2062
						@p_REASON,N'Cấp duyệt trung gian từ chối yêu cầu hủy phiếu'        -- PROCESS_DESC - nvarchar(1000)
2063
					)
2064

    
2065
					-- Trả về câu thông báo
2066
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
2067
				END
2068
				ELSE IF	(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND	(	(ISNULL(PROCESS, '') = '15' AND ISNULL(TRANSFER_USER_RECEIVE, '') = '')
2069
																											OR	(ISNULL(PROCESS, '') = '16' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')
2070
																											)
2071
								)
2072
						) -- HUY PHIEU
2073
				BEGIN
2074
					UPDATE TR_REQ_PAYMENT_AUTO 
2075
					SET PROCESS = '17.1'
2076
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2077
					-- INSERT VAO BANG LICH SU
2078
					INSERT INTO dbo.PL_PROCESS
2079
					(
2080
						REQ_ID,
2081
						PROCESS_ID,
2082
						CHECKER_ID,
2083
						APPROVE_DT,
2084
						PROCESS_DESC,NOTES
2085
					)
2086
					VALUES
2087
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2088
						'REJECT_DEL',        -- PROCESS_ID - varchar(10)
2089
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2090
						GETDATE(), -- APPROVE_DT - datetime
2091
						@p_REASON,N'Trưởng đơn vị từ chối yêu cầu hủy phiếu'        -- PROCESS_DESC - nvarchar(1000)
2092
					)
2093

    
2094
					-- Trả về câu thông báo
2095
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
2096
				END
2097
				ELSE
2098
				BEGIN
2099
					IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC' AND (MAKER_ID_KT IS NULL OR  MAKER_ID_KT = '')))
2100
					BEGIN
2101
						ROLLBACK TRANSACTION
2102
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,N'Trả về thất bại! Phiếu yêu cầu thanh toán tự động đã được trưởng đơn vị duyệt' ErrorDesc
2103
						RETURN '-1'
2104
					END
2105
					ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS='R'))
2106
					BEGIN
2107
						ROLLBACK TRANSACTION
2108
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,N'Trả về thất bại! Phiếu yêu cầu thanh toán tự động đã được trả về trước đó' ErrorDesc
2109
						RETURN '-1'
2110
					END
2111
					ELSE
2112
					BEGIN
2113
						UPDATE TR_REQ_PAYMENT_AUTO 
2114
						SET AUTH_STATUS ='R', AUTH_STATUS_KT = NULL, REQ_PAY_AUTO_STATUS = NULL, 
2115
						CHECKER_ID = NULL, TRANSFER_MAKER = NULL, MAKER_ID_KT =NULL, CHECKER_ID_KT = NULL,
2116
						CREATE_DT = GETDATE(), APPROVE_DT = NULL, TRANSFER_DT = NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT = NULL, REQ_PAY_AUTO_EFFECTIVE_DT = NULL, 
2117
						PROCESS = NULL
2118
						WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2119
						-- INSERT VAO BANG LICH SU
2120
						INSERT INTO dbo.PL_PROCESS
2121
						(
2122
							REQ_ID,
2123
							PROCESS_ID,
2124
							CHECKER_ID,
2125
							APPROVE_DT,
2126
							PROCESS_DESC,NOTES
2127
						)
2128
						VALUES
2129
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2130
							'REJECT',        -- PROCESS_ID - varchar(10)
2131
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2132
							GETDATE(), -- APPROVE_DT - datetime
2133
							@p_REASON,N'Trả về'        -- PROCESS_DESC - nvarchar(1000)
2134
						)
2135
						--doanptt 210622 xóa luồng KT
2136
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2137

    
2138
						-- Trả về câu thông báo
2139
						SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
2140
					END
2141
				END
2142
				
2143
			END
2144
			ELSE IF(@p_STAGE='KT_HC')
2145
			BEGIN
2146
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID  AND PROCESS IN ('5', '14', '20')))
2147
				BEGIN
2148
					SET @p_MESSAGE =N'Trả về thất bại!Phiếu yêu cầu thanh toán tự động đã được kiểm sát viên duyệt'
2149
					ROLLBACK TRANSACTION
2150
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2151
					RETURN '-1'
2152
				END
2153
				ELSE
2154
				BEGIN
2155
					IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(PROCESS, '') IN ('2', '4') AND REQ_PAY_AUTO_ID = @p_TRN_ID))
2156
					BEGIN
2157
						UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS ='R', AUTH_STATUS_KT = NULL, PROCESS =NULL,MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2158
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán tự động đã được trả về đơn vị thành công'
2159
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2160
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2161
						DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
2162
						-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
2163
						INSERT INTO dbo.PL_PROCESS
2164
						(
2165
							REQ_ID,
2166
							PROCESS_ID,
2167
							CHECKER_ID,
2168
							APPROVE_DT,
2169
							PROCESS_DESC,NOTES
2170
						)
2171
						VALUES
2172
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2173
							'REJECT',        -- PROCESS_ID - varchar(10)
2174
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2175
							GETDATE(), -- APPROVE_DT - datetime
2176
							@p_REASON,N'KSV trả về cho người tạo phiếu'    -- PROCESS_DESC - nvarchar(1000)
2177
						)
2178
					END
2179
					ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(PROCESS, '') IN ('11', '13', '13.1') AND REQ_PAY_AUTO_ID = @p_TRN_ID))
2180
					BEGIN
2181
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán tự động đã được trả về đơn vị thành công'
2182

    
2183
						UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS = 'N', AUTH_STATUS_KT = 'N',
2184
						PROCESS = '14.1', TRANSFER_MAKER = NULL, TRANSFER_DT = NULL, MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL 
2185
						WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2186
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2187
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2188
						DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
2189
						-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
2190
						INSERT INTO dbo.PL_PROCESS
2191
						(
2192
							REQ_ID,
2193
							PROCESS_ID,
2194
							CHECKER_ID,
2195
							APPROVE_DT,
2196
							PROCESS_DESC,NOTES
2197
						)
2198
						VALUES
2199
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2200
							'REJECT_UNS',        -- PROCESS_ID - varchar(10)
2201
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2202
							GETDATE(), -- APPROVE_DT - datetime
2203
							@p_REASON,N'KSV từ chối yêu cầu khôi phục phiếu'    -- PROCESS_DESC - nvarchar(1000)
2204
						)
2205
					END
2206
					ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(PROCESS, '') IN ('17', '19', '19.1') AND REQ_PAY_AUTO_ID = @p_TRN_ID))
2207
					BEGIN
2208
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán tự động đã được trả về đơn vị thành công'
2209

    
2210
						UPDATE TR_REQ_PAYMENT_AUTO 
2211
						SET PROCESS = '20.1', TRANSFER_MAKER = NULL, TRANSFER_DT = NULL, MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL 
2212
						WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2213
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2214
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2215
						DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
2216
						-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
2217
						INSERT INTO dbo.PL_PROCESS
2218
						(
2219
							REQ_ID,
2220
							PROCESS_ID,
2221
							CHECKER_ID,
2222
							APPROVE_DT,
2223
							PROCESS_DESC,NOTES
2224
						)
2225
						VALUES
2226
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2227
							'REJECT_DEL',        -- PROCESS_ID - varchar(10)
2228
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2229
							GETDATE(), -- APPROVE_DT - datetime
2230
							@p_REASON,N'KSV từ chối yêu cầu hủy phiếu'    -- PROCESS_DESC - nvarchar(1000)
2231
						)
2232
					END
2233
					ELSE
2234
					BEGIN
2235
						PRINT 'KSV CHUA TRA PHIEU VE NGUOI TAO'
2236
					END
2237
					
2238
				END
2239
			END
2240
			ELSE IF(@p_STAGE='KT')
2241
			BEGIN
2242
				IF((SELECT AUTH_STATUS_KT FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID AND ISNULL(PROCESS, '') NOT IN ('13', '13.1', '19', '19.1')) = 'R')
2243
				BEGIN
2244
					ROLLBACK TRANSACTION
2245
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID , N'Phiếu yêu cầu thanh toán tự động đã được kiểm soát viên trả về cho giao dịch viên trước đó' ErrorDesc
2246
					RETURN '-1'
2247
				END
2248
				ELSE IF((SELECT AUTH_STATUS FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID AND ISNULL(PROCESS, '') NOT IN ('13', '13.1', '19', '19.1')) = 'R')
2249
				BEGIN
2250
					ROLLBACK TRANSACTION
2251
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID , N'Phiếu yêu cầu thanh toán tự động đã được kiểm soát viên trả về cho người tạo trước đó' ErrorDesc
2252
					RETURN '-1'
2253
				END
2254
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID  AND PROCESS IN ('5', '14', '20')))
2255
				BEGIN
2256
					ROLLBACK TRANSACTION
2257
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID , N'Hủy trả về thất bại! Phiếu yêu cầu thanh toán tự động đã được kiếm sát viên duyệt' ErrorDesc
2258
					RETURN '-1'
2259
				END
2260
				ELSE
2261
				BEGIN
2262
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID AND ISNULL(MAKER_ID_KT, '') <> '' AND AUTH_STATUS_KT IN ('S', 'P') AND ISNULL(PROCESS, '') NOT IN ('13', '13.1', '19', '19.1')))
2263
					BEGIN
2264
						UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS_KT ='R', PROCESS = CONVERT(VARCHAR(2),(CONVERT(DECIMAL(18,0), PROCESS)-1)) WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2265
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2266
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT MAKER_ID_KT FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID) AND REQ_ID =@p_TRN_ID
2267
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME = @p_REJECTED_BY AND REQ_ID =@p_TRN_ID
2268
						-- INSERT VAO BANG LICH SU
2269
						INSERT INTO dbo.PL_PROCESS
2270
						(
2271
							REQ_ID,
2272
							PROCESS_ID,
2273
							CHECKER_ID,
2274
							APPROVE_DT,
2275
							PROCESS_DESC,NOTES
2276
						)
2277
						VALUES
2278
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2279
							'REJECT_GDV',        -- PROCESS_ID - varchar(10)
2280
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2281
							GETDATE(), -- APPROVE_DT - datetime
2282
							@p_REASON ,N'KSV trả về cho GDV'     -- PROCESS_DESC - nvarchar(1000)
2283
						)
2284
						-- Trả về câu thông báo
2285
						SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về giao dịch viên thành công'
2286
					END
2287
					ELSE IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID AND ISNULL(PROCESS, '') IN ('13', '13.1')))
2288
					BEGIN
2289
						UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '14.2' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2290
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2291
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT MAKER_ID_KT FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID) AND REQ_ID =@p_TRN_ID
2292
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME = @p_REJECTED_BY AND REQ_ID =@p_TRN_ID
2293
						-- INSERT VAO BANG LICH SU
2294
						INSERT INTO dbo.PL_PROCESS
2295
						(
2296
							REQ_ID,
2297
							PROCESS_ID,
2298
							CHECKER_ID,
2299
							APPROVE_DT,
2300
							PROCESS_DESC,NOTES
2301
						)
2302
						VALUES
2303
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2304
							'REJECT_GDV',        -- PROCESS_ID - varchar(10)
2305
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2306
							GETDATE(), -- APPROVE_DT - datetime
2307
							@p_REASON ,N'KSV trả về cho GDV'     -- PROCESS_DESC - nvarchar(1000)
2308
						)
2309
						-- Trả về câu thông báo
2310
						SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về giao dịch viên thành công'
2311
					END
2312
					ELSE IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID AND ISNULL(PROCESS, '') IN ('19', '19.1')))
2313
					BEGIN
2314
						UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '20.2' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2315
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2316
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT MAKER_ID_KT FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID) AND REQ_ID =@p_TRN_ID
2317
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME = @p_REJECTED_BY AND REQ_ID =@p_TRN_ID
2318
						-- INSERT VAO BANG LICH SU
2319
						INSERT INTO dbo.PL_PROCESS
2320
						(
2321
							REQ_ID,
2322
							PROCESS_ID,
2323
							CHECKER_ID,
2324
							APPROVE_DT,
2325
							PROCESS_DESC,NOTES
2326
						)
2327
						VALUES
2328
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2329
							'REJECT_GDV',        -- PROCESS_ID - varchar(10)
2330
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2331
							GETDATE(), -- APPROVE_DT - datetime
2332
							@p_REASON ,N'KSV trả về cho GDV'     -- PROCESS_DESC - nvarchar(1000)
2333
						)
2334
						-- Trả về câu thông báo
2335
						SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về giao dịch viên thành công'
2336
					END
2337
					ELSE 
2338
					BEGIN
2339
						ROLLBACK TRANSACTION
2340
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID , N'Trả về thất bại! Phiếu yêu cầu thanh toán tự động chưa dược gửi phê duyệt, hoặc chưa đến phòng kế toán' ErrorDesc
2341
						RETURN '-1'
2342
					END
2343
				END
2344
			END
2345
			ELSE IF(@p_STAGE ='SUG')
2346
			BEGIN
2347
				IF(NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_TRN_ID))
2348
				BEGIN
2349
					ROLLBACK TRANSACTION
2350
					SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Cập nhật thất bại! Phiếu yêu cầu thanh toán tự động chưa được KSV điều phối' ErrorDesc
2351
					RETURN '-1'
2352
				END
2353
				ELSE
2354
				BEGIN
2355
					IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(PROCESS, '') IN ('3') AND REQ_PAY_AUTO_ID = @p_TRN_ID))
2356
					BEGIN
2357
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'P' WHERE REQ_ID = @p_TRN_ID AND TLNAME = @p_REJECTED_BY
2358
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'C' WHERE REQ_ID = @p_TRN_ID AND LEVEL_JOB = '2'
2359
						UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS_KT = 'S', CREATE_DT_KT = GETDATE(), MAKER_ID_KT = @p_REJECTED_BY, PROCESS = '4' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2360
						INSERT INTO dbo.PL_PROCESS
2361
						(
2362
							REQ_ID,
2363
							PROCESS_ID,
2364
							CHECKER_ID,
2365
							APPROVE_DT,
2366
							PROCESS_DESC,NOTES
2367
						)
2368
						VALUES
2369
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2370
							'SUG',        -- PROCESS_ID - varchar(10)
2371
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2372
							GETDATE(), -- APPROVE_DT - datetime
2373
							@p_REASON ,N'GDV đề xuất từ chối phiếu yêu cầu thanh toán tự động'      -- PROCESS_DESC - nvarchar(1000)
2374
						)
2375
						SET @p_MESSAGE =N'Phiếu yêu cầu thanh toán tự động được đề xuất từ chối thành công'
2376
					END
2377
					ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(PROCESS, '') IN ('12') AND REQ_PAY_AUTO_ID = @p_TRN_ID))
2378
					BEGIN
2379
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'P' WHERE REQ_ID = @p_TRN_ID AND TLNAME = @p_REJECTED_BY
2380
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'C' WHERE REQ_ID = @p_TRN_ID AND LEVEL_JOB = '2'
2381
						UPDATE TR_REQ_PAYMENT_AUTO SET CREATE_DT_KT = GETDATE(), MAKER_ID_KT = @p_REJECTED_BY, PROCESS = '13.1' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2382
						INSERT INTO dbo.PL_PROCESS
2383
						(
2384
							REQ_ID,
2385
							PROCESS_ID,
2386
							CHECKER_ID,
2387
							APPROVE_DT,
2388
							PROCESS_DESC,NOTES
2389
						)
2390
						VALUES
2391
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2392
							'SUG',        -- PROCESS_ID - varchar(10)
2393
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2394
							GETDATE(), -- APPROVE_DT - datetime
2395
							@p_REASON ,N'GDV đề xuất từ chối yêu cầu khôi phục phiếu'      -- PROCESS_DESC - nvarchar(1000)
2396
						)
2397
						SET @p_MESSAGE =N'Yêu cầu khôi phục thanh toán tự động được đề xuất từ chối thành công'
2398
					END
2399
					ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(PROCESS, '') IN ('18') AND REQ_PAY_AUTO_ID = @p_TRN_ID))
2400
					BEGIN
2401
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'P' WHERE REQ_ID = @p_TRN_ID AND TLNAME = @p_REJECTED_BY
2402
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'C' WHERE REQ_ID = @p_TRN_ID AND LEVEL_JOB = '2'
2403
						UPDATE TR_REQ_PAYMENT_AUTO SET CREATE_DT_KT = GETDATE(), MAKER_ID_KT = @p_REJECTED_BY, PROCESS = '19.1' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2404
						INSERT INTO dbo.PL_PROCESS
2405
						(
2406
							REQ_ID,
2407
							PROCESS_ID,
2408
							CHECKER_ID,
2409
							APPROVE_DT,
2410
							PROCESS_DESC,NOTES
2411
						)
2412
						VALUES
2413
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2414
							'SUG',        -- PROCESS_ID - varchar(10)
2415
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2416
							GETDATE(), -- APPROVE_DT - datetime
2417
							@p_REASON ,N'GDV đề xuất từ chối yêu cầu hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
2418
						)
2419
						SET @p_MESSAGE =N'Yêu cầu hủy thanh toán tự động được đề xuất từ chối thành công'
2420
					END
2421
					ELSE
2422
					BEGIN
2423
						PRINT 'CHUA CAP NHAT TU CHOI'
2424
					END
2425
				END
2426
				
2427
			END
2428
			ELSE IF(@p_STAGE ='DEL')
2429
			BEGIN
2430
				UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS_KT = 'D', AUTH_STATUS = 'D', RECORD_STATUS = '0' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2431
				---------------------------------------------------------------------------------------------------------------------
2432
				INSERT INTO dbo.PL_PROCESS
2433
				(
2434
					REQ_ID,
2435
					PROCESS_ID,
2436
					CHECKER_ID,
2437
					APPROVE_DT,
2438
					PROCESS_DESC,NOTES
2439
				)
2440
				VALUES
2441
				(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2442
					'DEL',        -- PROCESS_ID - varchar(10)
2443
					@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2444
					GETDATE(), -- APPROVE_DT - datetime
2445
					@p_REASON ,N'KSV hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
2446
				)
2447
			END
2448
			
2449
		END
2450
		ELSE
2451
		BEGIN
2452
			SET @p_MESSAGE =N'Trả về giao dịch thành công'
2453
		END
2454

    
2455
		---BAODNQ 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
2456
		-------Khai báo DTSD nội bộ-------
2457
		IF(@p_TRN_TYPE ='BUD_INTERNAL')
2458
		--BEGIN ELSE IF---
2459
		BEGIN
2460
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2461
			BEGIN
2462
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin khai báo DTSD nội bộ đã được duyệt'
2463
				ROLLBACK TRANSACTION
2464
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2465
				RETURN '-1'
2466
			END
2467
			ELSE IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2468
			BEGIN
2469
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin khai báo DTSD nội bộ đã được trả về trước đó'
2470
				ROLLBACK TRANSACTION
2471
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2472
				RETURN '-1'
2473
			END
2474
			ELSE
2475
			BEGIN
2476
				UPDATE BUD_CONTRACT_MASTER 
2477
				SET AUTH_STATUS ='R', 
2478
				---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2479
					IS_SEND_APPR = 'N',
2480
					CHECKER_ID = NULL,
2481
					APPROVE_DT = NULL,
2482
					SEND_APPR_DT = NULL,
2483
					SIGN_DT = NULL
2484
				WHERE CONTRACT_ID=@p_TRN_ID
2485
				SET @p_MESSAGE =N'Thông tin khai báo DTSD nội bộ đã được trả về thành công'
2486
			END
2487
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2488
			INSERT INTO dbo.PL_PROCESS
2489
					(
2490
						REQ_ID,
2491
						PROCESS_ID,
2492
						CHECKER_ID,
2493
						APPROVE_DT,
2494
						PROCESS_DESC,
2495
						NOTES
2496
					)
2497
					VALUES
2498
					(	@p_TRN_ID,       
2499
						'REJECT',
2500
						@p_REJECTED_BY,        
2501
						GETDATE(), 
2502
						@p_REASON ,      
2503
						N'Từ chối phiếu'       
2504
					)
2505
			IF @@ERROR <> 0 GOTO ABORT
2506

    
2507
		---END ELSE IF---
2508
		END
2509
		-------Quản lý hợp đồng khách thuê-------
2510
		ELSE IF(@p_TRN_TYPE ='BUD_RENTAL')
2511
		--BEGIN ELSE IF---
2512
		BEGIN
2513
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2514
			BEGIN
2515
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin khai báo diện tích cho khách thuê đã được duyệt'
2516
				ROLLBACK TRANSACTION
2517
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2518
				RETURN '-1'
2519
			END
2520
			ELSE IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2521
			BEGIN
2522
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin khai báo diện tích cho khách thuê đã được trả về trước đó'
2523
				ROLLBACK TRANSACTION
2524
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2525
				RETURN '-1'
2526
			END
2527
			ELSE
2528
			BEGIN
2529
				UPDATE BUD_CONTRACT_CUST_MASTER 
2530
				SET AUTH_STATUS ='R',
2531
				---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2532
					IS_SEND_APPR = 'N',
2533
					CHECKER_ID = NULL,
2534
					APPROVE_DT = NULL,
2535
					SEND_APPR_DT = NULL,
2536
					SIGN_DT = NULL
2537
				WHERE CONTRACT_ID=@p_TRN_ID
2538
				SET @p_MESSAGE =N'Thông tin khai báo diện tích cho khách thuê đã được trả về thành công'
2539
			END
2540
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2541
			INSERT INTO dbo.PL_PROCESS
2542
					(
2543
						REQ_ID,
2544
						PROCESS_ID,
2545
						CHECKER_ID,
2546
						APPROVE_DT,
2547
						PROCESS_DESC,
2548
						NOTES
2549
					)
2550
					VALUES
2551
					(	@p_TRN_ID,       
2552
						'REJECT',
2553
						@p_REJECTED_BY,        
2554
						GETDATE(), 
2555
						@p_REASON ,      
2556
						N'Từ chối phiếu'       
2557
					)
2558
			IF @@ERROR <> 0 GOTO ABORT
2559

    
2560
		---END ELSE IF---
2561
		END
2562
		---datmq 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
2563
			-------Quản lý trụ sở-------
2564
		ELSE IF(@p_TRN_TYPE ='BUD_MASTER')
2565
		--BEGIN ELSE IF---
2566
		BEGIN
2567
			IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2568
			BEGIN
2569
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin trụ sở đã được duyệt'
2570
				ROLLBACK TRANSACTION
2571
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2572
				RETURN '-1'
2573
			END
2574
			ELSE IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2575
			BEGIN
2576
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin trụ sở đã được trả về trước đó'
2577
				ROLLBACK TRANSACTION
2578
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2579
				RETURN '-1'
2580
			END
2581
			ELSE
2582
			BEGIN
2583
				---BAODNQ 26/1/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2584
				UPDATE BUD_MASTER SET 
2585
					AUTH_STATUS ='R',  IS_SEND_APPR = 'N',
2586
					CHECKER_ID = NULL,
2587
					APPROVE_DT = NULL,
2588
					SEND_APPR_DT = NULL,
2589
					SIGN_DT = NULL
2590
				WHERE BUILDING_ID=@p_TRN_ID
2591
				SET @p_MESSAGE =N'Thông tin trụ sở đã được trả về thành công'
2592
			END
2593
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2594
			INSERT INTO dbo.PL_PROCESS
2595
					(
2596
						REQ_ID,
2597
						PROCESS_ID,
2598
						CHECKER_ID,
2599
						APPROVE_DT,
2600
						PROCESS_DESC,
2601
						NOTES
2602
					)
2603
					VALUES
2604
					(	@p_TRN_ID,       
2605
						'REJECT',
2606
						@p_REJECTED_BY,        
2607
						GETDATE(), 
2608
						@p_REASON ,      
2609
						N'Từ chối phiếu'       
2610
					)
2611
			IF @@ERROR <> 0 GOTO ABORT
2612

    
2613
		---END ELSE IF---
2614
		END
2615

    
2616
		/*
2617
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
2618
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
2619
		BEGIN
2620
			IF(@p_STAGE='HC')
2621
			BEGIN
2622
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
2623
				BEGIN
2624
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới phiếu đề nghị thanh toán đã được hành chính duyệt'
2625
					ROLLBACK TRANSACTION
2626
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2627
					RETURN '0'
2628
				END
2629
				ELSE
2630
				BEGIN
2631
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
2632
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
2633
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
2634
					BEGIN
2635
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2636
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị thanh toán đã được trả về thành công'
2637
					END
2638
				END
2639
			END
2640
		END
2641

    
2642
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
2643
		ELSE IF(@p_TRN_TYPE ='TR_REQ_ADVACNE_PAY')
2644
		BEGIN
2645
			IF(@p_STAGE='HC')
2646
			BEGIN
2647
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
2648
				BEGIN
2649
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới phiếu đề nghị tạm ứng đã được hành chính duyệt'
2650
					ROLLBACK TRANSACTION
2651
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2652
					RETURN '0'
2653
				END
2654
				ELSE
2655
				BEGIN
2656
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
2657
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
2658
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
2659
					BEGIN
2660
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2661
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị tạm ứng đã được trả về thành công'
2662
					END
2663
					/*ELSE
2664
					BEGIN
2665
						SET @p_STAGE ='HC'
2666
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
2667
						SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về hành chính thành công'
2668
					END*/
2669
				END
2670
			END
2671
		END
2672
		*/
2673

    
2674
	------BAODNQ 14/02/2022: Thêm xử lý trả về cho phân hệ quản lý BDS------
2675
		-------------Quản lý BDS---------------
2676
		ELSE IF(@p_TRN_TYPE = 'RET_MASTER')
2677
		BEGIN
2678
			IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2679
			BEGIN
2680
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin bất động sản đã được duyệt'
2681
				ROLLBACK TRANSACTION
2682
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2683
				RETURN '-1'
2684
			END
2685
			ELSE IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2686
			BEGIN
2687
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin bất động sản đã được trả về trước đó'
2688
				ROLLBACK TRANSACTION
2689
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2690
				RETURN '-1'
2691
			END
2692
			ELSE
2693
			BEGIN
2694
				UPDATE RET_MASTER
2695
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2696
					CHECKER_ID = NULL,
2697
					APPROVE_DT = NULL,
2698
					SEND_APPR_DT = NULL,
2699
					SIGN_DT = NULL
2700
				WHERE RET_ID = @p_TRN_ID
2701
				SET @p_MESSAGE = N'Thông tin bất động sản đã được trả về thành công'
2702
			END
2703

    
2704
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2705
			INSERT INTO dbo.PL_PROCESS
2706
					(
2707
						REQ_ID,
2708
						PROCESS_ID,
2709
						CHECKER_ID,
2710
						APPROVE_DT,
2711
						PROCESS_DESC,
2712
						NOTES
2713
					)
2714
					VALUES
2715
					(	@p_TRN_ID,       
2716
						'REJECT',
2717
						@p_REJECTED_BY,        
2718
						GETDATE(), 
2719
						@p_REASON ,      
2720
						N'Từ chối phiếu'       
2721
					)
2722
			IF @@ERROR <> 0 GOTO ABORT
2723

    
2724
		END
2725

    
2726
		-------Thông tin sửa chữa BDS--------------
2727
		ELSE IF(@p_TRN_TYPE = 'RET_REPAIR')
2728
		BEGIN
2729
			IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2730
			BEGIN
2731
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin sửa chữa BĐS đã được duyệt'
2732
				ROLLBACK TRANSACTION
2733
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2734
				RETURN '0'
2735
			END
2736
			ELSE IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2737
			BEGIN
2738
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin sửa chữa BĐS đã được trả về trước đó'
2739
				ROLLBACK TRANSACTION
2740
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2741
				RETURN '-1'
2742
			END
2743
			ELSE
2744
			BEGIN
2745
				UPDATE RET_REPAIR 
2746
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2747
					CHECKER_ID = NULL,
2748
					APPROVE_DT = NULL,
2749
					SEND_APPR_DT = NULL,
2750
					SIGN_DT = NULL
2751
				WHERE RP_ID = @p_TRN_ID
2752
				SET @p_MESSAGE = N'Thông tin sửa chữa BDS đã được trả về thành công'
2753
			END
2754
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2755
			INSERT INTO dbo.PL_PROCESS
2756
					(
2757
						REQ_ID,
2758
						PROCESS_ID,
2759
						CHECKER_ID,
2760
						APPROVE_DT,
2761
						PROCESS_DESC,
2762
						NOTES
2763
					)
2764
					VALUES
2765
					(	@p_TRN_ID,       
2766
						'REJECT',
2767
						@p_REJECTED_BY,        
2768
						GETDATE(), 
2769
						@p_REASON ,      
2770
						N'Từ chối phiếu'       
2771
					)
2772
			IF @@ERROR <> 0 GOTO ABORT
2773

    
2774
		END
2775

    
2776
		-----BDS thuê làm trụ sở CN/PGD--------
2777
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_R_H')
2778
		BEGIN
2779
			IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2780
			BEGIN
2781
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin BĐS đi thuê đã được duyệt'
2782
				ROLLBACK TRANSACTION
2783
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2784
				RETURN '0'
2785
			END
2786
			ELSE IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2787
			BEGIN
2788
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin BĐS đi thuê đã được trả về trước đó'
2789
				ROLLBACK TRANSACTION
2790
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2791
				RETURN '-1'
2792
			END
2793
			ELSE
2794
			BEGIN
2795
				UPDATE REAL_ESTATE_R_H 
2796
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2797
					CHECKER_ID = NULL,
2798
					APPROVE_DT = NULL,
2799
					SEND_APPR_DT = NULL,
2800
					SIGN_DT = NULL
2801
				WHERE RET_R_H_ID = @p_TRN_ID
2802
				SET @p_MESSAGE = N'Thông tin BĐS đi thuê đã được trả về thành công'
2803
			END
2804
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2805
			INSERT INTO dbo.PL_PROCESS
2806
					(
2807
						REQ_ID,
2808
						PROCESS_ID,
2809
						CHECKER_ID,
2810
						APPROVE_DT,
2811
						PROCESS_DESC,
2812
						NOTES
2813
					)
2814
					VALUES
2815
					(	@p_TRN_ID,       
2816
						'REJECT',
2817
						@p_REJECTED_BY,        
2818
						GETDATE(), 
2819
						@p_REASON ,      
2820
						N'Từ chối phiếu'       
2821
					)
2822
			IF @@ERROR <> 0 GOTO ABORT
2823

    
2824
		END
2825

    
2826
		-----BDS đang hoàn thiện thủ tục pháp lý--------
2827
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_L_C')
2828
		BEGIN
2829
			IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2830
			BEGIN
2831
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin BĐS đang hoàn thiện thủ tục pháp lý đã được duyệt'
2832
				ROLLBACK TRANSACTION
2833
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2834
				RETURN '0'
2835
			END
2836
			ELSE IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2837
			BEGIN
2838
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin BĐS đang hoàn thiện thủ tục pháp lý đã được trả về trước đó'
2839
				ROLLBACK TRANSACTION
2840
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2841
				RETURN '-1'
2842
			END
2843
			ELSE 
2844
			BEGIN
2845
				UPDATE REAL_ESTATE_L_C 
2846
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2847
					CHECKER_ID = NULL,
2848
					APPROVE_DT = NULL,
2849
					SEND_APPR_DT = NULL,
2850
					SIGN_DT = NULL
2851
				WHERE RET_L_C_ID = @p_TRN_ID
2852
				SET @p_MESSAGE = N'BDS đang hoàn thiện thủ tục pháp lý đã được trả về thành công'
2853
			END
2854
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2855
			INSERT INTO dbo.PL_PROCESS
2856
					(
2857
						REQ_ID,
2858
						PROCESS_ID,
2859
						CHECKER_ID,
2860
						APPROVE_DT,
2861
						PROCESS_DESC,
2862
						NOTES
2863
					)
2864
					VALUES
2865
					(	@p_TRN_ID,       
2866
						'REJECT',
2867
						@p_REJECTED_BY,        
2868
						GETDATE(), 
2869
						@p_REASON ,      
2870
						N'Từ chối phiếu'       
2871
					)
2872
			IF @@ERROR <> 0 GOTO ABORT
2873

    
2874
		END
2875

    
2876
		---------BAODNQ 18/3/2022: Đánh giá NCC--------
2877
		-------Đánh giá NCC---------
2878
		ELSE IF(@p_TRN_TYPE = 'TR_RATE_SUPPLIER_MASTER')
2879
		BEGIN
2880
			IF(EXISTS(SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2881
			BEGIN
2882
				SET @p_MESSAGE =N'Hủy trả về thất bại! Biên bản đánh giá NCC đã được duyệt'
2883
				ROLLBACK TRANSACTION
2884
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2885
				RETURN '0'
2886
			END
2887
			UPDATE TR_RATE_SUPPLIER_MASTER 
2888
				SET AUTH_STATUS = 'R', 
2889
					IS_SEND_APPR = 'N',
2890
					PROCESS_STATUS = 'REJECT'
2891
			WHERE RATE_ID = @p_TRN_ID
2892
			SET @p_MESSAGE = N'Biên bản đánh giá NCC đã được trả về thành công'
2893

    
2894
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2895
			INSERT INTO dbo.PL_PROCESS
2896
					(
2897
						REQ_ID,
2898
						PROCESS_ID,
2899
						CHECKER_ID,
2900
						APPROVE_DT,
2901
						PROCESS_DESC,
2902
						NOTES
2903
					)
2904
					VALUES
2905
					(	@p_TRN_ID,       
2906
						'REJECT',
2907
						@p_REJECTED_BY,        
2908
						GETDATE(), 
2909
						@p_REASON ,      
2910
						N'Từ chối phiếu'       
2911
					)
2912
			IF @@ERROR <> 0 GOTO ABORT
2913
		END
2914
		ELSE IF(@p_TRN_TYPE ='TR_REQUEST_CAR')
2915
		BEGIN
2916
			DECLARE @p_PROCESS_ID VARCHAR(15)
2917
			SELECT @p_PROCESS_ID=PROCESS_ID FROM TR_REQUEST_CAR WHERE REQ_ID =@p_TRN_ID
2918
			IF(@p_PROCESS_ID='APPROVE')
2919
			BEGIN
2920
				SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin phiếu yêu cầu xe đã được duyệt'
2921
				ROLLBACK TRANSACTION
2922
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2923
				RETURN '0'
2924
			END
2925
			IF(@p_PROCESS_ID IN ('APPNEW','CV_APP'))
2926
			BEGIN
2927
				UPDATE TR_REQUEST_CAR 
2928
				SET AUTH_STATUS ='R',PROCESS_ID='INSERT',IS_SEND_APPR = 'N'
2929
				WHERE REQ_ID=@p_TRN_ID
2930
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công'
2931
				IF(@p_PROCESS_ID='APPNEW')
2932
					BEGIN
2933
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID
2934
					END
2935
				ELSE
2936
					BEGIN
2937
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID
2938
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='CV_APP' AND REQ_ID=@p_TRN_ID
2939
					END
2940
			END
2941
			ELSE IF(@p_PROCESS_ID='USER_SEND')
2942
			BEGIN
2943
					UPDATE TR_REQUEST_CAR
2944
					SET AUTH_STATUS ='R',PROCESS_ID='CV_SEND'
2945
					WHERE REQ_ID=@p_TRN_ID
2946
					SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe bị chuyên viên trả về thành công'
2947
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='P' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2948
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='XL' AND REQ_ID=@p_TRN_ID
2949
			END
2950
			ELSE IF(@p_PROCESS_ID IN ('MAKER_APP','TDV_C_APP'))
2951
			BEGIN
2952
				
2953
					UPDATE TR_REQUEST_CAR
2954
					SET AUTH_STATUS ='R',PROCESS_ID='USER_SEND',IS_CONFIRM_COST='N'
2955
					WHERE REQ_ID=@p_TRN_ID
2956
					SET @p_MESSAGE =N'Thông tin chi phí phiếu yêu cầu xe đã được trả về thành công'
2957
					IF(@p_PROCESS_ID='MAKER_APP')
2958
					BEGIN
2959
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
2960
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2961
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_APP' AND REQ_ID=@p_TRN_ID
2962
					END
2963
				ELSE
2964
					BEGIN
2965
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
2966
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2967
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_APP' AND REQ_ID=@p_TRN_ID
2968
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='TDV_C_APP' AND REQ_ID=@p_TRN_ID
2969
					END
2970
			END
2971
			INSERT INTO dbo.PL_PROCESS
2972
					(
2973
						REQ_ID,
2974
						PROCESS_ID,
2975
						CHECKER_ID,
2976
						APPROVE_DT,
2977
						PROCESS_DESC,NOTES
2978
					)
2979
					VALUES
2980
					(   @p_TRN_ID,       
2981
						'REJECT',        
2982
						@p_REJECTED_BY,       
2983
						GETDATE(), 
2984
						@p_REASON,
2985
						N'Từ chối phiếu'    
2986
					)
2987
			
2988
		END
2989
		ELSE IF(@p_TRN_TYPE ='TR_REQUEST_JOB_FORM')
2990
		BEGIN
2991
			DECLARE @PROCESS_ID VARCHAR(15),@SIGN_USER VARCHAR(50)
2992
			SELECT @PROCESS_ID=PROCESS_ID,@SIGN_USER=SIGN_USER FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID =@p_TRN_ID
2993
			--CAR--
2994
				DECLARE @p_PROCESS_ID_CAR VARCHAR(15)
2995
				SELECT @p_PROCESS_ID_CAR=PROCESS_ID FROM TR_REQUEST_CAR WHERE REQ_ID =@p_TRN_ID
2996
				
2997
				IF(@p_PROCESS_ID_CAR ='APPNEW')
2998
				BEGIN
2999
					UPDATE TR_REQUEST_CAR 
3000
					SET AUTH_STATUS ='R',PROCESS_ID='INSERT',IS_SEND_APPR = 'N'
3001
					WHERE REQ_ID=@p_TRN_ID
3002
					SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công'
3003
					UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID
3004
				END
3005
			--
3006
			IF(@PROCESS_ID='APPROVE')
3007
			BEGIN
3008
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin phiếu yêu cầu xe đã được duyệt'
3009
				ROLLBACK TRANSACTION
3010
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
3011
				RETURN '0'
3012
			END
3013
            IF(@p_STAGE='REJECT')
3014
            BEGIN
3015
                IF(@PROCESS_ID IN ('SEND','SIGN'))
3016
			BEGIN
3017
				UPDATE dbo.TR_REQUEST_JOB_FORM 
3018
				SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N'
3019
				WHERE REQ_ID=@p_TRN_ID
3020
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
3021

    
3022
				IF(@PROCESS_ID='SEND' AND @SIGN_USER IS NOT NULL)
3023
					BEGIN
3024
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SIGN' AND REQ_ID=@p_TRN_ID
3025
					END
3026
				ELSE
3027
					BEGIN
3028
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID
3029
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SIGN' AND REQ_ID=@p_TRN_ID
3030
					END
3031
			END
3032
			ELSE IF(@PROCESS_ID='HO_APP')
3033
			BEGIN
3034
					UPDATE dbo.TR_REQUEST_JOB_FORM
3035
					SET AUTH_STATUS ='R',PROCESS_ID='APPNEW'
3036
					WHERE REQ_ID=@p_TRN_ID
3037
					SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
3038
					UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='HO_APP' AND REQ_ID=@p_TRN_ID
3039
					UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_CONF' AND REQ_ID=@p_TRN_ID
3040
			END
3041
			ELSE IF(@PROCESS_ID = 'MAKER_APP')
3042
			BEGIN
3043
					UPDATE TR_REQUEST_JOB_FORM
3044
					SET AUTH_STATUS ='R',PROCESS_ID='HCHO_XL'
3045
					WHERE REQ_ID=@p_TRN_ID
3046
					SET @p_MESSAGE =N'Thông tin chi phí phiếu yêu cầu công tác đã được trả về thành công'
3047
					UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_APP' AND REQ_ID=@p_TRN_ID
3048
					UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='TDV_APP' AND REQ_ID=@p_TRN_ID
3049
			END
3050
			INSERT INTO dbo.PL_PROCESS
3051
					(
3052
						REQ_ID,
3053
						PROCESS_ID,
3054
						CHECKER_ID,
3055
						APPROVE_DT,
3056
						PROCESS_DESC,NOTES
3057
					)
3058
					VALUES
3059
					(   @p_TRN_ID,       
3060
						'REJECT',        
3061
						@p_REJECTED_BY,       
3062
						GETDATE(), 
3063
						@p_REASON,
3064
						N'Từ chối phiếu'    
3065
					)
3066
            END
3067
		END
3068
        ELSE IF(@p_STAGE='CANCEL')
3069
        BEGIN
3070
            UPDATE dbo.TR_REQUEST_JOB_FORM SET PROCESS_ID='CANCEL',AUTH_STATUS='D' WHERE REQ_ID=@p_TRN_ID
3071
			IF @@Error <> 0 GOTO ABORT
3072

    
3073
			IF(EXISTS (SELECT 1 FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID))
3074
			BEGIN
3075
				UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID
3076
			END
3077

    
3078
			EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
3079
			IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
3080
			INSERT INTO [dbo].[CM_REJECT_LOG] VALUES (@p_LOG_ID,'TDV',@p_TRN_ID,'TR_REQUEST_JOB_FORM',CONVERT(DATETIME,GETDATE(),103),'R',@p_REASON,'N',@p_REJECTED_BY,CONVERT(DATETIME,GETDATE(),103))
3081
			UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P' WHERE REQ_ID=@p_TRN_ID AND STATUS ='C' 
3082
			DELETE dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_TRN_ID AND STATUS ='U'
3083
			INSERT INTO dbo.PL_REQUEST_PROCESS
3084
			(
3085
			    REQ_ID,PROCESS_ID,STATUS, ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD,DEP_ID,SUB_PROCESS_ID
3086
			)
3087
			VALUES
3088
			(   
3089
				@p_TRN_ID,'CANCEL','C','','','',GETDATE(),'','','','',N'',NULL,'', ''
3090
			)
3091
			-- insert log
3092
			INSERT INTO dbo.PL_PROCESS
3093
			(
3094
				REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES
3095
			)
3096
			VALUES
3097
			(  
3098
				@p_TRN_ID,'CANCEL',@p_REJECTED_BY,GETDATE(),@p_REASON,N'Hủy phiếu thành công'
3099
			)
3100
        END
3101
		--START HIEUHM 08/11/2022 trả về Quản lí hồ sơ công trình XDCB
3102
		ELSE IF(@p_TRN_TYPE = 'CON_MASTER')
3103
		BEGIN
3104
			IF(EXISTS(SELECT * FROM CON_MASTER WHERE CONSTRUCT_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
3105
			BEGIN
3106
				SET @p_MESSAGE =N'Trả về thất bại! Công trình đã được duyệt'
3107
				ROLLBACK TRANSACTION
3108
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
3109
				RETURN '0'
3110
			END
3111
			UPDATE CON_MASTER 
3112
				SET AUTH_STATUS = 'R'
3113
			WHERE CONSTRUCT_ID = @p_TRN_ID
3114
			UPDATE CON_REQUEST_DOC 
3115
				SET AUTH_STATUS = 'R'
3116
			WHERE CONSTRUCT_ID = @p_TRN_ID
3117
			SET @p_MESSAGE = N'Công trình đã được trả về thành công'
3118

    
3119
			INSERT INTO dbo.PL_PROCESS
3120
					(
3121
						REQ_ID,
3122
						PROCESS_ID,
3123
						CHECKER_ID,
3124
						APPROVE_DT,
3125
						PROCESS_DESC,
3126
						NOTES
3127
					)
3128
					VALUES
3129
					(	@p_TRN_ID,       
3130
						'REJECT',
3131
						@p_REJECTED_BY,        
3132
						GETDATE(), 
3133
						@p_REASON ,      
3134
						N'Từ chối phiếu'       
3135
					)
3136
			IF @@ERROR <> 0 GOTO ABORT
3137
		END
3138
		--END HIEUHM 08/11/2022 trả về Quản lí hồ sơ công trình XDCB
3139

    
3140
		--START HIEUHM 17/11/2022 trả về layout bản vẽ
3141
		ELSE IF(@p_TRN_TYPE = 'CON_LAYOUT_BLUEPRINT')
3142
		BEGIN
3143
			IF(EXISTS(SELECT * FROM CON_LAYOUT_BLUEPRINT WHERE CON_LAYOUT_BLUEPRINT_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
3144
			BEGIN
3145
				SET @p_MESSAGE =N'Trả về thất bại! Layout bản vẽ đã được duyệt'
3146
				ROLLBACK TRANSACTION
3147
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
3148
				RETURN '0'
3149
			END
3150
			UPDATE CON_LAYOUT_BLUEPRINT 
3151
				SET AUTH_STATUS = 'R',PROCESS_ID='REJECT'
3152
			WHERE CON_LAYOUT_BLUEPRINT_ID = @p_TRN_ID
3153
			UPDATE PL_REQUEST_PROCESS 
3154
				SET [STATUS]='U'
3155
			WHERE REQ_ID = @p_TRN_ID
3156
			SET @p_MESSAGE = N'Layout bản vẽ đã được trả về thành công'
3157

    
3158
			INSERT INTO dbo.PL_PROCESS
3159
					(
3160
						REQ_ID,
3161
						PROCESS_ID,
3162
						CHECKER_ID,
3163
						APPROVE_DT,
3164
						PROCESS_DESC,
3165
						NOTES
3166
					)
3167
					VALUES
3168
					(	@p_TRN_ID,       
3169
						'REJECT',
3170
						@p_REJECTED_BY,        
3171
						GETDATE(), 
3172
						@p_REASON ,      
3173
						N'Từ chối phiếu'       
3174
					)
3175
			IF @@ERROR <> 0 GOTO ABORT
3176
		END
3177
		--END HIEUHM 17/11/2022 trả về layout bản vẽ
3178
		--START doanptt 30052023 trả về hóa đơn lưu nháp
3179
		ELSE IF(@p_TRN_TYPE = 'TR_REQ_PAY_INVOICE_DRAFT')
3180
		BEGIN
3181
			IF(EXISTS(SELECT * FROM TR_REQ_PAY_INVOICE_DRAFT WHERE UP_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
3182
			BEGIN
3183
				SET @p_MESSAGE =N'Trả về thất bại! PYC xóa hóa đơn lưu nháp/ từ chối đã được duyệt'
3184
				ROLLBACK TRANSACTION
3185
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
3186
				RETURN '-1'
3187
			END
3188
			UPDATE TR_REQ_PAY_INVOICE_DRAFT 
3189
			SET AUTH_STATUS = 'R'
3190
			WHERE UP_ID = @p_TRN_ID
3191
			
3192
			SET @p_MESSAGE = N'PYC xóa hóa đơn lưu nháp/ từ chối đã được trả về thành công'
3193

    
3194
			INSERT INTO dbo.PL_PROCESS
3195
					(
3196
						REQ_ID,
3197
						PROCESS_ID,
3198
						CHECKER_ID,
3199
						APPROVE_DT,
3200
						PROCESS_DESC,
3201
						NOTES
3202
					)
3203
					VALUES
3204
					(	@p_TRN_ID,       
3205
						'REJECT',
3206
						@p_REJECTED_BY,        
3207
						GETDATE(), 
3208
						@p_REASON ,      
3209
						N'Từ chối phiếu'       
3210
					)
3211
			IF @@ERROR <> 0 GOTO ABORT
3212
		END
3213
		--END doanptt 30052023 trả về hóa đơn lưu nháp
3214
		--- INSERT VAO BANG CM_REJECT_LOG
3215
		EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
3216
		IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
3217
		INSERT INTO [dbo].[CM_REJECT_LOG] VALUES (@p_LOG_ID,@p_STAGE,@p_TRN_ID,@p_TRN_TYPE,CONVERT(DATETIME,GETDATE(),103),'R',@p_REASON,'Y',@p_REJECTED_BY,CONVERT(DATETIME,GETDATE(),103))
3218
		IF @@Error <> 0 GOTO ABORT
3219
COMMIT TRANSACTION
3220
SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
3221
RETURN '0'
3222
ABORT:
3223
BEGIN
3224

    
3225
		ROLLBACK TRANSACTION
3226
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
3227
		RETURN '-1'
3228
END
3229

    
3230

    
3231

    
3232

    
3233

    
3234