Project

General

Profile

CM_REJECT_LOG_ByTypeIns.txt

Luc Tran Van, 10/24/2022 08:58 AM

 
1

    
2
ALTER PROC [dbo].[CM_REJECT_LOG_ByType_Ins]
3
@p_LOG_ID	varchar(15)	= NULL,
4
@p_STAGE	varchar(5)	 = NULL,
5
@p_TRN_ID	varchar(15)	 = NULL,
6
@p_TRN_TYPE	nvarchar(100)	 = NULL,
7
@p_LOG_DT	VARCHAR	 = NULL,
8
@p_AUTH_STAT	varchar(3)	 = NULL,
9
@p_REASON	nvarchar(500)	 = NULL,
10
@p_IS_LATEST	varchar(1)	 = NULL,
11
@p_REJECTED_BY	varchar(20)	 = NULL,
12
@p_REJECTED_DT	VARCHAR	 = NULL,
13
@p_TYPE VARCHAR(20) =NULL,
14
@p_PROCESS_ID VARCHAR(20),
15
@p_REF_ID INT=NULL
16
AS
17
BEGIN TRANSACTION
18
DECLARE @PARENT_PROCESS_ID VARCHAR(20),@ROLE_ID VARCHAR(20),@ROLE_DES NVARCHAR(200),@ROLE_PARENT_ID VARCHAR(20),@ROLE_DES_PARENT NVARCHAR(200),@COMPLETE BIT
19

    
20
DECLARE @p_CURRENT_PROCESS_ID VARCHAR(20),
21
		@p_PARENT_PROCESS_ID VARCHAR(20), 
22
		@p_PROCESS_NOTES NVARCHAR(MAX)
23

    
24
SET @COMPLETE=0
25
		DECLARE @p_MESSAGE NVARCHAR(1000) = NULL
26
		IF(EXISTS (SELECT * FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID))
27
		BEGIN
28
			UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID
29
		END
30
				
31
			-- END PHIEU DE THI THANH TOAN 19-11-2019
32
			--- PHIEU YEU CAU MUA SAM
33
				IF(@p_TRN_TYPE='PL_REQUEST_DOC')
34
				BEGIN	
35
					IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
36
					BEGIN
37
						SET @p_MESSAGE =N'Trả về thất bại! Tờ trình chủ trương đã được duyệt'
38
						ROLLBACK TRANSACTION
39
						SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
40
						RETURN '0'
41
					END
42
					IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND (PROCESS_ID='REJECT' OR AUTH_STATUS ='R')))
43
					BEGIN
44
						SET @p_MESSAGE =N'Trả về thất bại! Tờ trình chủ trương đã được từ chối trước đó. Bạn không được phép thao tác trên tờ trình này nữa'
45
						ROLLBACK TRANSACTION
46
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
47
						RETURN '-1'
48
					END
49
					IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID IN ('TKTGD','TKHDQT')))
50
					BEGIN
51
						IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TYPE_JOB ='XL' AND TLNAME =@p_REJECTED_BY))
52
						BEGIN
53
							SET @p_MESSAGE =N'Trả về thất bại! Bạn là nhân viên xử lý, bạn không được phép từ chối tờ trình. Vui lòng nhập ý kiến tham vấn và gửi trưởng văn phòng xem xét'
54
							ROLLBACK TRANSACTION
55
							SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
56
							RETURN '-1'	
57
						END
58
					END
59
				--BEGIN
60
				IF(@p_TYPE='CREATE')
61
				BEGIN
62
					UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R',
63
          TC_NOTES = '',KT_NOTES = '', TK_TGD_NOTES = '', TK_HDQT_NOTES = '', TGD_NOTES = '', CHECKER_ID = '', APPROVE_DT = NULL, IS_AUTHORITY = 0 WHERE REQ_ID=@p_TRN_ID
64
          DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID
65
          DELETE PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_TRN_ID
66
          UPDATE PL_REQUEST_COSTCENTER SET NOTES = '' WHERE REQ_ID = @p_TRN_ID
67
--					UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U',NOTES=N'Tờ trình bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID
68
--					UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE PROCESS_ID <>'APPNEW' AND REQ_ID=@p_TRN_ID
69
					INSERT INTO dbo.PL_PROCESS
70
					(
71
						REQ_ID,
72
						PROCESS_ID,
73
						CHECKER_ID,
74
						APPROVE_DT,
75
						PROCESS_DESC,
76
						NOTES
77
					)
78
					VALUES
79
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
80
						'REJECT',        -- PROCESS_ID - varchar(10)
81
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
82
						GETDATE(), -- APPROVE_DT - datetime
83
						@p_REASON,
84
						N'Trả về người tạo'
85
							   -- PROCESS_DESC - nvarchar(1000)
86
					)
87
					 SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về thành công'
88
					 SET @COMPLETE=1
89
					 PRINT @p_MESSAGE
90
				END
91
				ELSE IF(@p_TYPE='NVXL')
92
				BEGIN
93
					IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID =@p_REF_ID AND TYPE_JOB ='XL'))
94
					BEGIN
95
						SET @p_MESSAGE =N'Tờ trình chưa được điều phối cho nhân viên xử lý. Vui lòng trả về người tạo phiếu (nếu cần) hoặc thực hiện điều phối tờ trình'
96
						--SET @COMPLETE=0
97
						ROLLBACK TRANSACTION
98
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
99
						RETURN '-1'
100
					END
101
					ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID =@p_REF_ID AND TYPE_JOB ='XL' AND STATUS_JOB ='C'))
102
					BEGIN
103
						--SET @p_MESSAGE =N'Phiếu đang chờ nhân viên xử lý. Vui lòng đợi nhân viên xử lý & gửi phê duyệt'
