Project

General

Profile

CM_REJECT_LOG_INS.txt

Luc Tran Van, 12/07/2020 11:05 AM

 
1

    
2

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

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

    
957
		ROLLBACK TRANSACTION
958
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
959
		RETURN '-1'
960
END