Project

General

Profile

TỪ CHỐI HIỂU.txt

Luc Tran Van, 04/13/2023 06:14 PM

 
1
ALTER   PROC dbo.CM_REJECT_LOG_Ins
2
@p_LOG_ID	varchar(15)	= NULL,
3
@p_STAGE	varchar(10)	 = 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(4000)	 = 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
    DECLARE  @TBL_GROUP_CODE_ASS_USE TABLE (GROUP_ID VARCHAR(100))
18

    
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
		-- Thu hồi tài sản
24
		IF(@p_TRN_TYPE ='ASS_COLLECT_MUL')
25
		BEGIN
26
			IF(@p_STAGE='KT')
27
			BEGIN -- KSV trả về GDV
28
				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'))
29
				BEGIN
30
					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'
31
					ROLLBACK TRANSACTION
32
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
33
					RETURN '-1'
34
				END
35
				ELSE
36
				BEGIN
37
					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 <>''))
38
					BEGIN
39
						UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE COL_MULTI_MASTER_ID =@p_TRN_ID
40
						SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về giao dịch viên thành công'
41
						-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
42
						UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
43
						-- GiaNT 29/09/2021
44
						INSERT INTO dbo.PL_PROCESS
45
						(
46
							REQ_ID,
47
							PROCESS_ID,
48
							CHECKER_ID,
49
							APPROVE_DT,
50
							PROCESS_DESC,NOTES
51
						)
52
						VALUES
53
						(   @p_TRN_ID,       
54
							'REJECT',        
55
							@p_REJECTED_BY,       
56
							GETDATE(), 
57
						   N'Từ chối phiếu',
58
               @p_REASON    
59
						)
60
					END
61
					ELSE
62
					BEGIN
63
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thu hồi tài sản chưa được kế toán cập nhật'
64
						ROLLBACK TRANSACTION
65
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
66
						RETURN '-1'
67
					END
68
				END
69
			END
70
			ELSE IF(@p_STAGE='KT_HC')
71
			BEGIN -- KSV - GDV trả về người tạo
72
				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_HC'))
73
					BEGIN
74
						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'
75
						ROLLBACK TRANSACTION
76
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
77
						RETURN '-1'
78
					END
79
				ELSE
80
				BEGIN
81
          --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH
82
          UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL
83
          WHERE ASSET_ID IN (SELECT ASSET_ID FROM ASS_COLLECT_MULTI_DT WHERE COL_MULTI_MASTER_ID = @p_TRN_ID)
84

    
85
					-- Xóa thông tin xác nhận thu hồi
86
					DELETE dbo.ASS_COLLECT_CONFIRM_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID
87

    
88
					UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL, CORE_NOTE = NULL WHERE COL_MULTI_MASTER_ID =@p_TRN_ID
89
					SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về người tạo thành công'
90
					-- GiaNT 29/09/2021
91
					INSERT INTO dbo.PL_PROCESS
92
					(
93
						REQ_ID,
94
						PROCESS_ID,
95
						CHECKER_ID,
96
						APPROVE_DT,
97
						PROCESS_DESC,NOTES
98
					)
99
					VALUES
100
					(   @p_TRN_ID,       
101
						'REJECT',        
102
						@p_REJECTED_BY,       
103
						GETDATE(), 
104
						N'Từ chối phiếu',
105
            @p_REASON    
106
					)
107
				END
108
			END
109
			ELSE
110
			BEGIN -- TDV trả về người tạo
111
				IF(EXISTS (SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
112
				BEGIN
113
					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'
114
					ROLLBACK TRANSACTION
115
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
116
					RETURN '-1'
117
				END
118
				ELSE
119
				BEGIN
120
          --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH
121
          UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL
122
          WHERE ASSET_ID IN (SELECT ASSET_ID FROM ASS_COLLECT_MULTI_DT WHERE COL_MULTI_MASTER_ID = @p_TRN_ID)
123

    
124
					UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS ='R' WHERE COL_MULTI_MASTER_ID =@p_TRN_ID
125
					SET @p_MESSAGE =N'Thông tin thu hồi tài sản đã được trả về người tạo thành công'
126
					INSERT INTO dbo.PL_PROCESS
127
					(
128
						REQ_ID,
129
						PROCESS_ID,
130
						CHECKER_ID,
131
						APPROVE_DT,
132
						PROCESS_DESC,NOTES
133
					)
134
					VALUES
135
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
136
						'REJECT',        -- PROCESS_ID - varchar(10)
137
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
138
						GETDATE(), -- APPROVE_DT - datetime
139
						N'Từ chối phiếu',      -- PROCESS_DESC - nvarchar(1000)
140
            @p_REASON
141
					)
142
				END
143
			END
144

    
145
		END
146
		--SỬA CHỮA TÀI SẢN
147
    ELSE IF(@p_TRN_TYPE = 'ASS_REPAIR_MUL')
148
    BEGIN
149
        IF(EXISTS (SELECT REPAIR_MUL_ID FROM ASS_REPAIR_MULTI_MASTER WHERE REPAIR_MUL_ID = @p_TRN_ID  AND AUTH_STATUS='A'))
150
				BEGIN
151
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin sửa chữa tài sản đã được duyệt.'
152
					ROLLBACK TRANSACTION
153
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
154
					RETURN '-1'
155
				END
156
				ELSE
157
				BEGIN
158
          --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH
159
          UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL
160
          WHERE ASSET_ID IN (SELECT ASSET_ID FROM ASS_REPAIR_MULTI_DT WHERE REPAIR_MUL_ID = @p_TRN_ID)
161

    
162
					UPDATE ASS_REPAIR_MULTI_MASTER SET AUTH_STATUS ='R' WHERE REPAIR_MUL_ID = @p_TRN_ID          
163
					SET @p_MESSAGE =N'Thông tin sửa chữa tài sản đã được trả về người tạo thành công'
164

    
165
					INSERT INTO dbo.PL_PROCESS
166
					(
167
						REQ_ID,
168
						PROCESS_ID,
169
						CHECKER_ID,
170
						APPROVE_DT,
171
						PROCESS_DESC,NOTES
172
					)
173
					VALUES
174
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
175
						'REJECT',        -- PROCESS_ID - varchar(10)
176
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
177
						GETDATE(), -- APPROVE_DT - datetime
178
						N'Phiếu bị trả về',      -- PROCESS_DESC - nvarchar(1000)
179
            @p_REASON
180
					)
181
				END
182
    END
183
    -- Điều chuyển tài sản 
184
		ELSE IF(@p_TRN_TYPE ='ASS_TRANSFER_MUL')
185
		BEGIN
186

    
187
            UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT ASSET_ID FROM ASS_TRANSFER_MULTI_DT WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID)
188
			---- GiaNT 29/09/2021 Sửa
189
			IF(@p_STAGE='KT')
190
			BEGIN -- KSV trả về GDV
191
				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'))
192
				BEGIN
193
					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'
194
					ROLLBACK TRANSACTION
195
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
196
					RETURN '-1'
197
				END
198
				ELSE
199
				BEGIN				
200
					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 <>''))
201
					BEGIN
202
						UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
203
						SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về giao dịch viên thành công'
204
						-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
205
						UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
206
						-- GiaNT 29/09/2021
207
						INSERT INTO dbo.PL_PROCESS
208
						(
209
							REQ_ID,
210
							PROCESS_ID,
211
							CHECKER_ID,
212
							APPROVE_DT,
213
							PROCESS_DESC,NOTES
214
						)
215
						VALUES
216
						(   @p_TRN_ID,        
217
							'REJECT',        
218
							@p_REJECTED_BY,       
219
							GETDATE() ,
220
							N'Trả về nhân viên xử lý'  , 
221
							@p_REASON   
222
						)
223
					END
224
					ELSE
225
					BEGIN
226
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin điều chuyển tài sản chưa được kế toán cập nhật'
227
						ROLLBACK TRANSACTION
228
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
229
						RETURN '-1'
230
					END
231
				END
232
			END
233
			ELSE IF(@p_STAGE='KT_HC')
234
			BEGIN -- KSV - GDV trả về người tạo
235
				IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
236
					BEGIN
237
						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'
238
						ROLLBACK TRANSACTION
239
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
240
						RETURN '-1'
241
					END
242
				ELSE
243
				BEGIN
244
					UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R', STATUS = 'REJECT', AUTH_STATUS_KT = NULL, APPROVE_DT = NULL,CHECKER_ID = NULL, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL , CORE_NOTE = NULL
245
					WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
246

    
247
					-- Xóa thông tin xác nhận điều chuyển
248
					DELETE ASS_TRANSFER_CONFIRM_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
249
                    
250
                    --Xoá PL_REQUEST_PROCESS
251
                    DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID
252
                    INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID)
253
		                                             VALUES(@p_TRN_ID,'REJECT','C','QLTS','','')
254

    
255
					SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về người tạo thành công'
256
					INSERT INTO dbo.PL_PROCESS
257
					(
258
						REQ_ID,
259
						PROCESS_ID,
260
						CHECKER_ID,
261
						APPROVE_DT,
262
						PROCESS_DESC,NOTES
263
					)
264
					VALUES
265
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
266
						'REJECT',        -- PROCESS_ID - varchar(10)
267
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
268
						GETDATE(), -- APPROVE_DT - datetime
269
						N'Trả về hành chính' ,@p_REASON     -- PROCESS_DESC - nvarchar(1000)
270
					)
271
				END
272
			END
273
			ELSE
274
			BEGIN -- TDV trả về người tạo
275
				IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
276
				BEGIN
277
					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'
278
					ROLLBACK TRANSACTION
279
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
280
					RETURN '-1'
281
				END
282
				ELSE
283
				BEGIN
284
					UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
285
					SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về thành công'
286
					INSERT INTO dbo.PL_PROCESS
287
						(
288
							REQ_ID,
289
							PROCESS_ID,
290
							CHECKER_ID,
291
							APPROVE_DT,
292
							PROCESS_DESC,NOTES
293
						)
294
						VALUES
295
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
296
							'REJECT',        -- PROCESS_ID - varchar(10)
297
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
298
							GETDATE(), -- APPROVE_DT - datetime
299
						   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
300
						)
301
				END
302
			END
303
		END
304
		-- Xuất sử dụng tài sản 
305
		ELSE IF(@p_TRN_TYPE ='ASS_USE_MUL')
306
		BEGIN
307
			IF(@p_STAGE='KT')
308
			BEGIN -- KSV trả về GDV
309
				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
310
				BEGIN
311
					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'
312
					ROLLBACK TRANSACTION
313
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
314
					RETURN '-1'
315
				END
316
				ELSE
317
				BEGIN
318
					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 <>''))
319
					BEGIN
320
						UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE USER_MASTER_ID =@p_TRN_ID
321
						SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về giao dịch viên thành công'
322
						-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
323
						UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
324
						-- GiaNT 29/09/2021
325
						INSERT INTO dbo.PL_PROCESS
326
						(
327
							REQ_ID,
328
							PROCESS_ID,
329
							CHECKER_ID,
330
							APPROVE_DT,
331
							PROCESS_DESC,NOTES
332
						)
333
						VALUES
334
						(   @p_TRN_ID,       
335
							'REJECT',        
336
							@p_REJECTED_BY,       
337
							GETDATE(), 
338
						  N'Trả về GDV',
339
              @p_REASON    
340
						)
341
					END
342
					ELSE
343
					BEGIN
344
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin xuất sử dụng tài sản chưa được kế toán cập nhật'
345
						ROLLBACK TRANSACTION
346
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
347
						RETURN '-1'
348
					END
349
				END
350
			END
351
			ELSE IF(@p_STAGE='KT_HC')
352
			BEGIN -- KSV - GDDV nhận - GDV trả về người tạo
353
--				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
354
--					BEGIN
355
--						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'
356
--						ROLLBACK TRANSACTION
357
--						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
358
--						RETURN '-1'
359
--					END
360
--				ELSE
361
--				BEGIN
362
--					-- Xóa thông tin xác nhận xuất sử dụng
363
--					DELETE dbo.ASS_USE_CONFIRM_MASTER WHERE USER_MASTER_ID = @p_TRN_ID
364
--
365
--					UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL WHERE USER_MASTER_ID =@p_TRN_ID
366
--					SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công'
367
--					-- GiaNT 29/09/2021
368
--					INSERT INTO dbo.PL_PROCESS
369
--					(
370
--						REQ_ID,
371
--						PROCESS_ID,
372
--						CHECKER_ID,
373
--						APPROVE_DT,
374
--						PROCESS_DESC,NOTES
375
--					)
376
--					VALUES
377
--					(   @p_TRN_ID,       
378
--						'REJECT',        
379
--						@p_REJECTED_BY,       
380
--						GETDATE(), 
381
--						@p_REASON ,
382
--						N'Từ chối phiếu'    
383
--					)
384
--				END
385
				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
386
					BEGIN
387
						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'
388
						ROLLBACK TRANSACTION
389
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
390
						RETURN '-1'
391
					END
392
				ELSE
393
				BEGIN
394
          --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH
395
          UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL
396
          WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID)
397
				
398
        	UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R', AUTH_STATUS_KT = 'E', CHECKER_ID = NULL, APPROVE_DT = NULL, CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL WHERE USER_MASTER_ID =@p_TRN_ID
399

    
400

    
401
          IF(EXISTS(SELECT 1 FROM ASS_USE_CONFIRM_MASTER aucm WHERE aucm.USER_MASTER_ID = @p_TRN_ID))
402
          BEGIN
403
              
404
    					-- Xóa thông tin xác nhận xuất sử dụng
405
    					DELETE dbo.ASS_USE_CONFIRM_MASTER WHERE USER_MASTER_ID = @p_TRN_ID
406
              
407
              --UPDATE ASS_MASTER
408
              UPDATE ASS_MASTER SET USE_DATE = NULL,USE_DATE_KT = NULL , AMORT_RATE = NULL , BRANCH_ID = NULL, DEPT_ID = NULL, EMP_ID = NULL, DIVISION_ID = NULL
