Project

General

Profile

CM_REJECT_INS.txt

Luc Tran Van, 12/12/2022 03:58 PM

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

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

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

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

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

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

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

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

    
774
					END
775
					ELSE
776
					BEGIN
777
						SET @p_STAGE ='HC'
778
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
779
						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'
780

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
2063
		---END ELSE IF---
2064
		END
2065

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

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

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

    
2154
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2155
			INSERT INTO dbo.PL_PROCESS
2156
					(
2157
						REQ_ID,
2158
						PROCESS_ID,
2159
						CHECKER_ID,
2160
						APPROVE_DT,
2161
						PROCESS_DESC,
2162
						NOTES
2163
					)
2164
					VALUES
2165
					(	@p_TRN_ID,       
2166
						'REJECT',
2167
						@p_REJECTED_BY,        
2168
						GETDATE(), 
2169
						@p_REASON ,      
2170
						N'Từ chối phiếu'       
2171
					)
2172
			IF @@ERROR <> 0 GOTO ABORT
2173

    
2174
		END
2175

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

    
2224
		END
2225

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

    
2274
		END
2275

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

    
2324
		END
2325

    
2326
		---------BAODNQ 18/3/2022: Đánh giá NCC--------
2327
		-------Đánh giá NCC---------
2328
		ELSE IF(@p_TRN_TYPE = 'TR_RATE_SUPPLIER_MASTER')
2329
		BEGIN
