Project

General

Profile

ASS_INVENT.txt

Luc Tran Van, 03/14/2023 02:06 PM

 
1
ALTER procedure dbo.CM_BRANCH_Combobox @BRANCH_ID VARCHAR(15)
2
AS
3
BEGIN
4

    
5
	declare @tmp table(BRANCH_ID varchar(15))
6
	insert into @tmp SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID_Funct](@BRANCH_ID)
7

    
8
	SELECT BRANCH_ID, BRANCH_CODE,BRANCH_NAME FROM CM_BRANCH where BRANCH_ID IN (SELECT BRANCH_ID FROM @tmp)
9
END
10

    
11

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

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

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

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

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

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

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

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

    
799
					END
800
					ELSE
801
					BEGIN
802
						SET @p_STAGE ='HC'
803
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' 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 IF(@p_STAGE='KT_HC')
812
				BEGIN
813
					BEGIN
814
					IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
815
						BEGIN
816
							SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới vật liệu đã được kế toán duyệt'
817
							ROLLBACK TRANSACTION
818
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
819
							RETURN '0'
820
						END
821
					ELSE
822
						BEGIN
823
							SET @p_STAGE ='HC'
824
							UPDATE MW_IN_MASTER SET AUTH_STATUS ='R',CORE_NOTE = NULL
825
							, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
826
							--,CHECKER_ID_KT = @p_REJECTED_BY,APPROVE_DT_KT = GETDATE()
827
							WHERE IN_ID =@p_TRN_ID
828
							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'
829

    
830
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
831
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
832
						END
833
					END
834
				END
835
			ELSE
836
			BEGIN
837
				IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
838
				BEGIN
839
					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'
840
					ROLLBACK TRANSACTION
841
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
842
					RETURN '0'
843
				END
844
				ELSE
845
				BEGIN
846
					UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
847
					SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
848

    
849
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
850
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
851
				END
852
			END
853
			END
854
		END
855
		
856
		--- MW - TRANSFER : ĐIỀU CHUYỂN VẬT LIỆU
857
		ELSE IF(@p_TRN_TYPE ='MW_TRANSFER')
858
		BEGIN
859
			BEGIN
860
			IF(@p_STAGE='KT')
861
			BEGIN
862
				IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
863
					BEGIN
864
						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'
865
						ROLLBACK TRANSACTION
866
						SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
867
						RETURN '0'
868
					END
869
				ELSE
870
					BEGIN
871
						--UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
872
						--SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
