Project

General

Profile

CM_REJECT_LOG_Ins.txt

Luc Tran Van, 03/30/2022 11:07 AM

 
1
ALTER PROC [dbo].[CM_REJECT_LOG_Ins]
2
@p_LOG_ID	varchar(15)	= NULL,
3
@p_STAGE	varchar(5)	 = NULL,
4
@p_TRN_ID	varchar(15)	 = NULL,
5
@p_TRN_TYPE	nvarchar(100)	 = NULL,
6
@p_LOG_DT	VARCHAR	 = NULL,
7
@p_AUTH_STAT	varchar(3)	 = NULL,
8
@p_REASON	nvarchar(4000)	 = NULL,
9
@p_IS_LATEST	varchar(1)	 = NULL,
10
@p_REJECTED_BY	varchar(20)	 = NULL,
11
@p_REJECTED_DT	VARCHAR	 = NULL
12
AS
13
BEGIN TRANSACTION
14
		DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0)
15
		DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0)
16
		DECLARE @p_MESSAGE NVARCHAR(100) = NULL
17
		IF(EXISTS (SELECT * FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID))
18
		BEGIN
19
			UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID
20
		END
21
		-- Thu hồi tài sản
22
		IF(@p_TRN_TYPE ='ASS_COLLECT_MUL')
23
		BEGIN
24
			IF(@p_STAGE='KT')
25
			BEGIN -- KSV trả về GDV
26
				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'))
27
				BEGIN
28
					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'
29
					ROLLBACK TRANSACTION
30
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
31
					RETURN '-1'
32
				END
33
				ELSE
34
				BEGIN
35
					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 <>''))
36
					BEGIN
37
						UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE USER_MASTER_ID =@p_TRN_ID
38
						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'
39
						-- GiaNT 29/09/2021
40
						INSERT INTO dbo.PL_PROCESS
41
						(
42
							REQ_ID,
43
							PROCESS_ID,
44
							CHECKER_ID,
45
							APPROVE_DT,
46
							PROCESS_DESC,NOTES
47
						)
48
						VALUES
49
						(   @p_TRN_ID,       
50
							'REJECT',        
51
							@p_REJECTED_BY,       
52
							GETDATE(), 
53
						   @p_REASON ,
54
						   N'Từ chối phiếu'    
55
						)
56
					END
57
					ELSE
58
					BEGIN
59
						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'
60
						ROLLBACK TRANSACTION
61
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
62
						RETURN '-1'
63
					END
64
				END
65
			END
66
			ELSE IF(@p_STAGE='KT_HC')
67
			BEGIN -- KSV - GDV trả về người tạo
68
				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_HC'))
69
					BEGIN
70
						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'
71
						ROLLBACK TRANSACTION
72
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
73
						RETURN '-1'
74
					END
75
				ELSE
76
				BEGIN
77
					-- Xóa thông tin xác nhận thu hồi
78
					DELETE dbo.ASS_COLLECT_CONFIRM_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID
79

    
80
					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 WHERE COL_MULTI_MASTER_ID =@p_TRN_ID
81
					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'
82
					-- GiaNT 29/09/2021
83
					INSERT INTO dbo.PL_PROCESS
84
					(
85
						REQ_ID,
86
						PROCESS_ID,
87
						CHECKER_ID,
88
						APPROVE_DT,
89
						PROCESS_DESC,NOTES
90
					)
91
					VALUES
92
					(   @p_TRN_ID,       
93
						'REJECT',        
94
						@p_REJECTED_BY,       
95
						GETDATE(), 
96
						@p_REASON ,
97
						N'Từ chối phiếu'    
98
					)
99
				END
100
			END
101
			ELSE
102
			BEGIN -- TDV trả về người tạo
103
				IF(EXISTS (SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
104
				BEGIN
105
					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'
106
					ROLLBACK TRANSACTION
107
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
108
					RETURN '-1'
109
				END
110
				ELSE
111
				BEGIN
112
					UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS ='R' WHERE COL_MULTI_MASTER_ID =@p_TRN_ID
113
					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'
114
					INSERT INTO dbo.PL_PROCESS
115
					(
116
						REQ_ID,
117
						PROCESS_ID,
118
						CHECKER_ID,
119
						APPROVE_DT,
120
						PROCESS_DESC,NOTES
121
					)
122
					VALUES
123
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
124
						'REJECT',        -- PROCESS_ID - varchar(10)
125
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
126
						GETDATE(), -- APPROVE_DT - datetime
127
						@p_REASON,
128
						N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
129
					)
130
				END
131
			END
132

    
133
		END
134
		-- Điều chuyển tài sản 
135
		ELSE IF(@p_TRN_TYPE ='ASS_TRANSFER_MUL')
136
		BEGIN
137
			---- GiaNT 29/09/2021 Sửa
138
			IF(@p_STAGE='KT')
139
			BEGIN -- KSV trả về GDV
140
				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'))
141
				BEGIN
142
					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'
143
					ROLLBACK TRANSACTION
144
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
145
					RETURN '-1'
146
				END
147
				ELSE
148
				BEGIN				
149
					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 <>''))
150
					BEGIN
151
						UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
152
						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'
153
						-- GiaNT 29/09/2021
154
						INSERT INTO dbo.PL_PROCESS
155
						(
156
							REQ_ID,
157
							PROCESS_ID,
158
							CHECKER_ID,
159
							APPROVE_DT,
160
							PROCESS_DESC,NOTES
161
						)
162
						VALUES
163
						(   @p_TRN_ID,        
164
							'REJECT',        
165
							@p_REJECTED_BY,       
166
							GETDATE(), 
167
							@p_REASON ,
168
							N'Trả về nhân viên xử lý'     
169
						)
170
					END
171
					ELSE
172
					BEGIN
173
						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'
174
						ROLLBACK TRANSACTION
175
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
176
						RETURN '-1'
177
					END
178
				END
179
			END
180
			ELSE IF(@p_STAGE='KT_HC')
181
			BEGIN -- KSV - GDV trả về người tạo
182
				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'))
183
					BEGIN
184
						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'
185
						ROLLBACK TRANSACTION
186
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
187
						RETURN '-1'
188
					END
189
				ELSE
190
				BEGIN
191
					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
192
					WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
193

    
194
					-- Xóa thông tin xác nhận điều chuyển
195
					DELETE ASS_TRANSFER_CONFIRM_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
196

    
197
					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'
198
					INSERT INTO dbo.PL_PROCESS
199
					(
200
						REQ_ID,
201
						PROCESS_ID,
202
						CHECKER_ID,
203
						APPROVE_DT,
204
						PROCESS_DESC,NOTES
205
					)
206
					VALUES
207
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
208
						'REJECT',        -- PROCESS_ID - varchar(10)
209
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
210
						GETDATE(), -- APPROVE_DT - datetime
211
						@p_REASON ,N'Trả về hành chính'      -- PROCESS_DESC - nvarchar(1000)
212
					)
213
				END
214
			END
215
			ELSE
216
			BEGIN -- TDV trả về người tạo
217
				IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
218
				BEGIN
219
					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'
220
					ROLLBACK TRANSACTION
221
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
222
					RETURN '-1'
223
				END
224
				ELSE
225
				BEGIN
226
					UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
227
					SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về thành công'
228
					INSERT INTO dbo.PL_PROCESS