409
			  WHERE ASSET_ID IN (SELECT aumd.ASSET_ID FROM ASS_USE_MULTI_DT aumd WHERE aumd.USER_MASTER_ID = @p_TRN_ID)
410
    
411
              --DELETE ASS_MASTER_HIST
412
              DELETE ASS_MASTER_HIST WHERE ASSHIST_ID IN (SELECT at.ASSHIST_ID 
413
                                                          FROM ASS_TRANSACTIONS at
414
                                                          LEFT JOIN ASS_USE_MULTI_DT aumd ON at.TRN_ID = aumd.USE_MULTI_ID
415
                                                              AND aumd.USER_MASTER_ID = @p_TRN_ID)
416
              
417
              --UPDATE ASS_WAREHOUSE_DT  
418
              UPDATE ASS_WAREHOUSE_DT SET OUT_DATE = NULL, STATUS = 'I' WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID)
419
    
420
              --DELETE ASS_LOCATION_HIST
421
              DELETE ASS_LOCATION_HIST WHERE LOCHIST_ID IN (SELECT at.LOCHIST_ID 
422
                                                          FROM ASS_TRANSACTIONS at
423
                                                          LEFT JOIN ASS_USE_MULTI_DT aumd ON at.TRN_ID = aumd.USE_MULTI_ID 
424
                                                              AND aumd.USER_MASTER_ID = @p_TRN_ID)
425
    
426
              --DELETE ASS_TRANSACTION
427
              DELETE ASS_TRANSACTIONS WHERE TRN_ID IN (SELECT aumd.USE_MULTI_ID FROM ASS_USE_MULTI_DT aumd WHERE aumd.USER_MASTER_ID = @p_TRN_ID)
428
    
429
    
430
              --START PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT
431
              DECLARE @TBL_CHECK_UPD TABLE (REQDT_ID VARCHAR(15), REQ_DOC_ID VARCHAR(15), ASS_GROUP_ID VARCHAR(15), ASS_ID VARCHAR(15), REQ_DT_TYPE VARCHAR(20), TYPE_XL VARCHAR(20))
432
              DECLARE @IS_MULTI_GROUP VARCHAR(1) = '0'
433
              INSERT INTO @TBL_CHECK_UPD
434
              SELECT DISTINCT A.REQDT_ID, A.REQ_DOC_ID, A.ASS_GROUP_ID, A.ASS_ID, A.REQ_DT_TYPE, A.TYPE_XL
435
              FROM ASS_USE_MULTI_DT B
436
              LEFT JOIN TR_REQUEST_SHOP_DOC_DT A ON B.REQ_ID = A.REQ_DOC_ID 
437
              WHERE B.USER_MASTER_ID = @p_TRN_ID AND B.REQ_ID IS NOT NULL AND B.REQ_ID <> ''
438
                    AND(A.REQ_DT_TYPE = 'BUYNEW' 
439
                      OR (A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPTK')) 
440
          
441
              DECLARE @C_REQDT_ID VARCHAR(15), @C_REQ_DOC_ID VARCHAR(15), @C_ASS_GROUP_ID VARCHAR(15), @C_ASS_ID VARCHAR(15), @C_REQ_DT_TYPE VARCHAR(15), @C_TYPE_XL VARCHAR(20)
442
          
443
              DECLARE DATA_CURSOR_CHECK_UPD CURSOR FOR
444
              SELECT * FROM @TBL_CHECK_UPD
445
          
446
              OPEN DATA_CURSOR_CHECK_UPD
447
          
448
              FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO
449
              @C_REQDT_ID,@C_REQ_DOC_ID,@C_ASS_GROUP_ID,@C_ASS_ID,@C_REQ_DT_TYPE,@C_TYPE_XL
450
          
451
              DECLARE @ALLOCATED INT
452
              WHILE @@FETCH_STATUS = 0
453
              BEGIN
454
                  SET @IS_MULTI_GROUP = '0'
455

    
456
                  DELETE @TBL_GROUP_CODE_ASS_USE
457
                  INSERT INTO @TBL_GROUP_CODE_ASS_USE (GROUP_ID)
458
                  SELECT A.GROUP_ID FROM ASS_GROUP A WHERE A.GROUP_CODE = (SELECT B.GROUP_CODE FROM ASS_GROUP B WHERE B.GROUP_ID  = @C_ASS_GROUP_ID)
459
    
460
                  IF((SELECT COUNT(*) FROM @TBL_GROUP_CODE_ASS_USE WHERE GROUP_ID IN (SELECT trsdd.ASS_GROUP_ID FROM TR_REQUEST_SHOP_DOC_DT trsdd WHERE trsdd.REQ_DOC_ID = @C_REQ_DOC_ID AND(trsdd.REQ_DT_TYPE = 'BUYNEW' 
461
                      OR (trsdd.REQ_DT_TYPE = 'XKSD' AND trsdd.TYPE_XL = 'CPTK')))) > 1)
462
                  BEGIN
463
                      SET @IS_MULTI_GROUP = '1'
464
                  END
465

    
466
                  IF (@C_REQ_DT_TYPE = 'BUYNEW')
467
                  BEGIN
468
                  SET @ALLOCATED = (SELECT SUM(TMP.COUNT) FROM (
469
                                    (SELECT COUNT(*) AS COUNT
470
                                    FROM ASS_USE_MULTI_DT A
471
                                    LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID
472
                                    WHERE A.USER_MASTER_ID = @p_TRN_ID
473
                                    GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID
474
                                    HAVING A.REQ_ID = @C_REQ_DOC_ID
475
                                      AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE WHERE ((@IS_MULTI_GROUP = '1' AND C.GROUP_ID = @C_ASS_GROUP_ID) OR @IS_MULTI_GROUP = '0'))
476
                                      AND ((@C_REQ_DT_TYPE = 'BUYNEW' AND C.REQ_ID = @C_REQ_DOC_ID))))TMP)
477
                  END
478
                  ELSE IF (@C_TYPE_XL = 'CPTK')
479
                  BEGIN
480
                  SET @ALLOCATED = (SELECT SUM(TMP.COUNT) FROM (
481
                                    (SELECT COUNT(*) AS COUNT
482
                                    FROM ASS_USE_MULTI_DT A
483
                                    LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID
484
                                    WHERE A.USER_MASTER_ID = @p_TRN_ID
485
                                    GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID
486
                                    HAVING A.REQ_ID = @C_REQ_DOC_ID
487
                                      AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE WHERE ((@IS_MULTI_GROUP = '1' AND C.GROUP_ID = @C_ASS_GROUP_ID) OR @IS_MULTI_GROUP = '0'))
488
                                      AND ((@C_TYPE_XL = 'CPTK' AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))))TMP)
489
                  END
490
                                    
491
                  UPDATE TR_REQUEST_SHOP_DOC_DT 
492
                  SET ALLOCATED = ALLOCATED - ISNULL(@ALLOCATED,0)
493
                  WHERE REQDT_ID = @C_REQDT_ID
494
    
495
                  UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = 0, STATUS = 'APPROVE' WHERE REQ_ID = @C_REQ_DOC_ID
496
                  UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @C_REQ_DOC_ID
497
                  DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @C_REQ_DOC_ID AND PROCESS_ID = 'DONE'
498
    
499
                  FETCH NEXT FROM DATA_CURSOR_CHECK_UPD INTO
500
                  @C_REQDT_ID,@C_REQ_DOC_ID,@C_ASS_GROUP_ID,@C_ASS_ID,@C_REQ_DT_TYPE,@C_TYPE_XL
501
              END
502
              CLOSE DATA_CURSOR_CHECK_UPD
503
              DEALLOCATE DATA_CURSOR_CHECK_UPD
504
              --END PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT
505
          END
506

    
507
					SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công'
508
					-- GiaNT 29/09/2021
509
					INSERT INTO dbo.PL_PROCESS
510
					(
511
						REQ_ID,
512
						PROCESS_ID,
513
						CHECKER_ID,
514
						APPROVE_DT,
515
						PROCESS_DESC,NOTES
516
					)
517
					VALUES
518
					(   @p_TRN_ID,       
519
						'REJECT',        
520
						@p_REJECTED_BY,       
521
						GETDATE(), 
522
						N'Trả về người tạo',
523
            @p_REASON   
524
					)
525
				END
526
			END
527
			ELSE IF(@p_STAGE='HC')
528
			BEGIN 
529
				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
530
					BEGIN
531
						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'
532
						ROLLBACK TRANSACTION
533
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
534
						RETURN '-1'
535
					END
536
				ELSE
537
				BEGIN
538
          
539

    
540
          --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH
541
          UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL
542
          WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID)
543

    
544
					UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R',CHECKER_ID = NULL, APPROVE_DT = NULL WHERE USER_MASTER_ID =@p_TRN_ID
545
          UPDATE ASS_USE_MULTI_DT SET AUTH_STATUS ='R',CHECKER_ID = NULL, APPROVE_DT = NULL WHERE USER_MASTER_ID =@p_TRN_ID
546
--          
547
--          --UPDATE ASS_MASTER
548
--          UPDATE ASS_MASTER SET USE_DATE = NULL, AMORT_RATE = NULL WHERE ASSET_ID IN (SELECT aumd.ASSET_ID FROM ASS_USE_MULTI_DT aumd WHERE aumd.USER_MASTER_ID = @p_TRN_ID)
549
--
550
--          --DELETE ASS_MASTER_HIST
551
--          DELETE ASS_MASTER_HIST WHERE ASSHIST_ID IN (SELECT at.ASSHIST_ID 
552
--                                                      FROM ASS_TRANSACTIONS at
553
--                                                      LEFT JOIN ASS_USE_MULTI_DT aumd ON at.TRN_ID = aumd.USE_MULTI_ID
554
--                                                          AND aumd.USER_MASTER_ID = @p_TRN_ID)
555
--          
556
--          --UPDATE ASS_WAREHOUSE_DT  
557
--          UPDATE ASS_WAREHOUSE_DT SET OUT_DATE = NULL, STATUS = 'I' WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID)
558
--
559
--          --DELETE ASS_LOCATION_HIST
560
--          DELETE ASS_LOCATION_HIST WHERE LOCHIST_ID IN (SELECT at.LOCHIST_ID 
561
--                                                      FROM ASS_TRANSACTIONS at
562
--                                                      LEFT JOIN ASS_USE_MULTI_DT aumd ON at.TRN_ID = aumd.USE_MULTI_ID 
563
--                                                          AND aumd.USER_MASTER_ID = @p_TRN_ID)
564
--
565
--          --DELETE ASS_TRANSACTION
566
--          DELETE ASS_TRANSACTIONS WHERE TRN_ID IN (SELECT aumd.USE_MULTI_ID FROM ASS_USE_MULTI_DT aumd WHERE aumd.USER_MASTER_ID = @p_TRN_ID)
567
--
568
--          --START PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT
569
--          DECLARE @TBL_CHECK_UPD_1 TABLE (REQDT_ID VARCHAR(15), REQ_DOC_ID VARCHAR(15), ASS_GROUP_ID VARCHAR(15), ASS_ID VARCHAR(15), REQ_DT_TYPE VARCHAR(20), TYPE_XL VARCHAR(20))
570
--          
571
--          INSERT INTO @TBL_CHECK_UPD_1
572
--          SELECT DISTINCT A.REQDT_ID, A.REQ_DOC_ID, A.ASS_GROUP_ID, A.ASS_ID, A.REQ_DT_TYPE, A.TYPE_XL
573
--          FROM ASS_USE_MULTI_DT B
574
--          LEFT JOIN TR_REQUEST_SHOP_DOC_DT A ON B.REQ_ID = A.REQ_DOC_ID 
575
--          WHERE B.USER_MASTER_ID = @p_TRN_ID AND B.REQ_ID IS NOT NULL AND B.REQ_ID <> ''
576
--                AND(A.REQ_DT_TYPE = 'BUYNEW' 
577
--                  OR (A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPTK')) 
578
--      
579
--          DECLARE @C_REQDT_ID_1 VARCHAR(15), @C_REQ_DOC_ID_1 VARCHAR(15), @C_ASS_GROUP_ID_1 VARCHAR(15), @C_ASS_ID_1 VARCHAR(15), @C_REQ_DT_TYPE_1 VARCHAR(15), @C_TYPE_XL_1 VARCHAR(20)
580
--      
581
--          DECLARE DATA_CURSOR_CHECK_UPD_1 CURSOR FOR
582
--          SELECT * FROM @TBL_CHECK_UPD_1
583
--      
584
--          OPEN DATA_CURSOR_CHECK_UPD_1
585
--      
586
--          FETCH NEXT FROM DATA_CURSOR_CHECK_UPD_1 INTO
587
--          @C_REQDT_ID_1,@C_REQ_DOC_ID_1,@C_ASS_GROUP_ID_1,@C_ASS_ID_1,@C_REQ_DT_TYPE_1,@C_TYPE_XL_1
588
--      
589
--          DECLARE @ALLOCATED_1 INT
590
--          WHILE @@FETCH_STATUS = 0
591
--          BEGIN
592
--              DELETE @TBL_GROUP_CODE_ASS_USE
593
--              INSERT INTO @TBL_GROUP_CODE_ASS_USE (GROUP_ID)
594
--              SELECT A.GROUP_ID FROM ASS_GROUP A WHERE A.GROUP_CODE = (SELECT B.GROUP_CODE FROM ASS_GROUP B WHERE B.GROUP_ID  = @C_ASS_GROUP_ID_1)
595
--
596
--              IF (@C_REQ_DT_TYPE_1 = 'BUYNEW')
597
--              BEGIN
598
--              SET @ALLOCATED_1 = (SELECT SUM(TMP.COUNT) FROM (
599
--                                (SELECT COUNT(*) AS COUNT
600
--                                FROM ASS_USE_MULTI_DT A
601
--                                LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID
602
--                                LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID
603
--                                WHERE B.USER_CONFIRM_MASTER_ID IS NOT NULL
604
--                                GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID
605
--                                HAVING A.REQ_ID = @C_REQ_DOC_ID_1
606
--                                  AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE)
607
--                                  AND ((@C_REQ_DT_TYPE_1 = 'BUYNEW' AND C.REQ_ID = @C_REQ_DOC_ID_1))))TMP)
608
--              END
609
--              ELSE IF (@C_TYPE_XL_1 = 'CPTK')
610
--              BEGIN
611
--              SET @ALLOCATED_1 = (SELECT SUM(TMP.COUNT) FROM (
612
--                                (SELECT COUNT(*) AS COUNT
613
--                                FROM ASS_USE_MULTI_DT A
614
--                                LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID
615
--                                LEFT JOIN ASS_MASTER C ON A.ASSET_ID = C.ASSET_ID
616
--                                WHERE B.USER_CONFIRM_MASTER_ID IS NOT NULL
617
--                                GROUP BY A.REQ_ID, C.GROUP_ID, C.REQ_ID
618
--                                HAVING A.REQ_ID = @C_REQ_DOC_ID_1
619
--                                  AND C.GROUP_ID IN (SELECT GROUP_ID FROM @TBL_GROUP_CODE_ASS_USE)
620
--                                  AND ((@C_TYPE_XL_1 = 'CPTK' AND (C.REQ_ID IS NULL OR C.REQ_ID = '')))))TMP)
621
--              END
622
--                                
623
--              UPDATE TR_REQUEST_SHOP_DOC_DT 
624
--              SET ALLOCATED = ALLOCATED - ISNULL(@ALLOCATED_1,0)
625
--              WHERE REQDT_ID = @C_REQDT_ID_1
626
--
627
--              UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = 0, STATUS = 'APPROVE' WHERE REQ_ID = @C_REQ_DOC_ID_1
628
--              UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @C_REQ_DOC_ID_1
629
--              DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @C_REQ_DOC_ID_1 AND PROCESS_ID = 'DONE'
630
--      
631
--              FETCH NEXT FROM DATA_CURSOR_CHECK_UPD_1 INTO
632
--              @C_REQDT_ID_1,@C_REQ_DOC_ID_1,@C_ASS_GROUP_ID_1,@C_ASS_ID_1,@C_REQ_DT_TYPE_1,@C_TYPE_XL_1
633
--          END
634
--          CLOSE DATA_CURSOR_CHECK_UPD_1
635
--          DEALLOCATE DATA_CURSOR_CHECK_UPD_1
636
--          --END PHUCVH 07/10/22 UPDATE ALLOCATED PHIẾU YÊU CẦU DT
637

    
638
					SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công'
639
					-- GiaNT 29/09/2021
640
					INSERT INTO dbo.PL_PROCESS
641
					(
642
						REQ_ID,
643
						PROCESS_ID,
644
						CHECKER_ID,
645
						APPROVE_DT,
646
						PROCESS_DESC,NOTES
647
					)
648
					VALUES
649
					(   @p_TRN_ID,       
650
						'REJECT',        
651
						@p_REJECTED_BY,       
652
						GETDATE(), 
653
						N'Trả về người tạo',
654
            @p_REASON   
655
					)
656
				END
657
			END
658
			ELSE
659
			BEGIN -- TDV trả về người tạo
660
				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
661
				BEGIN
662
					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'
663
					ROLLBACK TRANSACTION
664
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
665
					RETURN '-1'
666
				END
667
				ELSE
668
				BEGIN
669
          --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH
670
          UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL
671
          WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @p_TRN_ID)