104
						--SET @COMPLETE=0
105
						SET @p_MESSAGE =N'Phiếu đang chờ nhân viên xử lý. Vui lòng đợi nhân viên xử lý & gửi phê duyệt'
106
						ROLLBACK TRANSACTION
107
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
108
						RETURN '-1'
109
					END
110
					ELSE
111
					BEGIN
112
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='U' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID 
113
					--UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='R' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'	
114
					--LUCTV 28 09 2020 DIEU CHINH LOI TRA VE NHUNG NHAN VIEN XU LY KHONG DUOC PHEP TRA VE TIEP
115
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'	
116
					IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'))
117
					BEGIN
118
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB ='KS'
119
					END
120
					INSERT INTO dbo.PL_PROCESS
121
					(
122
					REQ_ID,
123
					PROCESS_ID,
124
					CHECKER_ID,
125
					APPROVE_DT,
126
					PROCESS_DESC,
127
					NOTES
128
					)
129
					VALUES
130
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
131
						'REJECT',        -- PROCESS_ID - varchar(10)
132
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
133
						GETDATE(), -- APPROVE_DT - datetime
134
						@p_REASON,
135
						N'Trả về nhân viên xử lý'
136
							   -- PROCESS_DESC - nvarchar(1000)
137
					)
138
					 SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về thành công'
139
				 		 SET @COMPLETE=1
140
					END
141
				END
142
				ELSE IF(@p_TYPE='PRE_APP')
143
--				BEGIN
144
--					--SET @PARENT_PROCESS_ID =(SELECT TOP 1 PARENT_PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID)
145
--					--SET @ROLE_ID=(SELECT TOP 1 ROLE_USER FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID)
146
--					--SET @ROLE_PARENT_ID=(SELECT TOP 1 ROLE_USER FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@PARENT_PROCESS_ID AND REQ_ID=@p_TRN_ID)
147
--					--SET @ROLE_DES=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_ID)
148
--					--SET @ROLE_DES_PARENT=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_PARENT_ID)
149
--					
150
--					--UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=@ROLE_DES + N' đã trả về, chờ ' + @ROLE_DES_PARENT +N' xử lý' WHERE PROCESS_ID=@PARENT_PROCESS_ID AND REQ_ID=@p_TRN_ID
151
--
152
--					--UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID
153
--					--UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID=@PARENT_PROCESS_ID WHERE REQ_ID=@p_TRN_ID
154
--					--IF(@PARENT_PROCESS_ID='APPNEW')
155
--					--	UPDATE dbo.PL_REQUEST_DOC SET AUTH_STATUS='U' WHERE REQ_ID=@p_TRN_ID
156
--					--IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID ='DMMS' AND DMMS_ID ='DMMS00000000001'))
157
--					--BEGIN
158
--					--	INSERT INTO dbo.PL_PROCESS
159
--					--	(
160
--					--	REQ_ID,
161
--					--	PROCESS_ID,
162
--					--	CHECKER_ID,
163
--					--	APPROVE_DT,
164
--					--	PROCESS_DESC,
165
--					--	NOTES
166
--					--	)
167
--					--	VALUES
168
--					--	(   @p_TRN_ID,        -- REQ_ID - varchar(15)
169
--					--		'REJECT',        -- PROCESS_ID - varchar(10)
170
--					--		@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
171
--					--		GETDATE(), -- APPROVE_DT - datetime
172
--					--		@p_REASON,N'Trả về ' + @ROLE_DES_PARENT
173
--					--			   -- PROCESS_DESC - nvarchar(1000)
174
--					--	)
175
--					--	DECLARE @PROCESS_ID VARCHAR(15)
176
--					--	SET @PROCESS_ID =(SELECT TOP 1 ID FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID ='DMMS')
177
--					--	DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID =@p_REF_ID
178
--					--	SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về thành công'
179
--				 --		SET @COMPLETE=1
180
--					--END
181
--					--ELSE
182
--					--BEGIN
183
--					--	 SET @p_MESSAGE =N'Tạm thời bạn nên trả phiếu về người tạo'
184
--					--	 SET @COMPLETE=0
185
--					-- END
186
--					SET @p_PARENT_PROCESS_ID = (
187
--						SELECT PARENT_PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID AND STATUS = 'C'
188
--					)
189
--					SET @p_CURRENT_PROCESS_ID  = (
190
--						SELECT PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID AND STATUS = 'C'
191
--					)
192
--					
193
--					
194
--					DECLARE @p_TK_TGD_NOTES NVARCHAR(4000), @p_TK_HDQT_NOTES NVARCHAR(4000)
195
--					SET @p_TK_TGD_NOTES = (SELECT TK_TGD_NOTES FROM PL_REQUEST_DOC WHERE REQ_ID = @p_TRN_ID)
196
--					SET @p_TK_HDQT_NOTES = (SELECT TK_HDQT_NOTES FROM PL_REQUEST_DOC WHERE REQ_ID = @p_TRN_ID)
197
--
198
--					IF(@p_PARENT_PROCESS_ID = 'GDK_TT')
199
--					BEGIN
200
--						SET @p_PROCESS_NOTES = N'giám đốc khối'
201
--					END
202
--					ELSE IF(@p_PARENT_PROCESS_ID = 'PTGDK_TT')
203
--					BEGIN
204
--						SET @p_PROCESS_NOTES = N'phó tổng giám đốc khối'
205
--					END
206
--					ELSE IF (@p_PARENT_PROCESS_ID = 'TKTGD')
207
--					BEGIN
208
--						SET @p_PROCESS_NOTES = N'Thư Ký TGĐ'
209
--						SET @p_TK_TGD_NOTES = NULL
210
--					END
211
--					ELSE IF (@p_PARENT_PROCESS_ID = 'TGD')
212
--					BEGIN
213
--						SET @p_PROCESS_NOTES = N'tổng giám đốc'
214
--					END
215
--					ELSE IF (@p_PARENT_PROCESS_ID = 'TKHDQT')
216
--					BEGIN
217
--						SET @p_PROCESS_NOTES = N'Văn Phòng Thư Ký HĐQT'
218
--						SET @p_TK_HDQT_NOTES = NULL
219
--					END
220
--					------------------Update trạng thái hiện tại là bước xử lý trước đó-------
221
--					UPDATE PL_REQUEST_PROCESS SET STATUS = 'U'
222
--					WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = @p_CURRENT_PROCESS_ID
223
--					
224
--					UPDATE PL_REQUEST_PROCESS SET
225
--						STATUS = 'C',
226
--						CHECKER_ID = '',
227
--						APPROVE_DT = NULL,
228
--						NOTES = N'Chờ ' + @p_PROCESS_NOTES + N' xác nhận'
229
--					WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = @p_PARENT_PROCESS_ID
230
--					
231
--					UPDATE PL_REQUEST_DOC SET 
232
--						PROCESS_ID = @p_PARENT_PROCESS_ID, 
233
--						TK_TGD_NOTES = @p_TK_TGD_NOTES,
234
--						TK_HDQT_NOTES = @p_TK_HDQT_NOTES
235
--					WHERE REQ_ID = @p_TRN_ID
236
--					
237
--					INSERT INTO dbo.PL_PROCESS
238
--						(
239
--						REQ_ID,
240
--						PROCESS_ID,
241
--						CHECKER_ID,
242
--						APPROVE_DT,
243
--						PROCESS_DESC,
244
--						NOTES
245
--						)
246
--						VALUES
247
--						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
248
--							'REJECT',        -- PROCESS_ID - varchar(10)
249
--							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
250
--							GETDATE(), -- APPROVE_DT - datetime
251
--							@p_REASON,	-- PROCESS_DESC - nvarchar(1000)
252
--							N'Trả về ' + @p_PROCESS_NOTES -- NOTES - nvarchar(1000)
253
--								   
254
--						)
255
--					SET @p_MESSAGE =N'Tờ trình đã được trả về thành công'
256
--					SET @COMPLETE=1
257
--				END
258
        BEGIN
