Project

General

Profile

rejct.txt

Luc Tran Van, 03/01/2023 01:41 PM

 
1

    
2

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

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

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

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

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

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

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

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

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

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

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

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

    
859
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
860
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
861
						END
862
						ELSE
863
						BEGIN
864
							SET @p_STAGE ='HC'
865
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
866
							SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về hành chính thành công'
867

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

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

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

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

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

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

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

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

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

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

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

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

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

    
1469
			
1470
		END
1471
		-- END  PHIEU DE NGHI TAM UNG 05 11 2019
1472
		-- START PHIEU DE THI THANH TOAN 19-11-2019
1473
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
1474
		BEGIN
1475
			BEGIN
1476
			IF(@p_STAGE='KT')
1477
			BEGIN
1478
				IF((SELECT AUTH_STATUS_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
1479
				BEGIN
1480
					SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được kiểm soát viên trả về trước đó'
1481
					ROLLBACK TRANSACTION
1482
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1483
					RETURN '-1'
1484
				END
1485
				IF((SELECT CHECKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) IS NULL)
1486
				BEGIN
1487
					IF((SELECT AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
1488
					BEGIN
1489
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được kiểm soát viên trả về trước đó'
1490
						ROLLBACK TRANSACTION
1491
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1492
						RETURN '-1'
1493
					END
1494
				END
1495
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
1496
				BEGIN
1497
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt'
1498
					ROLLBACK TRANSACTION
1499
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1500
					RETURN '-1'
1501
				END
1502
				ELSE
1503
				BEGIN
1504
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1505
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1506
					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 <>''))
1507
					BEGIN
1508
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
1509
						-- DOANPTT 291222: THEM LOG KPI
1510
						UPDATE TR_REQ_KPI 
1511
						SET AUTH_STATUS_KT ='U'
1512
						WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT = 'P' AND IS_DONE = '0'
1513
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về thành công'
1514
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1515
						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)
1516
						AND REQ_ID =@p_TRN_ID
1517
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID
1518
						-- INSERT VAO BANG LICH SU
1519
						INSERT INTO dbo.PL_PROCESS
1520
						(
1521
							REQ_ID,
1522
							PROCESS_ID,
1523
							CHECKER_ID,
1524
							APPROVE_DT,
1525
							PROCESS_DESC,NOTES
1526
						)
1527
						VALUES
1528
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1529
							'REJECT_GDV',        -- PROCESS_ID - varchar(10)
1530
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1531
							GETDATE(), -- APPROVE_DT - datetime
1532
							@p_REASON ,N'KSV trả về cho GDV'     -- PROCESS_DESC - nvarchar(1000)
1533
						)
1534
					END
1535
					ELSE 
1536
					BEGIN
1537
						SET @p_STAGE ='HC'
1538
						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
1539
						WHERE REQ_PAY_ID =@p_TRN_ID
1540
						-- DOANPTT 291222: THEM LOG KPI
1541
						UPDATE TR_REQ_KPI 
1542
						SET AUTH_STATUS_KT ='R', APPROVE_DT_KT = GETDATE(),CHECKER_ID_KT = @p_REJECTED_BY, REQ_STATUS = 'REJECT'
1543
						WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT = 'P'
1544
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công'
1545
						-- XOA DI DU LIEU DA DIEU PHOI, CHO DON VI XU LY VA DUYET LAI SE DIEU PHOI LAI
1546
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1547
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1548
						-- INSERT VAO BANG LICH SU
1549
						INSERT INTO dbo.PL_PROCESS
1550
						(
1551
							REQ_ID,
1552
							PROCESS_ID,
1553
							CHECKER_ID,
1554
							APPROVE_DT,
1555
							PROCESS_DESC,NOTES
1556
						)
1557
						VALUES
1558
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1559
							'REJECT',        -- PROCESS_ID - varchar(10)
1560
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1561
							GETDATE(), -- APPROVE_DT - datetime
1562
							@p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1563
						)
1564
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được từ chối thành công'
1565
						--doanptt 210622 xóa nscp khi hủy hoặc trả phiếu về HC
1566
						DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
1567
						DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
1568
					END
1569
				END
1570
			END
1571
			ELSE IF(@p_STAGE='KT_HC')
1572
			BEGIN
1573
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT = 'A'))
1574
				BEGIN
1575
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt'
1576
					ROLLBACK TRANSACTION
1577
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1578
					RETURN '-1'
1579
				END
1580
				ELSE
1581
				BEGIN
1582
					SET @p_STAGE ='HC'
1583
					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
1584
					-- DOANPTT 291222: THEM LOG KPI
1585
					UPDATE TR_REQ_KPI 
1586
					SET AUTH_STATUS_KT ='R', APPROVE_DT_KT = GETDATE(),CHECKER_ID_KT = @p_REJECTED_BY, REQ_STATUS = 'REJECT', IS_DONE = '1'
1587
					WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT = 'P' AND IS_DONE = '0'
1588
					SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công'
1589
					---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1590
					DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1591
					DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
1592
					-- XOA LENH CHUYEN TIEN NGOAI HE THONG NEU CO
1593
					DELETE FROM TR_REQ_PAY_TRANS_OUTSIDE_REC WHERE REQ_PAY_ID = @p_TRN_ID
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 IF(@p_TRN_TYPE ='TR_REQ_PAY_AUTO')
1914
		BEGIN
1915
			IF(@p_STAGE ='HC')
1916
			BEGIN