873
						IF(EXISTS(SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
874
						BEGIN
875
							UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
876
							SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
877

    
878
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
879
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
880
						END
881
						ELSE
882
						BEGIN
883
							SET @p_STAGE ='HC'
884
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
885
							SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về hành chính thành công'
886

    
887
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
888
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
889
						END
890
					END
891
			END
892
			ELSE IF(@p_STAGE='KT_HC')
893
				BEGIN
894
					IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
895
						BEGIN
896
							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'
897
							ROLLBACK TRANSACTION
898
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
899
							RETURN '0'
900
						END
901
					ELSE
902
						BEGIN
903
							SET @p_STAGE ='HC'
904
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R', CORE_NOTE = NULL 
905
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
906
							--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
907
							WHERE TRANSFER_ID =@p_TRN_ID
908
							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'
909

    
910
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
911
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
912
						END
913
				END
914
			ELSE
915
			BEGIN
916
				IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
917
				BEGIN
918
					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'
919
					ROLLBACK TRANSACTION
920
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
921
					RETURN '0'
922
				END
923
				ELSE
924
				BEGIN
925
					UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
926
					SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
927

    
928
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
929
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
930
				END
931
			END
932
			END
933

    
934
		END
935
		--- MW_OUT : XUẤT VẬT LIỆU
936
		ELSE IF(@p_TRN_TYPE ='MW_OUT')
937
		BEGIN
938
			BEGIN
939
			IF(@p_STAGE='KT')
940
			BEGIN
941
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
942
				BEGIN
943
					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'
944
					ROLLBACK TRANSACTION
945
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
946
					RETURN '0'
947
				END
948
				ELSE
949
				BEGIN
950
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
951
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
952
					IF(EXISTS(SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
953
					BEGIN
954
						UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
955
						SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
956

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

    
966
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
967
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
968
					END
969
				END
970
			END
971
			ELSE IF(@p_STAGE='KT_HC')
972
				BEGIN
973
					IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
974
						BEGIN
975
							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'
976
							ROLLBACK TRANSACTION
977
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
978
							RETURN '0'
979
						END
980
					ELSE
981
						BEGIN
982
							SET @p_STAGE ='HC'
983
							UPDATE MW_OUT SET AUTH_STATUS ='R', CORE_NOTE = NULL
984
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
985
							--, KT_APPROVE_DT = GETDATE() ,KT_CHECKER_ID = @p_REJECTED_BY
986
							WHERE OUT_ID =@p_TRN_ID
987
							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'
988

    
989
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
990
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
991
						END
992
				END
993
			ELSE
994
			BEGIN
995
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
996
				BEGIN
997
					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'
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 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

    
1007
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1008
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1009
				END
1010
			END
1011
			END
1012
		END
1013
		--- MW_OUT : THANH LÝ VẬT LIỆU
1014
		ELSE IF(@p_TRN_TYPE ='MW_LIQ_MASTER')
1015
		BEGIN
1016
			BEGIN
1017
			IF(@p_STAGE='KT')
1018
			BEGIN
1019
				IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1020
				BEGIN
1021
					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'
1022
					ROLLBACK TRANSACTION
1023
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1024
					RETURN '0'
1025
				END
1026
				ELSE
1027
				BEGIN
1028
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1029
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1030
					IF(EXISTS(SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
1031
					BEGIN
1032
						UPDATE MW_LIQ_MASTER SET KT_AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
1033
						SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công'
1034

    
1035
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1036
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1037
					END
1038
					ELSE
1039
					BEGIN
1040
						SET @p_STAGE ='HC'
1041
						UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
1042
						SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công'
1043

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

    
1067
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1068
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1069
						END
1070
				END
1071
			ELSE
1072
			BEGIN
1073
				IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1074
				BEGIN
1075
					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'
1076
					ROLLBACK TRANSACTION
1077
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1078
					RETURN '0'
1079
				END
1080
				ELSE
1081
				BEGIN
1082
					UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
1083
					SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công'
1084

    
1085
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1086
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1087
				END
1088
			END
1089
			END
1090
		END
1091
		-- PHIEU DE NGHI TAM UNG 05 11 2019
1092
		ELSE IF(@p_TRN_TYPE ='REQ_ADVANCE_PAY')
1093
		BEGIN
1094
			
1095
			IF(@p_STAGE='KT')
1096
			BEGIN
1097
				-- doanptt them rang buoc nhap ky do tra ve
1098
				IF(@p_REASON IS NULL OR @p_REASON = '')
1099
				BEGIN
1100
					SET @p_MESSAGE =N'Lý do trả về không được để trống'
1101
					ROLLBACK TRANSACTION
1102
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1103
					RETURN '-1'
1104
				END
1105
				IF((SELECT AUTH_STATUS_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
1106
				BEGIN
1107
					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 đó'
1108
					ROLLBACK TRANSACTION
1109
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1110
					RETURN '-1'
1111
				END
1112
				IF((SELECT CHECKER_ID_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) IS NULL)
1113
				BEGIN
1114
					IF((SELECT AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
1115
					BEGIN
1116
						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 đó'
1117
						ROLLBACK TRANSACTION
1118
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1119
						RETURN '-1'
1120
					END
1121
					/*
1122
					ELSE
1123
					BEGIN
1124
						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'
1125
						ROLLBACK TRANSACTION
1126
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1127
						RETURN '-1'
1128
					END
1129
					*/
1130
				END
1131

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

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

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

    
1780
		--- Tờ trình chủ trương
1781
		ELSE IF(@p_TRN_TYPE='PL_REQUEST_DOC')
1782
		BEGIN	IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
1783
				BEGIN
1784
					SET @p_MESSAGE =N'Trả về thất bại! Tờ trình chủ trương đã được duyệt'
1785
					ROLLBACK TRANSACTION
1786
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1787
					RETURN '0'
1788
				END
1789
				ELSE
1790
				BEGIN
1791
					UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
1792
					INSERT INTO dbo.PL_PROCESS
1793
					(
1794
						REQ_ID,
1795
						PROCESS_ID,
1796
						CHECKER_ID,
1797
						APPROVE_DT,
1798
						PROCESS_DESC,NOTES
1799
					)
1800
					VALUES
1801
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1802
						'REJECT',        -- PROCESS_ID - varchar(10)
1803
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1804
						GETDATE(), -- APPROVE_DT - datetime
1805
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1806
					)
1807
					SET @p_MESSAGE =N'Tờ trình chủ trương đã được trả về thành công'
1808
					 -- 28-10-2020 LUCTV, KHI TRA VE PHAI GO PL_REQUEST_PROCESS
1809
					 UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Tờ trình bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID
1810
					 UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SIGN' AND REQ_ID=@p_TRN_ID
1811
			 END
1812
		END
1813
		ELSE IF(@p_TRN_TYPE='TR_REQUEST_DOC')
1814
		BEGIN
1815
			--IF(@p_STAGE='DVMS')
1816
			--BEGIN
1817
			--END
1818
			IF(@p_STAGE='PDYC' OR @p_STAGE ='DV')
1819
			BEGIN
1820
				IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
1821
				BEGIN
1822
					SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được duyệt'
1823
					ROLLBACK TRANSACTION
1824
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1825
					RETURN '0'
1826
				END
1827
				ELSE
1828
				BEGIN
1829
					UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID='REJECT', AUTH_STATUS ='R' WHERE REQ_ID=@p_TRN_ID
1830
					INSERT INTO dbo.PL_PROCESS
1831
					(
1832
						REQ_ID,
1833
						PROCESS_ID,
1834
						CHECKER_ID,
1835
						APPROVE_DT,
1836
						PROCESS_DESC,NOTES
1837
					)
1838
					VALUES
1839
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1840
						'REJECT',        -- PROCESS_ID - varchar(10)
1841
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1842
						GETDATE(), -- APPROVE_DT - datetime
1843
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1844
					)
1845
					 SET @p_MESSAGE =N'Phiếu yêu cầu mua sắm đã được trả về thành công'
1846
					 -- 28-10-2020 LUCTV, KHI TRA VE PHAI GO PL_REQUEST_PROCESS
1847
					 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
1848
					 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
1849
				 END
1850
			END	
1851
		END
1852
		-- END IF
1853
		-- NEU LA TRA VE CUA HOP DONG
1854
		ELSE IF(@p_TRN_TYPE='TR_CONTRACT')
1855
		BEGIN
1856
		--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
1857
		IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
1858
		BEGIN
1859
			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'
1860
			ROLLBACK TRANSACTION
1861
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1862
			RETURN '0'
1863
		END
1864
		IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
1865
		BEGIN
1866
			SET @p_MESSAGE =N'Trả về thất bại! Hợp đồng đã được phê duyệt thành công trước đó!'
1867
			ROLLBACK TRANSACTION
1868
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1869
			RETURN '0'
1870
		END
1871
		UPDATE TR_CONTRACT SET 
1872
			AUTH_STATUS ='R', 
1873
			IS_SEND_APPR = 'N',
1874
			CHECKER_ID = NULL,
1875
			APPROVE_DT = NULL,
1876
			SEND_APPR_DT = NULL
1877
		WHERE CONTRACT_ID =@p_TRN_ID
1878
		INSERT INTO dbo.PL_PROCESS
1879
					(
1880
						REQ_ID,
1881
						PROCESS_ID,
1882
						CHECKER_ID,
1883
						APPROVE_DT,
1884
						PROCESS_DESC,NOTES
1885
					)
1886
					VALUES
1887
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1888
						'REJECT',        -- PROCESS_ID - varchar(10)
1889
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1890
						GETDATE(), -- APPROVE_DT - datetime
1891
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1892
					)
1893
			SET @p_MESSAGE =N'Hợp đồng đã được trả về thành công'		
1894
		END
1895
		-- NEU LA TRA VE CUA HOP DONG
1896
		ELSE IF(@p_TRN_TYPE='TR_PO')
1897
		BEGIN
1898
		--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
1899
		IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
1900
		BEGIN
1901
			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'
1902
			ROLLBACK TRANSACTION
1903
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1904
			RETURN '0'
1905
		END
1906
		IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
1907
		BEGIN
1908
			SET @p_MESSAGE =N'Trả về thất bại! PO đã được phê duyệt thành công trước đó!'
1909
			ROLLBACK TRANSACTION
1910
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1911
			RETURN '0'
1912
		END
1913
		UPDATE TR_PO_MASTER SET 
1914
			AUTH_STATUS ='R', 
1915
			IS_SEND_APPR = 'N',
1916
			CHECKER_ID = NULL,
1917
			APPROVE_DT = NULL,
1918
			SEND_APPR_DT = NULL
1919
		WHERE PO_ID =@p_TRN_ID
1920
		INSERT INTO dbo.PL_PROCESS
1921
					(
1922
						REQ_ID,
1923
						PROCESS_ID,
1924
						CHECKER_ID,
1925
						APPROVE_DT,
1926
						PROCESS_DESC,NOTES
1927
					)
1928
					VALUES
1929
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1930
						'REJECT',        -- PROCESS_ID - varchar(10)
1931
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1932
						GETDATE(), -- APPROVE_DT - datetime
1933
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1934
					)
1935
			SET @p_MESSAGE =N'PO đã được trả về thành công'		
1936
		END
1937
		--- KET THUC TRA VE PO
1938
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY_AUTO')
1939
		BEGIN
1940
			IF(@p_STAGE ='HC')
1941
			BEGIN
1942
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND ISNULL(PROCESS, '') = '6' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')) -- TAM DUNG PHIEU
1943
				BEGIN
1944
					UPDATE TR_REQ_PAYMENT_AUTO 
1945
					SET PROCESS = '7.1'
1946
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
1947
					-- INSERT VAO BANG LICH SU
1948
					INSERT INTO dbo.PL_PROCESS
1949
					(
1950
						REQ_ID,
1951
						PROCESS_ID,
1952
						CHECKER_ID,
1953
						APPROVE_DT,
1954
						PROCESS_DESC,NOTES
1955
					)
1956
					VALUES
1957
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1958
						'REJECT_SUS',        -- PROCESS_ID - varchar(10)
1959
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1960
						GETDATE(), -- APPROVE_DT - datetime
1961
						@p_REASON,N'Cấp duyệt trung gian từ chối yêu cầu tạm dừng'        -- PROCESS_DESC - nvarchar(1000)
1962
					)
1963

    
1964
					-- Trả về câu thông báo
1965
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
1966
				END
1967
				ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND ISNULL(PROCESS, '') = '6' AND ISNULL(TRANSFER_USER_RECEIVE, '') = '')) -- TAM DUNG PHIEU
1968
				BEGIN
1969
					UPDATE TR_REQ_PAYMENT_AUTO 
1970
					SET PROCESS = '8.1'
1971
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
1972
					-- INSERT VAO BANG LICH SU
1973
					INSERT INTO dbo.PL_PROCESS
1974
					(
1975
						REQ_ID,
1976
						PROCESS_ID,
1977
						CHECKER_ID,
1978
						APPROVE_DT,
1979
						PROCESS_DESC,NOTES
1980
					)
1981
					VALUES
1982
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1983
						'REJECT_SUS',        -- PROCESS_ID - varchar(10)
1984
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1985
						GETDATE(), -- APPROVE_DT - datetime
1986
						@p_REASON,N'Trưởng đơn vị từ chối yêu cầu tạm dừng'        -- PROCESS_DESC - nvarchar(1000)
1987
					)
1988

    
1989
					-- Trả về câu thông báo
1990
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
1991
				END
1992
				ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND ISNULL(PROCESS, '') = '9' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')) -- KHOI PHUC PHIEU
1993
				BEGIN
1994
					UPDATE TR_REQ_PAYMENT_AUTO 
1995
					SET PROCESS = '10.1'
1996
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
1997
					-- INSERT VAO BANG LICH SU
1998
					INSERT INTO dbo.PL_PROCESS
1999
					(
2000
						REQ_ID,
2001
						PROCESS_ID,
2002
						CHECKER_ID,
2003
						APPROVE_DT,
2004
						PROCESS_DESC,NOTES
2005
					)
2006
					VALUES
2007
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2008
						'REJ_UNSUS',        -- PROCESS_ID - varchar(10)
2009
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2010
						GETDATE(), -- APPROVE_DT - datetime
2011
						@p_REASON,N'Cấp duyệt trung gian từ chối yêu cầu khôi phục phiếu'        -- PROCESS_DESC - nvarchar(1000)
2012
					)
2013

    
2014
					-- Trả về câu thông báo
2015
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
2016
				END
2017
				ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND ISNULL(PROCESS, '') = '9' AND ISNULL(TRANSFER_USER_RECEIVE, '') = '')) -- KHOI PHUC PHIEU