672

    
673
					UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R', CHECKER_ID = NULL, APPROVE_DT = NULL WHERE USER_MASTER_ID =@p_TRN_ID
674
					SET @p_MESSAGE =N'Thông tin xuất sử dụng tài sản đã được trả về người tạo thành công'
675
					INSERT INTO dbo.PL_PROCESS
676
					(
677
						REQ_ID,
678
						PROCESS_ID,
679
						CHECKER_ID,
680
						APPROVE_DT,
681
						PROCESS_DESC,NOTES
682
					)
683
					VALUES
684
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
685
						'REJECT',        -- PROCESS_ID - varchar(10)
686
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
687
						GETDATE(), -- APPROVE_DT - datetime
688
						@p_REASON,
689
						N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
690
					)
691
				END
692
			END
693

    
694
		END
695
		-- Thanh lý tài sản
696
		ELSE IF(@p_TRN_TYPE ='ASS_LIQ_MUL')
697
		BEGIN
698
			IF(@p_STAGE='KT')
699
			BEGIN -- KSV trả về GDV
700
				IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
701
				BEGIN
702
					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'
703
					ROLLBACK TRANSACTION
704
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
705
					RETURN '-1'
706
				END
707
				ELSE
708
				BEGIN
709
					IF(EXISTS(SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
710
					BEGIN
711
						UPDATE ASS_LIQUIDATION SET AUTH_STATUS_KT ='R', SEND_APP_DT = NULL WHERE LIQ_ID =@p_TRN_ID
712
						SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về giao dịch viên thành công'
713
						-- GiaNT 29/09/2021
714
						INSERT INTO dbo.PL_PROCESS
715
						(
716
							REQ_ID,
717
							PROCESS_ID,
718
							CHECKER_ID,
719
							APPROVE_DT,
720
							PROCESS_DESC,NOTES
721
						)
722
						VALUES
723
						(   @p_TRN_ID,       
724
							'REJECT',        
725
							@p_REJECTED_BY,       
726
							GETDATE(), 
727
						   @p_REASON ,
728
						   N'Từ chối phiếu'    
729
						)
730
					END
731
					ELSE
732
					BEGIN
733
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin thanh lý tài sản chưa được kế toán cập nhật'
734
						ROLLBACK TRANSACTION
735
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
736
						RETURN '-1'
737
					END
738
				END
739
			END
740
			ELSE IF(@p_STAGE='KT_HC')
741
			BEGIN -- KSV - GDV trả về người tạo
742
				IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
743
					BEGIN
744
						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'
745
						ROLLBACK TRANSACTION
746
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
747
						RETURN '-1'
748
					END
749
				ELSE
750
				BEGIN
751
					UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,
752
                                                APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL, CORE_NOTE = NULL, SEND_APP_DT = NULL
753
                    WHERE LIQ_ID =@p_TRN_ID
754
					SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công'
755
					-- GiaNT 29/09/2021
756

    
757
                    -- CLEAR các trans cho trường hợp trả về người tạo rồi lên cấp tdv duyệt
758
                      DELETE ASS_TRANSACTIONS WHERE TRN_ID = @p_TRN_ID
759

    
760
						INSERT INTO dbo.PL_PROCESS
761
						(
762
							REQ_ID,
763
							PROCESS_ID,
764
							CHECKER_ID,
765
							APPROVE_DT,
766
							PROCESS_DESC,NOTES
767
						)
768
						VALUES
769
						(   @p_TRN_ID,       
770
							'REJECT',        
771
							@p_REJECTED_BY,       
772
							GETDATE(), 
773
						   @p_REASON ,
774
						   N'Từ chối phiếu'    
775
						)
776
				END
777
			END
778
			ELSE
779
			BEGIN -- TDV trả về người tạo
780
				IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
781
				BEGIN
782
					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'
783
					ROLLBACK TRANSACTION
784
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
785
					RETURN '-1'
786
				END
787
				ELSE
788
				BEGIN
789
					UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R' WHERE LIQ_ID = @p_TRN_ID
790
					SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công'
791
					INSERT INTO dbo.PL_PROCESS
792
						(
793
							REQ_ID,
794
							PROCESS_ID,
795
							CHECKER_ID,
796
							APPROVE_DT,
797
							PROCESS_DESC,NOTES
798
						)
799
						VALUES
800
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
801
							'REJECT',        -- PROCESS_ID - varchar(10)
802
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
803
							GETDATE(), -- APPROVE_DT - datetime
804
						   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
805
						)
806
				END
807
			END
808
		END
809
		-- Nhập mới tài sản
810
		ELSE IF(@p_TRN_TYPE ='ASS_ADDNEW_MUL')
811
		BEGIN
812
			IF(@p_STAGE='KT')
813
			BEGIN -- KSV trả về GDV
814
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
815
				BEGIN
816
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản đã được kế toán duyệt'
817
					ROLLBACK TRANSACTION
818
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
819
					RETURN '-1'
820
				END
821
				ELSE
822
				BEGIN
823
					IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID AND (MAKER_ID_KT IS NOT NULL OR MAKER_ID_KT <>'') AND AUTH_STATUS_KT = 'U'))
824
					BEGIN
825
						UPDATE ASS_ADDNEW SET AUTH_STATUS_KT ='R' WHERE ADDNEW_ID =@p_TRN_ID
826
						SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về giao dịch viên thành công'
827
						-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
828
						UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
829
						-- GiaNT 29/09/2021
830
						INSERT INTO dbo.PL_PROCESS
831
						(
832
							REQ_ID,
833
							PROCESS_ID,
834
							CHECKER_ID,
835
							APPROVE_DT,
836
							PROCESS_DESC,NOTES
837
						)
838
						VALUES
839
						(   @p_TRN_ID,       
840
							'REJECT',        
841
							@p_REJECTED_BY,       
842
							GETDATE(), 
843
						   N'Từ chối phiếu'  ,
844
						   @p_REASON 
845
						)
846
					END
847
					ELSE
848
					BEGIN
849
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới tài sản chưa được kế toán cập nhật'
850
						ROLLBACK TRANSACTION
851
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
852
						RETURN '-1'
853
					END
854
				END
855
			END
856
			ELSE IF(@p_STAGE='KT_HC')
857
			BEGIN -- KSV - GDV trả về người tạo
858
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
859
					BEGIN
860
						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'
861
						ROLLBACK TRANSACTION
862
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
863
						RETURN '-1'
864
					END
865
				ELSE
866
				BEGIN
867
					UPDATE ASS_ADDNEW SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL WHERE ADDNEW_ID =@p_TRN_ID
868
					SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về người tạo thành công'
869

    
870
          --khiemchg ROLLBACK DATA khi KT trả về người tạo
871
          DECLARE @REQ_ID VARCHAR(15), @REQ_CODE VARCHAR(50)
872
          SELECT @REQ_ID = AA.REQ_ID, @REQ_CODE = AA.REQ_CODE FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_TRN_ID AND AUTH_STATUS_KT='A'
873
          DECLARE @ASS_MASTER_tmp TABLE
874
          (
875
          	ASS_ID VARCHAR(15) NULL
876
          )
877
          INSERT INTO @ASS_MASTER_tmp SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT
878
                                      WHERE AT.TRN_ID = @p_TRN_ID AND AT.TRN_TYPE ='ADD_NEW'
879
          DECLARE @QTY INT = (SELECT ISNULL(COUNT(ASS_ID), 0) FROM @ASS_MASTER_tmp)
880
          DECLARE @GROUP_ID VARCHAR(15) = (SELECT AA.GROUP_ID FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_TRN_ID AND AUTH_STATUS_KT='A')
881
          
882
          DELETE ASS_MASTER WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp)
883
          DELETE ASS_MASTER_HIST WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp)
884
          DELETE ASS_LOCATION_HIST WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp)
885
          DELETE ASS_TRANSACTIONS WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp)
886
          DELETE ASS_WARRANTY_DT WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp)
887
          DELETE ASS_USE_MULTI_DT WHERE ASSET_ID IN (SELECT ASS_ID FROM @ASS_MASTER_tmp) AND REQ_ID = @REQ_ID
888
          UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '0' WHERE REQ_ID = @REQ_ID AND REQ_CODE = @REQ_CODE
889
          UPDATE TR_REQUEST_SHOP_DOC_DT SET ALLOCATED = ALLOCATED - @QTY WHERE REQ_DOC_ID = @REQ_ID AND ASS_GROUP_ID = @GROUP_ID
890
          -- khiemchg end
891

    
892
					-- GiaNT 29/09/2021
893
						INSERT INTO dbo.PL_PROCESS
894
						(
895
							REQ_ID,
896
							PROCESS_ID,
897
							CHECKER_ID,
898
							APPROVE_DT,
899
							PROCESS_DESC,NOTES
900
						)
901
						VALUES
902
						(   @p_TRN_ID,       
903
							'REJECT',        
904
							@p_REJECTED_BY,       
905
							GETDATE(),  
906
						   N'Từ chối phiếu' ,
907
						   @p_REASON   
908
						)
909
				END
910
			END -- KSV - GDV trả về người tạo
911
			ELSE 
912
			BEGIN -- TDV trả về người tạo
913
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
914
				BEGIN
915
					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'
916
					ROLLBACK TRANSACTION
917
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
918
					RETURN '-1'
919
				END
920
				ELSE
921
				BEGIN
922
					UPDATE ASS_ADDNEW SET AUTH_STATUS ='R' WHERE ADDNEW_ID = @p_TRN_ID
923
					SET @p_MESSAGE =N'Thông tin nhập mới tài sản đã được trả về người tạo thành công'
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
						   N'Từ chối phiếu' ,@p_REASON      -- PROCESS_DESC - nvarchar(1000)
938
						)
939
				END
940
			END
941
		END
942
		-- Kiểm kê tài sản
943
		ELSE IF(@p_TRN_TYPE ='ASS_INV_MUL')
944
		BEGIN
945
			IF(@p_STAGE='APPROVE')
946
			BEGIN -- Trưởng ban kiểm kê trả về người tạo
947
				IF(EXISTS (SELECT * FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_TRN_ID  AND AUTH_STATUS='A'))
948
				BEGIN
949
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin kiểm kê tài sản đã được trưởng ban kiểm kê duyệt'
950
					ROLLBACK TRANSACTION
951
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
952
					RETURN '-1'
953
				END
954
				ELSE
955
				BEGIN
956
					UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R',AUTH_STATUS ='R',APPROVE_DT_DVKD=NULL,CHECKER_ID_DVKD=NULL WHERE INVENT_ID = @p_TRN_ID
957
					UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '0', COMMENT = NULL, CONFIRM_DT = NULL WHERE INVENT_ID = @p_TRN_ID
958
					SET @p_MESSAGE =N'Thông tin nhập kiểm kê sản đã được trả về người tạo thành công'
959
					INSERT INTO dbo.PL_PROCESS
