Project

General

Profile

CAP NHAT HAM TRA VE.txt

Luc Tran Van, 08/18/2020 01:56 PM

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

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

    
949
		ROLLBACK TRANSACTION
950
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
951
		RETURN '-1'
952
END