229
						(
230
							REQ_ID,
231
							PROCESS_ID,
232
							CHECKER_ID,
233
							APPROVE_DT,
234
							PROCESS_DESC,NOTES
235
						)
236
						VALUES
237
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
238
							'REJECT',        -- PROCESS_ID - varchar(10)
239
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
240
							GETDATE(), -- APPROVE_DT - datetime
241
						   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
242
						)
243
				END
244
			END
245
		END
246
		-- Xuất sử dụng tài sản 
247
		ELSE IF(@p_TRN_TYPE ='ASS_USE_MUL')
248
		BEGIN
249
			IF(@p_STAGE='KT')
250
			BEGIN -- KSV trả về GDV
251
				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
252
				BEGIN
253
					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'
254
					ROLLBACK TRANSACTION
255
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
256
					RETURN '-1'
257
				END
258
				ELSE
259
				BEGIN
260
					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 <>''))
261
					BEGIN
262
						UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE USER_MASTER_ID =@p_TRN_ID
263
						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'
264
						-- GiaNT 29/09/2021
265
						INSERT INTO dbo.PL_PROCESS
266
						(
267
							REQ_ID,
268
							PROCESS_ID,
269
							CHECKER_ID,
270
							APPROVE_DT,
271
							PROCESS_DESC,NOTES
272
						)
273
						VALUES
274
						(   @p_TRN_ID,       
275
							'REJECT',        
276
							@p_REJECTED_BY,       
277
							GETDATE(), 
278
						   @p_REASON ,
279
						   N'Từ chối phiếu'    
280
						)
281
					END
282
					ELSE
283
					BEGIN
284
						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'
285
						ROLLBACK TRANSACTION
286
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
287
						RETURN '-1'
288
					END
289
				END
290
			END
291
			ELSE IF(@p_STAGE='KT_HC')
292
			BEGIN -- KSV - GDV trả về người tạo
293
				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'))
294
					BEGIN
295
						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'
296
						ROLLBACK TRANSACTION
297
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
298
						RETURN '-1'
299
					END
300
				ELSE
301
				BEGIN
302
					-- Xóa thông tin xác nhận xuất sử dụng
303
					DELETE dbo.ASS_USE_CONFIRM_MASTER WHERE USER_MASTER_ID = @p_TRN_ID
304

    
305
					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 WHERE USER_MASTER_ID =@p_TRN_ID
306
					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'
307
					-- GiaNT 29/09/2021
308
					INSERT INTO dbo.PL_PROCESS
309
					(
310
						REQ_ID,
311
						PROCESS_ID,
312
						CHECKER_ID,
313
						APPROVE_DT,
314
						PROCESS_DESC,NOTES
315
					)
316
					VALUES
317
					(   @p_TRN_ID,       
318
						'REJECT',        
319
						@p_REJECTED_BY,       
320
						GETDATE(), 
321
						@p_REASON ,
322
						N'Từ chối phiếu'    
323
					)
324
				END
325
			END
326
			ELSE
327
			BEGIN -- TDV trả về người tạo
328
				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
329
				BEGIN
330
					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'
331
					ROLLBACK TRANSACTION
332
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
333
					RETURN '-1'
334
				END
335
				ELSE
336
				BEGIN
337
					UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R' WHERE USER_MASTER_ID =@p_TRN_ID
338
					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'
339
					INSERT INTO dbo.PL_PROCESS
340
					(
341
						REQ_ID,
342
						PROCESS_ID,
343
						CHECKER_ID,
344
						APPROVE_DT,
345
						PROCESS_DESC,NOTES
346
					)
347
					VALUES
348
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
349
						'REJECT',        -- PROCESS_ID - varchar(10)
350
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
351
						GETDATE(), -- APPROVE_DT - datetime
352
						@p_REASON,
353
						N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
354
					)
355
				END
356
			END
357

    
358
		END
359
		-- Thanh lý tài sản
360
		ELSE IF(@p_TRN_TYPE ='ASS_LIQ_MUL')
361
		BEGIN
362
			IF(@p_STAGE='KT')
363
			BEGIN -- KSV trả về GDV
364
				IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
365
				BEGIN
366
					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'
367
					ROLLBACK TRANSACTION
368
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
369
					RETURN '-1'
370
				END
371
				ELSE
372
				BEGIN
373
					IF(EXISTS(SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
374
					BEGIN
375
						UPDATE ASS_LIQUIDATION SET AUTH_STATUS_KT ='R' WHERE LIQ_ID =@p_TRN_ID
376
						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'
377
						-- GiaNT 29/09/2021
378
						INSERT INTO dbo.PL_PROCESS
379
						(
380
							REQ_ID,
381
							PROCESS_ID,
382
							CHECKER_ID,
383
							APPROVE_DT,
384
							PROCESS_DESC,NOTES
385
						)
386
						VALUES
387
						(   @p_TRN_ID,       
388
							'REJECT',        
389
							@p_REJECTED_BY,       
390
							GETDATE(), 
391
						   @p_REASON ,
392
						   N'Từ chối phiếu'    
393
						)
394
					END
395
					ELSE
396
					BEGIN
397
						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'
398
						ROLLBACK TRANSACTION
399
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
400
						RETURN '-1'
401
					END
402
				END
403
			END
404
			ELSE IF(@p_STAGE='KT_HC')
405
			BEGIN -- KSV - GDV trả về người tạo
406
				IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
407
					BEGIN
408
						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'
409
						ROLLBACK TRANSACTION
410
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
411
						RETURN '-1'
412
					END
413
				ELSE
414
				BEGIN
415
					UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL WHERE LIQ_ID =@p_TRN_ID
416
					SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công'
417
					-- GiaNT 29/09/2021
418
						INSERT INTO dbo.PL_PROCESS
419
						(
420
							REQ_ID,
421
							PROCESS_ID,
422
							CHECKER_ID,
423
							APPROVE_DT,
424
							PROCESS_DESC,NOTES
425
						)
426
						VALUES
427
						(   @p_TRN_ID,       
428
							'REJECT',        
429
							@p_REJECTED_BY,       
430
							GETDATE(), 
431
						   @p_REASON ,
432
						   N'Từ chối phiếu'    
433
						)
434
				END
435
			END
436
			ELSE
437
			BEGIN -- TDV trả về người tạo
438
				IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
439
				BEGIN
440
					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'
441
					ROLLBACK TRANSACTION
442
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
443
					RETURN '-1'
444
				END
445
				ELSE
446
				BEGIN
447
					UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R' WHERE LIQ_ID = @p_TRN_ID
448
					SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công'
449
					INSERT INTO dbo.PL_PROCESS
450
						(
451
							REQ_ID,
452
							PROCESS_ID,
453
							CHECKER_ID,
454
							APPROVE_DT,
455
							PROCESS_DESC,NOTES
456
						)
457
						VALUES
458
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
459
							'REJECT',        -- PROCESS_ID - varchar(10)
460
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
461
							GETDATE(), -- APPROVE_DT - datetime
462
						   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
463
						)
464
				END
465
			END
466
		END
467
		-- Nhập mới tài sản
468
		ELSE IF(@p_TRN_TYPE ='ASS_ADDNEW_MUL')
469
		BEGIN		
470
			IF(@p_STAGE='KT')
471
			BEGIN -- KSV trả về GDV
472
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
473
				BEGIN
474
					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'
475
					ROLLBACK TRANSACTION
476
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
477
					RETURN '-1'
478
				END
479
				ELSE
480
				BEGIN
481
					IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
482
					BEGIN
483
						UPDATE ASS_ADDNEW SET AUTH_STATUS_KT ='R' WHERE ADDNEW_ID =@p_TRN_ID
484
						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'
485
						-- GiaNT 29/09/2021
486
						INSERT INTO dbo.PL_PROCESS
487
						(
488
							REQ_ID,
489
							PROCESS_ID,
490
							CHECKER_ID,
491
							APPROVE_DT,
492
							PROCESS_DESC,NOTES
493
						)
494
						VALUES
495
						(   @p_TRN_ID,       
496
							'REJECT',        
497
							@p_REJECTED_BY,       
498
							GETDATE(), 
499
						   @p_REASON ,
500
						   N'Từ chối phiếu'    
501
						)
502
					END
503
					ELSE
504
					BEGIN
505
						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'
506
						ROLLBACK TRANSACTION
507
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
508
						RETURN '-1'
509
					END
510
				END
511
			END
512
			ELSE IF(@p_STAGE='KT_HC')
513
			BEGIN -- KSV - GDV trả về người tạo
514
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
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 đã được kế toán duyệt'
517
						ROLLBACK TRANSACTION
518
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
519
						RETURN '-1'
520
					END
521
				ELSE
522
				BEGIN
523
					UPDATE ASS_ADDNEW SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL WHERE ADDNEW_ID =@p_TRN_ID
524
					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'
525
					-- GiaNT 29/09/2021
526
						INSERT INTO dbo.PL_PROCESS
527
						(
528
							REQ_ID,
529
							PROCESS_ID,
530
							CHECKER_ID,
531
							APPROVE_DT,
532
							PROCESS_DESC,NOTES
533
						)
534
						VALUES
535
						(   @p_TRN_ID,       
536
							'REJECT',        
537
							@p_REJECTED_BY,       
538
							GETDATE(), 
539
						   @p_REASON ,
540
						   N'Từ chối phiếu'    
541
						)
542
				END
543
			END
544
			ELSE
545
			BEGIN -- TDV trả về người tạo
546
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
547
				BEGIN
548
					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'
549
					ROLLBACK TRANSACTION
550
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
551
					RETURN '-1'
552
				END
553
				ELSE
554
				BEGIN
555
					UPDATE ASS_ADDNEW SET AUTH_STATUS ='R' WHERE ADDNEW_ID = @p_TRN_ID
556
					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'
557
					INSERT INTO dbo.PL_PROCESS
558
						(
559
							REQ_ID,
560
							PROCESS_ID,
561
							CHECKER_ID,
562
							APPROVE_DT,
563
							PROCESS_DESC,NOTES
564
						)
565
						VALUES
566
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
567
							'REJECT',        -- PROCESS_ID - varchar(10)
568
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
569
							GETDATE(), -- APPROVE_DT - datetime
570
						   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
571
						)
