Project

General

Profile

CM_REJECT_INS.txt

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

 
1

    
2

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

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

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

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

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

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

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

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

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

    
783
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
784
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
785
					END
786
				END
787
			END
788
			ELSE IF(@p_STAGE='KT_HC')
789
				BEGIN
790
					BEGIN
791
					IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
792
						BEGIN
793
							SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới vật liệu đã được kế toán duyệt'
794
							ROLLBACK TRANSACTION
795
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
796
							RETURN '0'
797
						END
798
					ELSE
799
						BEGIN
800
							SET @p_STAGE ='HC'
801
							UPDATE MW_IN_MASTER SET AUTH_STATUS ='R',CORE_NOTE = NULL
802
							, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
803
							--,CHECKER_ID_KT = @p_REJECTED_BY,APPROVE_DT_KT = GETDATE()
804
							WHERE IN_ID =@p_TRN_ID
805
							SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về hành chính thành công'
806

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

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

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

    
864
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
865
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
866
						END
867
					END
868
			END
869
			ELSE IF(@p_STAGE='KT_HC')
870
				BEGIN
871
					IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
872
						BEGIN
873
							SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển vật liệu đã được kế toán duyệt'
874
							ROLLBACK TRANSACTION
875
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
876
							RETURN '0'
877
						END
878
					ELSE
879
						BEGIN
880
							SET @p_STAGE ='HC'
881
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R', CORE_NOTE = NULL 
882
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
883
							--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
884
							WHERE TRANSFER_ID =@p_TRN_ID
885
							SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về hành chính thành công'
886

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

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

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

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

    
943
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
944
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
945
					END
946
				END
947
			END
948
			ELSE IF(@p_STAGE='KT_HC')
949
				BEGIN
950
					IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
951
						BEGIN
952
							SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng vật liệu đã được kế toán duyệt'
953
							ROLLBACK TRANSACTION
954
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
955
							RETURN '0'
956
						END
957
					ELSE
958
						BEGIN
959
							SET @p_STAGE ='HC'
960
							UPDATE MW_OUT SET AUTH_STATUS ='R', CORE_NOTE = NULL
961
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
962
							--, KT_APPROVE_DT = GETDATE() ,KT_CHECKER_ID = @p_REJECTED_BY
963
							WHERE OUT_ID =@p_TRN_ID
964
							SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về hành chính thành công'
965

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

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

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

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

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

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

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

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

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

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

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

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

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

    
2053
		---END ELSE IF---
2054
		END
2055

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

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

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

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

    
2164
		END
2165

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

    
2214
		END
2215

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

    
2264
		END
2265

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

    
2314
		END
2315

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

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

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

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

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

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

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

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

    
2587

    
2588