1917
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND ISNULL(PROCESS, '') = '6' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')) -- TAM DUNG PHIEU
1918
				BEGIN
1919
					UPDATE TR_REQ_PAYMENT_AUTO 
1920
					SET PROCESS = '7.1'
1921
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
1922
					-- INSERT VAO BANG LICH SU
1923
					INSERT INTO dbo.PL_PROCESS
1924
					(
1925
						REQ_ID,
1926
						PROCESS_ID,
1927
						CHECKER_ID,
1928
						APPROVE_DT,
1929
						PROCESS_DESC,NOTES
1930
					)
1931
					VALUES
1932
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1933
						'REJECT_SUS',        -- PROCESS_ID - varchar(10)
1934
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1935
						GETDATE(), -- APPROVE_DT - datetime
1936
						@p_REASON,N'Cấp duyệt trung gian từ chối yêu cầu tạm dừng'        -- PROCESS_DESC - nvarchar(1000)
1937
					)
1938

    
1939
					-- Trả về câu thông báo
1940
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
1941
				END
1942
				ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND ISNULL(PROCESS, '') = '6' AND ISNULL(TRANSFER_USER_RECEIVE, '') = '')) -- TAM DUNG PHIEU
1943
				BEGIN
1944
					UPDATE TR_REQ_PAYMENT_AUTO 
1945
					SET PROCESS = '8.1'
1946
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
1947
					-- INSERT VAO BANG LICH SU
1948
					INSERT INTO dbo.PL_PROCESS
1949
					(
1950
						REQ_ID,
1951
						PROCESS_ID,
1952
						CHECKER_ID,
1953
						APPROVE_DT,
1954
						PROCESS_DESC,NOTES
1955
					)
1956
					VALUES
1957
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1958
						'REJECT_SUS',        -- PROCESS_ID - varchar(10)
1959
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1960
						GETDATE(), -- APPROVE_DT - datetime
1961
						@p_REASON,N'Trưởng đơn vị từ chối yêu cầu tạm dừng'        -- PROCESS_DESC - nvarchar(1000)
1962
					)
1963

    
1964
					-- Trả về câu thông báo
1965
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
1966
				END
1967
				ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND ISNULL(PROCESS, '') = '9' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')) -- KHOI PHUC PHIEU
1968
				BEGIN
1969
					UPDATE TR_REQ_PAYMENT_AUTO 
1970
					SET PROCESS = '10.1'
1971
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
1972
					-- INSERT VAO BANG LICH SU
1973
					INSERT INTO dbo.PL_PROCESS
1974
					(
1975
						REQ_ID,
1976
						PROCESS_ID,
1977
						CHECKER_ID,
1978
						APPROVE_DT,
1979
						PROCESS_DESC,NOTES
1980
					)
1981
					VALUES
1982
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1983
						'REJ_UNSUS',        -- PROCESS_ID - varchar(10)
1984
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1985
						GETDATE(), -- APPROVE_DT - datetime
1986
						@p_REASON,N'Cấp duyệt trung gian từ chối yêu cầu khôi phục phiếu'        -- PROCESS_DESC - nvarchar(1000)
1987
					)
1988

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

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

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

    
2064
					-- Trả về câu thông báo
2065
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
2066
				END
2067
				ELSE
2068
				BEGIN
2069
					IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC' AND (MAKER_ID_KT IS NULL OR  MAKER_ID_KT = '')))
2070
					BEGIN
2071
						ROLLBACK TRANSACTION
2072
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,N'Trả về thất bại! Phiếu yêu cầu thanh toán tự động đã được trưởng đơn vị duyệt' ErrorDesc
2073
						RETURN '-1'
2074
					END
2075
					ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS='R'))
2076
					BEGIN
2077
						ROLLBACK TRANSACTION
2078
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,N'Trả về thất bại! Phiếu yêu cầu thanh toán tự động đã được trả về trước đó' ErrorDesc
2079
						RETURN '-1'
2080
					END
2081
					ELSE
2082
					BEGIN
2083
						UPDATE TR_REQ_PAYMENT_AUTO 
2084
						SET AUTH_STATUS ='R', AUTH_STATUS_KT = NULL, REQ_PAY_AUTO_STATUS = NULL, 
2085
						CHECKER_ID = NULL, TRANSFER_MAKER = NULL, MAKER_ID_KT =NULL, CHECKER_ID_KT = NULL,
2086
						CREATE_DT = GETDATE(), APPROVE_DT = NULL, TRANSFER_DT = NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT = NULL, REQ_PAY_AUTO_EFFECTIVE_DT = NULL, 
2087
						PROCESS = NULL
2088
						WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2089
						-- INSERT VAO BANG LICH SU
2090
						INSERT INTO dbo.PL_PROCESS
2091
						(
2092
							REQ_ID,
2093
							PROCESS_ID,
2094
							CHECKER_ID,
2095
							APPROVE_DT,
2096
							PROCESS_DESC,NOTES
2097
						)
2098
						VALUES
2099
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2100
							'REJECT',        -- PROCESS_ID - varchar(10)
2101
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2102
							GETDATE(), -- APPROVE_DT - datetime
2103
							@p_REASON,N'Trả về'        -- PROCESS_DESC - nvarchar(1000)
2104
						)
2105
						--doanptt 210622 xóa luồng KT
2106
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2107

    
2108
						-- Trả về câu thông báo
2109
						SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
2110
					END
2111
				END
2112
				
2113
			END
2114
			ELSE IF(@p_STAGE='KT_HC')
2115
			BEGIN