2018
				BEGIN
2019
					UPDATE TR_REQ_PAYMENT_AUTO 
2020
					SET PROCESS = '11.1'
2021
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2022
					-- INSERT VAO BANG LICH SU
2023
					INSERT INTO dbo.PL_PROCESS
2024
					(
2025
						REQ_ID,
2026
						PROCESS_ID,
2027
						CHECKER_ID,
2028
						APPROVE_DT,
2029
						PROCESS_DESC,NOTES
2030
					)
2031
					VALUES
2032
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2033
						'REJECT_SUS',        -- PROCESS_ID - varchar(10)
2034
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2035
						GETDATE(), -- APPROVE_DT - datetime
2036
						@p_REASON,N'Trưởng đơn vị từ chối yêu cầu khôi phục phiếu'        -- PROCESS_DESC - nvarchar(1000)
2037
					)
2038

    
2039
					-- Trả về câu thông báo
2040
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
2041
				END
2042
				ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND ISNULL(PROCESS, '') = '15' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> '')) -- HUY PHIEU
2043
				BEGIN
2044
					UPDATE TR_REQ_PAYMENT_AUTO 
2045
					SET PROCESS = '16.1'
2046
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2047
					-- INSERT VAO BANG LICH SU
2048
					INSERT INTO dbo.PL_PROCESS
2049
					(
2050
						REQ_ID,
2051
						PROCESS_ID,
2052
						CHECKER_ID,
2053
						APPROVE_DT,
2054
						PROCESS_DESC,NOTES
2055
					)
2056
					VALUES
2057
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2058
						'REJECT_DEL',        -- PROCESS_ID - varchar(10)
2059
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2060
						GETDATE(), -- APPROVE_DT - datetime
2061
						@p_REASON,N'Cấp duyệt trung gian từ chối yêu cầu hủy phiếu'        -- PROCESS_DESC - nvarchar(1000)
2062
					)
2063

    
2064
					-- Trả về câu thông báo
2065
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
2066
				END
2067
				ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND ISNULL(PROCESS, '') = '15' AND ISNULL(TRANSFER_USER_RECEIVE, '') = '')) -- HUY PHIEU
2068
				BEGIN
2069
					UPDATE TR_REQ_PAYMENT_AUTO 
2070
					SET PROCESS = '17.1'
2071
					WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2072
					-- INSERT VAO BANG LICH SU
2073
					INSERT INTO dbo.PL_PROCESS
2074
					(
2075
						REQ_ID,
2076
						PROCESS_ID,
2077
						CHECKER_ID,
2078
						APPROVE_DT,
2079
						PROCESS_DESC,NOTES
2080
					)
2081
					VALUES
2082
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2083
						'REJECT_DEL',        -- PROCESS_ID - varchar(10)
2084
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2085
						GETDATE(), -- APPROVE_DT - datetime
2086
						@p_REASON,N'Trưởng đơn vị từ chối yêu cầu hủy phiếu'        -- PROCESS_DESC - nvarchar(1000)
2087
					)
2088

    
2089
					-- Trả về câu thông báo
2090
					SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
2091
				END
2092
				ELSE
2093
				BEGIN
2094
					IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC' AND (MAKER_ID_KT IS NULL OR  MAKER_ID_KT = '')))
2095
					BEGIN
2096
						ROLLBACK TRANSACTION
2097
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,N'Trả về thất bại! Phiếu yêu cầu thanh toán tự động đã được trưởng đơn vị duyệt' ErrorDesc
2098
						RETURN '-1'
2099
					END
2100
					ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS='R'))
2101
					BEGIN
2102
						ROLLBACK TRANSACTION
2103
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,N'Trả về thất bại! Phiếu yêu cầu thanh toán tự động đã được trả về trước đó' ErrorDesc
2104
						RETURN '-1'
2105
					END
2106
					ELSE
2107
					BEGIN
2108
						UPDATE TR_REQ_PAYMENT_AUTO 
2109
						SET AUTH_STATUS ='R', AUTH_STATUS_KT = NULL, REQ_PAY_AUTO_STATUS = NULL, 
2110
						CHECKER_ID = NULL, TRANSFER_MAKER = NULL, MAKER_ID_KT =NULL, CHECKER_ID_KT = NULL,
2111
						CREATE_DT = GETDATE(), APPROVE_DT = NULL, TRANSFER_DT = NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT = NULL, REQ_PAY_AUTO_EFFECTIVE_DT = NULL, 
2112
						PROCESS = NULL
2113
						WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2114
						-- INSERT VAO BANG LICH SU
2115
						INSERT INTO dbo.PL_PROCESS
2116
						(
2117
							REQ_ID,
2118
							PROCESS_ID,
2119
							CHECKER_ID,
2120
							APPROVE_DT,
2121
							PROCESS_DESC,NOTES
2122
						)
2123
						VALUES
2124
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2125
							'REJECT',        -- PROCESS_ID - varchar(10)
2126
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2127
							GETDATE(), -- APPROVE_DT - datetime
2128
							@p_REASON,N'Trả về'        -- PROCESS_DESC - nvarchar(1000)
2129
						)
2130
						--doanptt 210622 xóa luồng KT
2131
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2132

    
2133
						-- Trả về câu thông báo
2134
						SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về người tạo thành công'
2135
					END
2136
				END
2137
				
2138
			END
2139
			ELSE IF(@p_STAGE='KT_HC')
2140
			BEGIN
2141
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID  AND AUTH_STATUS_KT = 'A'))
2142
				BEGIN
2143
					SET @p_MESSAGE =N'Trả về thất bại!Phiếu yêu cầu thanh toán tự động đã được kiểm sát viên duyệt'
2144
					ROLLBACK TRANSACTION
2145
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2146
					RETURN '-1'
2147
				END
2148
				ELSE
2149
				BEGIN