572
				END
573
			END
574
		END
575
		ELSE IF(@p_TRN_TYPE ='MW_IN')
576
		BEGIN
577
			BEGIN
578
			IF(@p_STAGE='KT')
579
			BEGIN
580
				IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
581
				BEGIN
582
					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'
583
					ROLLBACK TRANSACTION
584
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
585
					RETURN '0'
586
				END
587
				ELSE
588
				BEGIN
589
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
590
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
591
					IF(EXISTS(SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
592
					BEGIN
593
						UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
594
						SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
595
					END
596
					ELSE
597
					BEGIN
598
						SET @p_STAGE ='HC'
599
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
600
						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'
601
					END
602
				END
603
			END
604
			ELSE IF(@p_STAGE='KT_HC')
605
				BEGIN
606
					BEGIN
607
					IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
608
						BEGIN
609
							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'
610
							ROLLBACK TRANSACTION
611
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
612
							RETURN '0'
613
						END
614
					ELSE
615
						BEGIN
616
							SET @p_STAGE ='HC'
617
							UPDATE MW_IN_MASTER SET AUTH_STATUS ='R',CORE_NOTE = NULL
618
							, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
619
							--,CHECKER_ID_KT = @p_REJECTED_BY,APPROVE_DT_KT = GETDATE()
620
							WHERE IN_ID =@p_TRN_ID
621
							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'
622
						END
623
					END
624
				END
625
			ELSE
626
			BEGIN
627
				IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
628
				BEGIN
629
					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'
630
					ROLLBACK TRANSACTION
631
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
632
					RETURN '0'
633
				END
634
				ELSE
635
				BEGIN
636
					UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
637
					SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
638
				END
639
			END
640
			END
641
		END
642
		--- MW - TRANSFER : ĐIỀU CHUYỂN VẬT LIỆU
643
		ELSE IF(@p_TRN_TYPE ='MW_TRANSFER')
644
		BEGIN
645
			BEGIN
646
			IF(@p_STAGE='KT')
647
			BEGIN
648
				IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
649
					BEGIN
650
						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'
651
						ROLLBACK TRANSACTION
652
						SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
653
						RETURN '0'
654
					END
655
				ELSE
656
					BEGIN
657
						--UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
658
						--SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
659
						IF(EXISTS(SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
660
						BEGIN
661
							UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
662
							SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
663
						END
664
						ELSE
665
						BEGIN
666
							SET @p_STAGE ='HC'
667
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
668
							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'
669
						END
670
					END
671
			END
672
			ELSE IF(@p_STAGE='KT_HC')
673
				BEGIN
674
					IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
675
						BEGIN
676
							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'
677
							ROLLBACK TRANSACTION
678
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
679
							RETURN '0'
680
						END
681
					ELSE
682
						BEGIN
683
							SET @p_STAGE ='HC'
684
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R', CORE_NOTE = NULL 
685
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
686
							--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
687
							WHERE TRANSFER_ID =@p_TRN_ID
688
							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'
689
						END
690
				END
691
			ELSE
692
			BEGIN
693
				IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
694
				BEGIN
695
					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'
696
					ROLLBACK TRANSACTION
697
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
698
					RETURN '0'
699
				END
700
				ELSE
701
				BEGIN
702
					UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
703
					SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
704
				END
705
			END
706
			END
707

    
708
		END
709
		--- MW_OUT : XUẤT VẬT LIỆU
710
		ELSE IF(@p_TRN_TYPE ='MW_OUT')
711
		BEGIN
712
			BEGIN
713
			IF(@p_STAGE='KT')
714
			BEGIN
715
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
716
				BEGIN
717
					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'
718
					ROLLBACK TRANSACTION
719
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
720
					RETURN '0'
721
				END
722
				ELSE
723
				BEGIN
724
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
725
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
726
					IF(EXISTS(SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
727
					BEGIN
728
						UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
729
						SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
730
					END
731
					ELSE
732
					BEGIN
733
						SET @p_STAGE ='HC'
734
						UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
735
						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'
736
					END
737
				END
738
			END
739
			ELSE IF(@p_STAGE='KT_HC')
740
				BEGIN
741
					IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
742
						BEGIN
743
							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'
744
							ROLLBACK TRANSACTION
745
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
746
							RETURN '0'
747
						END
748
					ELSE
749
						BEGIN
750
							SET @p_STAGE ='HC'
751
							UPDATE MW_OUT SET AUTH_STATUS ='R', CORE_NOTE = NULL
752
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
753
							--, KT_APPROVE_DT = GETDATE() ,KT_CHECKER_ID = @p_REJECTED_BY
754
							WHERE OUT_ID =@p_TRN_ID
755
							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'
756
						END
757
				END
758
			ELSE
759
			BEGIN
760
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
761
				BEGIN
762
					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'
763
					ROLLBACK TRANSACTION
764
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
765
					RETURN '0'
766
				END
767
				ELSE
768
				BEGIN
769
					UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
770
					SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
771
				END
772
			END
773
			END
774
		END
775
		--- MW_OUT : THANH LÝ VẬT LIỆU
776
		ELSE IF(@p_TRN_TYPE ='MW_LIQ_MASTER')
777
		BEGIN
778
			BEGIN
779
			IF(@p_STAGE='KT')
780
			BEGIN
781
				IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
782
				BEGIN
783
					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'
784
					ROLLBACK TRANSACTION
785
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
786
					RETURN '0'
787
				END
788
				ELSE
789
				BEGIN
790
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
791
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
792
					IF(EXISTS(SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
793
					BEGIN
794
						UPDATE MW_LIQ_MASTER SET KT_AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
795
						SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công'
796
					END
797
					ELSE
798
					BEGIN
799
						SET @p_STAGE ='HC'
800
						UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
801
						SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công'
802
					END
803
				END
804
			END
805
			ELSE IF(@p_STAGE='KT_HC')
806
				BEGIN
807
					IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
808
						BEGIN
809
							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'
810
							ROLLBACK TRANSACTION
811
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
812
							RETURN '0'
813
						END
814
					ELSE
815
						BEGIN
816
							SET @p_STAGE ='HC'
817
							UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R', CORE_NOTE = NULL
818
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
819
							--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
820
							WHERE LIQ_ID =@p_TRN_ID
821
							SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công'
822
						END
823
				END
824
			ELSE
825
			BEGIN
826
				IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
827
				BEGIN
828
					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'
829
					ROLLBACK TRANSACTION
830
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
831
					RETURN '0'
832
				END
833
				ELSE
834
				BEGIN
835
					UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
836
					SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công'
837
				END
838
			END
839
			END
840
		END
841
		-- PHIEU DE NGHI TAM UNG 05 11 2019
842
		ELSE IF(@p_TRN_TYPE ='REQ_ADVANCE_PAY')
843
		BEGIN
844
			BEGIN
845
			IF(@p_STAGE='KT')
846
			BEGIN
847
				IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
848
				BEGIN
849
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị tạm ứng đã được kế toán duyệt'
850
					ROLLBACK TRANSACTION
851
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
852
					RETURN '0'
853
				END
854
				ELSE
855
				BEGIN
856
					-- NEU DANG O VI TRI TKTGD, TKHDQT
857
					IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND ROLE_USER IN ('TKTGD','TKHDQT') AND STATUS ='C'))
858
					BEGIN
859
						IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS' AND TLNAME =@p_REJECTED_BY))
860
							BEGIN
861
								SET @p_MESSAGE =N'Hủy 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ý'
862
								ROLLBACK TRANSACTION
863
								SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
864
								RETURN '0'
865
						END
866
						--UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
867
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về nhân viên xử lý thành công'
868
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
869
						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')
870
						AND REQ_ID =@p_TRN_ID
871
					    -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
872
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS'
873
						INSERT INTO dbo.PL_PROCESS
874
						(
875
							REQ_ID,
876
							PROCESS_ID,
877
							CHECKER_ID,
878
							APPROVE_DT,
879
							PROCESS_DESC,NOTES
880
						)
881
						VALUES
882
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
883
							'REJECT',        -- PROCESS_ID - varchar(10)
884
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
885
							GETDATE(), -- APPROVE_DT - datetime
886
							@p_REASON ,N'Trưởng văn phòng từ chối nhân viên xử lý'       -- PROCESS_DESC - nvarchar(1000)
887
						)
888
						EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
889
						IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
890
						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))
891
						COMMIT TRANSACTION
892
						SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
893
						RETURN '0'
894
					END
895
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
896
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
897
					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 <>''))
898
					BEGIN
899
						UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
900
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về thành công'
901
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
902
						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)