2116
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID  AND AUTH_STATUS_KT = 'A'))
2117
				BEGIN
2118
					SET @p_MESSAGE =N'Trả về thất bại!Phiếu yêu cầu thanh toán tự động đã được kiểm sát viên duyệt'
2119
					ROLLBACK TRANSACTION
2120
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2121
					RETURN '-1'
2122
				END
2123
				ELSE
2124
				BEGIN
2125
					UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS ='R', AUTH_STATUS_KT = NULL, PROCESS =NULL,MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2126
					SET @p_MESSAGE =N'Phiếu đề nghị thanh toán tự động đã được trả về đơn vị thành công'
2127
					---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2128
					DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2129
					DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
2130
					-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
2131
					INSERT INTO dbo.PL_PROCESS
2132
					(
2133
						REQ_ID,
2134
						PROCESS_ID,
2135
						CHECKER_ID,
2136
						APPROVE_DT,
2137
						PROCESS_DESC,NOTES
2138
					)
2139
					VALUES
2140
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2141
						'REJECT',        -- PROCESS_ID - varchar(10)
2142
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2143
						GETDATE(), -- APPROVE_DT - datetime
2144
						@p_REASON,N'KSV trả về cho người tạo phiếu'    -- PROCESS_DESC - nvarchar(1000)
2145
					)
2146
				END
2147
			END
2148
			ELSE IF(@p_STAGE='KT')
2149
			BEGIN
2150
				IF((SELECT AUTH_STATUS_KT FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID) = 'R')
2151
				BEGIN
2152
					ROLLBACK TRANSACTION
2153
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID , N'Phiếu yêu cầu thanh toán tự động đã được kiểm soát viên trả về cho giao dịch viên trước đó' ErrorDesc
2154
					RETURN '-1'
2155
				END
2156
				ELSE IF((SELECT AUTH_STATUS FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID) = 'R')
2157
				BEGIN
2158
					ROLLBACK TRANSACTION
2159
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID , N'Phiếu yêu cầu thanh toán tự động đã được kiểm soát viên trả về cho người tạo trước đó' ErrorDesc
2160
					RETURN '-1'
2161
				END
2162
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
2163
				BEGIN
2164
					ROLLBACK TRANSACTION
2165
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID , N'Hủy trả về thất bại! Phiếu yêu cầu thanh toán tự động đã được kiếm sát viên duyệt' ErrorDesc
2166
					RETURN '-1'
2167
				END
2168
				ELSE
2169
				BEGIN
2170
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID AND ISNULL(MAKER_ID_KT, '') <> '' AND AUTH_STATUS_KT IN ('S', 'P')))
2171
					BEGIN
2172
						UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2173
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2174
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT MAKER_ID_KT FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID) AND REQ_ID =@p_TRN_ID
2175
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME = @p_REJECTED_BY AND REQ_ID =@p_TRN_ID
2176
						-- INSERT VAO BANG LICH SU
2177
						INSERT INTO dbo.PL_PROCESS
2178
						(
2179
							REQ_ID,
2180
							PROCESS_ID,
2181
							CHECKER_ID,
2182
							APPROVE_DT,
2183
							PROCESS_DESC,NOTES
2184
						)
2185
						VALUES
2186
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2187
							'REJECT_GDV',        -- PROCESS_ID - varchar(10)
2188
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2189
							GETDATE(), -- APPROVE_DT - datetime
2190
							@p_REASON ,N'KSV trả về cho GDV'     -- PROCESS_DESC - nvarchar(1000)
2191
						)
2192
						-- Trả về câu thông báo
2193
						SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về giao dịch viên thành công'
2194
					END
2195
					ELSE 
2196
					BEGIN
2197
						ROLLBACK TRANSACTION
2198
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID , N'Trả về thất bại! Phiếu yêu cầu thanh toán tự động chưa dược gửi phê duyệt, hoặc chưa đến phòng kế toán' ErrorDesc
2199
						RETURN '-1'
2200
					END
2201
				END
2202
			END
2203
			ELSE IF(@p_STAGE ='SUG')
2204
			BEGIN
2205
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'P' WHERE REQ_ID = @p_TRN_ID AND TLNAME = @p_REJECTED_BY
2206
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'C' WHERE REQ_ID = @p_TRN_ID AND LEVEL_JOB = '2'
2207
				UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS_KT = 'S' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2208
				INSERT INTO dbo.PL_PROCESS
2209
				(
2210
					REQ_ID,
2211
					PROCESS_ID,
2212
					CHECKER_ID,
2213
					APPROVE_DT,
2214
					PROCESS_DESC,NOTES
2215
				)
2216
				VALUES
2217
				(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2218
					'SUG',        -- PROCESS_ID - varchar(10)
2219
					@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2220
					GETDATE(), -- APPROVE_DT - datetime
2221
					@p_REASON ,N'GDV đề xuất từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
2222
				)
2223
			END
2224
			ELSE IF(@p_STAGE ='DEL')
2225
			BEGIN
2226
				UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS_KT = 'D', AUTH_STATUS = 'D', RECORD_STATUS = '0' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2227
				---------------------------------------------------------------------------------------------------------------------
2228
				INSERT INTO dbo.PL_PROCESS
2229
				(
2230
					REQ_ID,
2231
					PROCESS_ID,
2232
					CHECKER_ID,
2233
					APPROVE_DT,
2234
					PROCESS_DESC,NOTES
2235
				)
2236
				VALUES