259
					--SET @PARENT_PROCESS_ID =(SELECT TOP 1 PARENT_PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID)
260
					--SET @ROLE_ID=(SELECT TOP 1 ROLE_USER FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID)
261
					--SET @ROLE_PARENT_ID=(SELECT TOP 1 ROLE_USER FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@PARENT_PROCESS_ID AND REQ_ID=@p_TRN_ID)
262
					--SET @ROLE_DES=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_ID)
263
					--SET @ROLE_DES_PARENT=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_PARENT_ID)
264
					
265
					--UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=@ROLE_DES + N' đã trả về, chờ ' + @ROLE_DES_PARENT +N' xử lý' WHERE PROCESS_ID=@PARENT_PROCESS_ID AND REQ_ID=@p_TRN_ID
266

    
267
					--UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID
268
					--UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID=@PARENT_PROCESS_ID WHERE REQ_ID=@p_TRN_ID
269
					--IF(@PARENT_PROCESS_ID='APPNEW')
270
					--	UPDATE dbo.PL_REQUEST_DOC SET AUTH_STATUS='U' WHERE REQ_ID=@p_TRN_ID
271
					IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID ='DMMS' AND DMMS_ID ='DMMS00000000001'))
272
					BEGIN
273
						INSERT INTO dbo.PL_PROCESS
274
						(
275
						REQ_ID,
276
						PROCESS_ID,
277
						CHECKER_ID,
278
						APPROVE_DT,
279
						PROCESS_DESC,
280
						NOTES
281
						)
282
						VALUES
283
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
284
							'REJECT',        -- PROCESS_ID - varchar(10)
285
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
286
							GETDATE(), -- APPROVE_DT - datetime
287
							@p_REASON,
288
              N'Trả về ' + @ROLE_DES_PARENT		   -- PROCESS_DESC - nvarchar(1000)
289
						)
290
						DECLARE @PROCESS_ID VARCHAR(15)
291
						SET @PROCESS_ID =(SELECT TOP 1 ID FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID ='DMMS')
292
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID =@p_REF_ID
293
						SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về thành công'
294
				 		SET @COMPLETE=1
295
					END
296
					ELSE
297
					BEGIN
298
						 SET @p_MESSAGE =N'Tạm thời bạn nên trả phiếu về người tạo'
299
						 SET @COMPLETE=0
300
					 END
301
				END
302
			END
303
			ELSE IF(@p_TRN_TYPE='TR_REQUEST_DOC')
304
			BEGIN
305
			--IF(@p_STAGE='DVMS')
306
			--BEGIN
307
			--END
308
		
309
				IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
310
				BEGIN
311
					SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được 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
				DECLARE @p_TR_REQ_CODE VARCHAR(50) = (
319
					SELECT REQ_CODE FROM TR_REQUEST_DOC WHERE REQ_ID = @p_TRN_ID
320
				)
321
				---------------Trả về người tạo-------------
322
				IF(@p_TYPE='CREATE')
323
				BEGIN
324
					---------------Thông báo lỗi nếu PYCMS đã được trả về người tạo-------------------
325
					IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'REJECT' AND AUTH_STATUS = 'R'))
326
					BEGIN
327
						SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được trả về người tạo trước đó'
328
						ROLLBACK TRANSACTION
329
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
330
						RETURN '-1'
331
					END
332
					ELSE
333
					BEGIN
334
					UPDATE dbo.TR_REQUEST_DOC SET 