960
					(
961
						REQ_ID,
962
						PROCESS_ID,
963
						CHECKER_ID,
964
						APPROVE_DT,
965
						PROCESS_DESC,NOTES
966
					)
967
					VALUES
968
					(   @p_TRN_ID,       
969
						'REJECT',        
970
						@p_REJECTED_BY,       
971
						GETDATE(), 
972
						@p_REASON ,
973
						N'Từ chối phiếu'    
974
					)
975
				END
976
			END
977
			ELSE IF(@p_STAGE='CONFIRM')
978
			BEGIN -- Thành phần ban kiểm kê trả về người tạo
979
				IF(EXISTS(SELECT * FROM dbo.ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_TRN_ID AND PARTY_NAME = @p_REJECTED_BY AND IS_DONE = 1))
980
					BEGIN
981
						SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin kiểm kê tài sản đã được thành phần ban kiểm kê duyệt'
982
						ROLLBACK TRANSACTION
983
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
984
						RETURN '-1'
985
					END
986
				ELSE IF (EXISTS(SELECT * FROM dbo.ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_TRN_ID AND PARTY_NAME = @p_REJECTED_BY AND IS_DONE = 0))
987
				BEGIN
988
					UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R',AUTH_STATUS='R',APPROVE_DT_DVKD=NULL,CHECKER_ID_DVKD=NULL WHERE INVENT_ID =@p_TRN_ID
989
					UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '0', COMMENT = NULL, CONFIRM_DT = NULL WHERE INVENT_ID = @p_TRN_ID
990
					SET @p_MESSAGE =N'Thông tin kiểm kê tài sản đã được trả về người tạo thành công'
991
					INSERT INTO dbo.PL_PROCESS
992
					(
993
						REQ_ID,
994
						PROCESS_ID,
995
						CHECKER_ID,
996
						APPROVE_DT,
997
						PROCESS_DESC,NOTES
998
					)
999
					VALUES
1000
					(   @p_TRN_ID,       
1001
						'REJECT',        
1002
						@p_REJECTED_BY,       
1003
						GETDATE(), 
1004
						@p_REASON ,
1005
						N'Từ chối phiếu'    
1006
					)
1007
				END
1008
			END
1009
			ELSE
1010
			BEGIN -- TDV trả về người tạo
1011
				IF(EXISTS (SELECT * FROM dbo.ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_TRN_ID  AND AUTH_STATUS_DVKD='A' AND @p_STAGE ='HC'))
1012
				BEGIN
1013
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin kiểm kê tài sản đã được trưởng đơn vị duyệt'
1014
					ROLLBACK TRANSACTION
1015
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1016
					RETURN '-1'
1017
				END
1018
				ELSE
1019
				BEGIN
1020
					UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R',AUTH_STATUS ='R' WHERE INVENT_ID = @p_TRN_ID
1021
					SET @p_MESSAGE =N'Thông tin kiểm kê tài sản đã được trả về người tạo thành công'
1022
					INSERT INTO dbo.PL_PROCESS
1023
					(
1024
						REQ_ID,
1025
						PROCESS_ID,
1026
						CHECKER_ID,
1027
						APPROVE_DT,
1028
						PROCESS_DESC,NOTES
1029
					)
1030
					VALUES
1031
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1032
						'REJECT',        -- PROCESS_ID - varchar(10)
1033
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1034
						GETDATE(), -- APPROVE_DT - datetime
1035
						@p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1036
					)
1037
				END
1038
			END
1039
		END
1040
		ELSE IF(@p_TRN_TYPE ='MW_IN')
1041
		BEGIN
1042
			BEGIN
1043
			IF(@p_STAGE='KT')
1044
			BEGIN
1045
				IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
1046
				BEGIN
1047
					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'
1048
					ROLLBACK TRANSACTION
1049
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1050
					RETURN '0'
1051
				END
1052
				ELSE
1053
				BEGIN
1054
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
1055
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
1056
					IF(EXISTS(SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
1057
					BEGIN
1058
						UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
1059
						SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
1060

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

    
1064
					END
1065
					ELSE
1066
					BEGIN
1067
						SET @p_STAGE ='HC'
1068
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
1069
						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'
1070

    
1071
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1072
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1073
					END
1074
				END
1075
			END
1076
			ELSE IF(@p_STAGE='KT_HC')
1077
				BEGIN
1078
					BEGIN
1079
					IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
1080
						BEGIN
1081
							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'
1082
							ROLLBACK TRANSACTION
1083
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1084
							RETURN '0'
1085
						END
1086
					ELSE
1087
						BEGIN
1088
							SET @p_STAGE ='HC'
1089
							UPDATE MW_IN_MASTER SET AUTH_STATUS ='R',CORE_NOTE = NULL
1090
							, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
1091
							--,CHECKER_ID_KT = @p_REJECTED_BY,APPROVE_DT_KT = GETDATE()
1092
							WHERE IN_ID =@p_TRN_ID
1093
							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'
1094

    
1095
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1096
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1097
						END
1098
					END
1099
				END
1100
			ELSE
1101
			BEGIN
1102
				IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1103
				BEGIN
1104
					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'
1105
					ROLLBACK TRANSACTION
1106
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1107
					RETURN '0'
1108
				END
1109
				ELSE
1110
				BEGIN
1111
					UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
1112
					SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
1113

    
1114
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1115
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1116
				END
1117
			END
1118
			END
1119
		END
1120
		--- MW - TRANSFER : ĐIỀU CHUYỂN VẬT LIỆU
1121
		ELSE IF(@p_TRN_TYPE ='MW_TRANSFER')
1122
		BEGIN
1123
			BEGIN
1124
			IF(@p_STAGE='KT')
1125
			BEGIN
1126
				IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1127
					BEGIN
1128
						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'
1129
						ROLLBACK TRANSACTION
1130
						SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1131
						RETURN '0'
1132
					END
1133
				ELSE
1134
					BEGIN
1135
						--UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
1136
						--SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
1137
						IF(EXISTS(SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
1138
						BEGIN
1139
							UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
1140
							SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
1141

    
1142
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1143
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1144
						END
1145
						ELSE
1146
						BEGIN
1147
							SET @p_STAGE ='HC'
1148
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
1149
							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'
1150

    
1151
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1152
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1153
						END
1154
					END
1155
			END
1156
			ELSE IF(@p_STAGE='KT_HC')
1157
				BEGIN
1158
					IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1159
						BEGIN
1160
							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'
1161
							ROLLBACK TRANSACTION
1162
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1163
							RETURN '0'
1164
						END
1165
					ELSE
1166
						BEGIN
1167
							SET @p_STAGE ='HC'
1168
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R', CORE_NOTE = NULL 
1169
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
1170
							--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
1171
							WHERE TRANSFER_ID =@p_TRN_ID
1172
							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'
1173

    
1174
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1175
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1176
						END
1177
				END
1178
			ELSE
1179
			BEGIN
1180
				IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1181
				BEGIN
1182
					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'
1183
					ROLLBACK TRANSACTION
1184
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1185
					RETURN '0'
1186
				END
1187
				ELSE
1188
				BEGIN
1189
					UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
1190
					SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
1191

    
1192
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1193
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1194
				END
1195
			END
1196
			END
1197

    
1198
		END
1199
		--- MW_OUT : XUẤT VẬT LIỆU
1200
		ELSE IF(@p_TRN_TYPE ='MW_OUT')
1201
		BEGIN
1202
			BEGIN
1203
			IF(@p_STAGE='KT')
1204
			BEGIN
1205
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1206
				BEGIN
1207
					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'
1208
					ROLLBACK TRANSACTION
1209
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1210
					RETURN '0'
1211
				END
1212
				ELSE
1213
				BEGIN
1214
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1215
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1216
					IF(EXISTS(SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
1217
					BEGIN
1218
						UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1219
						SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1220

    
1221
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1222
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1223
					END
1224
					ELSE
1225
					BEGIN
1226
						SET @p_STAGE ='HC'
1227
						UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1228
						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'
1229

    
1230
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1231
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1232
					END
1233
				END
1234
			END
1235
			ELSE IF(@p_STAGE='KT_HC')
1236
				BEGIN
1237
					IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1238
						BEGIN
1239
							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'
1240
							ROLLBACK TRANSACTION
1241
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1242
							RETURN '0'
1243
						END
1244
					ELSE
1245
						BEGIN
1246
							SET @p_STAGE ='HC'
1247
							UPDATE MW_OUT SET AUTH_STATUS ='R', CORE_NOTE = NULL
1248
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
1249
							--, KT_APPROVE_DT = GETDATE() ,KT_CHECKER_ID = @p_REJECTED_BY
1250
							WHERE OUT_ID =@p_TRN_ID
1251
							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'
1252

    
1253
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1254
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1255
						END
1256
				END
1257
			ELSE
1258
			BEGIN
1259
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1260
				BEGIN
1261
					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'
1262
					ROLLBACK TRANSACTION
1263
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1264
					RETURN '0'
1265
				END
1266
				ELSE
1267
				BEGIN
1268
					UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1269
					SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1270

    
1271
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1272
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1273
				END
1274
			END
1275
			END
1276
		END
1277
		--- MW_OUT : THANH LÝ VẬT LIỆU
1278
		ELSE IF(@p_TRN_TYPE ='MW_LIQ_MASTER')
1279
		BEGIN
1280
			BEGIN
1281
			IF(@p_STAGE='KT')
1282
			BEGIN
1283
				IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1284
				BEGIN
1285
					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'
1286
					ROLLBACK TRANSACTION
1287
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1288
					RETURN '0'
1289
				END
1290
				ELSE
1291
				BEGIN
1292
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1293
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1294
					IF(EXISTS(SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
1295
					BEGIN
1296
						UPDATE MW_LIQ_MASTER SET KT_AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
1297
						SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công'
1298

    
1299
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1300
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1301
					END
1302
					ELSE
1303
					BEGIN
1304
						SET @p_STAGE ='HC'
1305
						UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
1306
						SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công'
1307

    
1308
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1309
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1310
					END
1311
				END
1312
			END
1313
			ELSE IF(@p_STAGE='KT_HC')
1314
				BEGIN
1315
					IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1316
						BEGIN
1317
							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'
1318
							ROLLBACK TRANSACTION
1319
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1320
							RETURN '0'
1321
						END
1322
					ELSE
1323
						BEGIN
1324
							SET @p_STAGE ='HC'
1325
							UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R', CORE_NOTE = NULL
1326
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
1327
							--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
1328
							WHERE LIQ_ID =@p_TRN_ID
1329
							SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công'
1330

    
1331
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1332
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1333
						END
1334
				END
1335
			ELSE
1336
			BEGIN
1337
				IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1338
				BEGIN
1339
					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'
1340
					ROLLBACK TRANSACTION
1341
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1342
					RETURN '0'
1343
				END
1344
				ELSE
1345
				BEGIN
1346
					UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
1347
					SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công'
1348

    
1349
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1350
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1351
				END
1352
			END
1353
			END
1354
		END
1355
		-- PHIEU DE NGHI TAM UNG 05 11 2019
1356
		ELSE IF(@p_TRN_TYPE ='REQ_ADVANCE_PAY')
1357
		BEGIN
1358
			
1359
			IF(@p_STAGE='KT')
1360
			BEGIN
1361
				-- doanptt them rang buoc nhap ky do tra ve
1362
				IF(@p_REASON IS NULL OR @p_REASON = '')
1363
				BEGIN
1364
					SET @p_MESSAGE =N'Lý do trả về không được để trống'
1365
					ROLLBACK TRANSACTION
1366
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1367
					RETURN '-1'
1368
				END
1369

    
1370
				IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
1371
				BEGIN
1372
					SET @p_MESSAGE =N'Trả về thất bại! Phiếu đề nghị tạm ứng đã được kế toán duyệt'
1373
					ROLLBACK TRANSACTION
1374
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1375
					RETURN '-1'
1376
				END
1377
				ELSE
1378
				BEGIN
1379
					-- NEU DANG O VI TRI TKTGD, TKHDQT
1380
					IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND ROLE_USER IN ('TKTGD','TKHDQT') AND STATUS ='C'))
1381
					BEGIN
1382
						IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS' AND TLNAME =@p_REJECTED_BY))
1383
							BEGIN
1384
								SET @p_MESSAGE =N'Trả về thất bại! Phiếu đề nghị tạm ứng chưa được điều phối cho nhân viên xử lý'
1385
								ROLLBACK TRANSACTION
1386
								SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1387
								RETURN '-1'
1388
						END
1389
						--UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
1390
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về nhân viên xử lý thành công'
1391
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1392
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME =(SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TYPE_JOB ='XL')
1393
						AND REQ_ID =@p_TRN_ID
1394
					    -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1395
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS'
1396
						INSERT INTO dbo.PL_PROCESS
1397
						(
1398
							REQ_ID,
1399
							PROCESS_ID,
1400
							CHECKER_ID,
1401
							APPROVE_DT,
1402
							PROCESS_DESC,NOTES
1403
						)
1404
						VALUES
1405
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1406
							'REJECT',        -- PROCESS_ID - varchar(10)
1407
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1408
							GETDATE(), -- APPROVE_DT - datetime
1409
							@p_REASON ,N'Trưởng văn phòng từ chối nhân viên xử lý'       -- PROCESS_DESC - nvarchar(1000)
1410
						)
1411
						EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
1412
						IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
1413
						INSERT INTO [dbo].[CM_REJECT_LOG] VALUES (@p_LOG_ID,'HC',@p_TRN_ID,@p_TRN_TYPE,CONVERT(DATETIME,GETDATE(),103),'R',@p_REASON,'Y',@p_REJECTED_BY,CONVERT(DATETIME,GETDATE(),103))
1414
						COMMIT TRANSACTION
1415
						SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1416
						RETURN '0'
1417
					END
1418
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1419
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1420
					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 <>''))
1421
					BEGIN
1422
						UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
1423
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về thành công'
1424
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1425
						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)
1426
						AND REQ_ID =@p_TRN_ID
1427
					    -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1428
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID
1429
						INSERT INTO dbo.PL_PROCESS
1430
						(
1431
							REQ_ID,
1432
							PROCESS_ID,
1433
							CHECKER_ID,
1434
							APPROVE_DT,
1435
							PROCESS_DESC,NOTES
1436
						)
1437
						VALUES
1438
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1439
							'REJECT',        -- PROCESS_ID - varchar(10)
1440
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1441
							GETDATE(), -- APPROVE_DT - datetime
1442
							@p_REASON ,N'KSV trả về cho GDV'       -- PROCESS_DESC - nvarchar(1000)
1443
						)
1444
					END
1445
					ELSE
1446
					BEGIN
1447
						SET @p_STAGE ='HC'
1448
						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
1449
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về đơn vị thành công'
1450
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1451
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1452
						DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
1453
						-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1454
						INSERT INTO dbo.PL_PROCESS
1455
						(
1456
							REQ_ID,
1457
							PROCESS_ID,
1458
							CHECKER_ID,
1459
							APPROVE_DT,
1460
							PROCESS_DESC,NOTES
1461
						)
1462
						VALUES
1463
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1464
							'REJECT',        -- PROCESS_ID - varchar(10)
1465
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1466
							GETDATE(), -- APPROVE_DT - datetime
1467
							@p_REASON,N'Trả về cho người tạo phiếu'    -- PROCESS_DESC - nvarchar(1000)
1468
						)
