Project

General

Profile

CM_REJECT_Ins.txt

Luc Tran Van, 10/28/2020 11:02 AM

 
1

    
2
ALTER PROC [dbo].[CM_REJECT_LOG_Ins]
3
@p_LOG_ID	varchar(15)	= NULL,
4
@p_STAGE	varchar(5)	 = NULL,
5
@p_TRN_ID	varchar(15)	 = NULL,
6
@p_TRN_TYPE	nvarchar(100)	 = NULL,
7
@p_LOG_DT	VARCHAR	 = NULL,
8
@p_AUTH_STAT	varchar(3)	 = NULL,
9
@p_REASON	nvarchar(2000)	 = NULL,
10
@p_IS_LATEST	varchar(1)	 = NULL,
11
@p_REJECTED_BY	varchar(20)	 = NULL,
12
@p_REJECTED_DT	VARCHAR	 = NULL
13
AS
14
BEGIN TRANSACTION
15
		DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0)
16
		DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0)
17
		DECLARE @p_MESSAGE NVARCHAR(100) = NULL
18
		IF(EXISTS (SELECT * FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID))
19
		BEGIN
20
			UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID
21
		END
22
		IF(@p_TRN_TYPE ='ASS_COLLECT_MUL')
23
		BEGIN
24
			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'))
25
			BEGIN
26
				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'
27
				ROLLBACK TRANSACTION
28
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
29
				RETURN '0'
30
			END
31
			IF(EXISTS (SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID =@p_TRN_ID  AND AUTH_STATUS ='A' AND @p_STAGE='HC'))
32
			BEGIN
33
				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'
34
				ROLLBACK TRANSACTION
35
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
36
				RETURN '0'
37
			END
38
			ELSE
39
			BEGIN
40
			IF(@p_STAGE='KT')
41
			BEGIN
42
				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 <>''))
43
				BEGIN
44
				UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE COL_MULTI_MASTER_ID=@p_TRN_ID
45
				SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về thành công'
46
				END
47
				ELSE
48
				BEGIN
49
					SET @p_STAGE ='HC'
50
					UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS ='R' WHERE COL_MULTI_MASTER_ID=@p_TRN_ID
51
					SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về cho bộ phận hành chính thành công'	
52
				END
53
			END
54
			ELSE
55
			BEGIN
56
				UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS ='R' WHERE COL_MULTI_MASTER_ID=@p_TRN_ID
57
				SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về thành công'
58
			END
59
			END
60
		END
61
		ELSE IF(@p_TRN_TYPE ='ASS_TRANSFER_MUL')
62
		BEGIN
63
			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'))
64
			BEGIN
65
				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'
66
				ROLLBACK TRANSACTION
67
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
68
				RETURN '0'
69
			END
70
			IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID =@p_TRN_ID  AND AUTH_STATUS ='A' AND @p_STAGE ='HC'))
71
			BEGIN
72
				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'
73
				ROLLBACK TRANSACTION
74
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
75
				RETURN '0'
76
			END
77
			ELSE
78
			BEGIN
79
			IF(@p_STAGE='KT')
80
			BEGIN
81
				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 <>''))
82
				BEGIN
83
					UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE TRANS_MULTI_MASTER_ID =@p_TRN_ID
84
					SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về thành công'
85
				END
86
				ELSE
87
				BEGIN
88
					SET @p_STAGE ='HC'
89
					UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R' WHERE TRANS_MULTI_MASTER_ID =@p_TRN_ID
90
					SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về thành công'
91
				END
92
			END
93
			ELSE
94
			BEGIN
95
				UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R' WHERE TRANS_MULTI_MASTER_ID =@p_TRN_ID
96
				SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về thành công'
97
			END
98
			END
99
		END
100
		ELSE IF(@p_TRN_TYPE ='ASS_USE_MUL')
101
		BEGIN
102
			IF(@p_STAGE='KT')
103
			BEGIN
104
				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
105
				BEGIN
106
					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'
107
					ROLLBACK TRANSACTION
108
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
109
					RETURN '0'
110
				END
111
				ELSE
112
				BEGIN
113
					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 <>''))
114
					BEGIN
115
						SET @p_STAGE ='HC'
116
						UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE USER_MASTER_ID =@p_TRN_ID
117
						SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về thành công'
118
					END
119
					ELSE
120
					BEGIN
121
						SET @p_STAGE ='HC'