903
						AND REQ_ID =@p_TRN_ID
904
					    -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
905
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID
906
						INSERT INTO dbo.PL_PROCESS
907
						(
908
							REQ_ID,
909
							PROCESS_ID,
910
							CHECKER_ID,
911
							APPROVE_DT,
912
							PROCESS_DESC,NOTES
913
						)
914
						VALUES
915
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
916
							'REJECT',        -- PROCESS_ID - varchar(10)
917
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
918
							GETDATE(), -- APPROVE_DT - datetime
919
							@p_REASON ,N'KSV trả về cho GDV'       -- PROCESS_DESC - nvarchar(1000)
920
						)
921
					END
922
					ELSE
923
					BEGIN
924
						SET @p_STAGE ='HC'
925
						UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID
926
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về đơn vị thành công'
927
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
928
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
929
						DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
930
						-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
931
						INSERT INTO dbo.PL_PROCESS
932
						(
933
							REQ_ID,
934
							PROCESS_ID,
935
							CHECKER_ID,
936
							APPROVE_DT,
937
							PROCESS_DESC,NOTES
938
						)
939
						VALUES
940
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
941
							'REJECT',        -- PROCESS_ID - varchar(10)
942
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
943
							GETDATE(), -- APPROVE_DT - datetime
944
							@p_REASON,N'Trả về'    -- PROCESS_DESC - nvarchar(1000)
945
						)
946
					END
947
				END
948
			END
949
			ELSE IF(@p_STAGE ='HC')
950
			BEGIN
951
				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 ='')))
952
				BEGIN
953
					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ị'
954
					ROLLBACK TRANSACTION
955
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
956
					RETURN '0'
957
				END
958
				IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS='R'))
959
				BEGIN
960
					SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị tạm ứng đã được trả về trước đó'
961
					ROLLBACK TRANSACTION
962
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
963
					RETURN '0'
964
				END
965
				ELSE
966
				BEGIN
967
					UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',CHECKER_ID ='',APPROVE_DT =NULL, MAKER_ID_KT =NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT =NULL WHERE REQ_PAY_ID =@p_TRN_ID
968
					SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được trả về về thành công'
969
					--NEU PHIEU DANG TRONG QUA TRINH PHE DUYET THI XOA TOAN BO PL_PROCESS VA PL_REQUEST_PROCESS 
970
					-- XOA CAC CAP PHE DUYET, KHI DON VI THUC HIEN CHINH SUA THI HE THONG SE INSERT LAI
971
					DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
972
				    DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
973
					--DELETE FROM PL_PROCESS WHERE REQ_ID =@p_TRN_ID
974
					-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
975
						INSERT INTO dbo.PL_PROCESS
976
						(
977
							REQ_ID,
978
							PROCESS_ID,
979
							CHECKER_ID,
980
							APPROVE_DT,
981
							PROCESS_DESC,NOTES
982
						)
983
						VALUES
984
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
985
							'REJECT',        -- PROCESS_ID - varchar(10)
986
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
987
							GETDATE(), -- APPROVE_DT - datetime
