Project

General

Profile

CM_REJECT_LOG_Ins.txt

Luc Tran Van, 12/31/2022 11:14 AM

 
1

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

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

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

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

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

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

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

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

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

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

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

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

    
854
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
855
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
856
						END
857
						ELSE
858
						BEGIN
859
							SET @p_STAGE ='HC'
860
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
861
							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'
862

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

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

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

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

    
933
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
934
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
935
					END
936
					ELSE
937
					BEGIN
938
						SET @p_STAGE ='HC'
939
						UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
940
						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'
941

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
2075
		---END ELSE IF---
2076
		END
2077

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

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

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

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

    
2186
		END
2187

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

    
2236
		END
2237

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

    
2286
		END
2287

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

    
2336
		END
2337

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

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

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

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

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

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

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

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

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

    
2643