1469
					END
1470
				END
1471
			END
1472
			ELSE IF(@p_STAGE='KT_HC')
1473
			BEGIN
1474
				IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT = 'A'))
1475
				BEGIN
1476
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị tạm ứng đã được kế toán duyệt'
1477
					ROLLBACK TRANSACTION
1478
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1479
					RETURN '0'
1480
				END
1481
				ELSE
1482
				BEGIN
1483
					SET @p_STAGE ='HC'
1484
					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
1485
					SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về đơn vị thành công'
1486
					---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1487
					DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1488
					DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
1489
					-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1490
					INSERT INTO dbo.PL_PROCESS
1491
					(
1492
						REQ_ID,
1493
						PROCESS_ID,
1494
						CHECKER_ID,
1495
						APPROVE_DT,
1496
						PROCESS_DESC,NOTES
1497
					)
1498
					VALUES
1499
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1500
						'REJECT',        -- PROCESS_ID - varchar(10)
1501
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1502
						GETDATE(), -- APPROVE_DT - datetime
1503
						@p_REASON,N'Trả về cho người tạo phiếu'    -- PROCESS_DESC - nvarchar(1000)
1504
					)
1505
				END
1506
			END
1507
			ELSE IF(@p_STAGE ='HC')
1508
			BEGIN
1509
				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 ='')))
1510
				BEGIN
1511
					SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị tạm ứng đã được duyệt hoàn tất ở cấp độ Hành Chính Quản Trị'
1512
					ROLLBACK TRANSACTION
1513
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1514
					RETURN '0'
1515
				END
1516
				IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS='R'))
1517
				BEGIN
1518
					SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị tạm ứng đã được trả về trước đó'
1519
					ROLLBACK TRANSACTION
1520
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1521
					RETURN '0'
1522
				END
1523
				ELSE
1524
				BEGIN
1525
					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
1526
					SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được trả về về thành công'
1527
					--NEU PHIEU DANG TRONG QUA TRINH PHE DUYET THI XOA TOAN BO PL_PROCESS VA PL_REQUEST_PROCESS 
1528
					-- XOA CAC CAP PHE DUYET, KHI DON VI THUC HIEN CHINH SUA THI HE THONG SE INSERT LAI
1529
					DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
1530
				    DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1531
					--DELETE FROM PL_PROCESS WHERE REQ_ID =@p_TRN_ID
1532
					-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1533
						INSERT INTO dbo.PL_PROCESS
1534
						(
1535
							REQ_ID,
1536
							PROCESS_ID,
1537
							CHECKER_ID,
1538
							APPROVE_DT,
1539
							PROCESS_DESC,NOTES
1540
						)
1541
						VALUES
1542
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1543
							'REJECT',        -- PROCESS_ID - varchar(10)
1544
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1545
							GETDATE(), -- APPROVE_DT - datetime
1546
							@p_REASON ,N'Trả về'    -- PROCESS_DESC - nvarchar(1000)
1547
						)
1548
				END
1549
			END
1550
			ELSE IF(@p_STAGE ='SUG')
1551
			BEGIN
1552
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
1553
				DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT
1554
				SET @LEVEL_JOB =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
1555
				SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1
1556
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_TRN_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV)
1557
				-- CAP NHAT TINH TRANG VE DANG XU LY
1558
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID
1559
				INSERT INTO dbo.PL_PROCESS
1560
						(
1561
							REQ_ID,
1562
							PROCESS_ID,
1563
							CHECKER_ID,
1564
							APPROVE_DT,
1565
							PROCESS_DESC,NOTES
1566
						)
1567
						VALUES
1568
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1569
							'REJECT',        -- PROCESS_ID - varchar(10)
1570
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1571
							GETDATE(), -- APPROVE_DT - datetime
1572
							@p_REASON ,N'GDV đề xuất từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1573
						)
1574
				SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được đề xuất từ chối thành công'
1575
			END
1576
			ELSE IF(@p_STAGE ='DEL')
1577
			BEGIN
1578
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1579
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1580
				UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID
1581
				UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE PAY_ID =@p_TRN_ID
1582
				UPDATE TR_REQ_PAY_PERIOD SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1583
				---------------------------------------------------------------------------------------------------------------------
1584
				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
1585
				OPEN CURS_TRADE
1586
					FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1587
					WHILE @@FETCH_STATUS = 0
1588
					BEGIN
1589
						UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
1590
						WHERE TRADE_ID =@TRADED_ID
1591
						FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1592
					END
1593
				CLOSE CURS_TRADE
1594
				DEALLOCATE CURS_TRADE
1595
				
1596
				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
1597
				OPEN CURS
1598
					FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
1599
					WHILE @@FETCH_STATUS = 0
1600
					BEGIN
1601
						UPDATE TR_REQ_ADVANCE_PAYMENT
1602
						SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
1603
						FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
1604
					END
1605
				CLOSE CURS
1606
				DEALLOCATE CURS
1607
				INSERT INTO dbo.PL_PROCESS
1608
						(
1609
							REQ_ID,
1610
							PROCESS_ID,
1611
							CHECKER_ID,
1612
							APPROVE_DT,
1613
							PROCESS_DESC,NOTES
1614
						)
1615
						VALUES
1616
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1617
							'DEL',        -- PROCESS_ID - varchar(10)
1618
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1619
							GETDATE(), -- APPROVE_DT - datetime
1620
							@p_REASON ,N'KSV hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
1621
						)
1622
				--doanptt ẩn nscp khi hủy hoặc trả phiếu về HC
1623
				UPDATE TR_REQ_BUDGET_MONTH_LIMIT_DETAIL SET RECORD_STATUS = '0'
1624
				UPDATE TR_REQ_BUDGET_YEAR_LIMIT_DETAIL SET RECORD_STATUS = '0'
1625
				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'
1626
			END
1627
			
1628
		END
1629
		-- END  PHIEU DE NGHI TAM UNG 05 11 2019
1630
		-- START PHIEU DE THI THANH TOAN 19-11-2019
1631
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
1632
		BEGIN
1633
			BEGIN
1634
			IF(@p_STAGE='KT')
1635
			BEGIN
1636
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
1637
				BEGIN
1638
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt'
1639
					ROLLBACK TRANSACTION
1640
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1641
					RETURN '0'
1642
				END
1643
				ELSE
1644
				BEGIN
1645
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1646
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1647
					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 <>''))
1648
					BEGIN
1649
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
1650
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về thành công'
1651
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1652
						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)
1653
						AND REQ_ID =@p_TRN_ID
1654
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID
1655
						-- INSERT VAO BANG LICH SU
1656
						INSERT INTO dbo.PL_PROCESS
1657
						(
1658
							REQ_ID,
1659
							PROCESS_ID,
1660
							CHECKER_ID,
1661
							APPROVE_DT,
1662
							PROCESS_DESC,NOTES
1663
						)
1664
						VALUES
1665
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1666
							'REJECT',        -- PROCESS_ID - varchar(10)
1667
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1668
							GETDATE(), -- APPROVE_DT - datetime
1669
							@p_REASON ,N'KSV trả về cho GDV'     -- PROCESS_DESC - nvarchar(1000)
1670
						)
1671
					END
1672
					ELSE 
1673
					BEGIN
1674
						SET @p_STAGE ='HC'
1675
						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
1676
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công'
1677
						-- XOA DI DU LIEU DA DIEU PHOI, CHO DON VI XU LY VA DUYET LAI SE DIEU PHOI LAI
1678
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1679
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1680
						-- INSERT VAO BANG LICH SU
1681
						INSERT INTO dbo.PL_PROCESS
1682
						(
1683
							REQ_ID,
1684
							PROCESS_ID,
1685
							CHECKER_ID,
1686
							APPROVE_DT,
1687
							PROCESS_DESC,NOTES
1688
						)
1689
						VALUES
1690
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1691
							'REJECT',        -- PROCESS_ID - varchar(10)
1692
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1693
							GETDATE(), -- APPROVE_DT - datetime
1694
							@p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1695
						)
1696
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được từ chối thành công'
1697
						--doanptt 210622 xóa nscp khi hủy hoặc trả phiếu về HC
1698
						DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
1699
						DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
1700
					END
1701
				END
1702
			END
1703
			ELSE IF(@p_STAGE='KT_HC')
1704
			BEGIN
1705
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT = 'A'))
1706
				BEGIN
1707
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt'
1708
					ROLLBACK TRANSACTION
1709
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1710
					RETURN '0'
1711
				END
1712
				ELSE
1713
				BEGIN
1714
					SET @p_STAGE ='HC'
1715
					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
1716
					SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công'
1717
					---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
1718
					DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1719
					DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
1720
					-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
1721
					INSERT INTO dbo.PL_PROCESS
1722
					(
1723
						REQ_ID,
1724
						PROCESS_ID,
1725
						CHECKER_ID,
1726
						APPROVE_DT,
1727
						PROCESS_DESC,NOTES
1728
					)
1729
					VALUES
1730
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1731
						'REJECT',        -- PROCESS_ID - varchar(10)
1732
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1733
						GETDATE(), -- APPROVE_DT - datetime
1734
						@p_REASON,N'Trả về cho người tạo phiếu'    -- PROCESS_DESC - nvarchar(1000)
1735
					)
1736
				END
1737
			END
1738
			ELSE IF(@p_STAGE ='HC')
1739
			BEGIN
1740
				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 ='')))
1741
				BEGIN
1742
					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'
1743
					ROLLBACK TRANSACTION
1744
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1745
					RETURN '0'
1746
				END
1747
				ELSE
1748
				BEGIN
1749
					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
1750
					DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
1751
					SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được trả về thành công'
1752
					-- INSERT VAO BANG LICH SU
1753
						INSERT INTO dbo.PL_PROCESS
1754
						(
1755
							REQ_ID,
1756
							PROCESS_ID,
1757
							CHECKER_ID,
1758
							APPROVE_DT,
1759
							PROCESS_DESC,NOTES
1760
						)
1761
						VALUES
1762
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1763
							'REJECT',        -- PROCESS_ID - varchar(10)
1764
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1765
							GETDATE(), -- APPROVE_DT - datetime
1766
							@p_REASON,N'Trả về'        -- PROCESS_DESC - nvarchar(1000)
1767
						)
1768

    
1769
					--doanptt xóa nscp khi hủy hoặc trả phiếu về HC
1770
					DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
1771
					DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
1772
				END
1773
			END
1774
			ELSE IF(@p_STAGE ='SUG')
1775
			BEGIN
1776
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
1777
				DECLARE @LEVEL_JOB_PAY VARCHAR(5), @LEVEL_JOB_PREV_PAY INT
1778
				SET @LEVEL_JOB_PAY =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
1779
				SET @LEVEL_JOB_PREV_PAY = CONVERT(INT,@LEVEL_JOB_PAY) -1
1780
				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)
1781
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID
1782
				INSERT INTO dbo.PL_PROCESS
1783
						(
1784
							REQ_ID,
1785
							PROCESS_ID,
1786
							CHECKER_ID,
1787
							APPROVE_DT,
1788
							PROCESS_DESC,NOTES
1789
						)
1790
						VALUES
1791
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1792
							'SUG',        -- PROCESS_ID - varchar(10)
1793
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1794
							GETDATE(), -- APPROVE_DT - datetime
1795
							@p_REASON ,N'GDV đề xuất từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1796
						)
1797
			SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được đề xuất từ chối thành công'
1798
			END
1799
			ELSE IF(@p_STAGE ='DEL')
1800
			BEGIN
1801
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1802
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
1803
				UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID
1804
				UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE PAY_ID =@p_TRN_ID
1805
				---------------------------------------------------------------------------------------------------------------------
1806
				--DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0)
1807
				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
1808
				OPEN CURS_TRADE
1809
					FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1810
					WHILE @@FETCH_STATUS = 0
1811
					BEGIN
1812
						UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
1813
						WHERE TRADE_ID =@TRADED_ID
1814
						FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1815
					END
1816
				CLOSE CURS_TRADE
1817
				DEALLOCATE CURS_TRADE
1818
				-- XOA NGAN SACH
1819
				--DELETE FROM TR_REQ_PAY_BUDGET WHERE  REQ_PAY_ID= @p_TRN_ID
1820
				--- NEU LA TAM UNG NOI BO THI PHAI REVERT LAI SO TIEN DA HOAN UNG CUA PHIEU DE NGHI TAM UNG
1821
				--DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0)
1822
				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
1823
				OPEN CURS
1824
					FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
1825
					WHILE @@FETCH_STATUS = 0
1826
					BEGIN
1827
						UPDATE TR_REQ_ADVANCE_PAYMENT
1828
						SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
1829
						FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
1830
					END
1831
				CLOSE CURS
1832
				DEALLOCATE CURS
1833
				----  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
1834
				--DECLARE @REQ_PAY_ID VARCHAR(15), @AMT_REAL DECIMAL(18,0)