988
							@p_REASON ,N'Trả về'    -- PROCESS_DESC - nvarchar(1000)
989
						)
990
				END
991
			END
992
			ELSE IF(@p_STAGE ='SUG')
993
			BEGIN
994
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
995
				DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT
996
				SET @LEVEL_JOB =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
997
				SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1
998
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_TRN_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV)
999
				-- CAP NHAT TINH TRANG VE DANG XU LY
1000
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID
1001
				INSERT INTO dbo.PL_PROCESS
1002
						(
1003
							REQ_ID,
1004
							PROCESS_ID,
1005
							CHECKER_ID,
1006
							APPROVE_DT,
1007
							PROCESS_DESC,NOTES
1008
						)
1009
						VALUES
1010
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1011
							'REJECT',        -- PROCESS_ID - varchar(10)
1012
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1013
							GETDATE(), -- APPROVE_DT - datetime
1014
							@p_REASON ,N'GDV đề xuất từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1015
						)
1016
			SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được đề xuất từ chối thành công'
1017
			END
1018
			ELSE IF(@p_STAGE ='DEL')
1019
			BEGIN
1020
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1021
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1022
				UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID
1023
				UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE PAY_ID =@p_TRN_ID
1024
				UPDATE TR_REQ_PAY_PERIOD SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1025
				---------------------------------------------------------------------------------------------------------------------
1026
				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
1027
				OPEN CURS_TRADE
1028
					FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1029
					WHILE @@FETCH_STATUS = 0
1030
					BEGIN
1031
						UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
1032
						WHERE TRADE_ID =@TRADED_ID
1033
						FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1034
					END
1035
				CLOSE CURS_TRADE
1036
				DEALLOCATE CURS_TRADE
1037
				
1038
				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
1039
				OPEN CURS
1040
					FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
1041
					WHILE @@FETCH_STATUS = 0
1042
					BEGIN
1043
						UPDATE TR_REQ_ADVANCE_PAYMENT
1044
						SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
1045
						FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
1046
					END
1047
				CLOSE CURS
1048
				DEALLOCATE CURS
1049
				INSERT INTO dbo.PL_PROCESS
1050
						(
1051
							REQ_ID,
1052
							PROCESS_ID,
1053
							CHECKER_ID,
1054
							APPROVE_DT,
1055
							PROCESS_DESC,NOTES
1056
						)
1057
						VALUES
1058
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1059
							'DEL',        -- PROCESS_ID - varchar(10)
1060
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1061
							GETDATE(), -- APPROVE_DT - datetime
1062
							@p_REASON ,N'KSV hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
1063
						)
1064
			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'
1065
			END
1066
			END
1067
		END
1068
		-- END  PHIEU DE NGHI TAM UNG 05 11 2019
1069
		-- START PHIEU DE THI THANH TOAN 19-11-2019
1070
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
1071
		BEGIN
1072
			BEGIN
1073
			IF(@p_STAGE='KT')
1074
			BEGIN
1075
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
1076
				BEGIN
1077
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt'
1078
					ROLLBACK TRANSACTION
1079
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1080
					RETURN '0'
1081
				END
1082
				ELSE
1083
				BEGIN
1084
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1085
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1086
					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 <>''))
1087
					BEGIN
1088
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
1089
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về thành công'
1090
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1091
						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)
1092
						AND REQ_ID =@p_TRN_ID
1093
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID
1094
						-- INSERT VAO BANG LICH SU
1095
						INSERT INTO dbo.PL_PROCESS
1096
						(
1097
							REQ_ID,
1098
							PROCESS_ID,
1099
							CHECKER_ID,
1100
							APPROVE_DT,
1101
							PROCESS_DESC,NOTES
1102
						)
1103
						VALUES
1104
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1105
							'REJECT',        -- PROCESS_ID - varchar(10)
1106
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1107
							GETDATE(), -- APPROVE_DT - datetime
1108
							@p_REASON ,N'KSV trả về cho GDV'     -- PROCESS_DESC - nvarchar(1000)
1109
						)
1110
					END
1111
					ELSE 
1112
					BEGIN
1113
						SET @p_STAGE ='HC'
1114
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID
1115
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công'
1116
						-- XOA DI DU LIEU DA DIEU PHOI, CHO DON VI XU LY VA DUYET LAI SE DIEU PHOI LAI
1117
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1118
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1119
						-- INSERT VAO BANG LICH SU
1120
						INSERT INTO dbo.PL_PROCESS
1121
						(
1122
							REQ_ID,
1123
							PROCESS_ID,
1124
							CHECKER_ID,
1125
							APPROVE_DT,
1126
							PROCESS_DESC,NOTES
1127
						)
1128
						VALUES
1129
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1130
							'REJECT',        -- PROCESS_ID - varchar(10)
1131
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1132
							GETDATE(), -- APPROVE_DT - datetime
1133
							@p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1134
						)
1135
					SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được từ chối thành công'
1136
					END
1137
				END
1138
			END
1139
			ELSE IF(@p_STAGE ='HC')
1140
			BEGIN
1141
				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 ='')))
1142
				BEGIN
1143
					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'
1144
					ROLLBACK TRANSACTION
1145
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1146
					RETURN '0'
1147
				END
1148
				ELSE
1149
				BEGIN
1150
					UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R',PROCESS='',CHECKER_ID ='',APPROVE_DT =NULL, MAKER_ID_KT =NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT =NULL WHERE REQ_PAY_ID =@p_TRN_ID
1151
					DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1152
					SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được trả về về thành công'
1153
					-- INSERT VAO BANG LICH SU
1154
						INSERT INTO dbo.PL_PROCESS
1155
						(
1156
							REQ_ID,
1157
							PROCESS_ID,
1158
							CHECKER_ID,
1159
							APPROVE_DT,
1160
							PROCESS_DESC,NOTES
1161
						)
1162
						VALUES
1163
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1164
							'REJECT',        -- PROCESS_ID - varchar(10)
1165
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1166
							GETDATE(), -- APPROVE_DT - datetime
1167
							@p_REASON,N'Trả về'        -- PROCESS_DESC - nvarchar(1000)
1168
						)
1169
				END
1170
			END
1171
			ELSE IF(@p_STAGE ='SUG')
1172
			BEGIN
1173
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
1174
				DECLARE @LEVEL_JOB_PAY VARCHAR(5), @LEVEL_JOB_PREV_PAY INT
1175
				SET @LEVEL_JOB_PAY =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
1176
				SET @LEVEL_JOB_PREV_PAY = CONVERT(INT,@LEVEL_JOB_PAY) -1
1177
				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)
1178
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID
1179
				INSERT INTO dbo.PL_PROCESS
1180
						(
1181
							REQ_ID,
1182
							PROCESS_ID,
1183
							CHECKER_ID,
1184
							APPROVE_DT,
1185
							PROCESS_DESC,NOTES
1186
						)
1187
						VALUES
1188
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1189
							'SUG',        -- PROCESS_ID - varchar(10)
1190
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1191
							GETDATE(), -- APPROVE_DT - datetime
1192
							@p_REASON ,N'GDV đề xuất từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1193
						)
1194
			SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được đề xuất từ chối thành công'
1195
			END
1196
			ELSE IF(@p_STAGE ='DEL')
1197
			BEGIN
1198
				--UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