122
						UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R' WHERE USER_MASTER_ID =@p_TRN_ID
123
						SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về hành chính thành công'
124
					END
125
				END
126
			END
127
			ELSE
128
			BEGIN
129
				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@p_TRN_ID  AND AUTH_STATUS ='A' AND @p_STAGE ='HC'))
130
				BEGIN
131
					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'
132
					ROLLBACK TRANSACTION
133
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
134
					RETURN '0'
135
				END
136
				ELSE
137
				BEGIN
138
					UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R' WHERE USER_MASTER_ID =@p_TRN_ID
139
					SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về thành công'
140
				END
141
			END
142
		END
143
		ELSE IF(@p_TRN_TYPE ='ASS_LIQ_MUL')
144
		BEGIN
145
			IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE='KT'))
146
			BEGIN
147
				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'
148
				ROLLBACK TRANSACTION
149
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
150
				RETURN '0'
151
			END
152
			IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE='HC'))
153
			BEGIN
154
				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'
155
				ROLLBACK TRANSACTION
156
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
157
				RETURN '0'
158
			END
159
			ELSE
160
			BEGIN
161
			IF(@p_STAGE='KT')
162
			BEGIN
163
				IF(EXISTS(SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
164
				BEGIN
165
					UPDATE ASS_LIQUIDATION SET AUTH_STATUS_KT ='R' WHERE LIQ_ID =@p_TRN_ID
166
					SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về thành công'
167
				END
168
				ELSE
169
				BEGIN
170
					SET @p_STAGE ='HC'
171
					UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
172
					SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả hành chính về thành công'
173
				END
174
			END
175
			ELSE
176
			BEGIN
177
				UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
178
				SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về thành công'
179
			END
180
			END
181
		END
182
		ELSE IF(@p_TRN_TYPE ='ASS_ADDNEW_MUL')
183
		BEGIN
184
			BEGIN
185
			IF(@p_STAGE='KT')
186
			BEGIN
187
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
188
				BEGIN
189
					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'
190
					ROLLBACK TRANSACTION
191
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
192
					RETURN '0'
193
				END
194
				ELSE
195
				BEGIN
196
					IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
197
					BEGIN
198
						UPDATE ASS_ADDNEW SET AUTH_STATUS_KT ='R' WHERE ADDNEW_ID =@p_TRN_ID
199
						SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về thành công'
200
					END
201
					ELSE
202
					BEGIN
203
						SET @p_STAGE ='HC'
204
						UPDATE ASS_ADDNEW SET AUTH_STATUS ='R' WHERE ADDNEW_ID =@p_TRN_ID
205
						SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về hành chính thành công'
206
					END
207
				END
208
			END
209
			ELSE
210
			BEGIN
211
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
212
				BEGIN
213
					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'
214
					ROLLBACK TRANSACTION
215
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
216
					RETURN '0'
217
				END
218
				ELSE
219
				BEGIN
220
					UPDATE ASS_ADDNEW SET AUTH_STATUS ='R' WHERE ADDNEW_ID =@p_TRN_ID
221
					SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về thành công'
222
				END
223
			END
224
			END
225
		END
226
		ELSE IF(@p_TRN_TYPE ='MW_IN')
227
		BEGIN
228
			BEGIN
229
			IF(@p_STAGE='KT')
230
			BEGIN
231
				IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
232
				BEGIN
233
					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'
234
					ROLLBACK TRANSACTION
235
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
236
					RETURN '0'
237
				END
238
				ELSE
239
				BEGIN
240
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
241
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
242
					IF(EXISTS(SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
243
					BEGIN
244
						UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
245
						SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
246
					END
247
					ELSE
248
					BEGIN
249
						SET @p_STAGE ='HC'
250
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
251
						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'
252
					END
253
				END
254
			END
255
			ELSE
256
			BEGIN
257
				IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
258
				BEGIN
259
					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'
260
					ROLLBACK TRANSACTION
261
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
262
					RETURN '0'
263
				END
264
				ELSE
265
				BEGIN
266
					UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
267
					SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
268
				END
269
			END
270
			END
271
		END
272
		--- MW - TRANSFER : ĐIỀU CHUYỂN VẬT LIỆU
273
		ELSE IF(@p_TRN_TYPE ='MW_TRANSFER')
274
		BEGIN
275
			BEGIN
276
			IF(@p_STAGE='KT')
277
			BEGIN
278
				IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
279
				BEGIN
280
					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'
281
					ROLLBACK TRANSACTION
282
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
283
					RETURN '0'
284
				END
285
				ELSE
286
				BEGIN
287
					--UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
288
					--SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
289
					IF(EXISTS(SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
290
					BEGIN
291
						UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
292
						SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
293
					END
294
					ELSE
295
					BEGIN
296
						SET @p_STAGE ='HC'
297
						UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
298
						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'
299
					END
300
				END
301
			END
302
			ELSE
303
			BEGIN
304
				IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
305
				BEGIN
306
					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'
307
					ROLLBACK TRANSACTION
308
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
309
					RETURN '0'
310
				END
311
				ELSE
312
				BEGIN
313
					UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
314
					SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
315
				END
316
			END
317
			END
318
		END
319
		--- MW_OUT : XUẤT VẬT LIỆU
320
		ELSE IF(@p_TRN_TYPE ='MW_OUT')
321
		BEGIN
322
			BEGIN
323
			IF(@p_STAGE='KT')
324
			BEGIN
325
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
326
				BEGIN
327
					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'
328
					ROLLBACK TRANSACTION
329
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
330
					RETURN '0'
331
				END
332
				ELSE
333
				BEGIN
334
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
335
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
336
					IF(EXISTS(SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
337
					BEGIN
338
						UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
339
						SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
340
					END
341
					ELSE
342
					BEGIN
343
						SET @p_STAGE ='HC'
344
						UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
345
						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'
346
					END
347
				END
348
			END
349
			ELSE
350
			BEGIN
351
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
352
				BEGIN
353
					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'
354
					ROLLBACK TRANSACTION
355
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
356
					RETURN '0'
357
				END
358
				ELSE
359
				BEGIN
360
					UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
361
					SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
362
				END
363
			END
364
			END
365
		END
366
		--- MW_OUT : THANH LÝ VẬT LIỆU
367
		ELSE IF(@p_TRN_TYPE ='MW_LIQ_MASTER')
368
		BEGIN
369
			BEGIN
370
			IF(@p_STAGE='KT')
371
			BEGIN
372
				IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
373
				BEGIN
374
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý vật liệu đã được kế toán duyệt'
375
					ROLLBACK TRANSACTION
376
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
377
					RETURN '0'
378
				END
379
				ELSE
380
				BEGIN
381
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
382
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
383
					IF(EXISTS(SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
384
					BEGIN
385
						UPDATE MW_LIQ_MASTER SET KT_AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
386
						SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công'
387
					END
388
					ELSE
389
					BEGIN
390
						SET @p_STAGE ='HC'
391
						UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
392
						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'
393
					END
394
				END
395
			END
396
			ELSE
397
			BEGIN
398
				IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
399
				BEGIN
400
					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'
401
					ROLLBACK TRANSACTION
402
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
403
					RETURN '0'
404
				END
405
				ELSE
406
				BEGIN
407
					UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
408
					SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
409
				END
410
			END
411
			END
412
		END
413
		-- PHIEU DE NGHI TAM UNG 05 11 2019
414
		ELSE IF(@p_TRN_TYPE ='REQ_ADVANCE_PAY')
415
		BEGIN
416
			BEGIN
417
			IF(@p_STAGE='KT')
418
			BEGIN
419
				IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
420
				BEGIN
421
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị tạm ứng đã được kế toán duyệt'
422
					ROLLBACK TRANSACTION
423
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
424
					RETURN '0'
425
				END
426
				ELSE
427
				BEGIN
428
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
429
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
430
					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 <>''))
431
					BEGIN
432
						UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
433
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về thành công'
434
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
435
						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)
436
						AND REQ_ID =@p_TRN_ID
437
					    -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
438
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID
439
						INSERT INTO dbo.PL_PROCESS
440
						(
441
							REQ_ID,
442
							PROCESS_ID,
443
							CHECKER_ID,
444
							APPROVE_DT,
445
							PROCESS_DESC,NOTES
446
						)
447
						VALUES
448
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
449
							'REJECT',        -- PROCESS_ID - varchar(10)
450
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
451
							GETDATE(), -- APPROVE_DT - datetime
452
							@p_REASON ,N'KSV trả về cho GDV'       -- PROCESS_DESC - nvarchar(1000)
453
						)
454
					END
455
					ELSE
456
					BEGIN
457
						SET @p_STAGE ='HC'
458
						UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID
459
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về đơn vị thành công'
460
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
461
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
462
						DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
463
						-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
464
						INSERT INTO dbo.PL_PROCESS
465
						(
466
							REQ_ID,
467
							PROCESS_ID,
468
							CHECKER_ID,
469
							APPROVE_DT,
470
							PROCESS_DESC,NOTES
471
						)
472
						VALUES
473
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
474
							'REJECT',        -- PROCESS_ID - varchar(10)
475
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
476
							GETDATE(), -- APPROVE_DT - datetime
477
							@p_REASON,N'Trả về'    -- PROCESS_DESC - nvarchar(1000)
478
						)
479
					END
480
				END
481
			END
482
			ELSE IF(@p_STAGE ='HC')
483
			BEGIN
484
				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 ='')))
485
				BEGIN
486
					SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị tạm ứng đã được trưởng đơn vị phê duyệt'
487
					ROLLBACK TRANSACTION
488
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
489
					RETURN '0'
490
				END
491
				ELSE
492
				BEGIN
493
					UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',CHECKER_ID ='',APPROVE_DT =NULL, MAKER_ID_KT =NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT =NULL WHERE REQ_PAY_ID =@p_TRN_ID
494
					SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được trả về về thành công'
495
					--NEU PHIEU DANG TRONG QUA TRINH PHE DUYET THI XOA TOAN BO PL_PROCESS VA PL_REQUEST_PROCESS 
496
					-- XOA CAC CAP PHE DUYET, KHI DON VI THUC HIEN CHINH SUA THI HE THONG SE INSERT LAI
497
					DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
498
				    DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
499
					--DELETE FROM PL_PROCESS WHERE REQ_ID =@p_TRN_ID
500
					-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
501
						INSERT INTO dbo.PL_PROCESS
502
						(
503
							REQ_ID,
504
							PROCESS_ID,
505
							CHECKER_ID,
506
							APPROVE_DT,
507
							PROCESS_DESC,NOTES
508
						)
509
						VALUES
510
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
511
							'REJECT',        -- PROCESS_ID - varchar(10)
512
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
513
							GETDATE(), -- APPROVE_DT - datetime
514
							@p_REASON ,N'Trả về'    -- PROCESS_DESC - nvarchar(1000)
515
						)
516
				END
517
			END
518
			ELSE IF(@p_STAGE ='SUG')
519
			BEGIN
520
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
521
				DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT
522
				SET @LEVEL_JOB =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
523
				SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1
524
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_TRN_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV)
525
				-- CAP NHAT TINH TRANG VE DANG XU LY