2150
					IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(PROCESS, '') IN ('4') AND REQ_PAY_AUTO_ID = @p_TRN_ID))
2151
					BEGIN
2152
						UPDATE TR_REQ_PAYMENT_AUTO 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_AUTO_ID = @p_TRN_ID
2153
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán tự động đã được trả về đơn vị thành công'
2154
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2155
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2156
						DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
2157
						-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
2158
						INSERT INTO dbo.PL_PROCESS
2159
						(
2160
							REQ_ID,
2161
							PROCESS_ID,
2162
							CHECKER_ID,
2163
							APPROVE_DT,
2164
							PROCESS_DESC,NOTES
2165
						)
2166
						VALUES
2167
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2168
							'REJECT',        -- PROCESS_ID - varchar(10)
2169
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2170
							GETDATE(), -- APPROVE_DT - datetime
2171
							@p_REASON,N'KSV trả về cho người tạo phiếu'    -- PROCESS_DESC - nvarchar(1000)
2172
						)
2173
					END
2174
					ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(PROCESS, '') IN ('13', '13.1') AND REQ_PAY_AUTO_ID = @p_TRN_ID))
2175
					BEGIN
2176
						UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS ='N', AUTH_STATUS_KT = 'N', PROCESS = '14.1', TRANSFER_MAKER = NULL, TRANSFER_DT = NULL, MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2177
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán tự động đã được trả về đơn vị thành công'
2178
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2179
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2180
						DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
2181
						-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
2182
						INSERT INTO dbo.PL_PROCESS
2183
						(
2184
							REQ_ID,
2185
							PROCESS_ID,
2186
							CHECKER_ID,
2187
							APPROVE_DT,
2188
							PROCESS_DESC,NOTES
2189
						)
2190
						VALUES
2191
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2192
							'REJECT_UNS',        -- PROCESS_ID - varchar(10)
2193
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2194
							GETDATE(), -- APPROVE_DT - datetime
2195
							@p_REASON,N'KSV từ chối yêu cầu khôi phục phiếu'    -- PROCESS_DESC - nvarchar(1000)
2196
						)
2197
					END
2198
					ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(PROCESS, '') IN ('19', '19.1') AND REQ_PAY_AUTO_ID = @p_TRN_ID))
2199
					BEGIN
2200
						UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS ='D', AUTH_STATUS_KT = 'D', PROCESS = '20.1', TRANSFER_MAKER = NULL, TRANSFER_DT = NULL, MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2201
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán tự động đã được trả về đơn vị thành công'
2202
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2203
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2204
						DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
2205
						-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
2206
						INSERT INTO dbo.PL_PROCESS
2207
						(
2208
							REQ_ID,
2209
							PROCESS_ID,
2210
							CHECKER_ID,
2211
							APPROVE_DT,
2212
							PROCESS_DESC,NOTES
2213
						)
2214
						VALUES
2215
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2216
							'REJECT',        -- PROCESS_ID - varchar(10)
2217
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2218
							GETDATE(), -- APPROVE_DT - datetime
2219
							@p_REASON,N'KSV từ chối yêu cầu khôi phục phiếu'    -- PROCESS_DESC - nvarchar(1000)
2220
						)
2221
					END
2222
					ELSE
2223
					BEGIN
2224
						PRINT 'KSVCHUA TRA PHIEU VE NGUOI TAO'
2225
					END
2226
					
2227
				END
2228
			END
2229
			ELSE IF(@p_STAGE='KT')
2230
			BEGIN
2231
				IF((SELECT AUTH_STATUS_KT FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID) = 'R')
2232
				BEGIN
2233
					ROLLBACK TRANSACTION
2234
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID , N'Phiếu yêu cầu thanh toán tự động đã được kiểm soát viên trả về cho giao dịch viên trước đó' ErrorDesc
2235
					RETURN '-1'
2236
				END
2237
				ELSE IF((SELECT AUTH_STATUS FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID) = 'R')
2238
				BEGIN
2239
					ROLLBACK TRANSACTION
2240
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID , N'Phiếu yêu cầu thanh toán tự động đã được kiểm soát viên trả về cho người tạo trước đó' ErrorDesc
2241
					RETURN '-1'
2242
				END
2243
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
2244
				BEGIN
2245
					ROLLBACK TRANSACTION
2246
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID , N'Hủy trả về thất bại! Phiếu yêu cầu thanh toán tự động đã được kiếm sát viên duyệt' ErrorDesc
2247
					RETURN '-1'
2248
				END
2249
				ELSE
2250
				BEGIN
2251
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_TRN_ID AND ISNULL(MAKER_ID_KT, '') <> '' AND AUTH_STATUS_KT IN ('S', 'P')))
2252
					BEGIN
2253
						UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2254
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2255
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT MAKER_ID_KT FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID) AND REQ_ID =@p_TRN_ID
2256
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME = @p_REJECTED_BY AND REQ_ID =@p_TRN_ID
2257
						-- INSERT VAO BANG LICH SU
2258
						INSERT INTO dbo.PL_PROCESS
2259
						(
2260
							REQ_ID,
2261
							PROCESS_ID,
2262
							CHECKER_ID,
2263
							APPROVE_DT,
2264
							PROCESS_DESC,NOTES
2265
						)
2266
						VALUES
2267
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2268
							'REJECT_GDV',        -- PROCESS_ID - varchar(10)
2269
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2270
							GETDATE(), -- APPROVE_DT - datetime
2271
							@p_REASON ,N'KSV trả về cho GDV'     -- PROCESS_DESC - nvarchar(1000)
2272
						)
2273
						-- Trả về câu thông báo
2274
						SET @p_MESSAGE = N'Phiếu yêu cầu thanh toán tự động số ' + (SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_TRN_ID ) + N' đã được trả về giao dịch viên thành công'
2275
					END
2276
					ELSE 
2277
					BEGIN
2278
						ROLLBACK TRANSACTION
2279
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID , N'Trả về thất bại! Phiếu yêu cầu thanh toán tự động chưa dược gửi phê duyệt, hoặc chưa đến phòng kế toán' ErrorDesc
2280
						RETURN '-1'
2281
					END
2282
				END
2283
			END
2284
			ELSE IF(@p_STAGE ='SUG')
2285
			BEGIN
2286
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(PROCESS, '') IN ('3') AND REQ_PAY_AUTO_ID = @p_TRN_ID))
2287
				BEGIN
2288
					UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'P' WHERE REQ_ID = @p_TRN_ID AND TLNAME = @p_REJECTED_BY
2289
					UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'C' WHERE REQ_ID = @p_TRN_ID AND LEVEL_JOB = '2'
2290
					UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS_KT = 'S', CREATE_DT_KT = GETDATE(), MAKER_ID_KT = @p_REJECTED_BY, PROCESS = '4' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2291
					INSERT INTO dbo.PL_PROCESS
2292
					(
2293
						REQ_ID,
2294
						PROCESS_ID,
2295
						CHECKER_ID,
2296
						APPROVE_DT,
2297
						PROCESS_DESC,NOTES
2298
					)
2299
					VALUES
2300
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2301
						'SUG',        -- PROCESS_ID - varchar(10)
2302
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2303
						GETDATE(), -- APPROVE_DT - datetime
2304
						@p_REASON ,N'GDV đề xuất từ chối phiếu yêu cầu thanh toán tự động'      -- PROCESS_DESC - nvarchar(1000)
2305
					)
2306
				END
2307
				ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(PROCESS, '') IN ('12') AND REQ_PAY_AUTO_ID = @p_TRN_ID))
2308
				BEGIN
2309
					UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'P' WHERE REQ_ID = @p_TRN_ID AND TLNAME = @p_REJECTED_BY
