Project

General

Profile

cm_rej_ins.txt

Luc Tran Van, 05/09/2023 04:19 PM

 
1

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

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

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

    
199
					-- Xóa thông tin xác nhận điều chuyển
200
					DELETE ASS_TRANSFER_CONFIRM_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
201
          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
202

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

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

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

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

    
789
					END
790
					ELSE
791
					BEGIN
792
						SET @p_STAGE ='HC'
793
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
794
						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'
795

    
796
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
797
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
798
					END
799
				END
800
			END
801
			ELSE IF(@p_STAGE='KT_HC')
802
				BEGIN
803
					BEGIN
804
					IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
805
						BEGIN
806
							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'
807
							ROLLBACK TRANSACTION
808
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
809
							RETURN '0'
810
						END
811
					ELSE
812
						BEGIN
813
							SET @p_STAGE ='HC'
814
							UPDATE MW_IN_MASTER SET AUTH_STATUS ='R',CORE_NOTE = NULL
815
							, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
816
							--,CHECKER_ID_KT = @p_REJECTED_BY,APPROVE_DT_KT = GETDATE()
817
							WHERE IN_ID =@p_TRN_ID
818
							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'
819

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

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

    
868
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
869
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
870
						END
871
						ELSE
872
						BEGIN
873
							SET @p_STAGE ='HC'
874
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
875
							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'
876

    
877
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
878
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
879
						END
880
					END
881
			END
882
			ELSE IF(@p_STAGE='KT_HC')
883
				BEGIN
884
					IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
885
						BEGIN
886
							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'
887
							ROLLBACK TRANSACTION
888
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
889
							RETURN '0'
890
						END
891
					ELSE
892
						BEGIN
893
							SET @p_STAGE ='HC'
894
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R', CORE_NOTE = NULL 
895
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
896
							--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
897
							WHERE TRANSFER_ID =@p_TRN_ID
898
							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'
899

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

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

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

    
947
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
948
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
949
					END
950
					ELSE
951
					BEGIN
952
						SET @p_STAGE ='HC'
953
						UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
954
						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'
955

    
956
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
957
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
958
					END
959
				END
960
			END
961
			ELSE IF(@p_STAGE='KT_HC')
962
				BEGIN
963
					IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
964
						BEGIN
965
							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'
966
							ROLLBACK TRANSACTION
967
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
968
							RETURN '0'
969
						END
970
					ELSE
971
						BEGIN
972
							SET @p_STAGE ='HC'
973
							UPDATE MW_OUT SET AUTH_STATUS ='R', CORE_NOTE = NULL
974
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
975
							--, KT_APPROVE_DT = GETDATE() ,KT_CHECKER_ID = @p_REJECTED_BY
976
							WHERE OUT_ID =@p_TRN_ID
977
							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'
978

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

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

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

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

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

    
1075
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1076
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1077
				END
1078
			END
1079
			END
1080
		END
1081
		-- PHIEU DE NGHI TAM UNG 05 11 2019
1082
		ELSE IF(@p_TRN_TYPE ='REQ_ADVANCE_PAY')
1083
		BEGIN
1084
			
1085
			IF(@p_STAGE='KT')
1086
			BEGIN
1087
				-- doanptt them rang buoc nhap ky do tra ve
1088
				IF(@p_REASON IS NULL OR @p_REASON = '')
1089
				BEGIN
1090
					SET @p_MESSAGE =N'Lý do trả về không được để trống'
1091
					ROLLBACK TRANSACTION
1092
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1093
					RETURN '-1'
1094
				END
1095
				IF((SELECT AUTH_STATUS_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
1096
				BEGIN
1097
					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 đó'
1098
					ROLLBACK TRANSACTION
1099
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1100
					RETURN '-1'
1101
				END
1102
				IF((SELECT CHECKER_ID_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) IS NULL)
1103
				BEGIN
1104
					IF((SELECT AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
1105
					BEGIN
1106
						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 đó'
1107
						ROLLBACK TRANSACTION
1108
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1109
						RETURN '-1'
1110
					END
1111
					/*
1112
					ELSE
1113
					BEGIN
1114
						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'
1115
						ROLLBACK TRANSACTION
1116
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1117
						RETURN '-1'
1118
					END
1119
					*/
1120
				END
1121

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

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

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

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

    
1954
					-- Trả về câu thông báo
1955
					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'
1956
				END
1957
				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, '') = '')
1958
																											OR	(ISNULL(PROCESS, '') = '7' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')
1959
																											)
1960
								)
1961
						) -- TAM DUNG PHIEU