526
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID
527
				INSERT INTO dbo.PL_PROCESS
528
						(
529
							REQ_ID,
530
							PROCESS_ID,
531
							CHECKER_ID,
532
							APPROVE_DT,
533
							PROCESS_DESC,NOTES
534
						)
535
						VALUES
536
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
537
							'REJECT',        -- PROCESS_ID - varchar(10)
538
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
539
							GETDATE(), -- APPROVE_DT - datetime
540
							@p_REASON ,N'GDV đề xuất từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
541
						)
542
			SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được đề xuất từ chối thành công'
543
			END
544
			ELSE IF(@p_STAGE ='DEL')
545
			BEGIN
546
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID
547
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
548
				UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID
549
				UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE PAY_ID =@p_TRN_ID
550
				UPDATE TR_REQ_PAY_PERIOD SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
551
				---------------------------------------------------------------------------------------------------------------------
552
				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
553
				OPEN CURS_TRADE
554
					FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
555
					WHILE @@FETCH_STATUS = 0
556
					BEGIN
557
						UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
558
						WHERE TRADE_ID =@TRADED_ID
559
						FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
560
					END
561
				CLOSE CURS_TRADE
562
				DEALLOCATE CURS_TRADE
563
				
564
				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
565
				OPEN CURS