335
						PROCESS_ID='REJECT',
336
						AUTH_STATUS='R', 
337
						USER_DVMS = NULL,
338
						CHECKER_ID = NULL,
339
						APPROVE_DT = NULL
340
					WHERE REQ_ID=@p_TRN_ID
341
					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
342
					UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE PROCESS_ID <>'APPNEW' AND REQ_ID=@p_TRN_ID
343
					INSERT INTO dbo.PL_PROCESS
344
					(
345
					REQ_ID,
346
					PROCESS_ID,
347
					CHECKER_ID,
348
					APPROVE_DT,
349
					PROCESS_DESC,
350
					NOTES
351
					)
352
					VALUES
353
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
354
						'REJECT',        -- PROCESS_ID - varchar(10)
355
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
356
						GETDATE(), -- APPROVE_DT - datetime
357
						@p_REASON,N'Trả về người tạo'
358
							   -- PROCESS_DESC - nvarchar(1000)
359
					)
360
					SET @COMPLETE=1
361
					SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về thành công'
362
					END
363
				END
364
				---------Trả về nhân viên xử lý--------------------
365
				ELSE IF(@p_TYPE='NVXL')
366
				BEGIN
367
					---------------Thông báo lỗi nếu PYCMS đã được trả về nhân viên xử lý-------------------
368
					IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = @p_REF_ID AND TYPE_JOB = 'XL' AND STATUS_JOB = 'C'))
369
					BEGIN
370
						SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được trả về nhân viên xử lý trước đó'
371
						ROLLBACK TRANSACTION
372
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
373
						RETURN '-1'
374
					END
375
					ELSE
376
					BEGIN
377
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='U' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID 
378
					--UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='R' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'
379
					--LUCTV 28 09 2020 DIEU CHINH LOI TRA VE NHUNG NHAN VIEN XU LY KHONG DUOC PHEP TRA VE TIEP
380
					--KIEM TRA NGUOI DIEU PHOI - NEU LA TP - TRA VE CHO NHAN VIEN XU LY THI SE TRA VE CHO
381
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'
382
					IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'))
383
					BEGIN
384
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB ='KS'
385
					END
386
					INSERT INTO dbo.PL_PROCESS
387
					(
388
					REQ_ID,
389
					PROCESS_ID,
390
					CHECKER_ID,
391
					APPROVE_DT,
392
					PROCESS_DESC,
393
					NOTES
394
					)
395
					VALUES
396
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
397
						'REJECT',        -- PROCESS_ID - varchar(10)
398
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
399
						GETDATE(), -- APPROVE_DT - datetime
400
						@p_REASON,N'Trả về nhân viên xử lý'
401
							   -- PROCESS_DESC - nvarchar(1000)
402
					)
403
					SET @COMPLETE=1
404
					SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về thành công'
405
					END
406
				END
407
				ELSE IF(@p_TYPE='PRE_APP')
408
				BEGIN
409
					--SET @PARENT_PROCESS_ID =(SELECT TOP 1 PARENT_PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID)
410
					--SET @ROLE_ID=(SELECT TOP 1 ROLE_USER FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID)
411
					--SET @ROLE_PARENT_ID=(SELECT TOP 1 ROLE_USER FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@PARENT_PROCESS_ID AND REQ_ID=@p_TRN_ID)
412
					--SET @ROLE_DES=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_ID)
413
					--SET @ROLE_DES_PARENT=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_PARENT_ID)
414
					
415
					--UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=@ROLE_DES + N' đã trả về, chờ ' + @ROLE_DES_PARENT +N' xử lý' WHERE PROCESS_ID=@PARENT_PROCESS_ID AND REQ_ID=@p_TRN_ID
416
					--IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID=@PARENT_PROCESS_ID AND IS_HAS_CHILD=1))
417
					--BEGIN
418
					--	UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='R' WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID IN (SELECT ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID=@PARENT_PROCESS_ID AND IS_HAS_CHILD=1) AND LEVEL_JOB=1
419
					--END
420
					
421
					--IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS WHERE  REQ_ID =@p_TRN_ID AND PROCESS_ID='DVCM'))
422
					--BEGIN
423
					--		UPDATE dbo.TR_REQUEST_COSTCENTER SET AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
424
					--END
425
					
426
					--UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID
427
					--UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID=@PARENT_PROCESS_ID WHERE REQ_ID=@p_TRN_ID
428
					--IF(@PARENT_PROCESS_ID='APPNEW')
429
					--	UPDATE dbo.TR_REQUEST_DOC SET AUTH_STATUS='U' WHERE REQ_ID=@p_TRN_ID
430

    
431

    
432
					--INSERT INTO dbo.PL_PROCESS
433
					--(
434
					--REQ_ID,
435
					--PROCESS_ID,
436
					--CHECKER_ID,
437
					--APPROVE_DT,
438
					--PROCESS_DESC,NOTES
439
					--)
440
					--VALUES
441
					--(   @p_TRN_ID,        -- REQ_ID - varchar(15)
442
					--	'REJECT',        -- PROCESS_ID - varchar(10)
443
					--	@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
444
					--	GETDATE(), -- APPROVE_DT - datetime
445
					--	@p_REASON,N'Trả về ' + @ROLE_DES_PARENT
446
					--	       -- PROCESS_DESC - nvarchar(1000)
447
					--)
448
					IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID ='DMMS' AND DMMS_ID ='DMMS00000000001'))
449
					BEGIN
450
						INSERT INTO dbo.PL_PROCESS
451
						(
452
						REQ_ID,
453
						PROCESS_ID,
454
						CHECKER_ID,
455
						APPROVE_DT,
456
						PROCESS_DESC,
457
						NOTES
458
						)