2237
				(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2238
					'DEL',        -- PROCESS_ID - varchar(10)
2239
					@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2240
					GETDATE(), -- APPROVE_DT - datetime
2241
					@p_REASON ,N'KSV hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
2242
				)
2243
			END
2244
			
2245
		END
2246
		ELSE
2247
		BEGIN
2248
			SET @p_MESSAGE =N'Trả về giao dịch thành công'
2249
		END
2250

    
2251
		---BAODNQ 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
2252
		-------Khai báo DTSD nội bộ-------
2253
		IF(@p_TRN_TYPE ='BUD_INTERNAL')
2254
		--BEGIN ELSE IF---
2255
		BEGIN
2256
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2257
			BEGIN
2258
				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'
2259
				ROLLBACK TRANSACTION
2260
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2261
				RETURN '-1'
2262
			END
2263
			ELSE IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2264
			BEGIN
2265
				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 đó'
2266
				ROLLBACK TRANSACTION
2267
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2268
				RETURN '-1'
2269
			END
2270
			ELSE
2271
			BEGIN
2272
				UPDATE BUD_CONTRACT_MASTER 
2273
				SET AUTH_STATUS ='R', 
2274
				---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2275
					IS_SEND_APPR = 'N',
2276
					CHECKER_ID = NULL,
2277
					APPROVE_DT = NULL,
2278
					SEND_APPR_DT = NULL,
2279
					SIGN_DT = NULL
2280
				WHERE CONTRACT_ID=@p_TRN_ID
2281
				SET @p_MESSAGE =N'Thông tin khai báo DTSD nội bộ đã được trả về thành công'
2282
			END
2283
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2284
			INSERT INTO dbo.PL_PROCESS
2285
					(
2286
						REQ_ID,
2287
						PROCESS_ID,
2288
						CHECKER_ID,
2289
						APPROVE_DT,
2290
						PROCESS_DESC,
2291
						NOTES
2292
					)
2293
					VALUES
2294
					(	@p_TRN_ID,       
2295
						'REJECT',
2296
						@p_REJECTED_BY,        
2297
						GETDATE(), 
2298
						@p_REASON ,      
2299
						N'Từ chối phiếu'       
2300
					)
2301
			IF @@ERROR <> 0 GOTO ABORT
2302

    
2303
		---END ELSE IF---
2304
		END
2305
		-------Quản lý hợp đồng khách thuê-------
2306
		ELSE IF(@p_TRN_TYPE ='BUD_RENTAL')
2307
		--BEGIN ELSE IF---
2308
		BEGIN
2309
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2310
			BEGIN
2311
				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'
2312
				ROLLBACK TRANSACTION
2313
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2314
				RETURN '-1'
2315
			END
2316
			ELSE IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2317
			BEGIN
2318
				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 đó'
2319
				ROLLBACK TRANSACTION
2320
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2321
				RETURN '-1'
2322
			END
2323
			ELSE
2324
			BEGIN
2325
				UPDATE BUD_CONTRACT_CUST_MASTER 
2326
				SET AUTH_STATUS ='R',
2327
				---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2328
					IS_SEND_APPR = 'N',
2329
					CHECKER_ID = NULL,
2330
					APPROVE_DT = NULL,
2331
					SEND_APPR_DT = NULL,
2332
					SIGN_DT = NULL
2333
				WHERE CONTRACT_ID=@p_TRN_ID
2334
				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'
2335
			END
2336
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2337
			INSERT INTO dbo.PL_PROCESS
2338
					(
2339
						REQ_ID,
2340
						PROCESS_ID,
2341
						CHECKER_ID,
2342
						APPROVE_DT,
2343
						PROCESS_DESC,
2344
						NOTES
2345
					)
2346
					VALUES
2347
					(	@p_TRN_ID,       
2348
						'REJECT',
2349
						@p_REJECTED_BY,        
2350
						GETDATE(), 
2351
						@p_REASON ,      
2352
						N'Từ chối phiếu'       
2353
					)
2354
			IF @@ERROR <> 0 GOTO ABORT
2355

    
2356
		---END ELSE IF---
2357
		END
2358
		---datmq 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
2359
			-------Quản lý trụ sở-------
2360
		ELSE IF(@p_TRN_TYPE ='BUD_MASTER')
2361
		--BEGIN ELSE IF---
2362
		BEGIN
2363
			IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2364
			BEGIN
2365
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin trụ sở đã được duyệt'
2366
				ROLLBACK TRANSACTION
2367
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2368
				RETURN '-1'
2369
			END
2370
			ELSE IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2371
			BEGIN
2372
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin trụ sở đã được trả về trước đó'
2373
				ROLLBACK TRANSACTION
2374
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2375
				RETURN '-1'
2376
			END
2377
			ELSE
2378
			BEGIN
2379
				---BAODNQ 26/1/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2380
				UPDATE BUD_MASTER SET 
2381
					AUTH_STATUS ='R',  IS_SEND_APPR = 'N',
2382
					CHECKER_ID = NULL,
2383
					APPROVE_DT = NULL,
2384
					SEND_APPR_DT = NULL,
2385
					SIGN_DT = NULL
2386
				WHERE BUILDING_ID=@p_TRN_ID
2387
				SET @p_MESSAGE =N'Thông tin trụ sở đã được trả về thành công'
2388
			END
2389
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2390
			INSERT INTO dbo.PL_PROCESS
2391
					(
2392
						REQ_ID,
2393
						PROCESS_ID,
2394
						CHECKER_ID,
2395
						APPROVE_DT,
2396
						PROCESS_DESC,
2397
						NOTES
2398
					)