566
					FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
567
					WHILE @@FETCH_STATUS = 0
568
					BEGIN
569
						UPDATE TR_REQ_ADVANCE_PAYMENT
570
						SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
571
						FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
572
					END
573
				CLOSE CURS
574
				DEALLOCATE CURS
575
				INSERT INTO dbo.PL_PROCESS
576
						(
577
							REQ_ID,
578
							PROCESS_ID,
579
							CHECKER_ID,
580
							APPROVE_DT,
581
							PROCESS_DESC,NOTES
582
						)
583
						VALUES
584
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
585
							'DEL',        -- PROCESS_ID - varchar(10)
586
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
587
							GETDATE(), -- APPROVE_DT - datetime
588
							@p_REASON ,N'KSV hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
589
						)
590
			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'
591
			END
592
			END
593
		END
594
		-- END  PHIEU DE NGHI TAM UNG 05 11 2019
595
		-- START PHIEU DE THI THANH TOAN 19-11-2019
596
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
597
		BEGIN
598
			BEGIN
599
			IF(@p_STAGE='KT')
600
			BEGIN
601
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
602
				BEGIN
603
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt'
604
					ROLLBACK TRANSACTION
605
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
606
					RETURN '0'
607
				END
608
				ELSE
609
				BEGIN
610
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
611
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
612
					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 <>''))