2310
					UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'C' WHERE REQ_ID = @p_TRN_ID AND LEVEL_JOB = '2'
2311
					UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS_KT = 'S', CREATE_DT_KT = GETDATE(), MAKER_ID_KT = @p_REJECTED_BY, PROCESS = '13.1' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2312
					INSERT INTO dbo.PL_PROCESS
2313
					(
2314
						REQ_ID,
2315
						PROCESS_ID,
2316
						CHECKER_ID,
2317
						APPROVE_DT,
2318
						PROCESS_DESC,NOTES
2319
					)
2320
					VALUES
2321
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2322
						'SUG',        -- PROCESS_ID - varchar(10)
2323
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2324
						GETDATE(), -- APPROVE_DT - datetime
2325
						@p_REASON ,N'GDV đề xuất từ chối yêu cầu khôi phục phiếu'      -- PROCESS_DESC - nvarchar(1000)
2326
					)
2327
				END
2328
				ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(PROCESS, '') IN ('18') AND REQ_PAY_AUTO_ID = @p_TRN_ID))
2329
				BEGIN
2330
					UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'P' WHERE REQ_ID = @p_TRN_ID AND TLNAME = @p_REJECTED_BY
2331
					UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'C' WHERE REQ_ID = @p_TRN_ID AND LEVEL_JOB = '2'
2332
					UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS_KT = 'S', CREATE_DT_KT = GETDATE(), MAKER_ID_KT = @p_REJECTED_BY, PROCESS = '19.1' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2333
					INSERT INTO dbo.PL_PROCESS
2334
					(
2335
						REQ_ID,
2336
						PROCESS_ID,
2337
						CHECKER_ID,
2338
						APPROVE_DT,
2339
						PROCESS_DESC,NOTES
2340
					)
2341
					VALUES
2342
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2343
						'SUG',        -- PROCESS_ID - varchar(10)
2344
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2345
						GETDATE(), -- APPROVE_DT - datetime
2346
						@p_REASON ,N'GDV đề xuất từ chối yêu cầu hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
2347
					)
2348
				END
2349
				ELSE
2350
				BEGIN
2351
					PRINT 'CHUA CAP NHAT TU CHOI'
2352
				END
2353
				
2354
			END
2355
			ELSE IF(@p_STAGE ='DEL')
2356
			BEGIN
2357
				UPDATE TR_REQ_PAYMENT_AUTO SET AUTH_STATUS_KT = 'D', AUTH_STATUS = 'D', RECORD_STATUS = '0' WHERE REQ_PAY_AUTO_ID = @p_TRN_ID
2358
				---------------------------------------------------------------------------------------------------------------------
2359
				INSERT INTO dbo.PL_PROCESS
2360
				(
2361
					REQ_ID,
2362
					PROCESS_ID,
2363
					CHECKER_ID,
2364
					APPROVE_DT,
2365
					PROCESS_DESC,NOTES
2366
				)
2367
				VALUES
2368
				(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2369
					'DEL',        -- PROCESS_ID - varchar(10)
2370
					@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2371
					GETDATE(), -- APPROVE_DT - datetime
2372
					@p_REASON ,N'KSV hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
2373
				)
2374
			END
2375
			
2376
		END
2377
		ELSE
2378
		BEGIN
2379
			SET @p_MESSAGE =N'Trả về giao dịch thành công'
2380
		END
2381

    
2382
		---BAODNQ 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
2383
		-------Khai báo DTSD nội bộ-------
2384
		IF(@p_TRN_TYPE ='BUD_INTERNAL')
2385
		--BEGIN ELSE IF---
2386
		BEGIN
2387
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2388
			BEGIN
2389
				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'
2390
				ROLLBACK TRANSACTION
2391
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2392
				RETURN '-1'
2393
			END
2394
			ELSE IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2395
			BEGIN
2396
				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 đó'
2397
				ROLLBACK TRANSACTION
2398
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2399
				RETURN '-1'
2400
			END
2401
			ELSE
2402
			BEGIN
2403
				UPDATE BUD_CONTRACT_MASTER 
2404
				SET AUTH_STATUS ='R', 
2405
				---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2406
					IS_SEND_APPR = 'N',
2407
					CHECKER_ID = NULL,
2408
					APPROVE_DT = NULL,
2409
					SEND_APPR_DT = NULL,
2410
					SIGN_DT = NULL
2411
				WHERE CONTRACT_ID=@p_TRN_ID
2412
				SET @p_MESSAGE =N'Thông tin khai báo DTSD nội bộ đã được trả về thành công'
2413
			END
2414
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2415
			INSERT INTO dbo.PL_PROCESS
2416
					(
2417
						REQ_ID,
2418
						PROCESS_ID,
2419
						CHECKER_ID,
2420
						APPROVE_DT,
2421
						PROCESS_DESC,
2422
						NOTES
2423
					)
2424
					VALUES
2425
					(	@p_TRN_ID,       
2426
						'REJECT',
2427
						@p_REJECTED_BY,        
2428
						GETDATE(), 
2429
						@p_REASON ,      
2430
						N'Từ chối phiếu'       
2431
					)
2432
			IF @@ERROR <> 0 GOTO ABORT
2433

    
2434
		---END ELSE IF---
2435
		END
2436
		-------Quản lý hợp đồng khách thuê-------
2437
		ELSE IF(@p_TRN_TYPE ='BUD_RENTAL')
2438
		--BEGIN ELSE IF---
2439
		BEGIN
2440
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2441
			BEGIN
2442
				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'
2443
				ROLLBACK TRANSACTION
2444
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2445
				RETURN '-1'
2446
			END
2447
			ELSE IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2448
			BEGIN
2449
				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 đó'
2450
				ROLLBACK TRANSACTION
2451
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2452
				RETURN '-1'
2453
			END
2454
			ELSE
2455
			BEGIN
2456
				UPDATE BUD_CONTRACT_CUST_MASTER 
2457
				SET AUTH_STATUS ='R',
2458
				---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2459
					IS_SEND_APPR = 'N',
2460
					CHECKER_ID = NULL,
2461
					APPROVE_DT = NULL,
2462
					SEND_APPR_DT = NULL,
2463
					SIGN_DT = NULL
2464
				WHERE CONTRACT_ID=@p_TRN_ID
2465
				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'
2466
			END
2467
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2468
			INSERT INTO dbo.PL_PROCESS
2469
					(
2470
						REQ_ID,
2471
						PROCESS_ID,
2472
						CHECKER_ID,
2473
						APPROVE_DT,
2474
						PROCESS_DESC,
2475
						NOTES
2476
					)
2477
					VALUES
2478
					(	@p_TRN_ID,       
2479
						'REJECT',
2480
						@p_REJECTED_BY,        
2481
						GETDATE(), 
2482
						@p_REASON ,      
2483
						N'Từ chối phiếu'       
2484
					)
2485
			IF @@ERROR <> 0 GOTO ABORT
2486

    
2487
		---END ELSE IF---
2488
		END
2489
		---datmq 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
2490
			-------Quản lý trụ sở-------
2491
		ELSE IF(@p_TRN_TYPE ='BUD_MASTER')
2492
		--BEGIN ELSE IF---
2493
		BEGIN
2494
			IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2495
			BEGIN
2496
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin trụ sở đã được duyệt'
2497
				ROLLBACK TRANSACTION
2498
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2499
				RETURN '-1'
2500
			END
2501
			ELSE IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2502
			BEGIN
2503
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin trụ sở đã được trả về trước đó'
2504
				ROLLBACK TRANSACTION
2505
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2506
				RETURN '-1'
2507
			END
2508
			ELSE
2509
			BEGIN
2510
				---BAODNQ 26/1/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2511
				UPDATE BUD_MASTER SET 
