Project

General

Profile

CM_REJECT_LOG_Ins_091222.txt

Luc Tran Van, 12/09/2022 02:08 PM

 
1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
2064
		---END ELSE IF---
2065
		END
2066

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

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

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

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

    
2175
		END
2176

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

    
2225
		END
2226

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

    
2275
		END
2276

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

    
2325
		END
2326

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

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

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

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

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

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

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

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

    
2598

    
2599