1199
				--DECLARE @LEVEL_JOB_PAY VARCHAR(5), @LEVEL_JOB_PREV_PAY INT
1200
				--SET @LEVEL_JOB_PAY =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
1201
				--SET @LEVEL_JOB_PREV_PAY = CONVERT(INT,@LEVEL_JOB_PAY) -1
1202
				--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)
1203
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1204
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1205
				UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID
1206
				UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE PAY_ID =@p_TRN_ID
1207
				---------------------------------------------------------------------------------------------------------------------
1208
				--DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0)
1209
				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
1210
				OPEN CURS_TRADE
1211
					FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1212
					WHILE @@FETCH_STATUS = 0
1213
					BEGIN
1214
						UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
1215
						WHERE TRADE_ID =@TRADED_ID
1216
						FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1217
					END
1218
				CLOSE CURS_TRADE
1219
				DEALLOCATE CURS_TRADE
1220
				-- XOA NGAN SACH
1221
				--DELETE FROM TR_REQ_PAY_BUDGET WHERE  REQ_PAY_ID= @p_TRN_ID
1222
				--- NEU LA TAM UNG NOI BO THI PHAI REVERT LAI SO TIEN DA HOAN UNG CUA PHIEU DE NGHI TAM UNG
1223
				--DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0)
1224
				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
1225
				OPEN CURS
1226
					FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
1227
					WHILE @@FETCH_STATUS = 0
1228
					BEGIN
1229
						UPDATE TR_REQ_ADVANCE_PAYMENT
1230
						SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
1231
						FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
1232
					END
1233
				CLOSE CURS
1234
				DEALLOCATE CURS
1235
				----  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
1236
				--DECLARE @REQ_PAY_ID VARCHAR(15), @AMT_REAL DECIMAL(18,0)
1237
				--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
1238
				--OPEN CURS_SCHE
1239
				--	FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1240
				--	WHILE @@FETCH_STATUS = 0
1241
				--	BEGIN
1242
				--		UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
1243
				--		WHERE TRADE_ID =@TRADED_ID
1244
				--		FETCH NEXT FROM CURS_SCHE INTO @TRADED_ID,@AMT_EXE
1245
				--	END
1246
				--CLOSE CURS_SCHE
1247
				--DEALLOCATE CURS_SCHE
1248
				INSERT INTO dbo.PL_PROCESS
1249
						(
1250
							REQ_ID,
1251
							PROCESS_ID,
1252
							CHECKER_ID,
1253
							APPROVE_DT,
1254
							PROCESS_DESC,NOTES
1255
						)
1256
						VALUES
1257
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1258
							'DEL',        -- PROCESS_ID - varchar(10)
1259
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1260
							GETDATE(), -- APPROVE_DT - datetime
1261
							@p_REASON ,N'KSV hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
1262
						)
1263
			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'
1264
			END
1265
			END
1266
		END
1267
		-- END PHIEU DE THI THANH TOAN 19-11-2019
1268

    
1269
		--- Tờ trình chủ trương
1270
		ELSE IF(@p_TRN_TYPE='PL_REQUEST_DOC')
1271
		BEGIN	IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
1272
				BEGIN
1273
					SET @p_MESSAGE =N'Trả về thất bại! Tờ trình chủ trương đã được duyệt'
1274
					ROLLBACK TRANSACTION
1275
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1276
					RETURN '0'
1277
				END
1278
				ELSE
1279
				BEGIN
1280
					UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
1281
					INSERT INTO dbo.PL_PROCESS
1282
					(
1283
						REQ_ID,
1284
						PROCESS_ID,
1285
						CHECKER_ID,
1286
						APPROVE_DT,
1287
						PROCESS_DESC,NOTES
1288
					)
1289
					VALUES
1290
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1291
						'REJECT',        -- PROCESS_ID - varchar(10)
1292
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1293
						GETDATE(), -- APPROVE_DT - datetime
1294
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1295
					)
1296
					SET @p_MESSAGE =N'Tờ trình chủ trương đã được trả về thành công'
1297
					 -- 28-10-2020 LUCTV, KHI TRA VE PHAI GO PL_REQUEST_PROCESS
1298
					 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
1299
					 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
1300
			 END
1301
		END
1302
		ELSE IF(@p_TRN_TYPE='TR_REQUEST_DOC')
1303
		BEGIN
1304
			--IF(@p_STAGE='DVMS')
1305
			--BEGIN
1306
			--END
1307
			IF(@p_STAGE='PDYC' OR @p_STAGE ='DV')
1308
			BEGIN
1309
				IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
1310
				BEGIN
1311
					SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được duyệt'
1312
					ROLLBACK TRANSACTION
1313
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1314
					RETURN '0'
1315
				END
1316
				ELSE
1317
				BEGIN
1318
					UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID='REJECT', AUTH_STATUS ='R' WHERE REQ_ID=@p_TRN_ID
1319
					INSERT INTO dbo.PL_PROCESS
1320
					(
1321
						REQ_ID,
1322
						PROCESS_ID,
1323
						CHECKER_ID,
1324
						APPROVE_DT,
1325
						PROCESS_DESC,NOTES
1326
					)
1327
					VALUES
1328
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1329
						'REJECT',        -- PROCESS_ID - varchar(10)
1330
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1331
						GETDATE(), -- APPROVE_DT - datetime
1332
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1333
					)
1334
					 SET @p_MESSAGE =N'Phiếu yêu cầu mua sắm đã được trả về thành công'
1335
					 -- 28-10-2020 LUCTV, KHI TRA VE PHAI GO PL_REQUEST_PROCESS
1336
					 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
1337
					 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
1338
				 END
1339
			END	
1340
		END
1341
		-- END IF
1342
		-- NEU LA TRA VE CUA HOP DONG
1343
		ELSE IF(@p_TRN_TYPE='TR_CONTRACT')
1344
		BEGIN
1345
		--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
1346
		IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
1347
		BEGIN
1348
			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'
1349
			ROLLBACK TRANSACTION
1350
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1351
			RETURN '0'
1352
		END
1353
		IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
1354
		BEGIN
1355
			SET @p_MESSAGE =N'Trả về thất bại! Hợp đồng đã được phê duyệt thành công trước đó!'
1356
			ROLLBACK TRANSACTION
1357
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1358
			RETURN '0'
1359
		END
1360
		UPDATE TR_CONTRACT SET AUTH_STATUS ='R', IS_SEND_APPR = 'N' 
1361
		WHERE CONTRACT_ID =@p_TRN_ID
1362
		INSERT INTO dbo.PL_PROCESS
1363
					(
1364
						REQ_ID,
1365
						PROCESS_ID,
1366
						CHECKER_ID,
1367
						APPROVE_DT,
1368
						PROCESS_DESC,NOTES
1369
					)
1370
					VALUES
1371
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1372
						'REJECT',        -- PROCESS_ID - varchar(10)
1373
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1374
						GETDATE(), -- APPROVE_DT - datetime
1375
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1376
					)
1377
			SET @p_MESSAGE =N'Hợp đồng đã được trả về thành công'		
1378
		END
1379
		-- NEU LA TRA VE CUA HOP DONG
1380
		ELSE IF(@p_TRN_TYPE='TR_PO')
1381
		BEGIN
1382
		--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
1383
		IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
1384
		BEGIN
1385
			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'
1386
			ROLLBACK TRANSACTION