1835
				--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
1836
				--OPEN CURS_SCHE
1837
				--	FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
1838
				--	WHILE @@FETCH_STATUS = 0
1839
				--	BEGIN
1840
				--		UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
1841
				--		WHERE TRADE_ID =@TRADED_ID
1842
				--		FETCH NEXT FROM CURS_SCHE INTO @TRADED_ID,@AMT_EXE
1843
				--	END
1844
				--CLOSE CURS_SCHE
1845
				--DEALLOCATE CURS_SCHE
1846
				INSERT INTO dbo.PL_PROCESS
1847
						(
1848
							REQ_ID,
1849
							PROCESS_ID,
1850
							CHECKER_ID,
1851
							APPROVE_DT,
1852
							PROCESS_DESC,NOTES
1853
						)
1854
						VALUES
1855
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1856
							'DEL',        -- PROCESS_ID - varchar(10)
1857
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1858
							GETDATE(), -- APPROVE_DT - datetime
1859
							@p_REASON ,N'KSV hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
1860
						)
1861
				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'
1862
				--doanptt ẩn nscp khi hủy hoặc trả phiếu về HC
1863
				UPDATE TR_REQ_BUDGET_MONTH_LIMIT_DETAIL SET RECORD_STATUS = '0'
1864
				UPDATE TR_REQ_BUDGET_YEAR_LIMIT_DETAIL SET RECORD_STATUS = '0'
1865
			END
1866
			
1867
			END
1868
		END
1869
		-- END PHIEU DE THI THANH TOAN 19-11-2019
1870

    
1871
		--- Tờ trình chủ trương
1872
		ELSE IF(@p_TRN_TYPE='PL_REQUEST_DOC')
1873
		BEGIN	IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
1874
				BEGIN
1875
					SET @p_MESSAGE =N'Trả về thất bại! Tờ trình chủ trương đã được duyệt'
1876
					ROLLBACK TRANSACTION
1877
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1878
					RETURN '0'
1879
				END
1880
				ELSE
1881
				BEGIN
1882
					UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
1883
					INSERT INTO dbo.PL_PROCESS
1884
					(
1885
						REQ_ID,
1886
						PROCESS_ID,
1887
						CHECKER_ID,
1888
						APPROVE_DT,
1889
						PROCESS_DESC,NOTES
1890
					)
1891
					VALUES
1892
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1893
						'REJECT',        -- PROCESS_ID - varchar(10)
1894
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1895
						GETDATE(), -- APPROVE_DT - datetime
1896
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1897
					)
1898
					SET @p_MESSAGE =N'Tờ trình chủ trương đã được trả về thành công'
1899
					 -- 28-10-2020 LUCTV, KHI TRA VE PHAI PL_REQUEST_PROCESS
1900
					 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
1901
					 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
1902
			 END
1903
		END
1904
		ELSE IF(@p_TRN_TYPE='TR_REQUEST_DOC')
1905
		BEGIN
1906
			--IF(@p_STAGE='DVMS')
1907
			--BEGIN
1908
			--END
1909
			IF(@p_STAGE='PDYC' OR @p_STAGE ='DV')
1910
			BEGIN
1911
				IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
1912
				BEGIN
1913
					SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được duyệt'
1914
					ROLLBACK TRANSACTION
1915
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1916
					RETURN '0'
1917
				END
1918
				ELSE
1919
				BEGIN
1920
					UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID='REJECT', AUTH_STATUS ='R' WHERE REQ_ID=@p_TRN_ID
1921
					INSERT INTO dbo.PL_PROCESS
1922
					(
1923
						REQ_ID,
1924
						PROCESS_ID,
1925
						CHECKER_ID,
1926
						APPROVE_DT,
1927
						PROCESS_DESC,NOTES
1928
					)
1929
					VALUES
1930
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1931
						'REJECT',        -- PROCESS_ID - varchar(10)
1932
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1933
						GETDATE(), -- APPROVE_DT - datetime
1934
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1935
					)
1936
					 SET @p_MESSAGE =N'Phiếu yêu cầu mua sắm đã được trả về thành công'
1937
					 -- 28-10-2020 LUCTV, KHI TRA VE PHAI PL_REQUEST_PROCESS
1938
					 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
1939
					 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
1940
				 END
1941
			END	
1942
		END
1943
		-- END IF
1944
		-- NEU LA TRA VE CUA HOP DONG
1945
		ELSE IF(@p_TRN_TYPE='TR_CONTRACT')
1946
		BEGIN
1947
		--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
1948
		IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
1949
		BEGIN
1950
			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'
1951
			ROLLBACK TRANSACTION
1952
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1953
			RETURN '0'
1954
		END
1955
		IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
1956
		BEGIN
1957
			SET @p_MESSAGE =N'Trả về thất bại! Hợp đồng đã được phê duyệt thành công trước đó!'
1958
			ROLLBACK TRANSACTION
1959
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1960
			RETURN '0'
1961
		END
1962
		UPDATE TR_CONTRACT SET AUTH_STATUS ='R', IS_SEND_APPR = 'N' 
1963
		WHERE CONTRACT_ID =@p_TRN_ID
1964
		INSERT INTO dbo.PL_PROCESS
1965
					(
1966
						REQ_ID,
1967
						PROCESS_ID,
1968
						CHECKER_ID,
1969
						APPROVE_DT,
1970
						PROCESS_DESC,NOTES
1971
					)
1972
					VALUES
1973
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1974
						'REJECT',        -- PROCESS_ID - varchar(10)
1975
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1976
						GETDATE(), -- APPROVE_DT - datetime
1977
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1978
					)
1979
			SET @p_MESSAGE =N'Hợp đồng đã được trả về thành công'		
1980
		END
1981
		-- NEU LA TRA VE CUA HOP DONG
1982
		ELSE IF(@p_TRN_TYPE='TR_PO')
1983
		BEGIN
1984
		--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
1985
		IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
1986
		BEGIN
1987
			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'
1988
			ROLLBACK TRANSACTION
1989
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1990
			RETURN '0'
1991
		END
1992
		IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
1993
		BEGIN
1994
			SET @p_MESSAGE =N'Trả về thất bại! PO đã được phê duyệt thành công trước đó!'
1995
			ROLLBACK TRANSACTION
1996
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1997
			RETURN '0'
1998
		END
1999
		UPDATE TR_PO_MASTER SET 
2000
			AUTH_STATUS ='R', IS_SEND_APPR = 'N' 
2001
		WHERE PO_ID =@p_TRN_ID
2002
		INSERT INTO dbo.PL_PROCESS
2003
					(
2004
						REQ_ID,
2005
						PROCESS_ID,
2006
						CHECKER_ID,
2007
						APPROVE_DT,
2008
						PROCESS_DESC,NOTES
2009
					)
2010
					VALUES
2011
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2012
						'REJECT',        -- PROCESS_ID - varchar(10)
2013
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2014
						GETDATE(), -- APPROVE_DT - datetime
2015
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
2016
					)
2017
			SET @p_MESSAGE =N'PO đã được trả về thành công'		
2018
		END
2019
		--- KET THUC TRA VE PO
2020
		ELSE
2021
		BEGIN
2022
			SET @p_MESSAGE =N'Trả về giao dịch thành công'
2023
		END
2024

    
2025
		---BAODNQ 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
2026
		-------Khai báo DTSD nội bộ-------
2027
		IF(@p_TRN_TYPE ='BUD_INTERNAL')
2028
		--BEGIN ELSE IF---
2029
		BEGIN
2030
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2031
			BEGIN
2032
				SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin khai báo DTSD nội bộ đã được duyệt'
2033
				ROLLBACK TRANSACTION
2034
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2035
				RETURN '0'
2036
			END
2037
			UPDATE BUD_CONTRACT_MASTER 
2038
			SET AUTH_STATUS ='R', 
2039
			---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2040
				IS_SEND_APPR = 'N',
2041
				CHECKER_ID = NULL,
2042
				APPROVE_DT = NULL,
2043
				SEND_APPR_DT = NULL,
2044
				SIGN_DT = NULL
2045
			WHERE CONTRACT_ID=@p_TRN_ID
2046
			SET @p_MESSAGE =N'Thông tin khai báo DTSD nội bộ đã được trả về thành công'
2047

    
2048
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2049
			INSERT INTO dbo.PL_PROCESS
2050
					(
2051
						REQ_ID,
2052
						PROCESS_ID,
2053
						CHECKER_ID,
2054
						APPROVE_DT,
2055
						PROCESS_DESC,
2056
						NOTES
2057
					)
2058
					VALUES
2059
					(	@p_TRN_ID,       
2060
						'REJECT',
2061
						@p_REJECTED_BY,        
2062
						GETDATE(), 
2063
						@p_REASON ,      
2064
						N'Từ chối phiếu'       
2065
					)
2066
			IF @@ERROR <> 0 GOTO ABORT
2067

    
2068
		---END ELSE IF---
2069
		END
2070
		-------Quản lý hợp đồng khách thuê-------
2071
		ELSE IF(@p_TRN_TYPE ='BUD_RENTAL')
2072
		--BEGIN ELSE IF---
2073
		BEGIN
2074
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2075
			BEGIN
2076
				SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin khai báo DT cho khách thuê đã được duyệt'
2077
				ROLLBACK TRANSACTION
2078
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2079
				RETURN '0'
2080
			END
2081
			UPDATE BUD_CONTRACT_CUST_MASTER 
2082
			SET AUTH_STATUS ='R',
2083
			---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2084
				IS_SEND_APPR = 'N',
2085
				CHECKER_ID = NULL,
2086
				APPROVE_DT = NULL,
2087
				SEND_APPR_DT = NULL,
2088
				SIGN_DT = NULL
2089
			WHERE CONTRACT_ID=@p_TRN_ID
2090
			SET @p_MESSAGE =N'Thông tin khai báo DT cho khách thuê đã được trả về thành công'
2091

    
2092
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2093
			INSERT INTO dbo.PL_PROCESS
2094
					(
2095
						REQ_ID,
2096
						PROCESS_ID,
2097
						CHECKER_ID,
2098
						APPROVE_DT,
2099
						PROCESS_DESC,
2100
						NOTES
2101
					)
2102
					VALUES
2103
					(	@p_TRN_ID,       
2104
						'REJECT',
2105
						@p_REJECTED_BY,        
2106
						GETDATE(), 
2107
						@p_REASON ,      
2108
						N'Từ chối phiếu'       
2109
					)
2110
			IF @@ERROR <> 0 GOTO ABORT
2111

    
2112
		---END ELSE IF---
2113
		END
2114
		---datmq 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
2115
			-------Quản lý trụ sở-------
2116
		ELSE IF(@p_TRN_TYPE ='BUD_MASTER')
2117
		--BEGIN ELSE IF---
2118
		BEGIN
2119
			IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2120
			BEGIN
2121
				SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin quản lý cho thuê đã được duyệt'
2122
				ROLLBACK TRANSACTION
2123
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2124
				RETURN '0'
2125
			END
2126
			---BAODNQ 26/1/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2127
			UPDATE BUD_MASTER SET 
2128
				AUTH_STATUS ='R',  IS_SEND_APPR = 'N',
2129
				CHECKER_ID = NULL,
2130
				APPROVE_DT = NULL,
2131
				SEND_APPR_DT = NULL,
2132
				SIGN_DT = NULL
2133
			WHERE BUILDING_ID=@p_TRN_ID
2134
			SET @p_MESSAGE =N'Thông tin quản lý trụ sở đã được trả về thành công'
2135

    
2136
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2137
			INSERT INTO dbo.PL_PROCESS
2138
					(
2139
						REQ_ID,
2140
						PROCESS_ID,
2141
						CHECKER_ID,
2142
						APPROVE_DT,
2143
						PROCESS_DESC,
2144
						NOTES
2145
					)
2146
					VALUES
2147
					(	@p_TRN_ID,       
2148
						'REJECT',
2149
						@p_REJECTED_BY,        
2150
						GETDATE(), 
2151
						@p_REASON ,      
2152
						N'Từ chối phiếu'       
2153
					)
2154
			IF @@ERROR <> 0 GOTO ABORT
2155

    
2156
		---END ELSE IF---
2157
		END
2158

    
2159
		/*
2160
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
2161
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
2162
		BEGIN
2163
			IF(@p_STAGE='HC')
2164
			BEGIN
2165
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
2166
				BEGIN
2167
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới phiếu đề nghị thanh toán đã được hành chính duyệt'
2168
					ROLLBACK TRANSACTION
2169
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2170
					RETURN '0'
2171
				END
2172
				ELSE
2173
				BEGIN
2174
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
2175
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
2176
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
2177
					BEGIN
2178
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2179
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị thanh toán đã được trả về thành công'
2180
					END
2181
				END
2182
			END
2183
		END
2184

    
2185
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
2186
		ELSE IF(@p_TRN_TYPE ='TR_REQ_ADVACNE_PAY')
2187
		BEGIN
2188
			IF(@p_STAGE='HC')
2189
			BEGIN
2190
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
2191
				BEGIN
2192
					SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin nhập mới phiếu đề nghị tạm ứng đã được hành chính duyệt'
2193
					ROLLBACK TRANSACTION
2194
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2195
					RETURN '0'
2196
				END
2197
				ELSE
2198
				BEGIN
2199
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
2200
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
2201
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
2202
					BEGIN
2203
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2204
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị tạm ứng đã được trả về thành công'
2205
					END
2206
					/*ELSE
2207
					BEGIN
2208
						SET @p_STAGE ='HC'
2209
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
2210
						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'
2211
					END*/
2212
				END
2213
			END
2214
		END
2215
		*/
2216

    
2217
	------BAODNQ 14/02/2022: Thêm xử lý trả về cho phân hệ quản lý BDS------
2218
		-------------Quản lý BDS---------------
2219
		ELSE IF(@p_TRN_TYPE = 'RET_MASTER')
2220
		BEGIN
2221
			IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2222
			BEGIN
2223
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin bất động sản đã được duyệt'
2224
				ROLLBACK TRANSACTION
2225
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2226
				RETURN '0'
2227
			END