459
						VALUES
460
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
461
							'REJECT',        -- PROCESS_ID - varchar(10)
462
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
463
							GETDATE(), -- APPROVE_DT - datetime
464
							@p_REASON,N'Trả về ' + @ROLE_DES_PARENT
465
								   -- PROCESS_DESC - nvarchar(1000)
466
						)
467
						DECLARE @PROCESS_ID_DMMS INT
468
						SET @PROCESS_ID_DMMS =(SELECT TOP 1 ID FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID ='DMMS')
469
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID =@p_REF_ID
470
						SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về cấp duyệt trước đó thành công'
471
				 		SET @COMPLETE=1
472
					END
473
					ELSE
474
					BEGIN
475
						SET @p_MESSAGE =N'Tạm thời bạn nên trả phiếu về người tạo'
476
							 SET @COMPLETE=0
477
					END
478
				END
479
				----------------BAODNQ 13/6/2022: THÊM XỬ LÝ TRẢ VỀ ĐMMS-----------
480
				ELSE IF (@p_TYPE = 'RE_DMMS')
481
				BEGIN
482
					--------------Thông báo lỗi nếu PYCMS đã được trả về đầu mối mua sắm-------------------
483
					IF(EXISTS (SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'DMMS' AND STATUS = 'C'))
484
					BEGIN
485
						SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được trả về đầu mối mua sắm trước đó'
486
						ROLLBACK TRANSACTION
487
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
488
						RETURN '-1'
489
					END
490
					ELSE
491
					BEGIN
492
					---------------CẬP NHẬT LẠI BƯỚC XỬ LÝ HIỆN TẠI LÀ ĐMMS--------
493
					UPDATE PL_REQUEST_PROCESS SET STATUS = 'U' 
494
						WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID <> 'APPNEW'
495
					UPDATE PL_REQUEST_PROCESS SET 
496
						STATUS = 'C', 
497
						NOTES = N'Chờ đầu mối mua sắm xử lý',
498
						CHECKER_ID = '', APPROVE_DT = NULL
499
						WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'DMMS'
500
					UPDATE TR_REQUEST_DOC SET  PROCESS_ID = 'DMMS'
501
						WHERE REQ_ID = @p_TRN_ID
502

    
503
					DECLARE @p_DMMS_ID_PROCESS INT = (
504
						SELECT ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'DMMS' AND STATUS = 'C'
505
					)
506
					-------------XÓA LỊCH SỬ ĐIỀU PHỐI ĐỂ ĐMMS ĐIỀU PHỐI LẠI----------
507
					DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = @p_DMMS_ID_PROCESS
508
					-------------XÓA LỊCH SỬ ĐIỀU PHỐI CỦA DVCM--------------
509
					DECLARE @t_DVCM TABLE (PROCESS_ID INT)
510
					INSERT INTO @t_DVCM 
511
						SELECT ID FROM PL_REQUEST_PROCESS 
512
						WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'DVCM'
513
					DELETE FROM PL_REQUEST_PROCESS_CHILD 
514
						WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID IN (SELECT PROCESS_ID FROM @t_DVCM)
515
					------------XÓA LỊCH SỬ XỬ LÝ CÓ STATUS = 'U'---------
516
					DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID AND STATUS = 'U'
517

    
518
					IF(EXISTS (SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID AND DVDM_ID = 'DM0000000000006' AND ROLE_USER = 'KSV'))
519
					BEGIN
520
						DELETE FROM TR_REQUEST_COSTCENTER WHERE REQ_ID = @p_TRN_ID AND COST_ID = 'DM0000000000006'
521
					END
522

    
523
					-----------CẬP NHẬT LẠI DVCM LÀ CHƯA XÁC NHẬN-------------
524
					UPDATE TR_REQUEST_COSTCENTER SET
525
						AUTH_STATUS = 'U',
526
						APPROVE_DT = NULL,
527
						CHECKER_ID = NULL,
528
						NOTES = NULL
529
					WHERE REQ_ID = @p_TRN_ID
530

    
531
					INSERT INTO dbo.PL_PROCESS
532
					(
533
						REQ_ID,
534
						PROCESS_ID,
535
						CHECKER_ID,
536
						APPROVE_DT,
537
						PROCESS_DESC,
538
						NOTES
539
					)
540
					VALUES
541
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
542
						'REJECT',        -- PROCESS_ID - varchar(10)
543
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
544
						GETDATE(), -- APPROVE_DT - datetime
545
						@p_REASON,	-- PROCESS_DESC - nvarchar(1000)
546
						N'Trả về trưởng đơn vị ở đầu mối mua sắm' --NOTES
547
					)
548

    
549
					SET @COMPLETE=1
550
					SET @p_MESSAGE = N'Phiếu yêu cầu mua sắm số: ' +@p_TR_REQ_CODE+ 
551
						N' đã được trả về đầu mối mua sắm thành công'
552
					END
553
				END
554

    
555
				-----------------XỬ LÝ TRẢ VỀ CHO DVCM---------------
556
				ELSE IF (@p_TYPE = 'RE_DVCM')
557
				BEGIN
558
					--------------Thông báo lỗi nếu PYCMS đã được trả về DVCM-------------------
559
					IF(EXISTS (SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'DVCM' AND STATUS = 'C'))
560
					BEGIN
561
						SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được trả về đơn vị chuyên môn trước đó'
562
						ROLLBACK TRANSACTION
563
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
564
						RETURN '-1'
565
					END
566
					----------------CẬP NHẬT LẠI BƯỚC XỬ LÝ HIỆN TẠI LÀ DVCM--------
567
					UPDATE PL_REQUEST_PROCESS SET 
568
						STATUS = 'U', 