2330
			IF(EXISTS(SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2331
			BEGIN
2332
				SET @p_MESSAGE =N'Hủy trả về thất bại! Biên bản đánh giá NCC đã được duyệt'
2333
				ROLLBACK TRANSACTION
2334
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2335
				RETURN '0'
2336
			END
2337
			UPDATE TR_RATE_SUPPLIER_MASTER 
2338
				SET AUTH_STATUS = 'R', 
2339
					IS_SEND_APPR = 'N',
2340
					PROCESS_STATUS = 'REJECT'
2341
			WHERE RATE_ID = @p_TRN_ID
2342
			SET @p_MESSAGE = N'Biên bản đánh giá NCC đã được trả về thành công'
2343

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

    
2451
			IF(@PROCESS_ID IN ('SEND','SIGN'))
2452
			BEGIN
2453
				UPDATE dbo.TR_REQUEST_JOB_FORM 
2454
				SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N'
2455
				WHERE REQ_ID=@p_TRN_ID
2456
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
2457

    
2458
				IF(@PROCESS_ID='SEND' AND @SIGN_USER IS NOT NULL)
2459
					BEGIN
2460
						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
2461
					END
2462
				ELSE
2463
					BEGIN
2464
						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
2465
						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
2466
					END
2467
			END
2468
			ELSE IF(@PROCESS_ID='HO_APP')
2469
			BEGIN
2470
					UPDATE dbo.TR_REQUEST_JOB_FORM
2471
					SET AUTH_STATUS ='R',PROCESS_ID='APPNEW'
2472
					WHERE REQ_ID=@p_TRN_ID
2473
					SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
2474
					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
2475
					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
2476
			END
2477
			ELSE IF(@PROCESS_ID = 'MAKER_APP')
2478
			BEGIN
2479
					UPDATE TR_REQUEST_JOB_FORM
2480
					SET AUTH_STATUS ='R',PROCESS_ID='HCHO_XL'
2481
					WHERE REQ_ID=@p_TRN_ID
2482
					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'
2483
					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
2484
					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
2485
			END
2486
			INSERT INTO dbo.PL_PROCESS
2487
					(
2488
						REQ_ID,
2489
						PROCESS_ID,
2490
						CHECKER_ID,
2491
						APPROVE_DT,
2492
						PROCESS_DESC,NOTES
2493
					)
2494
					VALUES
2495
					(   @p_TRN_ID,       
2496
						'REJECT',        
2497
						@p_REJECTED_BY,       
2498
						GETDATE(), 
2499
						@p_REASON,
2500
						N'Từ chối phiếu'    
2501
					)
2502
			
2503
		END
2504
		--START HIEUHM 08/11/2022 trả về Quản lí hồ sơ công trình XDCB
2505
		ELSE IF(@p_TRN_TYPE = 'CON_MASTER')
2506
		BEGIN
2507
			IF(EXISTS(SELECT * FROM CON_MASTER WHERE CONSTRUCT_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2508
			BEGIN
2509
				SET @p_MESSAGE =N'Trả về thất bại! Công trình đã được duyệt'
2510
				ROLLBACK TRANSACTION
2511
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2512
				RETURN '0'
2513
			END
2514
			UPDATE CON_MASTER 
2515
				SET AUTH_STATUS = 'R'
2516
			WHERE CONSTRUCT_ID = @p_TRN_ID
2517
			UPDATE CON_REQUEST_DOC 
2518
				SET AUTH_STATUS = 'R'
2519
			WHERE CONSTRUCT_ID = @p_TRN_ID
2520
			SET @p_MESSAGE = N'Công trình đã được trả về thành công'
2521

    
2522
			INSERT INTO dbo.PL_PROCESS
2523
					(
2524
						REQ_ID,
2525
						PROCESS_ID,
2526
						CHECKER_ID,
2527
						APPROVE_DT,
2528
						PROCESS_DESC,
2529
						NOTES
2530
					)
2531
					VALUES
2532
					(	@p_TRN_ID,       
2533
						'REJECT',
2534
						@p_REJECTED_BY,        
2535
						GETDATE(), 
2536
						@p_REASON ,      
2537
						N'Từ chối phiếu'       
2538
					)
2539
			IF @@ERROR <> 0 GOTO ABORT
2540
		END
2541
		--END HIEUHM 08/11/2022 trả về Quản lí hồ sơ công trình XDCB
2542

    
2543
		--START HIEUHM 17/11/2022 trả về layout bản vẽ
2544
		ELSE IF(@p_TRN_TYPE = 'CON_LAYOUT_BLUEPRINT')
2545
		BEGIN
2546
			IF(EXISTS(SELECT * FROM CON_LAYOUT_BLUEPRINT WHERE CON_LAYOUT_BLUEPRINT_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2547
			BEGIN
2548
				SET @p_MESSAGE =N'Trả về thất bại! Layout bản vẽ đã được duyệt'
2549
				ROLLBACK TRANSACTION
2550
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2551
				RETURN '0'
2552
			END
2553
			UPDATE CON_LAYOUT_BLUEPRINT 
2554
				SET AUTH_STATUS = 'R',PROCESS_ID='REJECT'
2555
			WHERE CON_LAYOUT_BLUEPRINT_ID = @p_TRN_ID
2556
			UPDATE PL_REQUEST_PROCESS 
2557
				SET [STATUS]='U'
2558
			WHERE REQ_ID = @p_TRN_ID
2559
			SET @p_MESSAGE = N'Layout bản vẽ đã được trả về thành công'
2560

    
2561
			INSERT INTO dbo.PL_PROCESS
2562
					(
2563
						REQ_ID,
2564
						PROCESS_ID,
2565
						CHECKER_ID,
2566
						APPROVE_DT,
2567
						PROCESS_DESC,
2568
						NOTES
2569
					)
2570
					VALUES
2571
					(	@p_TRN_ID,       
2572
						'REJECT',
2573
						@p_REJECTED_BY,        
2574
						GETDATE(), 
2575
						@p_REASON ,      
2576
						N'Từ chối phiếu'       
2577
					)
2578
			IF @@ERROR <> 0 GOTO ABORT
2579
		END
2580
		--END HIEUHM 17/11/2022 trả về layout bản vẽ
2581
		--- INSERT VAO BANG CM_REJECT_LOG
2582
		EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
2583
		IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
2584
		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))
2585
		IF @@Error <> 0 GOTO ABORT
2586
COMMIT TRANSACTION
2587
SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2588
RETURN '0'
2589
ABORT:
2590
BEGIN
2591

    
2592
		ROLLBACK TRANSACTION
2593
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
2594
		RETURN '-1'
2595
END
2596

    
2597

    
2598