2228
			UPDATE RET_MASTER
2229
			SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2230
				CHECKER_ID = NULL,
2231
				APPROVE_DT = NULL,
2232
				SEND_APPR_DT = NULL,
2233
				SIGN_DT = NULL
2234
			WHERE RET_ID = @p_TRN_ID
2235
			SET @p_MESSAGE = N'Thông tin bất động sản đã được trả về thành công'
2236

    
2237
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2238
			INSERT INTO dbo.PL_PROCESS
2239
					(
2240
						REQ_ID,
2241
						PROCESS_ID,
2242
						CHECKER_ID,
2243
						APPROVE_DT,
2244
						PROCESS_DESC,
2245
						NOTES
2246
					)
2247
					VALUES
2248
					(	@p_TRN_ID,       
2249
						'REJECT',
2250
						@p_REJECTED_BY,        
2251
						GETDATE(), 
2252
						@p_REASON ,      
2253
						N'Từ chối phiếu'       
2254
					)
2255
			IF @@ERROR <> 0 GOTO ABORT
2256

    
2257
		END
2258

    
2259
		-------Thông tin sửa chữa BDS--------------
2260
		ELSE IF(@p_TRN_TYPE = 'RET_REPAIR')
2261
		BEGIN
2262
			IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2263
			BEGIN
2264
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin sửa chữa BDS đã được duyệt'
2265
				ROLLBACK TRANSACTION
2266
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2267
				RETURN '0'
2268
			END
2269
			UPDATE RET_REPAIR 
2270
			SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2271
				CHECKER_ID = NULL,
2272
				APPROVE_DT = NULL,
2273
				SEND_APPR_DT = NULL,
2274
				SIGN_DT = NULL
2275
			WHERE RP_ID = @p_TRN_ID
2276
			SET @p_MESSAGE = N'Thông tin sửa chữa BDS đã được trả về thành công'
2277

    
2278
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2279
			INSERT INTO dbo.PL_PROCESS
2280
					(
2281
						REQ_ID,
2282
						PROCESS_ID,
2283
						CHECKER_ID,
2284
						APPROVE_DT,
2285
						PROCESS_DESC,
2286
						NOTES
2287
					)
2288
					VALUES
2289
					(	@p_TRN_ID,       
2290
						'REJECT',
2291
						@p_REJECTED_BY,        
2292
						GETDATE(), 
2293
						@p_REASON ,      
2294
						N'Từ chối phiếu'       
2295
					)
2296
			IF @@ERROR <> 0 GOTO ABORT
2297

    
2298
		END
2299

    
2300
		-----BDS thuê làm trụ sở CN/PGD--------
2301
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_R_H')
2302
		BEGIN
2303
			IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2304
			BEGIN
2305
				SET @p_MESSAGE =N'Hủy trả về thất bại! BDS thuê làm trụ sở CN/PGD đã được duyệt'
2306
				ROLLBACK TRANSACTION
2307
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2308
				RETURN '0'
2309
			END
2310
			UPDATE REAL_ESTATE_R_H 
2311
			SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2312
				CHECKER_ID = NULL,
2313
				APPROVE_DT = NULL,
2314
				SEND_APPR_DT = NULL,
2315
				SIGN_DT = NULL
2316
			WHERE RET_R_H_ID = @p_TRN_ID
2317
			SET @p_MESSAGE = N'BDS thuê làm trụ sở CN/PGD đã được trả về thành công'
2318

    
2319
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2320
			INSERT INTO dbo.PL_PROCESS
2321
					(
2322
						REQ_ID,
2323
						PROCESS_ID,
2324
						CHECKER_ID,
2325
						APPROVE_DT,
2326
						PROCESS_DESC,
2327
						NOTES
2328
					)
2329
					VALUES
2330
					(	@p_TRN_ID,       
2331
						'REJECT',
2332
						@p_REJECTED_BY,        
2333
						GETDATE(), 
2334
						@p_REASON ,      
2335
						N'Từ chối phiếu'       
2336
					)
2337
			IF @@ERROR <> 0 GOTO ABORT
2338

    
2339
		END
2340

    
2341
		-----BDS đang hoàn thiện thủ tục pháp lý--------
2342
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_L_C')
2343
		BEGIN
2344
			IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2345
			BEGIN
2346
				SET @p_MESSAGE =N'Hủy trả về thất bại! BDS đang hoàn thiện thủ tục pháp lý đã được duyệt'
2347
				ROLLBACK TRANSACTION
2348
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2349
				RETURN '0'
2350
			END
2351
			UPDATE REAL_ESTATE_L_C 
2352
			SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
2353
				CHECKER_ID = NULL,
2354
				APPROVE_DT = NULL,
2355
				SEND_APPR_DT = NULL,
2356
				SIGN_DT = NULL
2357
			WHERE RET_L_C_ID = @p_TRN_ID
2358
			SET @p_MESSAGE = N'BDS đang hoàn thiện thủ tục pháp lý đã được trả về thành công'
2359

    
2360
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2361
			INSERT INTO dbo.PL_PROCESS
2362
					(
2363
						REQ_ID,
2364
						PROCESS_ID,
2365
						CHECKER_ID,
2366
						APPROVE_DT,
2367
						PROCESS_DESC,
2368
						NOTES
2369
					)
2370
					VALUES
2371
					(	@p_TRN_ID,       
2372
						'REJECT',
2373
						@p_REJECTED_BY,        
2374
						GETDATE(), 
2375
						@p_REASON ,      
2376
						N'Từ chối phiếu'       
2377
					)
2378
			IF @@ERROR <> 0 GOTO ABORT
2379

    
2380
		END
2381

    
2382
		---------BAODNQ 18/3/2022: Đánh giá NCC--------
2383
		-------Đánh giá NCC---------
2384
		ELSE IF(@p_TRN_TYPE = 'TR_RATE_SUPPLIER_MASTER')
2385
		BEGIN
2386
			IF(EXISTS(SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2387
			BEGIN
2388
				SET @p_MESSAGE =N'Hủy trả về thất bại! Biên bản đánh giá NCC đã được duyệt'
2389
				ROLLBACK TRANSACTION
2390
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2391
				RETURN '0'
2392
			END
2393
			UPDATE TR_RATE_SUPPLIER_MASTER 
2394
				SET AUTH_STATUS = 'R', 
2395
					IS_SEND_APPR = 'N',
2396
					PROCESS_STATUS = 'REJECT'
2397
			WHERE RATE_ID = @p_TRN_ID
2398
			SET @p_MESSAGE = N'Biên bản đánh giá NCC đã được trả về thành công'
2399

    
2400
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2401
			INSERT INTO dbo.PL_PROCESS
2402
					(
2403
						REQ_ID,
2404
						PROCESS_ID,
2405
						CHECKER_ID,
2406
						APPROVE_DT,
2407
						PROCESS_DESC,
2408
						NOTES
2409
					)
2410
					VALUES
2411
					(	@p_TRN_ID,       
2412
						'REJECT',
2413
						@p_REJECTED_BY,        
2414
						GETDATE(), 
2415
						@p_REASON ,      
2416
						N'Từ chối phiếu'       
2417
					)
2418
			IF @@ERROR <> 0 GOTO ABORT
2419
		END
2420
		ELSE IF(@p_TRN_TYPE ='TR_REQUEST_CAR')
2421
		BEGIN
2422
			DECLARE @p_PROCESS_ID VARCHAR(15)
2423
			SELECT @p_PROCESS_ID=PROCESS_ID FROM TR_REQUEST_CAR WHERE REQ_ID =@p_TRN_ID
2424
			IF(@p_PROCESS_ID='DONE')
2425
			BEGIN
2426
				SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin phiếu yêu cầu xe đã được duyệt'
2427
				ROLLBACK TRANSACTION
2428
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2429
				RETURN '0'
2430
			END
2431
			IF(@p_PROCESS_ID IN ('SEND','TP_APP'))
2432
			BEGIN
2433
				UPDATE TR_REQUEST_CAR 
2434
				SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N'
2435
				WHERE REQ_ID=@p_TRN_ID
2436
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công'
2437
				IF(@p_PROCESS_ID='SEND')
2438
					BEGIN
2439
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='SEND' AND REQ_ID=@p_TRN_ID
2440
					END
2441
				ELSE
2442
					BEGIN
2443
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='TP_APP' AND REQ_ID=@p_TRN_ID
2444
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='CV_APP' AND REQ_ID=@p_TRN_ID
2445
					END
2446
			END
2447
			ELSE IF(@p_PROCESS_ID='USER_SEND')
2448
			BEGIN
2449
					UPDATE TR_REQUEST_CAR
2450
					SET AUTH_STATUS ='R',PROCESS_ID='CV_REJECT'
2451
					WHERE REQ_ID=@p_TRN_ID
2452
					SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công'
2453
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='P' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2454
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='XL' AND REQ_ID=@p_TRN_ID
2455
			END
2456
			ELSE IF(@p_PROCESS_ID IN ('MAKER_APP','CVSENDCONF'))
2457
			BEGIN
2458
				
2459
					UPDATE TR_REQUEST_CAR
2460
					SET AUTH_STATUS ='R',PROCESS_ID='COSTREJECT',IS_CONFIRM_COST='N'
2461
					WHERE REQ_ID=@p_TRN_ID
2462
					SET @p_MESSAGE =N'Thông tin chi phí phiếu yêu cầu xe đã được trả về thành công'
2463
					IF(@p_PROCESS_ID='MAKER_APP')
2464
					BEGIN
2465
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
2466
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2467
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_APP' AND REQ_ID=@p_TRN_ID
2468
					END
2469
				ELSE
2470
					BEGIN
2471
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
2472
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2473
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_APP' AND REQ_ID=@p_TRN_ID
2474
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='TDV_C_APP' AND REQ_ID=@p_TRN_ID
2475
					END
2476
			END
2477
			INSERT INTO dbo.PL_PROCESS
2478
					(
2479
						REQ_ID,
2480
						PROCESS_ID,
2481
						CHECKER_ID,
2482
						APPROVE_DT,
2483
						PROCESS_DESC,NOTES
2484
					)
2485
					VALUES
2486
					(   @p_TRN_ID,       
2487
						'REJECT',        
2488
						@p_REJECTED_BY,       
2489
						GETDATE(), 
2490
						@p_REASON,
2491
						N'Từ chối phiếu'    
2492
					)
2493
			
2494
		END
2495
		ELSE IF(@p_TRN_TYPE ='TR_REQUEST_JOB_FORM')
2496
		BEGIN
2497
			DECLARE @PROCESS_ID VARCHAR(15),@SIGN_USER VARCHAR(50)
2498
			SELECT @PROCESS_ID=PROCESS_ID,@SIGN_USER=SIGN_USER FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID =@p_TRN_ID
2499
			IF(@PROCESS_ID='APPROVE')
2500
			BEGIN
2501
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin phiếu yêu cầu xe đã được duyệt'
2502
				ROLLBACK TRANSACTION
2503
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2504
				RETURN '0'
2505
			END
2506

    
2507
			IF(@PROCESS_ID IN ('SEND','SIGN'))
2508
			BEGIN
2509
				UPDATE dbo.TR_REQUEST_JOB_FORM 
2510
				SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N'
2511
				WHERE REQ_ID=@p_TRN_ID
2512
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
2513

    
2514
				IF(@PROCESS_ID='SEND' AND @SIGN_USER IS NOT NULL)
2515
					BEGIN
2516
						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
2517
					END
2518
				ELSE
2519
					BEGIN
2520
						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
2521
						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
2522
					END
2523
			END
2524
			ELSE IF(@PROCESS_ID='HO_APP')
2525
			BEGIN
2526
					UPDATE dbo.TR_REQUEST_JOB_FORM
2527
					SET AUTH_STATUS ='R',PROCESS_ID='APPNEW'
2528
					WHERE REQ_ID=@p_TRN_ID
2529
					SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
2530
					UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='HO_APP' AND REQ_ID=@p_TRN_ID
2531
					UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_CONF' AND REQ_ID=@p_TRN_ID
2532
			END
2533
			ELSE IF(@PROCESS_ID = 'MAKER_APP')
2534
			BEGIN
2535
					UPDATE TR_REQUEST_JOB_FORM
2536
					SET AUTH_STATUS ='R',PROCESS_ID='HCHO_XL'
2537
					WHERE REQ_ID=@p_TRN_ID
2538
					SET @p_MESSAGE =N'Thông tin chi phí phiếu yêu cầu công tác đã được trả về thành công'
2539
					UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='MAKER_APP' AND REQ_ID=@p_TRN_ID
2540
					UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='TDV_APP' AND REQ_ID=@p_TRN_ID
2541
			END
2542
			INSERT INTO dbo.PL_PROCESS
2543
					(
2544
						REQ_ID,
2545
						PROCESS_ID,
2546
						CHECKER_ID,
2547
						APPROVE_DT,
2548
						PROCESS_DESC,NOTES
2549
					)
2550
					VALUES
2551
					(   @p_TRN_ID,       
2552
						'REJECT',        
2553
						@p_REJECTED_BY,       
2554
						GETDATE(), 
2555
						@p_REASON,
2556
						N'Từ chối phiếu'    
2557
					)
2558
			
2559
		END
2560
    --Phucvh từ chối phiếu yêu cầu sửa chữa
2561
    ELSE IF(@p_TRN_TYPE ='ASS_REPAIR_ASS')
2562
		BEGIN     
2563
			IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.AUTH_STATUS = 'A' AND trsd.REQ_ID = @p_TRN_ID))
2564
			BEGIN
2565
				SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu yêu cầu sửa chữa đã được duyệt'
2566
				ROLLBACK TRANSACTION
2567
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2568
				RETURN '0'
2569
			END
2570

    
2571
			UPDATE TR_REQUEST_SHOP_DOC
2572
			SET AUTH_STATUS ='R', STATUS = 'REJECT', CHECKER_ID = NULL, APPROVE_DT = NULL, HO_NOTES = NULL, SEND_APP_DT = NULL
2573
			WHERE REQ_ID=@p_TRN_ID
2574
			SET @p_MESSAGE =N'Trả về thành công'