569
						CHECKER_ID = '', APPROVE_DT = NULL
570
					WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID <> 'APPNEW' AND PROCESS_ID <> 'DMMS'
571
					UPDATE PL_REQUEST_PROCESS SET 
572
						STATUS = 'C',
573
						NOTES = N'Chờ đơn vị chuyên môn xác nhận',
574
						CHECKER_ID = '', APPROVE_DT = NULL
575
						WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'DVCM'
576
					UPDATE TR_REQUEST_DOC SET PROCESS_ID = 'DVCM'
577
						WHERE REQ_ID = @p_TRN_ID
578
	
579
					DECLARE @t_DVCM_ID_PROCESS TABLE (PROCESS_ID INT)
580
					INSERT INTO @t_DVCM_ID_PROCESS 
581
						SELECT ID FROM PL_REQUEST_PROCESS 
582
						WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'DVCM' AND STATUS = 'C'
583
					----------------XÓA LỊCH SỬ ĐIỀU PHỐI ĐỂ DVCM ĐIỀU PHỐI LẠI-----------
584
					DELETE FROM PL_REQUEST_PROCESS_CHILD 
585
						WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID IN (SELECT PROCESS_ID FROM @t_DVCM_ID_PROCESS)
586
					-----------CẬP NHẬT LẠI DVCM LÀ CHƯA XÁC NHẬN-------------
587
					-----------Nếu DVCM trùng vs DMMS thì giữ nguyên-----------
588
					DECLARE @p_DVDM_DMMS_ID VARCHAR(15) = (
589
						SELECT CDV.DVDM_ID
590
						FROM CM_DMMS CD
591
						LEFT JOIN PL_COSTCENTER_DT PCD ON CD.BRANCH_ID = PCD.BRANCH_ID AND CD.DEP_ID = PCD.DEP_ID
592
						LEFT JOIN PL_COSTCENTER PC ON PCD.COST_ID = PC.COST_ID
593
						LEFT JOIN CM_DVDM CDV ON PC.DVDM_ID = CDV.DVDM_ID
594
						WHERE CD.DMMS_ID = (SELECT DVDM_ID FROM PL_REQUEST_PROCESS WHERE PROCESS_ID = 'DMMS' AND REQ_ID = @p_TRN_ID)
595
						AND CDV.IS_DVCM = 1
596
					)
597

    
598
					UPDATE TR_REQUEST_COSTCENTER SET
599
						AUTH_STATUS = 'U',
600
						APPROVE_DT = NULL,
601
						CHECKER_ID = NULL,
602
						NOTES = NULL
603
					WHERE REQ_ID = @p_TRN_ID AND COST_ID <> @p_DVDM_DMMS_ID
604

    
605
					INSERT INTO dbo.PL_PROCESS
606
					(
607
						REQ_ID,
608
						PROCESS_ID,
609
						CHECKER_ID,
610
						APPROVE_DT,
611
						PROCESS_DESC,
612
						NOTES
613
					)
614
					VALUES
615
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
616
						'REJECT',        -- PROCESS_ID - varchar(10)
617
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
618
						GETDATE(), -- APPROVE_DT - datetime
619
						@p_REASON,	-- PROCESS_DESC - nvarchar(1000)
620
						N'Trả về trưởng đơn vị ở đơn vị chuyên môn' --NOTES
621
					)
622

    
623
					SET @COMPLETE=1
624
					SET @p_MESSAGE =N'Phiếu yêu cầu mua sắm số: ' +@p_TR_REQ_CODE+ 
625
						N' đã được trả về đơn vị chuyên môn thành công'
626
				END
627
				----------BAODNQ 21/10/2022 : Thêm xử lý KSV ĐMMS trả về cho trưởng đơn vị ĐMMS-------
628
				ELSE IF(@p_TYPE = 'RE_GDDV_DMMS')
629
				BEGIN
630
					
631
					DECLARE @p_PROCESS_CHILD_PROCESS_ID VARCHAR(20) =(
632
						SELECT TOP 1 ID FROM PL_REQUEST_PROCESS 
633
						WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'DMMS' AND STATUS = 'C'
634
					)
635

    
636
					IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'DMMS' AND STATUS = 'C'))
637
					BEGIN
638
						SET @p_MESSAGE =N'Thao tác này chỉ được thực hiện ở đầu mối mua sắm'
639
						ROLLBACK TRANSACTION
640
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
641
						RETURN '-1'
642
					END
643
					IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = @p_PROCESS_CHILD_PROCESS_ID))
644
					BEGIN
645
						SET @p_MESSAGE =N'Chuyển phiếu thất bại! Phiếu đã ở trưởng đơn vị chờ điều phối'
646
						ROLLBACK TRANSACTION
647
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
648
						RETURN '-1'
649
					END
650

    
651
					---------------Xóa điều phối ở ĐMMS--------------
652
					DELETE FROM PL_REQUEST_PROCESS_CHILD 
653
					WHERE REQ_ID = @p_TRN_ID 
654
					AND PROCESS_ID = @p_PROCESS_CHILD_PROCESS_ID
655

    
656
					INSERT INTO dbo.PL_PROCESS
657
					(
658
						REQ_ID,
659
						PROCESS_ID,
660
						CHECKER_ID,
661
						APPROVE_DT,
662
						PROCESS_DESC,
663
						NOTES
664
					)
665
					VALUES
666
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
667
						'REJECT',        -- PROCESS_ID - varchar(10)
668
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
669
						GETDATE(), -- APPROVE_DT - datetime
670
						@p_REASON,	-- PROCESS_DESC - nvarchar(1000)
671
						N'Chuyển phiếu cho trưởng đơn vị ở đầu mối mua sắm' --NOTES
672
					)
673

    
674
					SET @COMPLETE=1