613
					BEGIN
614
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
615
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về thành công'
616
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
617
						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)
618
						AND REQ_ID =@p_TRN_ID
619
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID
620
						-- INSERT VAO BANG LICH SU
621
						INSERT INTO dbo.PL_PROCESS
622
						(
623
							REQ_ID,
624
							PROCESS_ID,
625
							CHECKER_ID,
626
							APPROVE_DT,
627
							PROCESS_DESC,NOTES
628
						)
629
						VALUES
630
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
631
							'REJECT',        -- PROCESS_ID - varchar(10)
632
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
633
							GETDATE(), -- APPROVE_DT - datetime
634
							@p_REASON ,N'KSV trả về cho GDV'     -- PROCESS_DESC - nvarchar(1000)
635
						)
636
					END
637
					ELSE 
638
					BEGIN
639
						SET @p_STAGE ='HC'
640
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R',PROCESS ='',MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID
641
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công'
642
						-- XOA DI DU LIEU DA DIEU PHOI, CHO DON VI XU LY VA DUYET LAI SE DIEU PHOI LAI
643
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
644
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
645
						-- INSERT VAO BANG LICH SU
646
						INSERT INTO dbo.PL_PROCESS
647
						(
648
							REQ_ID,
649
							PROCESS_ID,
650
							CHECKER_ID,
651
							APPROVE_DT,
652
							PROCESS_DESC,NOTES
653
						)
654
						VALUES
655
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
656
							'REJECT',        -- PROCESS_ID - varchar(10)
657
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
658
							GETDATE(), -- APPROVE_DT - datetime
659
							@p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
660
						)
661
					SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được từ chối thành công'
662
					END
663
				END
664
			END
665
			ELSE IF(@p_STAGE ='HC')
666
			BEGIN
667
				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 ='')))
668
				BEGIN
669
					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'
670
					ROLLBACK TRANSACTION
671
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
672
					RETURN '0'
673
				END
674
				ELSE
675
				BEGIN
676
					UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R',PROCESS='',CHECKER_ID ='',APPROVE_DT =NULL, MAKER_ID_KT =NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT =NULL WHERE REQ_PAY_ID =@p_TRN_ID
677
					DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
678
					SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được trả về về thành công'
679
					-- INSERT VAO BANG LICH SU
680
						INSERT INTO dbo.PL_PROCESS
681
						(
682
							REQ_ID,
683
							PROCESS_ID,
684
							CHECKER_ID,
685
							APPROVE_DT,
686
							PROCESS_DESC,NOTES
687
						)
688
						VALUES
689
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
690
							'REJECT',        -- PROCESS_ID - varchar(10)
691
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
692
							GETDATE(), -- APPROVE_DT - datetime
693
							@p_REASON,N'Trả về'        -- PROCESS_DESC - nvarchar(1000)
694
						)
695
				END
696
			END
697
			ELSE IF(@p_STAGE ='SUG')
698
			BEGIN
699
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
700
				DECLARE @LEVEL_JOB_PAY VARCHAR(5), @LEVEL_JOB_PREV_PAY INT
701
				SET @LEVEL_JOB_PAY =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
702
				SET @LEVEL_JOB_PREV_PAY = CONVERT(INT,@LEVEL_JOB_PAY) -1
703
				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)
704
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID
705
				INSERT INTO dbo.PL_PROCESS
706
						(
707
							REQ_ID,
708
							PROCESS_ID,
709
							CHECKER_ID,
710
							APPROVE_DT,
711
							PROCESS_DESC,NOTES
712
						)
713
						VALUES
714
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
715
							'SUG',        -- PROCESS_ID - varchar(10)