1387
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1388
			RETURN '0'
1389
		END
1390
		IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
1391
		BEGIN
1392
			SET @p_MESSAGE =N'Trả về thất bại! PO đã được phê duyệt thành công trước đó!'
1393
			ROLLBACK TRANSACTION
1394
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1395
			RETURN '0'
1396
		END
1397
		UPDATE TR_PO_MASTER SET AUTH_STATUS ='R' WHERE PO_ID =@p_TRN_ID
1398
		INSERT INTO dbo.PL_PROCESS
1399
					(
1400
						REQ_ID,
1401
						PROCESS_ID,
1402
						CHECKER_ID,
1403
						APPROVE_DT,
1404
						PROCESS_DESC,NOTES
1405
					)
1406
					VALUES
1407
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1408
						'REJECT',        -- PROCESS_ID - varchar(10)
1409
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1410
						GETDATE(), -- APPROVE_DT - datetime
1411
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1412
					)
1413
			SET @p_MESSAGE =N'PO đã được trả về thành công'		
1414
		END
1415
		--- KET THUC TRA VE PO
1416
		ELSE
1417
		BEGIN
1418
			SET @p_MESSAGE =N'Trả về giao dịch thành công'
1419
		END
1420

    
1421
		---BAODNQ 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
1422
		-------Khai báo DTSD nội bộ-------
1423
		IF(@p_TRN_TYPE ='BUD_INTERNAL')
1424
		--BEGIN ELSE IF---
1425
		BEGIN
1426
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
1427
			BEGIN
1428
				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'
1429
				ROLLBACK TRANSACTION
1430
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1431
				RETURN '0'
1432
			END
1433
			UPDATE BUD_CONTRACT_MASTER 
1434
			SET AUTH_STATUS ='R', 
1435
			---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
1436
				IS_SEND_APPR = 'N'							
1437
			WHERE CONTRACT_ID=@p_TRN_ID
1438
			SET @p_MESSAGE =N'Thông tin khai báo DTSD nội bộ đã được trả về thành công'
1439

    
1440
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
1441
			INSERT INTO dbo.PL_PROCESS
1442
					(
1443
						REQ_ID,
1444
						PROCESS_ID,
1445
						CHECKER_ID,
1446
						APPROVE_DT,
1447
						PROCESS_DESC,
1448
						NOTES
1449
					)
1450
					VALUES
1451
					(	@p_TRN_ID,       
1452
						'REJECT',
1453
						@p_REJECTED_BY,        
1454
						GETDATE(), 
1455
						@p_REASON ,      
1456
						N'Từ chối phiếu'       
1457
					)
1458
			IF @@ERROR <> 0 GOTO ABORT
1459

    
1460
		---END ELSE IF---
1461
		END
1462
		-------Quản lý hợp đồng khách thuê-------
1463
		ELSE IF(@p_TRN_TYPE ='BUD_RENTAL')
1464
		--BEGIN ELSE IF---
1465
		BEGIN
1466
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
1467
			BEGIN
1468
				SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin khai báo DT cho khách thuê đã được duyệt'
1469
				ROLLBACK TRANSACTION
1470
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1471
				RETURN '0'
1472
			END
1473
			UPDATE BUD_CONTRACT_CUST_MASTER 
1474
			SET AUTH_STATUS ='R',
1475
			---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
1476
				IS_SEND_APPR = 'N'
1477
			WHERE CONTRACT_ID=@p_TRN_ID
1478
			SET @p_MESSAGE =N'Thông tin khai báo DT cho khách thuê đã được trả về thành công'
1479

    
1480
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
1481
			INSERT INTO dbo.PL_PROCESS
1482
					(
1483
						REQ_ID,
1484
						PROCESS_ID,
1485
						CHECKER_ID,
1486
						APPROVE_DT,
1487
						PROCESS_DESC,
1488
						NOTES
1489
					)
1490
					VALUES
1491
					(	@p_TRN_ID,       
1492
						'REJECT',
1493
						@p_REJECTED_BY,        
1494
						GETDATE(), 
1495
						@p_REASON ,      
1496
						N'Từ chối phiếu'       
1497
					)
1498
			IF @@ERROR <> 0 GOTO ABORT
1499

    
1500
		---END ELSE IF---
1501
		END
1502
		---datmq 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
1503
			-------Quản lý trụ sở-------
1504
		ELSE IF(@p_TRN_TYPE ='BUD_MASTER')
1505
		--BEGIN ELSE IF---
1506
		BEGIN
1507
			IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
1508
			BEGIN
1509
				SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin quản lý cho thuê đã được duyệt'
1510
				ROLLBACK TRANSACTION
1511
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1512
				RETURN '0'
1513
			END
1514
			---BAODNQ 26/1/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
1515
			UPDATE BUD_MASTER SET AUTH_STATUS ='R',  IS_SEND_APPR = 'N'
1516
			WHERE BUILDING_ID=@p_TRN_ID
1517
			SET @p_MESSAGE =N'Thông tin quản lý trụ sở đã được trả về thành công'
1518

    
1519
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
1520
			INSERT INTO dbo.PL_PROCESS
1521
					(
1522
						REQ_ID,
1523
						PROCESS_ID,
1524
						CHECKER_ID,
1525
						APPROVE_DT,
1526
						PROCESS_DESC,
1527
						NOTES
1528
					)
1529
					VALUES
1530
					(	@p_TRN_ID,       
1531
						'REJECT',
1532
						@p_REJECTED_BY,        
1533
						GETDATE(), 
1534
						@p_REASON ,      
1535
						N'Từ chối phiếu'       
1536
					)
1537
			IF @@ERROR <> 0 GOTO ABORT
1538

    
1539
		---END ELSE IF---
1540
		END
1541

    
1542

    
1543
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
1544
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
1545
		BEGIN
1546
			IF(@p_STAGE='HC')
1547
			BEGIN
1548
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
1549
				BEGIN
1550
					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'
1551
					ROLLBACK TRANSACTION
1552
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1553
					RETURN '0'
1554
				END
1555
				ELSE
1556
				BEGIN
1557
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
1558
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
1559
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
1560
					BEGIN
1561
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
1562
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị thanh toán đã được trả về thành công'
1563
					END
1564
					/*ELSE
1565
					BEGIN
1566
						SET @p_STAGE ='HC'
1567
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
1568
						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'
1569
					END*/
1570
				END
1571
			END
1572
		END
1573

    
1574
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
1575
		ELSE IF(@p_TRN_TYPE ='TR_REQ_ADVACNE_PAY')
1576
		BEGIN
1577
			IF(@p_STAGE='HC')
1578
			BEGIN
1579
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
1580
				BEGIN
1581
					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'
1582
					ROLLBACK TRANSACTION
1583
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1584
					RETURN '0'
1585
				END
1586
				ELSE
1587
				BEGIN
1588
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
1589
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
1590
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
1591
					BEGIN
1592
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
1593
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị tạm ứng đã được trả về thành công'
1594
					END
1595
					/*ELSE
1596
					BEGIN
1597
						SET @p_STAGE ='HC'
1598
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
1599
						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'
1600
					END*/
1601
				END
1602
			END
1603
		END
1604

    
1605

    
1606
	------BAODNQ 14/02/2022: Thêm xử lý trả về cho phân hệ quản lý BDS------
1607
		-------------Quản lý BDS---------------