2512
					AUTH_STATUS ='R',  IS_SEND_APPR = 'N',
2513
					CHECKER_ID = NULL,
2514
					APPROVE_DT = NULL,
2515
					SEND_APPR_DT = NULL,
2516
					SIGN_DT = NULL
2517
				WHERE BUILDING_ID=@p_TRN_ID
2518
				SET @p_MESSAGE =N'Thông tin trụ sở đã được trả về thành công'
2519
			END
2520
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2521
			INSERT INTO dbo.PL_PROCESS
2522
					(
2523
						REQ_ID,
2524
						PROCESS_ID,
2525
						CHECKER_ID,
2526
						APPROVE_DT,
2527
						PROCESS_DESC,
2528
						NOTES
2529
					)
2530
					VALUES
2531
					(	@p_TRN_ID,       
2532
						'REJECT',
2533
						@p_REJECTED_BY,        
2534
						GETDATE(), 
2535
						@p_REASON ,      
2536
						N'Từ chối phiếu'       
2537
					)
2538
			IF @@ERROR <> 0 GOTO ABORT
2539

    
2540
		---END ELSE IF---
2541
		END
2542

    
2543
		/*
2544
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
2545
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
2546
		BEGIN
2547
			IF(@p_STAGE='HC')
2548
			BEGIN
2549
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
2550
				BEGIN
2551
					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'
2552
					ROLLBACK TRANSACTION
2553
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2554
					RETURN '0'
2555
				END
2556
				ELSE
2557
				BEGIN
2558
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
2559
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
2560
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
2561
					BEGIN
2562
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2563
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị thanh toán đã được trả về thành công'
2564
					END
2565
				END
2566
			END
2567
		END
2568

    
2569
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
2570
		ELSE IF(@p_TRN_TYPE ='TR_REQ_ADVACNE_PAY')
2571
		BEGIN
2572
			IF(@p_STAGE='HC')
2573
			BEGIN
2574
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
2575
				BEGIN
2576
					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'
2577
					ROLLBACK TRANSACTION
2578
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2579
					RETURN '0'
2580
				END
2581
				ELSE
2582
				BEGIN
2583
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
2584
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
2585
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
2586
					BEGIN
2587
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2588
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị tạm ứng đã được trả về thành công'
2589
					END
2590
					/*ELSE
2591
					BEGIN
2592
						SET @p_STAGE ='HC'
2593
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
2594
						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'
2595
					END*/
2596
				END
2597
			END
2598
		END
2599
		*/
2600

    
2601
	------BAODNQ 14/02/2022: Thêm xử lý trả về cho phân hệ quản lý BDS------
2602
		-------------Quản lý BDS---------------
2603
		ELSE IF(@p_TRN_TYPE = 'RET_MASTER')
2604
		BEGIN
2605
			IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2606
			BEGIN
2607
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin bất động sản đã được duyệt'
2608
				ROLLBACK TRANSACTION
2609
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2610
				RETURN '-1'
2611
			END
2612
			ELSE IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2613
			BEGIN
2614
				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 đó'
2615
				ROLLBACK TRANSACTION
2616
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2617
				RETURN '-1'
2618
			END
2619
			ELSE
2620
			BEGIN
2621
				UPDATE RET_MASTER
2622
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2623
					CHECKER_ID = NULL,
2624
					APPROVE_DT = NULL,
2625
					SEND_APPR_DT = NULL,
2626
					SIGN_DT = NULL
2627
				WHERE RET_ID = @p_TRN_ID
2628
				SET @p_MESSAGE = N'Thông tin bất động sản đã được trả về thành công'
2629
			END
2630

    
2631
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2632
			INSERT INTO dbo.PL_PROCESS
2633
					(
2634
						REQ_ID,
2635
						PROCESS_ID,
2636
						CHECKER_ID,
2637
						APPROVE_DT,
2638
						PROCESS_DESC,
2639
						NOTES
2640
					)
2641
					VALUES
2642
					(	@p_TRN_ID,       
2643
						'REJECT',
2644
						@p_REJECTED_BY,        
2645
						GETDATE(), 
2646
						@p_REASON ,      
2647
						N'Từ chối phiếu'       
2648
					)
2649
			IF @@ERROR <> 0 GOTO ABORT
2650

    
2651
		END
2652

    
2653
		-------Thông tin sửa chữa BDS--------------
2654
		ELSE IF(@p_TRN_TYPE = 'RET_REPAIR')
2655
		BEGIN
2656
			IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2657
			BEGIN
2658
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin sửa chữa BĐS đã được duyệt'
2659
				ROLLBACK TRANSACTION
2660
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2661
				RETURN '0'
2662
			END
2663
			ELSE IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2664
			BEGIN
2665
				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 đó'
2666
				ROLLBACK TRANSACTION
2667
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2668
				RETURN '-1'
2669
			END
2670
			ELSE
2671
			BEGIN
2672
				UPDATE RET_REPAIR 
2673
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2674
					CHECKER_ID = NULL,
2675
					APPROVE_DT = NULL,
2676
					SEND_APPR_DT = NULL,
2677
					SIGN_DT = NULL
2678
				WHERE RP_ID = @p_TRN_ID
2679
				SET @p_MESSAGE = N'Thông tin sửa chữa BDS đã được trả về thành công'
2680
			END
2681
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2682
			INSERT INTO dbo.PL_PROCESS
2683
					(
2684
						REQ_ID,
2685
						PROCESS_ID,
2686
						CHECKER_ID,
2687
						APPROVE_DT,
2688
						PROCESS_DESC,
2689
						NOTES
2690
					)
2691
					VALUES
2692
					(	@p_TRN_ID,       
2693
						'REJECT',
2694
						@p_REJECTED_BY,        
2695
						GETDATE(), 
2696
						@p_REASON ,      
2697
						N'Từ chối phiếu'       
2698
					)
2699
			IF @@ERROR <> 0 GOTO ABORT
2700

    
2701
		END
2702

    
2703
		-----BDS thuê làm trụ sở CN/PGD--------
2704
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_R_H')
2705
		BEGIN
2706
			IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2707
			BEGIN
2708
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin BĐS đi thuê đã được duyệt'
2709
				ROLLBACK TRANSACTION
2710
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2711
				RETURN '0'
2712
			END
2713
			ELSE IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2714
			BEGIN
2715
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin BĐS đi thuê đã được trả về trước đó'
2716
				ROLLBACK TRANSACTION
2717
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2718
				RETURN '-1'
2719
			END
2720
			ELSE
2721
			BEGIN
2722
				UPDATE REAL_ESTATE_R_H 
2723
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2724
					CHECKER_ID = NULL,
2725
					APPROVE_DT = NULL,
2726
					SEND_APPR_DT = NULL,
2727
					SIGN_DT = NULL
2728
				WHERE RET_R_H_ID = @p_TRN_ID
2729
				SET @p_MESSAGE = N'Thông tin BĐS đi thuê đã được trả về thành công'
2730
			END
2731
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2732
			INSERT INTO dbo.PL_PROCESS
2733
					(
2734
						REQ_ID,
2735
						PROCESS_ID,
2736
						CHECKER_ID,
2737
						APPROVE_DT,
2738
						PROCESS_DESC,
2739
						NOTES
2740
					)
2741
					VALUES
2742
					(	@p_TRN_ID,       
2743
						'REJECT',
2744
						@p_REJECTED_BY,        
2745
						GETDATE(), 
2746
						@p_REASON ,      
2747
						N'Từ chối phiếu'       
2748
					)
2749
			IF @@ERROR <> 0 GOTO ABORT
2750

    
2751
		END
2752

    
2753
		-----BDS đang hoàn thiện thủ tục pháp lý--------
