Project

General

Profile

reject_ins.txt

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

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

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

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

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

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

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

    
2051
		---END ELSE IF---
2052
		END
2053

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

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

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

    
2142
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2143
			INSERT INTO dbo.PL_PROCESS
2144
					(
2145
						REQ_ID,
2146
						PROCESS_ID,
2147
						CHECKER_ID,
2148
						APPROVE_DT,
2149
						PROCESS_DESC,
2150
						NOTES
2151
					)
2152
					VALUES
2153
					(	@p_TRN_ID,       
2154
						'REJECT',
2155
						@p_REJECTED_BY,        
2156
						GETDATE(), 
2157
						@p_REASON ,      
2158
						N'Từ chối phiếu'       
2159
					)
2160
			IF @@ERROR <> 0 GOTO ABORT
2161

    
2162
		END
2163

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

    
2212
		END
2213

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

    
2262
		END
2263

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

    
2312
		END
2313

    
2314
		---------BAODNQ 18/3/2022: Đánh giá NCC--------
2315
		-------Đánh giá NCC---------
2316
		ELSE IF(@p_TRN_TYPE = 'TR_RATE_SUPPLIER_MASTER')
2317
		BEGIN
2318
			IF(EXISTS(SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2319
			BEGIN
2320
				SET @p_MESSAGE =N'Hủy trả về thất bại! Biên bản đánh giá NCC đã được duyệt'
2321
				ROLLBACK TRANSACTION
2322
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2323
				RETURN '0'
2324
			END
2325
			UPDATE TR_RATE_SUPPLIER_MASTER 
2326
				SET AUTH_STATUS = 'R', 
2327
					IS_SEND_APPR = 'N',
2328
					PROCESS_STATUS = 'REJECT'
2329
			WHERE RATE_ID = @p_TRN_ID
2330
			SET @p_MESSAGE = N'Biên bản đánh giá NCC đã được trả về thành công'
2331

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

    
2439
			IF(@PROCESS_ID IN ('SEND','SIGN'))
2440
			BEGIN
2441
				UPDATE dbo.TR_REQUEST_JOB_FORM 
2442
				SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N'
2443
				WHERE REQ_ID=@p_TRN_ID
2444
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
2445

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

    
2510
			INSERT INTO dbo.PL_PROCESS
2511
					(
2512
						REQ_ID,
2513
						PROCESS_ID,
2514
						CHECKER_ID,
2515
						APPROVE_DT,
2516
						PROCESS_DESC,
2517
						NOTES
2518
					)
2519
					VALUES
2520
					(	@p_TRN_ID,       
2521
						'REJECT',
2522
						@p_REJECTED_BY,        
2523
						GETDATE(), 
2524
						@p_REASON ,      
2525
						N'Từ chối phiếu'       
2526
					)
2527
			IF @@ERROR <> 0 GOTO ABORT
2528
		END
2529
		--END HIEUHM 08/11/2022 trả về Quản lí hồ sơ công trình XDCB
2530

    
2531
		--START HIEUHM 17/11/2022 trả về layout bản vẽ
2532
		ELSE IF(@p_TRN_TYPE = 'CON_LAYOUT_BLUEPRINT')
2533
		BEGIN
2534
			IF(EXISTS(SELECT * FROM CON_LAYOUT_BLUEPRINT WHERE CON_LAYOUT_BLUEPRINT_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2535
			BEGIN
2536
				SET @p_MESSAGE =N'Trả về thất bại! Layout bản vẽ đã được duyệt'
2537
				ROLLBACK TRANSACTION
2538
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2539
				RETURN '0'
2540
			END
2541
			UPDATE CON_LAYOUT_BLUEPRINT 
2542
				SET AUTH_STATUS = 'R',PROCESS_ID='REJECT'
2543
			WHERE CON_LAYOUT_BLUEPRINT_ID = @p_TRN_ID
2544
			UPDATE PL_REQUEST_PROCESS 
2545
				SET [STATUS]='U'
2546
			WHERE REQ_ID = @p_TRN_ID
2547
			SET @p_MESSAGE = N'Layout bản vẽ đã được trả về thành công'
2548

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

    
2580
		ROLLBACK TRANSACTION
2581
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
2582
		RETURN '-1'
2583
END
2584

    
2585

    
2586