Project

General

Profile

Reject_log_ins.txt

Luc Tran Van, 12/31/2022 02:49 PM

 
1
-- Stored Procedure
2

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

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

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

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

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

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

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

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

    
776
					END
777
					ELSE
778
					BEGIN
779
						SET @p_STAGE ='HC'
780
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
781
						SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về hành chính thành công'
782

    
783
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
784
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
785
					END
786
				END
787
			END
788
			ELSE IF(@p_STAGE='KT_HC')
789
				BEGIN
790
					BEGIN
791
					IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
792
						BEGIN
793
							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'
794
							ROLLBACK TRANSACTION
795
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
796
							RETURN '0'
797
						END
798
					ELSE
799
						BEGIN
800
							SET @p_STAGE ='HC'
801
							UPDATE MW_IN_MASTER SET AUTH_STATUS ='R',CORE_NOTE = NULL
802
							, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
803
							--,CHECKER_ID_KT = @p_REJECTED_BY,APPROVE_DT_KT = GETDATE()
804
							WHERE IN_ID =@p_TRN_ID
805
							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'
806

    
807
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
808
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
809
						END
810
					END
811
				END
812
			ELSE
813
			BEGIN
814
				IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
815
				BEGIN
816
					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'
817
					ROLLBACK TRANSACTION
818
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
819
					RETURN '0'
820
				END
821
				ELSE
822
				BEGIN
823
					UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
824
					SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
825

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

    
855
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
856
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
857
						END
858
						ELSE
859
						BEGIN
860
							SET @p_STAGE ='HC'
861
							UPDATE MW_TRANSFER SET 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ề hành chính thành công'
863

    
864
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
865
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
866
						END
867
					END
868
			END
869
			ELSE IF(@p_STAGE='KT_HC')
870
				BEGIN
871
					IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
872
						BEGIN
873
							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'
874
							ROLLBACK TRANSACTION
875
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
876
							RETURN '0'
877
						END
878
					ELSE
879
						BEGIN
880
							SET @p_STAGE ='HC'
881
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R', CORE_NOTE = NULL 
882
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
883
							--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
884
							WHERE TRANSFER_ID =@p_TRN_ID
885
							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'
886

    
887
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
888
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
889
						END
890
				END
891
			ELSE
892
			BEGIN
893
				IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
894
				BEGIN
895
					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'
896
					ROLLBACK TRANSACTION
897
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
898
					RETURN '0'
899
				END
900
				ELSE
901
				BEGIN
902
					UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
903
					SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
904

    
905
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
906
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
907
				END
908
			END
909
			END
910

    
911
		END
912
		--- MW_OUT : XUẤT VẬT LIỆU
913
		ELSE IF(@p_TRN_TYPE ='MW_OUT')
914
		BEGIN
915
			BEGIN
916
			IF(@p_STAGE='KT')
917
			BEGIN
918
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
919
				BEGIN
920
					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'
921
					ROLLBACK TRANSACTION
922
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
923
					RETURN '0'
924
				END
925
				ELSE
926
				BEGIN