2399
					VALUES
2400
					(	@p_TRN_ID,       
2401
						'REJECT',
2402
						@p_REJECTED_BY,        
2403
						GETDATE(), 
2404
						@p_REASON ,      
2405
						N'Từ chối phiếu'       
2406
					)
2407
			IF @@ERROR <> 0 GOTO ABORT
2408

    
2409
		---END ELSE IF---
2410
		END
2411

    
2412
		/*
2413
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
2414
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
2415
		BEGIN
2416
			IF(@p_STAGE='HC')
2417
			BEGIN
2418
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
2419
				BEGIN
2420
					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'
2421
					ROLLBACK TRANSACTION
2422
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2423
					RETURN '0'
2424
				END
2425
				ELSE
2426
				BEGIN
2427
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
2428
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
2429
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
2430
					BEGIN
2431
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2432
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị thanh toán đã được trả về thành công'
2433
					END
2434
				END
2435
			END
2436
		END
2437

    
2438
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
2439
		ELSE IF(@p_TRN_TYPE ='TR_REQ_ADVACNE_PAY')
2440
		BEGIN
2441
			IF(@p_STAGE='HC')
2442
			BEGIN
2443
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
2444
				BEGIN
2445
					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'
2446
					ROLLBACK TRANSACTION
2447
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2448
					RETURN '0'
2449
				END
2450
				ELSE
2451
				BEGIN
2452
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
2453
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
2454
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
2455
					BEGIN
2456
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2457
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị tạm ứng đã được trả về thành công'
2458
					END
2459
					/*ELSE
2460
					BEGIN
2461
						SET @p_STAGE ='HC'
2462
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
2463
						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'
2464
					END*/
2465
				END
2466
			END
2467
		END
2468
		*/
2469

    
2470
	------BAODNQ 14/02/2022: Thêm xử lý trả về cho phân hệ quản lý BDS------
2471
		-------------Quản lý BDS---------------
2472
		ELSE IF(@p_TRN_TYPE = 'RET_MASTER')
2473
		BEGIN
2474
			IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2475
			BEGIN
2476
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin bất động sản đã được duyệt'
2477
				ROLLBACK TRANSACTION
2478
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2479
				RETURN '-1'
2480
			END
2481
			ELSE IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2482
			BEGIN
2483
				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 đó'
2484
				ROLLBACK TRANSACTION
2485
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2486
				RETURN '-1'
2487
			END
2488
			ELSE
2489
			BEGIN
2490
				UPDATE RET_MASTER
2491
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2492
					CHECKER_ID = NULL,
2493
					APPROVE_DT = NULL,
2494
					SEND_APPR_DT = NULL,
2495
					SIGN_DT = NULL
2496
				WHERE RET_ID = @p_TRN_ID
2497
				SET @p_MESSAGE = N'Thông tin bất động sản đã được trả về thành công'
2498
			END
2499

    
2500
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2501
			INSERT INTO dbo.PL_PROCESS
2502
					(
2503
						REQ_ID,
2504
						PROCESS_ID,
2505
						CHECKER_ID,
2506
						APPROVE_DT,
2507
						PROCESS_DESC,
2508
						NOTES
2509
					)
2510
					VALUES
2511
					(	@p_TRN_ID,       
2512
						'REJECT',
2513
						@p_REJECTED_BY,        
2514
						GETDATE(), 
2515
						@p_REASON ,      
2516
						N'Từ chối phiếu'       
2517
					)
2518
			IF @@ERROR <> 0 GOTO ABORT
2519

    
2520
		END
2521

    
2522
		-------Thông tin sửa chữa BDS--------------
2523
		ELSE IF(@p_TRN_TYPE = 'RET_REPAIR')
2524
		BEGIN
2525
			IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2526
			BEGIN
2527
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin sửa chữa BĐS đã được duyệt'
2528
				ROLLBACK TRANSACTION
2529
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2530
				RETURN '0'
2531
			END
2532
			ELSE IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2533
			BEGIN
2534
				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 đó'
2535
				ROLLBACK TRANSACTION
2536
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2537
				RETURN '-1'
2538
			END
2539
			ELSE
2540
			BEGIN
2541
				UPDATE RET_REPAIR 
2542
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2543
					CHECKER_ID = NULL,
2544
					APPROVE_DT = NULL,
2545
					SEND_APPR_DT = NULL,
2546
					SIGN_DT = NULL
2547
				WHERE RP_ID = @p_TRN_ID
2548
				SET @p_MESSAGE = N'Thông tin sửa chữa BDS đã được trả về thành công'
2549
			END
2550
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2551
			INSERT INTO dbo.PL_PROCESS
2552
					(
2553
						REQ_ID,
2554
						PROCESS_ID,
2555
						CHECKER_ID,
2556
						APPROVE_DT,
2557
						PROCESS_DESC,
2558
						NOTES
2559
					)
2560
					VALUES
2561
					(	@p_TRN_ID,       
2562
						'REJECT',
2563
						@p_REJECTED_BY,        
2564
						GETDATE(), 
2565
						@p_REASON ,      
2566
						N'Từ chối phiếu'       
2567
					)
2568
			IF @@ERROR <> 0 GOTO ABORT
2569

    
2570
		END
2571

    
2572
		-----BDS thuê làm trụ sở CN/PGD--------
2573
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_R_H')
2574
		BEGIN
2575
			IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2576
			BEGIN
2577
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin BĐS đi thuê đã được duyệt'
2578
				ROLLBACK TRANSACTION