675
					SET @p_MESSAGE =N'Phiếu yêu cầu mua sắm số: ' +@p_TR_REQ_CODE+ 
676
						N' đã được chuyển cho trưởng đơn vị đầu mối mua sắm thành công'
677
				END
678
				---------------------------END BAODNQ 21/10/2022--------------------
679
				-------------------------BAODNQ 19/8/2022 : Thêm xử lý trả về TKTGD--------
680
				ELSE IF(@p_TYPE = 'RE_TKTGD')
681
				BEGIN
682
					--------------Thông báo lỗi nếu PYCMS đã được trả về TKTGD-------------------
683
					IF(EXISTS (SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'TKTGD_CDT' AND STATUS = 'C'))
684
					BEGIN
685
						SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được trả về thư ký tổng giám đốc trước đó'
686
						ROLLBACK TRANSACTION
687
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
688
						RETURN '-1'
689
					END
690
					------------------Update bước hiện tại thành TKTGD--------------
691
					SET @p_CURRENT_PROCESS_ID = (
692
						SELECT PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID AND STATUS = 'C'
693
					)
694
					SET @p_PARENT_PROCESS_ID = (
695
						SELECT PARENT_PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_TRN_ID AND STATUS = 'C'
696
					)
697

    
698
					UPDATE PL_REQUEST_PROCESS SET 
699
						STATUS = 'U'
700
					WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = @p_CURRENT_PROCESS_ID
701

    
702
					UPDATE PL_REQUEST_PROCESS SET
703
						STATUS = 'C', 
704
						CHECKER_ID = NULL, 
705
						APPROVE_DT = NULL,
706
						NOTES = N'Chờ Thư ký Tổng Giám đốc phê duyệt'
707
					WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = @p_PARENT_PROCESS_ID
708

    
709
					UPDATE TR_REQUEST_DOC SET
710
						PROCESS_ID = @p_PARENT_PROCESS_ID
711
					WHERE REQ_ID = @p_TRN_ID
712

    
713
					INSERT INTO dbo.PL_PROCESS
714
						(
715
						REQ_ID,
716
						PROCESS_ID,
717
						CHECKER_ID,
718
						APPROVE_DT,
719
						PROCESS_DESC,
720
						NOTES
721
						)
722
						VALUES
723
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
724
							'REJECT',        -- PROCESS_ID - varchar(10)
725
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
726
							GETDATE(), -- APPROVE_DT - datetime
727
							@p_REASON,	-- PROCESS_DESC - nvarchar(1000)
728
							N'Trả về Thư ký Tổng giám đốc' -- NOTES - nvarchar(1000)
729
								   
730
						)
731
					SET @p_MESSAGE =N'Phiếu yêu cầu mua sắm số: ' +@p_TR_REQ_CODE+ 
732
						N' đã được trả về thư ký Tổng giám đốc thành công'
733
					SET @COMPLETE=1
734
				END
735

    
736
				END
737
			
738
		END
739

    
740
		---------------BAODNQ 6/6/2022 THÊM TRẢ VỀ CHO TỜ TRÌNH CHỈ ĐỊNH THẦU--------
741
		ELSE IF (@p_TRN_TYPE = 'PL_APPOINT_CONTRACTOR')
742
		BEGIN
743
			IF(EXISTS (SELECT * FROM PL_APPOINT_CONTRACTOR WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS = 'A' AND PROCESS_ID = 'APPROVE'))
744
			BEGIN
745
				SET @p_MESSAGE = N'Trả về thất bại. Tờ trình chỉ định thầu đã được duyệt'
746
				ROLLBACK TRANSACTION
747
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
748
				RETURN '-1'
749
			END
750
			IF (EXISTS (SELECT * FROM PL_APPOINT_CONTRACTOR WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS = 'R' AND PROCESS_ID = 'REJECT'))
751
			BEGIN
752
				SET @p_MESSAGE = N'Trả về thất bại. Tờ trình chỉ định thầu đã được trả về trước đó'
753
				ROLLBACK TRANSACTION
754
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
755
				RETURN '-1'
756
			END
757
			
758
			IF(@p_TYPE = 'CREATE')
759
			BEGIN
760
				UPDATE PL_APPOINT_CONTRACTOR SET 
761
					AUTH_STATUS = 'R', 
762
					PROCESS_ID = 'REJECT',
763
					CHECKER_ID = NULL,
764
					APPROVE_DT = NULL
765
				WHERE REQ_ID = @p_TRN_ID
766
				UPDATE PL_REQUEST_PROCESS SET 
767
					STATUS = 'R',
768
					NOTES = N'Phiếu bị trả về'
769
				WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'APPNEW'
770
				UPDATE PL_REQUEST_PROCESS SET
771
					STATUS = 'U'
772
				WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID <> 'APPNEW'
773

    
774
				INSERT INTO dbo.PL_PROCESS
775
				(
776
					REQ_ID,
777
					PROCESS_ID,
778
					CHECKER_ID,
779
					APPROVE_DT,
780
					PROCESS_DESC,
781
					NOTES
782
				)
783
				VALUES
784
				(   @p_TRN_ID,        -- REQ_ID - varchar(15)
785
					'REJECT',        -- PROCESS_ID - varchar(10)
786
					@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
787
					GETDATE(), -- APPROVE_DT - datetime
788
					@p_REASON,  -- PROCESS_DESC - nvarchar(1000)
789
					N'Trả về người tạo'   --NOTES     
790
				)
791
				SET @COMPLETE = 1
792
				SET @p_MESSAGE =N'Tờ trình chỉ định thầu đã được trả về thành công'
793
			END
794
		END
795
		------------------END BAODNQ 6/6/2022-------------------
796
		
797
		------------------------Đánh giá NCC--------------------