716
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
717
							GETDATE(), -- APPROVE_DT - datetime
718
							@p_REASON ,N'GDV đề xuất từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
719
						)
720
			SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được đề xuất từ chối thành công'
721
			END
722
			ELSE IF(@p_STAGE ='DEL')
723
			BEGIN
724
				--UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
725
				--DECLARE @LEVEL_JOB_PAY VARCHAR(5), @LEVEL_JOB_PREV_PAY INT
726
				--SET @LEVEL_JOB_PAY =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
727
				--SET @LEVEL_JOB_PREV_PAY = CONVERT(INT,@LEVEL_JOB_PAY) -1
728
				--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)
729
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID
730
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
731
				UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID
732
				UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE PAY_ID =@p_TRN_ID
733
				---------------------------------------------------------------------------------------------------------------------
734
				--DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0)
735
				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
736
				OPEN CURS_TRADE
737
					FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
738
					WHILE @@FETCH_STATUS = 0
739
					BEGIN
740
						UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
741
						WHERE TRADE_ID =@TRADED_ID
742
						FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
743
					END
744
				CLOSE CURS_TRADE
745
				DEALLOCATE CURS_TRADE
746
				-- XOA NGAN SACH
747
				--DELETE FROM TR_REQ_PAY_BUDGET WHERE  REQ_PAY_ID= @p_TRN_ID
748
				--- NEU LA TAM UNG NOI BO THI PHAI REVERT LAI SO TIEN DA HOAN UNG CUA PHIEU DE NGHI TAM UNG
749
				--DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0)
750
				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
751
				OPEN CURS
752
					FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
753
					WHILE @@FETCH_STATUS = 0
754
					BEGIN
755
						UPDATE TR_REQ_ADVANCE_PAYMENT
756
						SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
757
						FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
758
					END
759
				CLOSE CURS
760
				DEALLOCATE CURS
761
				----  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
762
				--DECLARE @REQ_PAY_ID VARCHAR(15), @AMT_REAL DECIMAL(18,0)
763
				--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
764
				--OPEN CURS_SCHE
765
				--	FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
766
				--	WHILE @@FETCH_STATUS = 0
767
				--	BEGIN
768
				--		UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
769
				--		WHERE TRADE_ID =@TRADED_ID
770
				--		FETCH NEXT FROM CURS_SCHE INTO @TRADED_ID,@AMT_EXE
771
				--	END
772
				--CLOSE CURS_SCHE
773
				--DEALLOCATE CURS_SCHE
774
				INSERT INTO dbo.PL_PROCESS
775
						(
776
							REQ_ID,
777
							PROCESS_ID,
778
							CHECKER_ID,
779
							APPROVE_DT,
780
							PROCESS_DESC,NOTES
781
						)
782
						VALUES
783
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
784
							'DEL',        -- PROCESS_ID - varchar(10)
785
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
786
							GETDATE(), -- APPROVE_DT - datetime
787
							@p_REASON ,N'KSV hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
788
						)
789
			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'
790
			END
791
			END
792
		END
793
		-- END PHIEU DE THI THANH TOAN 19-11-2019
794

    
795
			--- PHIEU YEU CAU MUA SAM
796
		ELSE IF(@p_TRN_TYPE='PL_REQUEST_DOC')
797
		BEGIN	IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
798
				BEGIN
799
					SET @p_MESSAGE =N'Trả về thất bại! Tờ trình chủ trương đã được duyệt'
800
					ROLLBACK TRANSACTION
801
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
802
					RETURN '0'
803
				END
804
				ELSE
805
				BEGIN
806
					UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
807
					INSERT INTO dbo.PL_PROCESS
808
					(
809
						REQ_ID,
810
						PROCESS_ID,
811
						CHECKER_ID,
812
						APPROVE_DT,
813
						PROCESS_DESC,NOTES
814
					)
815
					VALUES
816
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
817
						'REJECT',        -- PROCESS_ID - varchar(10)
818
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
819
						GETDATE(), -- APPROVE_DT - datetime
820
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
821
					)
822
					SET @p_MESSAGE =N'Tờ trình chủ trương đã được trả về thành công'
823
					 -- 28-10-2020 LUCTV, KHI TRA VE PHAI GO PL_REQUEST_PROCESS
824
					 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
825
			 END
826
		END
827
		ELSE IF(@p_TRN_TYPE='TR_REQUEST_DOC')
828
		BEGIN