927
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
928
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
929
					IF(EXISTS(SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
930
					BEGIN
931
						UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
932
						SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
933

    
934
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
935
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
936
					END
937
					ELSE
938
					BEGIN
939
						SET @p_STAGE ='HC'
940
						UPDATE MW_OUT SET 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ề hành chính thành công'
942

    
943
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
944
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
945
					END
946
				END
947
			END
948
			ELSE IF(@p_STAGE='KT_HC')
949
				BEGIN
950
					IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
951
						BEGIN
952
							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'
953
							ROLLBACK TRANSACTION
954
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
955
							RETURN '0'
956
						END
957
					ELSE
958
						BEGIN
959
							SET @p_STAGE ='HC'
960
							UPDATE MW_OUT SET AUTH_STATUS ='R', CORE_NOTE = NULL
961
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
962
							--, KT_APPROVE_DT = GETDATE() ,KT_CHECKER_ID = @p_REJECTED_BY
963
							WHERE OUT_ID =@p_TRN_ID
964
							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'
965

    
966
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
967
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
968
						END
969
				END
970
			ELSE
971
			BEGIN
972
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
973
				BEGIN
974
					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'
975
					ROLLBACK TRANSACTION
976
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
977
					RETURN '0'
978
				END
979
				ELSE
980
				BEGIN
981
					UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
982
					SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
983

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

    
1012
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1013
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1014
					END
1015
					ELSE
1016
					BEGIN
1017
						SET @p_STAGE ='HC'
1018
						UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
1019
						SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công'
1020

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

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

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

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

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

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

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

    
1918
		---BAODNQ 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
1919
		-------Khai báo DTSD nội bộ-------
1920
		IF(@p_TRN_TYPE ='BUD_INTERNAL')
1921
		--BEGIN ELSE IF---
1922
		BEGIN
1923
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
1924
			BEGIN
1925
				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'
1926
				ROLLBACK TRANSACTION
1927
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1928
				RETURN '-1'
1929
			END
1930
			ELSE IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
1931
			BEGIN
1932
				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 đó'
1933
				ROLLBACK TRANSACTION
1934
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1935
				RETURN '-1'
1936
			END
1937
			ELSE
1938
			BEGIN
1939
				UPDATE BUD_CONTRACT_MASTER 
1940
				SET AUTH_STATUS ='R', 
1941
				---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
1942
					IS_SEND_APPR = 'N',
1943
					CHECKER_ID = NULL,
1944
					APPROVE_DT = NULL,
1945
					SEND_APPR_DT = NULL,
1946
					SIGN_DT = NULL
1947
				WHERE CONTRACT_ID=@p_TRN_ID
1948
				SET @p_MESSAGE =N'Thông tin khai báo DTSD nội bộ đã được trả về thành công'
1949
			END
1950
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
1951
			INSERT INTO dbo.PL_PROCESS
1952
					(
1953
						REQ_ID,
1954
						PROCESS_ID,
1955
						CHECKER_ID,
1956
						APPROVE_DT,
1957
						PROCESS_DESC,
1958
						NOTES
1959
					)
1960
					VALUES
1961
					(	@p_TRN_ID,       
1962
						'REJECT',
1963
						@p_REJECTED_BY,        
1964
						GETDATE(), 
1965
						@p_REASON ,      
1966
						N'Từ chối phiếu'       
1967
					)
1968
			IF @@ERROR <> 0 GOTO ABORT
1969

    
1970
		---END ELSE IF---
1971
		END
1972
		-------Quản lý hợp đồng khách thuê-------
1973
		ELSE IF(@p_TRN_TYPE ='BUD_RENTAL')
1974
		--BEGIN ELSE IF---
1975
		BEGIN
1976
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
1977
			BEGIN
1978
				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'
1979
				ROLLBACK TRANSACTION
1980
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1981
				RETURN '-1'
1982
			END
1983
			ELSE IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
1984
			BEGIN
1985
				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 đó'
1986
				ROLLBACK TRANSACTION
1987
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1988
				RETURN '-1'
1989
			END
1990
			ELSE
1991
			BEGIN
1992
				UPDATE BUD_CONTRACT_CUST_MASTER 
1993
				SET AUTH_STATUS ='R',
1994
				---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
1995
					IS_SEND_APPR = 'N',
1996
					CHECKER_ID = NULL,
1997
					APPROVE_DT = NULL,
1998
					SEND_APPR_DT = NULL,
1999
					SIGN_DT = NULL
2000
				WHERE CONTRACT_ID=@p_TRN_ID
2001
				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'
2002
			END
2003
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2004
			INSERT INTO dbo.PL_PROCESS
2005
					(
2006
						REQ_ID,
2007
						PROCESS_ID,
2008
						CHECKER_ID,
2009
						APPROVE_DT,
2010
						PROCESS_DESC,
2011
						NOTES
2012
					)
2013
					VALUES
2014
					(	@p_TRN_ID,       
2015
						'REJECT',
2016
						@p_REJECTED_BY,        
2017
						GETDATE(), 
2018
						@p_REASON ,      
2019
						N'Từ chối phiếu'       
2020
					)
2021
			IF @@ERROR <> 0 GOTO ABORT
2022

    
2023
		---END ELSE IF---
2024
		END
2025
		---datmq 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
2026
			-------Quản lý trụ sở-------
2027
		ELSE IF(@p_TRN_TYPE ='BUD_MASTER')
2028
		--BEGIN ELSE IF---
2029
		BEGIN
2030
			IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2031
			BEGIN
2032
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin trụ sở đã được duyệt'
2033
				ROLLBACK TRANSACTION
2034
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2035
				RETURN '-1'
2036
			END
2037
			ELSE IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2038
			BEGIN
2039
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin trụ sở đã được trả về trước đó'
2040
				ROLLBACK TRANSACTION
2041
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2042
				RETURN '-1'
2043
			END
2044
			ELSE
2045
			BEGIN
2046
				---BAODNQ 26/1/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2047
				UPDATE BUD_MASTER SET 
2048
					AUTH_STATUS ='R',  IS_SEND_APPR = 'N',
2049
					CHECKER_ID = NULL,
2050
					APPROVE_DT = NULL,
2051
					SEND_APPR_DT = NULL,
2052
					SIGN_DT = NULL
2053
				WHERE BUILDING_ID=@p_TRN_ID
2054
				SET @p_MESSAGE =N'Thông tin trụ sở đã được trả về thành công'
2055
			END
2056
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2057
			INSERT INTO dbo.PL_PROCESS
2058
					(
2059
						REQ_ID,
2060
						PROCESS_ID,
2061
						CHECKER_ID,
2062
						APPROVE_DT,
2063
						PROCESS_DESC,
2064
						NOTES
2065
					)
2066
					VALUES
2067
					(	@p_TRN_ID,       
2068
						'REJECT',
2069
						@p_REJECTED_BY,        
2070
						GETDATE(), 
2071
						@p_REASON ,      
2072
						N'Từ chối phiếu'       
2073
					)
2074
			IF @@ERROR <> 0 GOTO ABORT
2075

    
2076
		---END ELSE IF---
2077
		END
2078

    
2079
		/*
2080
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
2081
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
2082
		BEGIN
2083
			IF(@p_STAGE='HC')
2084
			BEGIN
2085
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
2086
				BEGIN
2087
					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'
2088
					ROLLBACK TRANSACTION
2089
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2090
					RETURN '0'
2091
				END
2092
				ELSE
2093
				BEGIN
2094
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
2095
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
2096
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
2097
					BEGIN
2098
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2099
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị thanh toán đã được trả về thành công'
2100
					END
2101
				END
2102
			END
2103
		END
2104

    
2105
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
2106
		ELSE IF(@p_TRN_TYPE ='TR_REQ_ADVACNE_PAY')
2107
		BEGIN
2108
			IF(@p_STAGE='HC')
2109
			BEGIN
2110
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
2111
				BEGIN
2112
					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'
2113
					ROLLBACK TRANSACTION
2114
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2115
					RETURN '0'
2116
				END
2117
				ELSE
2118
				BEGIN
2119
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
2120
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
2121
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
2122
					BEGIN
2123
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2124
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị tạm ứng đã được trả về thành công'
2125
					END
2126
					/*ELSE
2127
					BEGIN
2128
						SET @p_STAGE ='HC'
2129
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
2130
						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'
2131
					END*/
2132
				END
2133
			END
2134
		END
2135
		*/
2136

    
2137
	------BAODNQ 14/02/2022: Thêm xử lý trả về cho phân hệ quản lý BDS------
2138
		-------------Quản lý BDS---------------
2139
		ELSE IF(@p_TRN_TYPE = 'RET_MASTER')
2140
		BEGIN
2141
			IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2142
			BEGIN
2143
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin bất động sản đã được duyệt'
2144
				ROLLBACK TRANSACTION
2145
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2146
				RETURN '-1'
2147
			END
2148
			ELSE IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2149
			BEGIN
2150
				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 đó'
2151
				ROLLBACK TRANSACTION
2152
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2153
				RETURN '-1'
2154
			END
2155
			ELSE
2156
			BEGIN
2157
				UPDATE RET_MASTER
2158
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2159
					CHECKER_ID = NULL,
2160
					APPROVE_DT = NULL,
2161
					SEND_APPR_DT = NULL,
2162
					SIGN_DT = NULL
2163
				WHERE RET_ID = @p_TRN_ID
2164
				SET @p_MESSAGE = N'Thông tin bất động sản đã được trả về thành công'
2165
			END
2166

    
2167
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2168
			INSERT INTO dbo.PL_PROCESS
2169
					(
2170
						REQ_ID,
2171
						PROCESS_ID,
2172
						CHECKER_ID,
2173
						APPROVE_DT,
2174
						PROCESS_DESC,
2175
						NOTES
2176
					)
2177
					VALUES
2178
					(	@p_TRN_ID,       
2179
						'REJECT',
2180
						@p_REJECTED_BY,        
2181
						GETDATE(), 
2182
						@p_REASON ,      
2183
						N'Từ chối phiếu'       
2184
					)
2185
			IF @@ERROR <> 0 GOTO ABORT
2186

    
2187
		END
2188

    
2189
		-------Thông tin sửa chữa BDS--------------
2190
		ELSE IF(@p_TRN_TYPE = 'RET_REPAIR')
2191
		BEGIN
2192
			IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2193
			BEGIN
2194
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin sửa chữa BĐS đã được duyệt'
2195
				ROLLBACK TRANSACTION
2196
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2197
				RETURN '0'
2198
			END
2199
			ELSE IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2200
			BEGIN
2201
				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 đó'
2202
				ROLLBACK TRANSACTION
2203
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2204
				RETURN '-1'
2205
			END
2206
			ELSE
2207
			BEGIN
2208
				UPDATE RET_REPAIR 
2209
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2210
					CHECKER_ID = NULL,
2211
					APPROVE_DT = NULL,
2212
					SEND_APPR_DT = NULL,
2213
					SIGN_DT = NULL
2214
				WHERE RP_ID = @p_TRN_ID
2215
				SET @p_MESSAGE = N'Thông tin sửa chữa BDS đã được trả về thành công'
2216
			END
2217
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2218
			INSERT INTO dbo.PL_PROCESS
2219
					(
2220
						REQ_ID,
2221
						PROCESS_ID,
2222
						CHECKER_ID,
2223
						APPROVE_DT,
2224
						PROCESS_DESC,
2225
						NOTES
2226
					)
2227
					VALUES
2228
					(	@p_TRN_ID,       
2229
						'REJECT',
2230
						@p_REJECTED_BY,        
2231
						GETDATE(), 
2232
						@p_REASON ,      
2233
						N'Từ chối phiếu'       
2234
					)
2235
			IF @@ERROR <> 0 GOTO ABORT
2236

    
2237
		END
2238

    
2239
		-----BDS thuê làm trụ sở CN/PGD--------
2240
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_R_H')
2241
		BEGIN
2242
			IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2243
			BEGIN
2244
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin BĐS đi thuê đã được duyệt'
2245
				ROLLBACK TRANSACTION
2246
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2247
				RETURN '0'
2248
			END
2249
			ELSE IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2250
			BEGIN
2251
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin BĐS đi thuê đã được trả về trước đó'
2252
				ROLLBACK TRANSACTION
2253
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2254
				RETURN '-1'
2255
			END
2256
			ELSE
2257
			BEGIN
2258
				UPDATE REAL_ESTATE_R_H 
2259
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2260
					CHECKER_ID = NULL,
2261
					APPROVE_DT = NULL,
2262
					SEND_APPR_DT = NULL,
2263
					SIGN_DT = NULL
2264
				WHERE RET_R_H_ID = @p_TRN_ID
2265
				SET @p_MESSAGE = N'Thông tin BĐS đi thuê đã được trả về thành công'
2266
			END
2267
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2268
			INSERT INTO dbo.PL_PROCESS
2269
					(
2270
						REQ_ID,
2271
						PROCESS_ID,
2272
						CHECKER_ID,
2273
						APPROVE_DT,
2274
						PROCESS_DESC,
2275
						NOTES
2276
					)
2277
					VALUES
2278
					(	@p_TRN_ID,       
2279
						'REJECT',
2280
						@p_REJECTED_BY,        
2281
						GETDATE(), 
2282
						@p_REASON ,      
2283
						N'Từ chối phiếu'       
2284
					)
2285
			IF @@ERROR <> 0 GOTO ABORT
2286

    
2287
		END
2288

    
2289
		-----BDS đang hoàn thiện thủ tục pháp lý--------
2290
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_L_C')
2291
		BEGIN
2292
			IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2293
			BEGIN
2294
				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'
2295
				ROLLBACK TRANSACTION
2296
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2297
				RETURN '0'
2298
			END
2299
			ELSE IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2300
			BEGIN
2301
				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 đó'
2302
				ROLLBACK TRANSACTION
2303
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2304
				RETURN '-1'
2305
			END
2306
			ELSE 
2307
			BEGIN
2308
				UPDATE REAL_ESTATE_L_C 
2309
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2310
					CHECKER_ID = NULL,
2311
					APPROVE_DT = NULL,
2312
					SEND_APPR_DT = NULL,
2313
					SIGN_DT = NULL
2314
				WHERE RET_L_C_ID = @p_TRN_ID
2315
				SET @p_MESSAGE = N'BDS đang hoàn thiện thủ tục pháp lý đã được trả về thành công'
2316
			END
2317
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2318
			INSERT INTO dbo.PL_PROCESS
2319
					(
2320
						REQ_ID,
2321
						PROCESS_ID,
2322
						CHECKER_ID,
2323
						APPROVE_DT,
2324
						PROCESS_DESC,
2325
						NOTES
2326
					)
2327
					VALUES
2328
					(	@p_TRN_ID,       
2329
						'REJECT',
2330
						@p_REJECTED_BY,        
2331
						GETDATE(), 
2332
						@p_REASON ,      
2333
						N'Từ chối phiếu'       
2334
					)
2335
			IF @@ERROR <> 0 GOTO ABORT
2336

    
2337
		END
2338

    
2339
		---------BAODNQ 18/3/2022: Đánh giá NCC--------
2340
		-------Đánh giá NCC---------
2341
		ELSE IF(@p_TRN_TYPE = 'TR_RATE_SUPPLIER_MASTER')
2342
		BEGIN
2343
			IF(EXISTS(SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2344
			BEGIN
2345
				SET @p_MESSAGE =N'Hủy trả về thất bại! Biên bản đánh giá NCC đã được duyệt'
2346
				ROLLBACK TRANSACTION
2347
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2348
				RETURN '0'
2349
			END
2350
			UPDATE TR_RATE_SUPPLIER_MASTER 
2351
				SET AUTH_STATUS = 'R', 
2352
					IS_SEND_APPR = 'N',
2353
					PROCESS_STATUS = 'REJECT'
2354
			WHERE RATE_ID = @p_TRN_ID
2355
			SET @p_MESSAGE = N'Biên bản đánh giá NCC đã được trả về thành công'
2356

    
2357
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2358
			INSERT INTO dbo.PL_PROCESS
2359
					(
2360
						REQ_ID,
2361
						PROCESS_ID,
2362
						CHECKER_ID,
2363
						APPROVE_DT,
2364
						PROCESS_DESC,
2365
						NOTES
2366
					)
2367
					VALUES
2368
					(	@p_TRN_ID,       
2369
						'REJECT',
2370
						@p_REJECTED_BY,        
2371
						GETDATE(), 
2372
						@p_REASON ,      
2373
						N'Từ chối phiếu'       
2374
					)
2375
			IF @@ERROR <> 0 GOTO ABORT
2376
		END
2377
		ELSE IF(@p_TRN_TYPE ='TR_REQUEST_CAR')
2378
		BEGIN
2379
			DECLARE @p_PROCESS_ID VARCHAR(15)
2380
			SELECT @p_PROCESS_ID=PROCESS_ID FROM TR_REQUEST_CAR WHERE REQ_ID =@p_TRN_ID
2381
			IF(@p_PROCESS_ID='APPROVE')
2382
			BEGIN
2383
				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'
2384
				ROLLBACK TRANSACTION
2385
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2386
				RETURN '0'
2387
			END
2388
			IF(@p_PROCESS_ID IN ('APPNEW','CV_APP'))
2389
			BEGIN
2390
				UPDATE TR_REQUEST_CAR 
2391
				SET AUTH_STATUS ='R',PROCESS_ID='INSERT',IS_SEND_APPR = 'N'
2392
				WHERE REQ_ID=@p_TRN_ID
2393
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công'
2394
				IF(@p_PROCESS_ID='APPNEW')
2395
					BEGIN
2396
						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
2397
					END
2398
				ELSE
2399
					BEGIN
2400
						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
2401
						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
2402
					END
2403
			END
2404
			ELSE IF(@p_PROCESS_ID='USER_SEND')
2405
			BEGIN
2406
					UPDATE TR_REQUEST_CAR
2407
					SET AUTH_STATUS ='R',PROCESS_ID='CV_SEND'
2408
					WHERE REQ_ID=@p_TRN_ID
2409
					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'
2410
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='P' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2411
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='XL' AND REQ_ID=@p_TRN_ID
2412
			END
2413
			ELSE IF(@p_PROCESS_ID IN ('MAKER_APP','TDV_C_APP'))
2414
			BEGIN
2415
				
2416
					UPDATE TR_REQUEST_CAR
2417
					SET AUTH_STATUS ='R',PROCESS_ID='USER_SEND',IS_CONFIRM_COST='N'
2418
					WHERE REQ_ID=@p_TRN_ID
2419
					SET @p_MESSAGE =N'Thông tin chi phí phiếu yêu cầu xe đã được trả về thành công'
2420
					IF(@p_PROCESS_ID='MAKER_APP')
2421
					BEGIN
2422
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
2423
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2424
						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
2425
					END
2426
				ELSE
2427
					BEGIN
2428
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
2429
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2430
						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
2431
						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
2432
					END
2433
			END
2434
			INSERT INTO dbo.PL_PROCESS
2435
					(
2436
						REQ_ID,
2437
						PROCESS_ID,
2438
						CHECKER_ID,
2439
						APPROVE_DT,
2440
						PROCESS_DESC,NOTES
2441
					)
2442
					VALUES
2443
					(   @p_TRN_ID,       
2444
						'REJECT',        
2445
						@p_REJECTED_BY,       
2446
						GETDATE(), 
2447
						@p_REASON,
2448
						N'Từ chối phiếu'    
2449
					)
2450
			
2451
		END
2452
		ELSE IF(@p_TRN_TYPE ='TR_REQUEST_JOB_FORM')
2453
		BEGIN
2454
			DECLARE @PROCESS_ID VARCHAR(15),@SIGN_USER VARCHAR(50)
2455
			SELECT @PROCESS_ID=PROCESS_ID,@SIGN_USER=SIGN_USER FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID =@p_TRN_ID
2456
			IF(@PROCESS_ID='APPROVE')
2457
			BEGIN
2458
				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'
2459
				ROLLBACK TRANSACTION
2460
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2461
				RETURN '0'
2462
			END
2463
            IF(@p_STAGE='REJECT')
2464
            BEGIN
2465
                IF(@PROCESS_ID IN ('SEND','SIGN'))
2466
			BEGIN
2467
				UPDATE dbo.TR_REQUEST_JOB_FORM 
2468
				SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N'
2469
				WHERE REQ_ID=@p_TRN_ID
2470
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
2471

    
2472
				IF(@PROCESS_ID='SEND' AND @SIGN_USER IS NOT NULL)
2473
					BEGIN
2474
						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
2475
					END
2476
				ELSE
2477
					BEGIN
2478
						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
2479
						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
2480
					END
2481
			END
2482
			ELSE IF(@PROCESS_ID='HO_APP')
2483
			BEGIN
2484
					UPDATE dbo.TR_REQUEST_JOB_FORM
2485
					SET AUTH_STATUS ='R',PROCESS_ID='APPNEW'
2486
					WHERE REQ_ID=@p_TRN_ID
2487
					SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
2488
					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
2489
					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
2490
			END
2491
			ELSE IF(@PROCESS_ID = 'MAKER_APP')
2492
			BEGIN
2493
					UPDATE TR_REQUEST_JOB_FORM
2494
					SET AUTH_STATUS ='R',PROCESS_ID='HCHO_XL'
2495
					WHERE REQ_ID=@p_TRN_ID
2496
					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'
2497
					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
2498
					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
2499
			END
2500
			INSERT INTO dbo.PL_PROCESS
2501
					(
2502
						REQ_ID,
2503
						PROCESS_ID,
2504
						CHECKER_ID,
2505
						APPROVE_DT,
2506
						PROCESS_DESC,NOTES
2507
					)
2508
					VALUES
2509
					(   @p_TRN_ID,       
2510
						'REJECT',        
2511
						@p_REJECTED_BY,       
2512
						GETDATE(), 
2513
						@p_REASON,
2514
						N'Từ chối phiếu'    
2515
					)
2516
            END
2517
		END
2518
        ELSE IF(@p_STAGE='CANCEL')
2519
        BEGIN
2520
            UPDATE dbo.TR_REQUEST_JOB_FORM SET PROCESS_ID='CANCEL',AUTH_STATUS='D' WHERE REQ_ID=@p_TRN_ID
2521
			IF @@Error <> 0 GOTO ABORT
2522

    
2523
			IF(EXISTS (SELECT 1 FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID))
2524
			BEGIN
2525
				UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID
2526
			END
2527

    
2528
			EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
2529
			IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
2530
			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))
2531
			UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P' WHERE REQ_ID=@p_TRN_ID AND STATUS ='C' 
2532
			DELETE dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_TRN_ID AND STATUS ='U'
2533
			INSERT INTO dbo.PL_REQUEST_PROCESS
2534
			(
2535
			    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
2536
			)
2537
			VALUES
2538
			(   
2539
				@p_TRN_ID,'CANCEL','C','','','',GETDATE(),'','','','',N'',NULL,'', ''
2540
			)
2541
			-- insert log
2542
			INSERT INTO dbo.PL_PROCESS
2543
			(
2544
				REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES
2545
			)
2546
			VALUES
2547
			(  
2548
				@p_TRN_ID,'CANCEL',@p_REJECTED_BY,GETDATE(),@p_REASON,N'Hủy phiếu thành công'
2549
			)
2550
        END
2551
		--START HIEUHM 08/11/2022 trả về Quản lí hồ sơ công trình XDCB
2552
		ELSE IF(@p_TRN_TYPE = 'CON_MASTER')
2553
		BEGIN
2554
			IF(EXISTS(SELECT * FROM CON_MASTER WHERE CONSTRUCT_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2555
			BEGIN
2556
				SET @p_MESSAGE =N'Trả về thất bại! Công trình đã được duyệt'
2557
				ROLLBACK TRANSACTION
2558
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2559
				RETURN '0'
2560
			END
2561
			UPDATE CON_MASTER 
2562
				SET AUTH_STATUS = 'R'
2563
			WHERE CONSTRUCT_ID = @p_TRN_ID
2564
			UPDATE CON_REQUEST_DOC 
2565
				SET AUTH_STATUS = 'R'
2566
			WHERE CONSTRUCT_ID = @p_TRN_ID
2567
			SET @p_MESSAGE = N'Công trình đã được trả về thành công'
2568

    
2569
			INSERT INTO dbo.PL_PROCESS
2570
					(
2571
						REQ_ID,
2572
						PROCESS_ID,
2573
						CHECKER_ID,
2574
						APPROVE_DT,
2575
						PROCESS_DESC,
2576
						NOTES
2577
					)
2578
					VALUES
2579
					(	@p_TRN_ID,       
2580
						'REJECT',
2581
						@p_REJECTED_BY,        
2582
						GETDATE(), 
2583
						@p_REASON ,      
2584
						N'Từ chối phiếu'       
2585
					)
2586
			IF @@ERROR <> 0 GOTO ABORT
2587
		END
2588
		--END HIEUHM 08/11/2022 trả về Quản lí hồ sơ công trình XDCB
2589

    
2590
		--START HIEUHM 17/11/2022 trả về layout bản vẽ
2591
		ELSE IF(@p_TRN_TYPE = 'CON_LAYOUT_BLUEPRINT')
2592
		BEGIN
2593
			IF(EXISTS(SELECT * FROM CON_LAYOUT_BLUEPRINT WHERE CON_LAYOUT_BLUEPRINT_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2594
			BEGIN
2595
				SET @p_MESSAGE =N'Trả về thất bại! Layout bản vẽ đã được duyệt'
2596
				ROLLBACK TRANSACTION
2597
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2598
				RETURN '0'
2599
			END
2600
			UPDATE CON_LAYOUT_BLUEPRINT 
2601
				SET AUTH_STATUS = 'R',PROCESS_ID='REJECT'
2602
			WHERE CON_LAYOUT_BLUEPRINT_ID = @p_TRN_ID
2603
			UPDATE PL_REQUEST_PROCESS 
2604
				SET [STATUS]='U'
2605
			WHERE REQ_ID = @p_TRN_ID
2606
			SET @p_MESSAGE = N'Layout bản vẽ đã được trả về thành công'
2607

    
2608
			INSERT INTO dbo.PL_PROCESS
2609
					(
2610
						REQ_ID,
2611
						PROCESS_ID,
2612
						CHECKER_ID,
2613
						APPROVE_DT,
2614
						PROCESS_DESC,
2615
						NOTES
2616
					)
2617
					VALUES
2618
					(	@p_TRN_ID,       
2619
						'REJECT',
2620
						@p_REJECTED_BY,        
2621
						GETDATE(), 
2622
						@p_REASON ,      
2623
						N'Từ chối phiếu'       
2624
					)
2625
			IF @@ERROR <> 0 GOTO ABORT
2626
		END
2627
		--END HIEUHM 17/11/2022 trả về layout bản vẽ
2628
		--- INSERT VAO BANG CM_REJECT_LOG
2629
		EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
2630
		IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
2631
		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))
2632
		IF @@Error <> 0 GOTO ABORT
2633
COMMIT TRANSACTION
2634
SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2635
RETURN '0'
2636
ABORT:
2637
BEGIN
2638

    
2639
		ROLLBACK TRANSACTION
2640
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
2641
		RETURN '-1'
2642
END