2579
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2580
				RETURN '0'
2581
			END
2582
			ELSE IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2583
			BEGIN
2584
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin BĐS đi thuê đã được trả về trước đó'
2585
				ROLLBACK TRANSACTION
2586
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2587
				RETURN '-1'
2588
			END
2589
			ELSE
2590
			BEGIN
2591
				UPDATE REAL_ESTATE_R_H 
2592
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2593
					CHECKER_ID = NULL,
2594
					APPROVE_DT = NULL,
2595
					SEND_APPR_DT = NULL,
2596
					SIGN_DT = NULL
2597
				WHERE RET_R_H_ID = @p_TRN_ID
2598
				SET @p_MESSAGE = N'Thông tin BĐS đi thuê đã được trả về thành công'
2599
			END
2600
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2601
			INSERT INTO dbo.PL_PROCESS
2602
					(
2603
						REQ_ID,
2604
						PROCESS_ID,
2605
						CHECKER_ID,
2606
						APPROVE_DT,
2607
						PROCESS_DESC,
2608
						NOTES
2609
					)
2610
					VALUES
2611
					(	@p_TRN_ID,       
2612
						'REJECT',
2613
						@p_REJECTED_BY,        
2614
						GETDATE(), 
2615
						@p_REASON ,      
2616
						N'Từ chối phiếu'       
2617
					)
2618
			IF @@ERROR <> 0 GOTO ABORT
2619

    
2620
		END
2621

    
2622
		-----BDS đang hoàn thiện thủ tục pháp lý--------
2623
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_L_C')
2624
		BEGIN
2625
			IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2626
			BEGIN
2627
				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'
2628
				ROLLBACK TRANSACTION
2629
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2630
				RETURN '0'
2631
			END
2632
			ELSE IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2633
			BEGIN
2634
				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 đó'
2635
				ROLLBACK TRANSACTION
2636
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2637
				RETURN '-1'
2638
			END
2639
			ELSE 
2640
			BEGIN
2641
				UPDATE REAL_ESTATE_L_C 
2642
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2643
					CHECKER_ID = NULL,
2644
					APPROVE_DT = NULL,
2645
					SEND_APPR_DT = NULL,
2646
					SIGN_DT = NULL
2647
				WHERE RET_L_C_ID = @p_TRN_ID
2648
				SET @p_MESSAGE = N'BDS đang hoàn thiện thủ tục pháp lý đã được trả về thành công'
2649
			END
2650
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2651
			INSERT INTO dbo.PL_PROCESS
2652
					(
2653
						REQ_ID,
2654
						PROCESS_ID,
2655
						CHECKER_ID,
2656
						APPROVE_DT,
2657
						PROCESS_DESC,
2658
						NOTES
2659
					)
2660
					VALUES
2661
					(	@p_TRN_ID,       
2662
						'REJECT',
2663
						@p_REJECTED_BY,        
2664
						GETDATE(), 
2665
						@p_REASON ,      
2666
						N'Từ chối phiếu'       
2667
					)
2668
			IF @@ERROR <> 0 GOTO ABORT
2669

    
2670
		END
2671

    
2672
		---------BAODNQ 18/3/2022: Đánh giá NCC--------
2673
		-------Đánh giá NCC---------
2674
		ELSE IF(@p_TRN_TYPE = 'TR_RATE_SUPPLIER_MASTER')
2675
		BEGIN