829
			--IF(@p_STAGE='DVMS')
830
			--BEGIN
831
			--END
832
			IF(@p_STAGE='PDYC' OR @p_STAGE ='DV')
833
			BEGIN
834
				IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
835
				BEGIN
836
					SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được duyệt'
837
					ROLLBACK TRANSACTION
838
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
839
					RETURN '0'
840
				END
841
				ELSE
842
				BEGIN
843
					UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID='REJECT', AUTH_STATUS ='R' WHERE REQ_ID=@p_TRN_ID
844
					INSERT INTO dbo.PL_PROCESS
845
					(
846
						REQ_ID,
847
						PROCESS_ID,
848
						CHECKER_ID,
849
						APPROVE_DT,
850
						PROCESS_DESC,NOTES
851
					)
852
					VALUES
853
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
854
						'REJECT',        -- PROCESS_ID - varchar(10)
855
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
856
						GETDATE(), -- APPROVE_DT - datetime
857
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
858
					)
859
					 SET @p_MESSAGE =N'Phiếu yêu cầu mua sắm đã được trả về thành công'
860
					 -- 28-10-2020 LUCTV, KHI TRA VE PHAI GO PL_REQUEST_PROCESS
861
					 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
862
				 END
863
			END	
864
		END
865
		-- END IF
866
		-- NEU LA TRA VE CUA HOP DONG
867
		ELSE IF(@p_TRN_TYPE='TR_CONTRACT')
868
		BEGIN
869
		--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
870
		IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
871
		BEGIN
872
			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'
873
			ROLLBACK TRANSACTION
874
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
875
			RETURN '0'
876
		END
877
		IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
878
		BEGIN
879
			SET @p_MESSAGE =N'Trả về thất bại! Hợp đồng đã được phê duyệt thành công trước đó!'
880
			ROLLBACK TRANSACTION
881
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
882
			RETURN '0'
883
		END
884
		UPDATE TR_CONTRACT SET AUTH_STATUS ='R' WHERE CONTRACT_ID =@p_TRN_ID
885
		INSERT INTO dbo.PL_PROCESS
886
					(
887
						REQ_ID,
888
						PROCESS_ID,
889
						CHECKER_ID,
890
						APPROVE_DT,
891
						PROCESS_DESC,NOTES
892
					)
893
					VALUES
894
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
895
						'REJECT',        -- PROCESS_ID - varchar(10)
896
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
897
						GETDATE(), -- APPROVE_DT - datetime
898
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
899
					)
900
			SET @p_MESSAGE =N'Hợp đồng đã được trả về thành công'		
901
		END
902
		-- NEU LA TRA VE CUA HOP DONG
903
		ELSE IF(@p_TRN_TYPE='TR_PO')
904
		BEGIN
905
		--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
906
		IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
907
		BEGIN
908
			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'
909
			ROLLBACK TRANSACTION
910
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
911
			RETURN '0'
912
		END
913
		IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
914
		BEGIN
915
			SET @p_MESSAGE =N'Trả về thất bại! PO đã được phê duyệt thành công trước đó!'
916
			ROLLBACK TRANSACTION
917
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
918
			RETURN '0'
919
		END
920
		UPDATE TR_PO_MASTER SET AUTH_STATUS ='R' WHERE PO_ID =@p_TRN_ID
921
		INSERT INTO dbo.PL_PROCESS
922
					(
923
						REQ_ID,
924
						PROCESS_ID,
925
						CHECKER_ID,
926
						APPROVE_DT,
927
						PROCESS_DESC,NOTES
928
					)
929
					VALUES
930
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
931
						'REJECT',        -- PROCESS_ID - varchar(10)
932
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
933
						GETDATE(), -- APPROVE_DT - datetime
934
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
935
					)
936
			SET @p_MESSAGE =N'PO đã được trả về thành công'		
937
		END
938
		--- KET THUC TRA VE PO
939
		ELSE
940
		BEGIN
941
			SET @p_MESSAGE =N'Trả về giao dịch thành công'
942
		END
943
		--- INSERT VAO BANG CM_REJECT_LOG
944
		EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
945
		IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
946
		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))
947
		IF @@Error <> 0 GOTO ABORT
948
COMMIT TRANSACTION
949
SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
950
RETURN '0'
951
ABORT:
952
BEGIN
953

    
954
		ROLLBACK TRANSACTION
955
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
956
		RETURN '-1'
957
END