2575
      
2576
      --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH
2577
      UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL
2578
      WHERE ASSET_ID IN (SELECT A.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @p_TRN_ID)
2579

    
2580
      UPDATE TR_REQUEST_SHOP_COSTCENTER SET NOTES = NULL, RE_CONTENT = NULL, QUANTITY = 0, ASS_STATUS = NULL,  CHECKER_ID = NULL, APPROVE_DT = NULL, AUTH_STATUS = 'E', MAKER_ID = NULL, CREATE_DT = NULL WHERE REQ_ID = @p_TRN_ID
2581
      DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID
2582
			INSERT INTO dbo.PL_PROCESS
2583
					(
2584
						REQ_ID,
2585
						PROCESS_ID,
2586
						CHECKER_ID,
2587
						APPROVE_DT,
2588
						PROCESS_DESC,
2589
            NOTES
2590
					)
2591
					VALUES
2592
					(   @p_TRN_ID,       
2593
						'REJECT',        
2594
						@p_REJECTED_BY,       
2595
						GETDATE(), 
2596
						N'Trả về người tạo',
2597
						@p_REASON    
2598
					)
2599
			
2600
		END
2601
    --Phucvh từ chối phiếu yêu cầu điều chuyển
2602
    ELSE IF(@p_TRN_TYPE ='ASS_TRANSFER')
2603
		BEGIN     
2604
			IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.AUTH_STATUS = 'A' AND trsd.REQ_ID = @p_TRN_ID))
2605
			BEGIN
2606
				SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu yêu cầu điều chuyển đã được duyệt'
2607
				ROLLBACK TRANSACTION
2608
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2609
				RETURN '0'
2610
			END
2611

    
2612
			UPDATE TR_REQUEST_SHOP_DOC
2613
			SET AUTH_STATUS ='R', STATUS = 'REJECT', CHECKER_ID = NULL, APPROVE_DT = NULL, HO_NOTES = NULL, SEND_APP_DT = NULL
2614
			WHERE REQ_ID=@p_TRN_ID
2615
			SET @p_MESSAGE =N'Trả về thành công'
2616
      
2617
      --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH
2618
      UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL
2619
      WHERE ASSET_ID IN (SELECT A.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @p_TRN_ID)
2620

    
2621
      UPDATE TR_REQUEST_SHOP_COSTCENTER SET NOTES = NULL, RE_CONTENT = NULL, QUANTITY = 0, ASS_STATUS = NULL,  CHECKER_ID = NULL, APPROVE_DT = NULL, AUTH_STATUS = 'E', MAKER_ID = NULL, CREATE_DT = NULL WHERE REQ_ID = @p_TRN_ID
2622
      DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID
2623
			INSERT INTO dbo.PL_PROCESS
2624
					(
2625
						REQ_ID,
2626
						PROCESS_ID,
2627
						CHECKER_ID,
2628
						APPROVE_DT,
2629
						PROCESS_DESC,NOTES
2630
					)
2631
					VALUES
2632
					(   @p_TRN_ID,       
2633
						'REJECT',        
2634
						@p_REJECTED_BY,       
2635
						GETDATE(),						
2636
						N'Trả về người tạo',
2637
            @p_REASON    
2638
					)
2639
			
2640
		END
2641
    --khiemchg từ chối phiếu yêu cầu cấp phát tài sản
2642
    ELSE IF(@p_TRN_TYPE ='PYC_CPTS')
2643
		BEGIN
2644
			IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.AUTH_STATUS = 'A' AND trsd.REQ_ID = @TRADED_ID))
2645
			BEGIN
2646
				SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu yêu cầu cấp phát tài sản đã được duyệt'
2647
				ROLLBACK TRANSACTION
2648
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2649
				RETURN '0'
2650
			END
2651

    
2652
			UPDATE TR_REQUEST_SHOP_DOC
2653
			SET AUTH_STATUS ='R', STATUS = 'REJECT', SEND_APP_DT = NULL
2654
			WHERE REQ_ID=@p_TRN_ID
2655
			SET @p_MESSAGE =N'Trả về thành công'
2656
      
2657
          DELETE PL_REQUEST_PROCESS where REQ_ID =@p_TRN_ID
2658
          UPDATE TR_REQUEST_SHOP_COSTCENTER SET NOTES = NULL, AUTH_STATUS = 'E', CHECKER_ID = NULL WHERE REQ_ID = @p_TRN_ID
2659
          UPDATE TR_REQUEST_SHOP_DOC SET HO_NOTES = NULL, SEND_APP_DT = NULL WHERE REQ_ID = @p_TRN_ID
2660

    
2661
      IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS prp where prp.REQ_ID = @p_TRN_ID AND prp.PROCESS_ID = 'REJECT'))
2662
      BEGIN
2663
        UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'REJECT'
2664
      END
2665
      ELSE
2666
      BEGIN
2667

    
2668
--          DECLARE @temp TABLE(ID INT IDENTITY,REQDT_ID VARCHAR(15),ASS_GROUP VARCHAR(15),QTY DECIMAL)
2669
--          INSERT INTO @temp SELECT REQDT_ID, ASS_GROUP_ID , SUM(ISNULL(QTY_ETM,0)) FROM TR_REQUEST_SHOP_DOC_DT 
2670
--                            WHERE REQ_DOC_ID = @p_TRN_ID AND (TYPE_XL = 'CPDC' OR TYPE_XL = 'CPTK') GROUP BY REQDT_ID, ASS_GROUP_ID
2671
--          DECLARE @INTT INT = 1, @COUNTT INT = (SELECT COUNT(*) FROM @TEMP)
2672
--          WHILE @INTT <= @COUNTT 
2673
--          BEGIN  
2674
--            DECLARE @REQDT VARCHAR(20) = (SELECT REQDT_ID FROM @TEMP WHERE ID = @INTT)
2675
--            DECLARE @SL DECIMAL = (SELECT QTY FROM @TEMP WHERE ID = @INTT)
2676
--            DECLARE @AG VARCHAR(20) = (SELECT ASS_GROUP FROM @TEMP WHERE ID = @INTT)
2677
--            IF(EXISTS(SELECT * FROM TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @p_TRN_ID AND ASS_GROUP_ID = @AG AND REQ_DT_TYPE = 'BUYNEW'))
2678
--            BEGIN
2679
--            	UPDATE TR_REQUEST_SHOP_DOC_DT SET QTY_ETM = QTY_ETM + @SL WHERE REQ_DOC_ID = @p_TRN_ID AND ASS_GROUP_ID = @AG AND REQ_DT_TYPE = 'BUYNEW'
2680
--            END
2681
--            ELSE
2682
--            BEGIN
2683
--                DECLARE @l_REQDT_ID VARCHAR(15)
2684
--    			EXEC SYS_CodeMasters_Gen 'TR_REQUEST_SHOP_DOC_DT', @l_REQDT_ID out
2685
--    			IF @l_REQDT_ID='' OR @l_REQDT_ID IS NULL GOTO ABORT
2686
--                	INSERT INTO TR_REQUEST_SHOP_DOC_DT(REQDT_ID, REQ_DOC_ID,
2687
--                    ASS_GROUP_ID, DESCRIPTION, REASON, UNIT_ID, NOTES, 
2688
--                    RECEIVE_ADDR, RECEIVE_PERSON, RECEIVE_TEL, RECORD_STATUS, MAKER_ID, CREATE_DT, 
2689
--                    AUTH_STATUS, RECEIVE_EMAIL, REQ_DT_TYPE, QTY_ETM, EMP_ID, TYPE_XL) 
2690
--                    SELECT @l_REQDT_ID, @p_TRN_ID,
2691
--                    ASS_GROUP_ID, DESCRIPTION, REASON, UNIT_ID, NOTES, 
2692
--                    RECEIVE_ADDR, RECEIVE_PERSON, RECEIVE_TEL, RECORD_STATUS, MAKER_ID, CREATE_DT, 
2693
--                    AUTH_STATUS, RECEIVE_EMAIL, 'BUYNEW', QTY_ETM, EMP_ID, 'BUYNEW' 
2694
--                    FROM TR_REQUEST_SHOP_DOC_DT WHERE REQDT_ID = @REQDT AND REQ_DOC_ID = @p_TRN_ID
2695
--            END
2696
--            DELETE TR_REQUEST_SHOP_DOC_DT WHERE REQDT_ID = @REQDT AND REQ_DOC_ID = @p_TRN_ID
2697
--
2698
--            SET @INTT = @INTT + 1
2699
--          END
2700
            DELETE TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @p_TRN_ID AND REQ_DT_TYPE = 'XKSD'
2701
            DELETE TR_REQUEST_SHOP_DOC_DT WHERE REQ_DOC_ID = @p_TRN_ID AND REQ_DT_TYPE = 'BUYNEW'
2702
          INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, APPROVE_DT, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, IS_HAS_CHILD, DEP_ID, DVKD_USER_APP, RECEPTION_DT)
2703
          VALUES (@p_TRN_ID, 'REJECT', 'C', 'GDDV', 'DV0001',@p_REJECTED_BY , GETDATE(), '', 'N', '', '', N'Từ chối phiếu', 0, '', '', GETDATE());
2704
      END
2705
			INSERT INTO dbo.PL_PROCESS
2706
					(
2707
						REQ_ID,
2708
						PROCESS_ID,
2709
						CHECKER_ID,
2710
						APPROVE_DT,
2711
						PROCESS_DESC,NOTES
2712
					)
2713
					VALUES
2714
					(   @p_TRN_ID,       
2715
						'REJECT',        
2716
						@p_REJECTED_BY,       
2717
						GETDATE(), 
2718
						N'Từ chối phiếu', @p_REASON  
2719
					)
2720
			
2721
  	END
2722
    --Phucvh từ chối phiếu yêu cầu thu hồi tài sản
2723
    ELSE IF(@p_TRN_TYPE ='ASS_COLLECT')
2724
		BEGIN     
2725
			IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.AUTH_STATUS = 'A' AND trsd.REQ_ID = @p_TRN_ID))
2726
			BEGIN
2727
				SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu yêu cầu thu hồi đã được duyệt'
2728
				ROLLBACK TRANSACTION
2729
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2730
				RETURN '0'
2731
			END
2732

    
2733
      --PHUCVH 16/11/22 UPDATE TÀI SẢN XONG GIAO DỊCH
2734
      UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL
2735
      WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM TR_REQUEST_DOC_ASSET_DT A WHERE A.REQ_DOC_ID = @p_TRN_ID)
2736

    
2737
			UPDATE TR_REQUEST_SHOP_DOC
2738
			SET AUTH_STATUS ='R', STATUS = 'REJECT', CHECKER_ID = NULL, APPROVE_DT = NULL, HO_NOTES = NULL, SEND_APP_DT = NULL
2739
			WHERE REQ_ID=@p_TRN_ID
2740
			SET @p_MESSAGE =N'Trả về thành công'
2741
      
2742
      UPDATE TR_REQUEST_SHOP_COSTCENTER SET NOTES = NULL, RE_CONTENT = NULL, QUANTITY = 0, ASS_STATUS = NULL,  CHECKER_ID = NULL, APPROVE_DT = NULL, AUTH_STATUS = 'E', MAKER_ID = NULL, CREATE_DT = NULL WHERE REQ_ID = @p_TRN_ID
2743
      DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID
2744
			INSERT INTO dbo.PL_PROCESS
2745
					(
2746
						REQ_ID,
2747
						PROCESS_ID,
2748
						CHECKER_ID,
2749
						APPROVE_DT,
2750
						PROCESS_DESC,NOTES
2751
					)
2752
					VALUES
2753
					(   @p_TRN_ID,       
2754
						'REJECT',        
2755
						@p_REJECTED_BY,       
2756
						GETDATE(), 
2757
						N'Trả về người tạo',
2758
            @p_REASON    
2759
					)
2760
			
2761
		END
2762
    --PHUCVH 16/01/22 ĐIỀU CHUYỂN TÀI SẢN NỘI BỘ
2763
    ELSE IF(@p_TRN_TYPE = 'ASS_PRIVATE_TRANSFER_MUL')
2764
    BEGIN
2765
        IF(EXISTS(SELECT 1 FROM ASS_PRIVATE_TRANSFER_MASTER aptm WHERE aptm.TRANS_MULTI_MASTER_ID = @p_TRN_ID AND aptm.AUTH_STATUS = 'A'))
2766
        BEGIN
2767
            SET @p_MESSAGE =N'Trả về thất bại! Thông tin phiếu điều chuyển đã được duyệt'
2768
    				ROLLBACK TRANSACTION
2769
    				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2770
    				RETURN '0'
2771
        END
2772

    
2773
        UPDATE ASS_PRIVATE_TRANSFER_MASTER SET AUTH_STATUS = 'R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
2774

    
2775
        UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL 
2776
        WHERE ASSET_ID IN (SELECT aptd.ASSET_ID FROM ASS_PRIVATE_TRANSFER_DT aptd WHERE aptd.TRANS_MULTI_MASTER_ID = @p_TRN_ID)
2777

    
2778
  			INSERT INTO dbo.PL_PROCESS
2779
  					(
2780
  						REQ_ID,
2781
  						PROCESS_ID,
2782
  						CHECKER_ID,
2783
  						APPROVE_DT,
2784
  						PROCESS_DESC,NOTES
2785
  					)
2786
  					VALUES
2787
  					(   @p_TRN_ID,       
2788
  						'REJECT',        
2789
  						@p_REJECTED_BY,       
2790
  						GETDATE(), 
2791
  						N'Trả về người tạo',
2792
              @p_REASON    
2793
  					)
2794
            SET @p_MESSAGE =N'Trả về thành công'
2795
    END
2796
		--- INSERT VAO BANG CM_REJECT_LOG
2797
		EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
2798
		IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
2799
		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))
2800
		IF @@Error <> 0 GOTO ABORT
2801
COMMIT TRANSACTION
2802
SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2803
RETURN '0'
2804
ABORT:
2805
BEGIN
2806

    
2807
		ROLLBACK TRANSACTION
2808
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
2809
		RETURN '-1'
2810
END