2676
			IF(EXISTS(SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2677
			BEGIN
2678
				SET @p_MESSAGE =N'Hủy trả về thất bại! Biên bản đánh giá NCC đã được duyệt'
2679
				ROLLBACK TRANSACTION
2680
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2681
				RETURN '0'
2682
			END
2683
			UPDATE TR_RATE_SUPPLIER_MASTER 
2684
				SET AUTH_STATUS = 'R', 
2685
					IS_SEND_APPR = 'N',
2686
					PROCESS_STATUS = 'REJECT'
2687
			WHERE RATE_ID = @p_TRN_ID
2688
			SET @p_MESSAGE = N'Biên bản đánh giá NCC đã được trả về thành công'
2689

    
2690
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2691
			INSERT INTO dbo.PL_PROCESS
2692
					(
2693
						REQ_ID,
2694
						PROCESS_ID,
2695
						CHECKER_ID,
2696
						APPROVE_DT,
2697
						PROCESS_DESC,
2698
						NOTES
2699
					)
2700
					VALUES
2701
					(	@p_TRN_ID,       
2702
						'REJECT',
2703
						@p_REJECTED_BY,        
2704
						GETDATE(), 
2705
						@p_REASON ,      
2706
						N'Từ chối phiếu'       
2707
					)
2708
			IF @@ERROR <> 0 GOTO ABORT
2709
		END
2710
		ELSE IF(@p_TRN_TYPE ='TR_REQUEST_CAR')
2711
		BEGIN
2712
			DECLARE @p_PROCESS_ID VARCHAR(15)
2713
			SELECT @p_PROCESS_ID=PROCESS_ID FROM TR_REQUEST_CAR WHERE REQ_ID =@p_TRN_ID
2714
			IF(@p_PROCESS_ID='APPROVE')
2715
			BEGIN
2716
				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'
2717
				ROLLBACK TRANSACTION
2718
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2719
				RETURN '0'
2720
			END
2721
			IF(@p_PROCESS_ID IN ('APPNEW','CV_APP'))
2722
			BEGIN
2723
				UPDATE TR_REQUEST_CAR 
2724
				SET AUTH_STATUS ='R',PROCESS_ID='INSERT',IS_SEND_APPR = 'N'
2725
				WHERE REQ_ID=@p_TRN_ID
2726
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công'
2727
				IF(@p_PROCESS_ID='APPNEW')
2728
					BEGIN
2729
						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
2730
					END
2731
				ELSE
2732
					BEGIN
2733
						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
2734
						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
2735
					END
2736
			END
2737
			ELSE IF(@p_PROCESS_ID='USER_SEND')
2738
			BEGIN
2739
					UPDATE TR_REQUEST_CAR
2740
					SET AUTH_STATUS ='R',PROCESS_ID='CV_SEND'
2741
					WHERE REQ_ID=@p_TRN_ID
2742
					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'
2743
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='P' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2744
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='XL' AND REQ_ID=@p_TRN_ID
2745
			END
2746
			ELSE IF(@p_PROCESS_ID IN ('MAKER_APP','TDV_C_APP'))
2747
			BEGIN
2748
				
2749
					UPDATE TR_REQUEST_CAR
2750
					SET AUTH_STATUS ='R',PROCESS_ID='USER_SEND',IS_CONFIRM_COST='N'
2751
					WHERE REQ_ID=@p_TRN_ID
2752
					SET @p_MESSAGE =N'Thông tin chi phí phiếu yêu cầu xe đã được trả về thành công'
2753
					IF(@p_PROCESS_ID='MAKER_APP')
2754
					BEGIN
2755
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
2756
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2757
						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
2758
					END
2759
				ELSE
2760
					BEGIN
2761
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
2762
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2763
						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
2764
						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
2765
					END
2766
			END
2767
			INSERT INTO dbo.PL_PROCESS
2768
					(
2769
						REQ_ID,
2770
						PROCESS_ID,
2771
						CHECKER_ID,
2772
						APPROVE_DT,
2773
						PROCESS_DESC,NOTES
2774
					)
2775
					VALUES
2776
					(   @p_TRN_ID,       
2777
						'REJECT',        
2778
						@p_REJECTED_BY,       
2779
						GETDATE(), 
2780
						@p_REASON,
2781
						N'Từ chối phiếu'    
2782
					)
2783
			
2784
		END
2785
		ELSE IF(@p_TRN_TYPE ='TR_REQUEST_JOB_FORM')
2786
		BEGIN
2787
			DECLARE @PROCESS_ID VARCHAR(15),@SIGN_USER VARCHAR(50)
2788
			SELECT @PROCESS_ID=PROCESS_ID,@SIGN_USER=SIGN_USER FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID =@p_TRN_ID
2789
			--CAR--
2790
				DECLARE @p_PROCESS_ID_CAR VARCHAR(15)
2791
				SELECT @p_PROCESS_ID_CAR=PROCESS_ID FROM TR_REQUEST_CAR WHERE REQ_ID =@p_TRN_ID
2792
				
2793
				IF(@p_PROCESS_ID_CAR ='APPNEW')
2794
				BEGIN
2795
					UPDATE TR_REQUEST_CAR 
2796
					SET AUTH_STATUS ='R',PROCESS_ID='INSERT',IS_SEND_APPR = 'N'
2797
					WHERE REQ_ID=@p_TRN_ID
2798
					SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công'
2799
					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
2800
				END
2801
			--
2802
			IF(@PROCESS_ID='APPROVE')
2803
			BEGIN
2804
				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'
2805
				ROLLBACK TRANSACTION
2806
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2807
				RETURN '0'
2808
			END
2809
            IF(@p_STAGE='REJECT')
2810
            BEGIN
2811
                IF(@PROCESS_ID IN ('SEND','SIGN'))
2812
			BEGIN
2813
				UPDATE dbo.TR_REQUEST_JOB_FORM 
2814
				SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N'
2815
				WHERE REQ_ID=@p_TRN_ID
2816
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
2817

    
2818
				IF(@PROCESS_ID='SEND' AND @SIGN_USER IS NOT NULL)
2819
					BEGIN
2820
						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
2821
					END
2822
				ELSE
2823
					BEGIN
2824
						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
2825
						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
2826
					END
2827
			END
2828
			ELSE IF(@PROCESS_ID='HO_APP')
2829
			BEGIN
2830
					UPDATE dbo.TR_REQUEST_JOB_FORM
2831
					SET AUTH_STATUS ='R',PROCESS_ID='APPNEW'
2832
					WHERE REQ_ID=@p_TRN_ID
2833
					SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
2834
					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
2835
					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
2836
			END
2837
			ELSE IF(@PROCESS_ID = 'MAKER_APP')
2838
			BEGIN
2839
					UPDATE TR_REQUEST_JOB_FORM
2840
					SET AUTH_STATUS ='R',PROCESS_ID='HCHO_XL'
2841
					WHERE REQ_ID=@p_TRN_ID
2842
					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'
2843
					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
2844
					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
2845
			END
2846
			INSERT INTO dbo.PL_PROCESS
2847
					(
2848
						REQ_ID,
2849
						PROCESS_ID,
2850
						CHECKER_ID,
2851
						APPROVE_DT,
2852
						PROCESS_DESC,NOTES
2853
					)
2854
					VALUES
2855
					(   @p_TRN_ID,       
2856
						'REJECT',        
2857
						@p_REJECTED_BY,       
2858
						GETDATE(), 
2859
						@p_REASON,
2860
						N'Từ chối phiếu'    
2861
					)
2862
            END
2863
		END
2864
        ELSE IF(@p_STAGE='CANCEL')
2865
        BEGIN
2866
            UPDATE dbo.TR_REQUEST_JOB_FORM SET PROCESS_ID='CANCEL',AUTH_STATUS='D' WHERE REQ_ID=@p_TRN_ID
2867
			IF @@Error <> 0 GOTO ABORT
2868

    
2869
			IF(EXISTS (SELECT 1 FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID))
2870
			BEGIN
2871
				UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID
2872
			END
2873

    
2874
			EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
2875
			IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
2876
			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))