1962
				BEGIN
1963
					UPDATE TR_REQ_PAYMENT_AUTO 
1964
					SET PROCESS = '8.1'
1965
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
1966
					-- INSERT VAO BANG LICH SU
1967
					INSERT INTO dbo.PL_PROCESS
1968
					(
1969
						REQ_ID,
1970
						PROCESS_ID,
1971
						CHECKER_ID,
1972
						APPROVE_DT,
1973
						PROCESS_DESC,NOTES
1974
					)
1975
					VALUES
1976
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1977
						'REJECT_SUS',        -- PROCESS_ID - varchar(10)
1978
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1979
						GETDATE(), -- APPROVE_DT - datetime
1980
						@p_REASON,N'Trưởng đơn vị từ chối yêu cầu tạm dừng'        -- PROCESS_DESC - nvarchar(1000)
1981
					)
1982

    
1983
					-- Trả về câu thông báo
1984
					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'
1985
				END
1986
				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
1987
				BEGIN
1988
					UPDATE TR_REQ_PAYMENT_AUTO 
1989
					SET PROCESS = '10.1'
1990
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
1991
					-- INSERT VAO BANG LICH SU
1992
					INSERT INTO dbo.PL_PROCESS
1993
					(
1994
						REQ_ID,
1995
						PROCESS_ID,
1996
						CHECKER_ID,
1997
						APPROVE_DT,
1998
						PROCESS_DESC,NOTES
1999
					)
2000
					VALUES
2001
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2002
						'REJ_UNSUS',        -- PROCESS_ID - varchar(10)
2003
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2004
						GETDATE(), -- APPROVE_DT - datetime
2005
						@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)
2006
					)
2007

    
2008
					-- Trả về câu thông báo
2009
					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'
2010
				END
2011
				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, '') = '')
2012
																											OR	(ISNULL(PROCESS, '') = '10' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')
2013
																											)
2014
								)
2015
						) -- KHOI PHUC PHIEU
2016
				BEGIN
2017
					UPDATE TR_REQ_PAYMENT_AUTO 
2018
					SET PROCESS = '11.1'
2019
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2020
					-- INSERT VAO BANG LICH SU
2021
					INSERT INTO dbo.PL_PROCESS
2022
					(
2023
						REQ_ID,
2024
						PROCESS_ID,
2025
						CHECKER_ID,
2026
						APPROVE_DT,
2027
						PROCESS_DESC,NOTES
2028
					)
2029
					VALUES
2030
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2031
						'REJECT_SUS',        -- PROCESS_ID - varchar(10)
2032
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2033
						GETDATE(), -- APPROVE_DT - datetime
2034
						@p_REASON,N'Trưởng đơn vị từ chối yêu cầu khôi phục phiếu'        -- PROCESS_DESC - nvarchar(1000)
2035
					)
2036

    
2037
					-- Trả về câu thông báo
2038
					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'
2039
				END
2040
				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
2041
				BEGIN
2042
					UPDATE TR_REQ_PAYMENT_AUTO 
2043
					SET PROCESS = '16.1'
2044
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2045
					-- INSERT VAO BANG LICH SU
2046
					INSERT INTO dbo.PL_PROCESS
2047
					(
2048
						REQ_ID,
2049
						PROCESS_ID,
2050
						CHECKER_ID,
2051
						APPROVE_DT,
2052
						PROCESS_DESC,NOTES
2053
					)
2054
					VALUES
2055
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2056
						'REJECT_DEL',        -- PROCESS_ID - varchar(10)
2057
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2058
						GETDATE(), -- APPROVE_DT - datetime
2059
						@p_REASON,N'Cấp duyệt trung gian từ chối yêu cầu hủy phiếu'        -- PROCESS_DESC - nvarchar(1000)
2060
					)
2061

    
2062
					-- Trả về câu thông báo
2063
					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'
2064
				END
2065
				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, '') = '')
2066
																											OR	(ISNULL(PROCESS, '') = '16' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')
2067
																											)
2068
								)
2069
						) -- HUY PHIEU
2070
				BEGIN