798
		ELSE IF(@p_TRN_TYPE = 'TR_RATE_SUPPLIER')
799
		BEGIN
800
			IF(EXISTS (SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID = @p_TRN_ID AND AUTH_STATUS = 'A' AND PROCESS_STATUS = 'APPROVE'))
801
			BEGIN
802
				SET @p_MESSAGE = N'Trả về thất bại. Phiếu đánh giá NCC đã được duyệt'
803
				ROLLBACK TRANSACTION
804
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
805
				RETURN '-1'
806
			END
807
			IF (EXISTS (SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID = @p_TRN_ID AND AUTH_STATUS = 'R' AND PROCESS_STATUS = 'REJECT'))
808
			BEGIN
809
				SET @p_MESSAGE = N'Trả về thất bại. Phiếu đánh giá NCC đã được trả về trước đó'
810
				ROLLBACK TRANSACTION
811
				SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
812
				RETURN '-1'
813
			END
814

    
815
			DECLARE @p_RATE_REQ_NO VARCHAR(100) = (
816
				SELECT RATE_REQ_NO FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID = @p_TRN_ID
817
			)
818

    
819
			--------------------TRẢ VỀ NG TẠO--------------
820
			IF(@p_TYPE = 'CREATE')
821
			BEGIN
822
				UPDATE TR_RATE_SUPPLIER_MASTER SET 
823
					AUTH_STATUS = 'R', 
824
					PROCESS_STATUS = 'REJECT',
825
					CHECKER_ID = NULL,
826
					APPROVE_DT = NULL,
827
					IS_SEND_APPR = 'N',
828
					DMMS_NOTES = NULL
829
				WHERE RATE_ID = @p_TRN_ID
830
				UPDATE PL_REQUEST_PROCESS SET 
831
					STATUS = 'R',
832
					NOTES = N'Phiếu bị trả về'
833
				WHERE REQ_ID = @p_TRN_ID AND (PROCESS_ID = 'APPNEW' OR PROCESS_ID = 'SIGN')
834
				UPDATE PL_REQUEST_PROCESS SET
835
					STATUS = 'U'
836
				WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID NOT IN ('APPNEW', 'SIGN')
837

    
838
				INSERT INTO dbo.PL_PROCESS
839
				(
840
					REQ_ID,
841
					PROCESS_ID,
842
					CHECKER_ID,
843
					APPROVE_DT,
844
					PROCESS_DESC,
845
					NOTES
846
				)
847
				VALUES
848
				(   @p_TRN_ID,        -- REQ_ID - varchar(15)
849
					'REJECT',        -- PROCESS_ID - varchar(10)
850
					@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
851
					GETDATE(), -- APPROVE_DT - datetime
852
					@p_REASON,  -- PROCESS_DESC - nvarchar(1000)
853
					N'Trả về người tạo'   --NOTES     
854
				)
855
				SET @COMPLETE = 1
856
				SET @p_MESSAGE =N'Phiếu đánh giá NCC số: ' +@p_RATE_REQ_NO+ 
857
					N' đã được trả về người tạo thành công'
858
			END
859
			-------------TRẢ VỀ NVXL-------------------
860
			ELSE IF(@p_TYPE='NVXL')
861
			BEGIN
862

    
863
				IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = @p_REF_ID AND TYPE_JOB = 'XL'))
864
				BEGIN
865
					SET @p_MESSAGE = N'Không thể trả phiếu về nhân viên xử lý vì phiếu đánh giá NCC số: '
866
						+@p_RATE_REQ_NO+ N' không có điều phối cho nhân viên xử lý'
867
					ROLLBACK TRANSACTION
868
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
869
					RETURN '-1'
870
				END
871

    
872
				UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='U' 
873
					WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID
874

    
875
				UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' 
876
					WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'
877
				IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'))
878
				BEGIN
879
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' 
880
						WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB ='KS'
881
				END
882
				UPDATE TR_RATE_SUPPLIER_MASTER SET DMMS_NOTES = NULL WHERE RATE_ID = @p_TRN_ID
883
				INSERT INTO dbo.PL_PROCESS
884
				(
885
					REQ_ID,
886
					PROCESS_ID,
887
					CHECKER_ID,
888
					APPROVE_DT,
889
					PROCESS_DESC,
890
					NOTES
891
				)
892
				VALUES
893
				(   @p_TRN_ID,        -- REQ_ID - varchar(15)
894
					'REJECT',        -- PROCESS_ID - varchar(10)
895
					@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
896
					GETDATE(), -- APPROVE_DT - datetime
897
					@p_REASON,
898
					N'Trả về nhân viên xử lý' -- PROCESS_DESC - nvarchar(1000)      
899
				)
900

    
901
				SET @COMPLETE=1
902
				SET @p_MESSAGE =N'Phiếu đánh giá NCC số: ' +@p_RATE_REQ_NO+ 
903
					N' đã được trả về nhân viên xử lý thành công'
904
			END
905
		END
906

    
907
		-- END IF
908
		ELSE
909
		BEGIN
910
			SET @p_MESSAGE =N'Trả về giao dịch thành công'
911
		END
912

    
913
		--- INSERT VAO BANG CM_REJECT_LOG
914
		IF(@COMPLETE=1)
915
		BEGIN
916
		EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
917
		IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
918
		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,@p_IS_LATEST,@p_REJECTED_BY,CONVERT(DATETIME,GETDATE(),103))
919
		IF @@Error <> 0 GOTO ABORT
920
		END
921
COMMIT TRANSACTION
922

    
923
SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
924
RETURN '0'
925
ABORT:
926
BEGIN
927

    
928
		ROLLBACK TRANSACTION
929
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
930
		RETURN '-1'
931
END
932