2877
			UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P' WHERE REQ_ID=@p_TRN_ID AND STATUS ='C' 
2878
			DELETE dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_TRN_ID AND STATUS ='U'
2879
			INSERT INTO dbo.PL_REQUEST_PROCESS
2880
			(
2881
			    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
2882
			)
2883
			VALUES
2884
			(   
2885
				@p_TRN_ID,'CANCEL','C','','','',GETDATE(),'','','','',N'',NULL,'', ''
2886
			)
2887
			-- insert log
2888
			INSERT INTO dbo.PL_PROCESS
2889
			(
2890
				REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES
2891
			)
2892
			VALUES
2893
			(  
2894
				@p_TRN_ID,'CANCEL',@p_REJECTED_BY,GETDATE(),@p_REASON,N'Hủy phiếu thành công'
2895
			)
2896
        END
2897
		--START HIEUHM 08/11/2022 trả về Quản lí hồ sơ công trình XDCB
2898
		ELSE IF(@p_TRN_TYPE = 'CON_MASTER')
2899
		BEGIN
2900
			IF(EXISTS(SELECT * FROM CON_MASTER WHERE CONSTRUCT_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2901
			BEGIN
2902
				SET @p_MESSAGE =N'Trả về thất bại! Công trình đã được duyệt'
2903
				ROLLBACK TRANSACTION
2904
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2905
				RETURN '0'
2906
			END
2907
			UPDATE CON_MASTER 
2908
				SET AUTH_STATUS = 'R'
2909
			WHERE CONSTRUCT_ID = @p_TRN_ID
2910
			UPDATE CON_REQUEST_DOC 
2911
				SET AUTH_STATUS = 'R'
2912
			WHERE CONSTRUCT_ID = @p_TRN_ID
2913
			SET @p_MESSAGE = N'Công trình đã được trả về thành công'
2914

    
2915
			INSERT INTO dbo.PL_PROCESS
2916
					(
2917
						REQ_ID,
2918
						PROCESS_ID,
2919
						CHECKER_ID,
2920
						APPROVE_DT,
2921
						PROCESS_DESC,
2922
						NOTES
2923
					)
2924
					VALUES
2925
					(	@p_TRN_ID,       
2926
						'REJECT',
2927
						@p_REJECTED_BY,        
2928
						GETDATE(), 
2929
						@p_REASON ,      
2930
						N'Từ chối phiếu'       
2931
					)
2932
			IF @@ERROR <> 0 GOTO ABORT
2933
		END
2934
		--END HIEUHM 08/11/2022 trả về Quản lí hồ sơ công trình XDCB
2935

    
2936
		--START HIEUHM 17/11/2022 trả về layout bản vẽ
2937
		ELSE IF(@p_TRN_TYPE = 'CON_LAYOUT_BLUEPRINT')
2938
		BEGIN
2939
			IF(EXISTS(SELECT * FROM CON_LAYOUT_BLUEPRINT WHERE CON_LAYOUT_BLUEPRINT_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2940
			BEGIN
2941
				SET @p_MESSAGE =N'Trả về thất bại! Layout bản vẽ đã được duyệt'
2942
				ROLLBACK TRANSACTION
2943
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2944
				RETURN '0'
2945
			END
2946
			UPDATE CON_LAYOUT_BLUEPRINT 
2947
				SET AUTH_STATUS = 'R',PROCESS_ID='REJECT'
2948
			WHERE CON_LAYOUT_BLUEPRINT_ID = @p_TRN_ID
2949
			UPDATE PL_REQUEST_PROCESS 
2950
				SET [STATUS]='U'
2951
			WHERE REQ_ID = @p_TRN_ID
2952
			SET @p_MESSAGE = N'Layout bản vẽ đã được trả về thành công'
2953

    
2954
			INSERT INTO dbo.PL_PROCESS
2955
					(
2956
						REQ_ID,
2957
						PROCESS_ID,
2958
						CHECKER_ID,
2959
						APPROVE_DT,
2960
						PROCESS_DESC,
2961
						NOTES
2962
					)
2963
					VALUES
2964
					(	@p_TRN_ID,       
2965
						'REJECT',
2966
						@p_REJECTED_BY,        
2967
						GETDATE(), 
2968
						@p_REASON ,      
2969
						N'Từ chối phiếu'       
2970
					)
2971
			IF @@ERROR <> 0 GOTO ABORT
2972
		END
2973
		--END HIEUHM 17/11/2022 trả về layout bản vẽ
2974
		--- INSERT VAO BANG CM_REJECT_LOG
2975
		EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
2976
		IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
2977
		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))
2978
		IF @@Error <> 0 GOTO ABORT
2979
COMMIT TRANSACTION
2980
SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2981
RETURN '0'
2982
ABORT:
2983
BEGIN
2984

    
2985
		ROLLBACK TRANSACTION
2986
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
2987
		RETURN '-1'
2988
END
2989

    
2990

    
2991

    
2992

    
2993