2071
					UPDATE TR_REQ_PAYMENT_AUTO 
2072
					SET PROCESS = '17.1'
2073
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2074
					-- INSERT VAO BANG LICH SU
2075
					INSERT INTO dbo.PL_PROCESS
2076
					(
2077
						REQ_ID,
2078
						PROCESS_ID,
2079
						CHECKER_ID,
2080
						APPROVE_DT,
2081
						PROCESS_DESC,NOTES
2082
					)
2083
					VALUES
2084
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2085
						'REJECT_DEL',        -- PROCESS_ID - varchar(10)
2086
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2087
						GETDATE(), -- APPROVE_DT - datetime
2088
						@p_REASON,N'Trưởng đơn vị từ chối yêu cầu hủy phiếu'        -- PROCESS_DESC - nvarchar(1000)
2089
					)
2090

    
2091
					-- Trả về câu thông báo
2092
					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'
2093
				END
2094
				ELSE
2095
				BEGIN
2096
					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 = '')))
2097
					BEGIN
2098
						ROLLBACK TRANSACTION
2099
						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
2100
						RETURN '-1'
2101
					END
2102
					ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS='R'))
2103
					BEGIN
2104
						ROLLBACK TRANSACTION
2105
						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
2106
						RETURN '-1'
2107
					END
2108
					ELSE
2109
					BEGIN
2110
						UPDATE TR_REQ_PAYMENT_AUTO 
2111
						SET AUTH_STATUS ='R', AUTH_STATUS_KT = NULL, REQ_PAY_AUTO_STATUS = NULL, 
2112
						CHECKER_ID = NULL, TRANSFER_MAKER = NULL, MAKER_ID_KT =NULL, CHECKER_ID_KT = NULL,
2113
						CREATE_DT = GETDATE(), APPROVE_DT = NULL, TRANSFER_DT = NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT = NULL, REQ_PAY_AUTO_EFFECTIVE_DT = NULL, 
2114
						PROCESS = NULL
2115
						WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2116
						-- INSERT VAO BANG LICH SU
2117
						INSERT INTO dbo.PL_PROCESS
2118
						(
2119
							REQ_ID,
2120
							PROCESS_ID,
2121
							CHECKER_ID,
2122
							APPROVE_DT,
2123
							PROCESS_DESC,NOTES
2124
						)
2125
						VALUES
2126
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2127
							'REJECT',        -- PROCESS_ID - varchar(10)
2128
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2129
							GETDATE(), -- APPROVE_DT - datetime
2130
							@p_REASON,N'Trả về'        -- PROCESS_DESC - nvarchar(1000)
2131
						)
2132
						--doanptt 210622 xóa luồng KT
2133
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2134

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

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

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

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

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

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

    
2610
		---END ELSE IF---
2611
		END
2612

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

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

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

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

    
2721
		END
2722

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

    
2771
		END
2772

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

    
2821
		END
2822

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

    
2871
		END
2872

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

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

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

    
3070
			IF(EXISTS (SELECT 1 FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID))
3071
			BEGIN
3072
				UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID
3073
			END
3074

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

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

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

    
3155
			INSERT INTO dbo.PL_PROCESS
3156
					(
3157
						REQ_ID,
3158
						PROCESS_ID,
3159
						CHECKER_ID,
3160
						APPROVE_DT,
3161
						PROCESS_DESC,
3162
						NOTES
3163
					)
3164
					VALUES
3165
					(	@p_TRN_ID,       
3166
						'REJECT',
3167
						@p_REJECTED_BY,        
3168
						GETDATE(), 
3169
						@p_REASON ,      
3170
						N'Từ chối phiếu'       
3171
					)
3172
			IF @@ERROR <> 0 GOTO ABORT
3173
		END
3174
		--END HIEUHM 17/11/2022 trả về layout bản vẽ
3175
		--- INSERT VAO BANG CM_REJECT_LOG
3176
		EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
3177
		IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
3178
		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))
3179
		IF @@Error <> 0 GOTO ABORT
3180
COMMIT TRANSACTION
3181
SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
3182
RETURN '0'
3183
ABORT:
3184
BEGIN
3185

    
3186
		ROLLBACK TRANSACTION
3187
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
3188
		RETURN '-1'
3189
END
3190

    
3191

    
3192

    
3193

    
3194

    
3195