2754
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_L_C')
2755
		BEGIN
2756
			IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2757
			BEGIN
2758
				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'
2759
				ROLLBACK TRANSACTION
2760
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2761
				RETURN '0'
2762
			END
2763
			ELSE IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
2764
			BEGIN
2765
				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 đó'
2766
				ROLLBACK TRANSACTION
2767
				SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2768
				RETURN '-1'
2769
			END
2770
			ELSE 
2771
			BEGIN
2772
				UPDATE REAL_ESTATE_L_C 
2773
				SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2774
					CHECKER_ID = NULL,
2775
					APPROVE_DT = NULL,
2776
					SEND_APPR_DT = NULL,
2777
					SIGN_DT = NULL
2778
				WHERE RET_L_C_ID = @p_TRN_ID
2779
				SET @p_MESSAGE = N'BDS đang hoàn thiện thủ tục pháp lý đã được trả về thành công'
2780
			END
2781
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2782
			INSERT INTO dbo.PL_PROCESS
2783
					(
2784
						REQ_ID,
2785
						PROCESS_ID,
2786
						CHECKER_ID,
2787
						APPROVE_DT,
2788
						PROCESS_DESC,
2789
						NOTES
2790
					)
2791
					VALUES
2792
					(	@p_TRN_ID,       
2793
						'REJECT',
2794
						@p_REJECTED_BY,        
2795
						GETDATE(), 
2796
						@p_REASON ,      
2797
						N'Từ chối phiếu'       
2798
					)
2799
			IF @@ERROR <> 0 GOTO ABORT
2800

    
2801
		END
2802

    
2803
		---------BAODNQ 18/3/2022: Đánh giá NCC--------
2804
		-------Đánh giá NCC---------
2805
		ELSE IF(@p_TRN_TYPE = 'TR_RATE_SUPPLIER_MASTER')
2806
		BEGIN