1608
		ELSE IF(@p_TRN_TYPE = 'RET_MASTER')
1609
		BEGIN
1610
			IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
1611
			BEGIN
1612
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin bất động sản đã được duyệt'
1613
				ROLLBACK TRANSACTION
1614
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
1615
				RETURN '0'
1616
			END
1617
			UPDATE RET_MASTER
1618
			SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N'
1619
			WHERE RET_ID = @p_TRN_ID
1620
			SET @p_MESSAGE = N'Thông tin bất động sản đã được trả về thành công'
1621

    
1622
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
1623
			INSERT INTO dbo.PL_PROCESS
1624
					(
1625
						REQ_ID,
1626
						PROCESS_ID,
1627
						CHECKER_ID,
1628
						APPROVE_DT,
1629
						PROCESS_DESC,
1630
						NOTES
1631
					)
1632
					VALUES
1633
					(	@p_TRN_ID,       
1634
						'REJECT',
1635
						@p_REJECTED_BY,        
1636
						GETDATE(), 
1637
						@p_REASON ,      
1638
						N'Từ chối phiếu'       
1639
					)
1640
			IF @@ERROR <> 0 GOTO ABORT
1641

    
1642
		END
1643

    
1644
		-------Thông tin sửa chữa BDS--------------
1645
		ELSE IF(@p_TRN_TYPE = 'RET_REPAIR')
1646
		BEGIN
1647
			IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
1648
			BEGIN
1649
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin sửa chữa BDS đã được duyệt'
1650
				ROLLBACK TRANSACTION
1651
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
1652
				RETURN '0'
1653
			END
1654
			UPDATE RET_REPAIR 
1655
			SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N'
1656
			WHERE RP_ID = @p_TRN_ID
1657
			SET @p_MESSAGE = N'Thông tin sửa chữa BDS đã được trả về thành công'
1658

    
1659
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
1660
			INSERT INTO dbo.PL_PROCESS
1661
					(
1662
						REQ_ID,
1663
						PROCESS_ID,
1664
						CHECKER_ID,
1665
						APPROVE_DT,
1666
						PROCESS_DESC,
1667
						NOTES
1668
					)
1669
					VALUES
1670
					(	@p_TRN_ID,       
1671
						'REJECT',
1672
						@p_REJECTED_BY,        
1673
						GETDATE(), 
1674
						@p_REASON ,      
1675
						N'Từ chối phiếu'       
1676
					)
1677
			IF @@ERROR <> 0 GOTO ABORT
1678

    
1679
		END
1680

    
1681
		-----BDS thuê làm trụ sở CN/PGD--------
1682
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_R_H')
1683
		BEGIN
1684
			IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
1685
			BEGIN
1686
				SET @p_MESSAGE =N'Hủy trả về thất bại! BDS thuê làm trụ sở CN/PGD đã được duyệt'
1687
				ROLLBACK TRANSACTION
1688
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
1689
				RETURN '0'
1690
			END
1691
			UPDATE REAL_ESTATE_R_H 
1692
			SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N'
1693
			WHERE RET_R_H_ID = @p_TRN_ID
1694
			SET @p_MESSAGE = N'BDS thuê làm trụ sở CN/PGD đã được trả về thành công'
1695

    
1696
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
1697
			INSERT INTO dbo.PL_PROCESS
1698
					(
1699
						REQ_ID,
1700
						PROCESS_ID,
1701
						CHECKER_ID,
1702
						APPROVE_DT,
1703
						PROCESS_DESC,
1704
						NOTES
1705
					)
1706
					VALUES
1707
					(	@p_TRN_ID,       
1708
						'REJECT',
1709
						@p_REJECTED_BY,        
1710
						GETDATE(), 
1711
						@p_REASON ,      
1712
						N'Từ chối phiếu'       
1713
					)
1714
			IF @@ERROR <> 0 GOTO ABORT
1715

    
1716
		END
1717

    
1718
		-----BDS đang hoàn thiện thủ tục pháp lý--------
1719
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_L_C')
1720
		BEGIN
1721
			IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
1722
			BEGIN
1723
				SET @p_MESSAGE =N'Hủy trả về thất bại! BDS đang hoàn thiện thủ tục pháp lý đã được duyệt'
1724
				ROLLBACK TRANSACTION
1725
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
1726
				RETURN '0'
1727
			END
1728
			UPDATE REAL_ESTATE_L_C 
1729
			SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N'
1730
			WHERE RET_L_C_ID = @p_TRN_ID
1731
			SET @p_MESSAGE = N'BDS đang hoàn thiện thủ tục pháp lý đã được trả về thành công'
1732

    
1733
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
1734
			INSERT INTO dbo.PL_PROCESS
1735
					(
1736
						REQ_ID,
1737
						PROCESS_ID,
1738
						CHECKER_ID,
1739
						APPROVE_DT,
1740
						PROCESS_DESC,
1741
						NOTES
1742
					)
1743
					VALUES
1744
					(	@p_TRN_ID,       
1745
						'REJECT',
1746
						@p_REJECTED_BY,        
1747
						GETDATE(), 
1748
						@p_REASON ,      
1749
						N'Từ chối phiếu'       
1750
					)
1751
			IF @@ERROR <> 0 GOTO ABORT
1752

    
1753
		END
1754

    
1755
		---------BAODNQ 18/3/2022: Đánh giá NCC--------
1756
		-------Đánh giá NCC---------
1757
		ELSE IF(@p_TRN_TYPE = 'TR_RATE_SUPPLIER_MASTER')
1758
		BEGIN
1759
			IF(EXISTS(SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
1760
			BEGIN
1761
				SET @p_MESSAGE =N'Hủy trả về thất bại! Biên bản đánh giá NCC đã được duyệt'
1762
				ROLLBACK TRANSACTION
1763
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
1764
				RETURN '0'
1765
			END
1766
			UPDATE TR_RATE_SUPPLIER_MASTER 
1767
				SET AUTH_STATUS = 'R', 
1768
					IS_SEND_APPR = 'N',
1769
					PROCESS_STATUS = 'REJECT'
1770
			WHERE RATE_ID = @p_TRN_ID
1771
			SET @p_MESSAGE = N'Biên bản đánh giá NCC đã được trả về thành công'
1772

    
1773
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
1774
			INSERT INTO dbo.PL_PROCESS
1775
					(
1776
						REQ_ID,
1777
						PROCESS_ID,
1778
						CHECKER_ID,
1779
						APPROVE_DT,
1780
						PROCESS_DESC,
1781
						NOTES
1782
					)
1783
					VALUES
1784
					(	@p_TRN_ID,       
1785
						'REJECT',
1786
						@p_REJECTED_BY,        
1787
						GETDATE(), 
1788
						@p_REASON ,      
1789
						N'Từ chối phiếu'       
1790
					)
1791
			IF @@ERROR <> 0 GOTO ABORT
1792
		END
1793

    
1794

    
1795
		--- INSERT VAO BANG CM_REJECT_LOG
1796
		EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
1797
		IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
1798
		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))
1799
		IF @@Error <> 0 GOTO ABORT
1800
COMMIT TRANSACTION
1801
SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1802
RETURN '0'
1803
ABORT:
1804
BEGIN
1805

    
1806
		ROLLBACK TRANSACTION
1807
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
1808
		RETURN '-1'
1809
END