2807
			IF(EXISTS(SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2808
			BEGIN
2809
				SET @p_MESSAGE =N'Hủy trả về thất bại! Biên bản đánh giá NCC đã được duyệt'
2810
				ROLLBACK TRANSACTION
2811
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2812
				RETURN '0'
2813
			END
2814
			UPDATE TR_RATE_SUPPLIER_MASTER 
2815
				SET AUTH_STATUS = 'R', 
2816
					IS_SEND_APPR = 'N',
2817
					PROCESS_STATUS = 'REJECT'
2818
			WHERE RATE_ID = @p_TRN_ID
2819
			SET @p_MESSAGE = N'Biên bản đánh giá NCC đã được trả về thành công'
2820

    
2821
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2822
			INSERT INTO dbo.PL_PROCESS
2823
					(
2824
						REQ_ID,
2825
						PROCESS_ID,
2826
						CHECKER_ID,
2827
						APPROVE_DT,
2828
						PROCESS_DESC,
2829
						NOTES
2830
					)
2831
					VALUES
2832
					(	@p_TRN_ID,       
2833
						'REJECT',
2834
						@p_REJECTED_BY,        
2835
						GETDATE(), 
2836
						@p_REASON ,      
2837
						N'Từ chối phiếu'       
2838
					)
2839
			IF @@ERROR <> 0 GOTO ABORT
2840
		END
2841
		ELSE IF(@p_TRN_TYPE ='TR_REQUEST_CAR')
2842
		BEGIN
2843
			DECLARE @p_PROCESS_ID VARCHAR(15)
2844
			SELECT @p_PROCESS_ID=PROCESS_ID FROM TR_REQUEST_CAR WHERE REQ_ID =@p_TRN_ID
2845
			IF(@p_PROCESS_ID='APPROVE')
2846
			BEGIN
2847
				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'
2848
				ROLLBACK TRANSACTION
2849
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2850
				RETURN '0'
2851
			END
2852
			IF(@p_PROCESS_ID IN ('APPNEW','CV_APP'))
2853
			BEGIN
2854
				UPDATE TR_REQUEST_CAR 
2855
				SET AUTH_STATUS ='R',PROCESS_ID='INSERT',IS_SEND_APPR = 'N'
2856
				WHERE REQ_ID=@p_TRN_ID
2857
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công'
2858
				IF(@p_PROCESS_ID='APPNEW')
2859
					BEGIN
2860
						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
2861
					END
2862
				ELSE
2863
					BEGIN
2864
						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
2865
						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
2866
					END
2867
			END
2868
			ELSE IF(@p_PROCESS_ID='USER_SEND')
2869
			BEGIN
2870
					UPDATE TR_REQUEST_CAR
2871
					SET AUTH_STATUS ='R',PROCESS_ID='CV_SEND'
2872
					WHERE REQ_ID=@p_TRN_ID
2873
					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'
2874
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='P' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2875
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='XL' AND REQ_ID=@p_TRN_ID
2876
			END
2877
			ELSE IF(@p_PROCESS_ID IN ('MAKER_APP','TDV_C_APP'))
2878
			BEGIN
2879
				
2880
					UPDATE TR_REQUEST_CAR
2881
					SET AUTH_STATUS ='R',PROCESS_ID='USER_SEND',IS_CONFIRM_COST='N'
2882
					WHERE REQ_ID=@p_TRN_ID
2883
					SET @p_MESSAGE =N'Thông tin chi phí phiếu yêu cầu xe đã được trả về thành công'
2884
					IF(@p_PROCESS_ID='MAKER_APP')
2885
					BEGIN
2886
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
2887
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2888
						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
2889
					END
2890
				ELSE
2891
					BEGIN
2892
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
2893
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2894
						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
2895
						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
2896
					END
2897
			END
2898
			INSERT INTO dbo.PL_PROCESS
2899
					(
2900
						REQ_ID,
2901
						PROCESS_ID,
2902
						CHECKER_ID,
2903
						APPROVE_DT,
2904
						PROCESS_DESC,NOTES
2905
					)
2906
					VALUES
2907
					(   @p_TRN_ID,       
2908
						'REJECT',        
2909
						@p_REJECTED_BY,       
2910
						GETDATE(), 
2911
						@p_REASON,
2912
						N'Từ chối phiếu'    
2913
					)
2914
			
2915
		END
2916
		ELSE IF(@p_TRN_TYPE ='TR_REQUEST_JOB_FORM')
2917
		BEGIN
2918
			DECLARE @PROCESS_ID VARCHAR(15),@SIGN_USER VARCHAR(50)
2919
			SELECT @PROCESS_ID=PROCESS_ID,@SIGN_USER=SIGN_USER FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID =@p_TRN_ID
2920
			--CAR--
2921
				DECLARE @p_PROCESS_ID_CAR VARCHAR(15)
2922
				SELECT @p_PROCESS_ID_CAR=PROCESS_ID FROM TR_REQUEST_CAR WHERE REQ_ID =@p_TRN_ID
2923
				
2924
				IF(@p_PROCESS_ID_CAR ='APPNEW')
2925
				BEGIN
2926
					UPDATE TR_REQUEST_CAR 
2927
					SET AUTH_STATUS ='R',PROCESS_ID='INSERT',IS_SEND_APPR = 'N'
2928
					WHERE REQ_ID=@p_TRN_ID
2929
					SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công'
2930
					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
2931
				END
2932
			--
2933
			IF(@PROCESS_ID='APPROVE')
2934
			BEGIN
2935
				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'
2936
				ROLLBACK TRANSACTION
2937
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2938
				RETURN '0'
2939
			END
2940
            IF(@p_STAGE='REJECT')
2941
            BEGIN
2942
                IF(@PROCESS_ID IN ('SEND','SIGN'))
2943
			BEGIN
2944
				UPDATE dbo.TR_REQUEST_JOB_FORM 
2945
				SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N'
2946
				WHERE REQ_ID=@p_TRN_ID
2947
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
2948

    
2949
				IF(@PROCESS_ID='SEND' AND @SIGN_USER IS NOT NULL)
2950
					BEGIN
2951
						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
2952
					END
2953
				ELSE
2954
					BEGIN
2955
						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
2956
						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
2957
					END
2958
			END
2959
			ELSE IF(@PROCESS_ID='HO_APP')
2960
			BEGIN
2961
					UPDATE dbo.TR_REQUEST_JOB_FORM
2962
					SET AUTH_STATUS ='R',PROCESS_ID='APPNEW'
2963
					WHERE REQ_ID=@p_TRN_ID
2964
					SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
2965
					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
2966
					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
2967
			END
2968
			ELSE IF(@PROCESS_ID = 'MAKER_APP')
2969
			BEGIN
2970
					UPDATE TR_REQUEST_JOB_FORM
2971
					SET AUTH_STATUS ='R',PROCESS_ID='HCHO_XL'
2972
					WHERE REQ_ID=@p_TRN_ID
2973
					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'
2974
					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
2975
					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
2976
			END
2977
			INSERT INTO dbo.PL_PROCESS
2978
					(
2979
						REQ_ID,
2980
						PROCESS_ID,
2981
						CHECKER_ID,
2982
						APPROVE_DT,
2983
						PROCESS_DESC,NOTES
2984
					)
2985
					VALUES
2986
					(   @p_TRN_ID,       
2987
						'REJECT',        
2988
						@p_REJECTED_BY,       
2989
						GETDATE(), 
2990
						@p_REASON,
2991
						N'Từ chối phiếu'    
2992
					)
2993
            END
2994
		END
2995
        ELSE IF(@p_STAGE='CANCEL')
2996
        BEGIN
2997
            UPDATE dbo.TR_REQUEST_JOB_FORM SET PROCESS_ID='CANCEL',AUTH_STATUS='D' WHERE REQ_ID=@p_TRN_ID
2998
			IF @@Error <> 0 GOTO ABORT
2999

    
3000
			IF(EXISTS (SELECT 1 FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID))
3001
			BEGIN
3002
				UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID
3003
			END
3004

    
3005
			EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
3006
			IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
3007
			INSERT INTO [dbo].[CM_REJECT_LOG] VALUES (@p_LOG_ID,'TDV',@p_TRN_ID,'TR_REQUEST_JOB_FORM',CONVERT(DATETIME,GETDATE(),103),'R',@p_REASON,'N',@p_REJECTED_BY,CONVERT(DATETIME,GETDATE(),103))
3008
			UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P' WHERE REQ_ID=@p_TRN_ID AND STATUS ='C' 
3009
			DELETE dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_TRN_ID AND STATUS ='U'
3010
			INSERT INTO dbo.PL_REQUEST_PROCESS
3011
			(
3012
			    REQ_ID,PROCESS_ID,STATUS, ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD,DEP_ID,SUB_PROCESS_ID
3013
			)
3014
			VALUES
3015
			(   
3016
				@p_TRN_ID,'CANCEL','C','','','',GETDATE(),'','','','',N'',NULL,'', ''
3017
			)
3018
			-- insert log
3019
			INSERT INTO dbo.PL_PROCESS
3020
			(
3021
				REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES
3022
			)
3023
			VALUES
3024
			(  
3025
				@p_TRN_ID,'CANCEL',@p_REJECTED_BY,GETDATE(),@p_REASON,N'Hủy phiếu thành công'
3026
			)
3027
        END
3028
		--START HIEUHM 08/11/2022 trả về Quản lí hồ sơ công trình XDCB
3029
		ELSE IF(@p_TRN_TYPE = 'CON_MASTER')
3030
		BEGIN
3031
			IF(EXISTS(SELECT * FROM CON_MASTER WHERE CONSTRUCT_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
3032
			BEGIN
3033
				SET @p_MESSAGE =N'Trả về thất bại! Công trình đã được duyệt'
3034
				ROLLBACK TRANSACTION
3035
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
3036
				RETURN '0'
3037
			END
3038
			UPDATE CON_MASTER 
3039
				SET AUTH_STATUS = 'R'
3040
			WHERE CONSTRUCT_ID = @p_TRN_ID
3041
			UPDATE CON_REQUEST_DOC 
3042
				SET AUTH_STATUS = 'R'
3043
			WHERE CONSTRUCT_ID = @p_TRN_ID
3044
			SET @p_MESSAGE = N'Công trình đã được trả về thành công'
3045

    
3046
			INSERT INTO dbo.PL_PROCESS
3047
					(
3048
						REQ_ID,
3049
						PROCESS_ID,
3050
						CHECKER_ID,
3051
						APPROVE_DT,
3052
						PROCESS_DESC,
3053
						NOTES
3054
					)
3055
					VALUES
3056
					(	@p_TRN_ID,       
3057
						'REJECT',
3058
						@p_REJECTED_BY,        
3059
						GETDATE(), 
3060
						@p_REASON ,      
3061
						N'Từ chối phiếu'       
3062
					)
3063
			IF @@ERROR <> 0 GOTO ABORT
3064
		END
3065
		--END HIEUHM 08/11/2022 trả về Quản lí hồ sơ công trình XDCB
3066

    
3067
		--START HIEUHM 17/11/2022 trả về layout bản vẽ
3068
		ELSE IF(@p_TRN_TYPE = 'CON_LAYOUT_BLUEPRINT')
3069
		BEGIN
3070
			IF(EXISTS(SELECT * FROM CON_LAYOUT_BLUEPRINT WHERE CON_LAYOUT_BLUEPRINT_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
3071
			BEGIN
3072
				SET @p_MESSAGE =N'Trả về thất bại! Layout bản vẽ đã được duyệt'
3073
				ROLLBACK TRANSACTION
3074
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
3075
				RETURN '0'
3076
			END
3077
			UPDATE CON_LAYOUT_BLUEPRINT 
3078
				SET AUTH_STATUS = 'R',PROCESS_ID='REJECT'
3079
			WHERE CON_LAYOUT_BLUEPRINT_ID = @p_TRN_ID
3080
			UPDATE PL_REQUEST_PROCESS 
3081
				SET [STATUS]='U'
3082
			WHERE REQ_ID = @p_TRN_ID
3083
			SET @p_MESSAGE = N'Layout bản vẽ đã được trả về thành công'
3084

    
3085
			INSERT INTO dbo.PL_PROCESS
3086
					(
3087
						REQ_ID,
3088
						PROCESS_ID,
3089
						CHECKER_ID,
3090
						APPROVE_DT,
3091
						PROCESS_DESC,
3092
						NOTES
3093
					)
3094
					VALUES
3095
					(	@p_TRN_ID,       
3096
						'REJECT',
3097
						@p_REJECTED_BY,        
3098
						GETDATE(), 
3099
						@p_REASON ,      
3100
						N'Từ chối phiếu'       
3101
					)
3102
			IF @@ERROR <> 0 GOTO ABORT
3103
		END
3104
		--END HIEUHM 17/11/2022 trả về layout bản vẽ
3105
		--- INSERT VAO BANG CM_REJECT_LOG
3106
		EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
3107
		IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
3108
		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))
3109
		IF @@Error <> 0 GOTO ABORT
3110
COMMIT TRANSACTION
3111
SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
3112
RETURN '0'
3113
ABORT:
3114
BEGIN
3115

    
3116
		ROLLBACK TRANSACTION
3117
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
3118
		RETURN '-1'
3119
END
3120

    
3121

    
3122

    
3123

    
3124

    
3125

    
3126

    
3127
GO