Project

General

Profile

PYC-CT.txt

Luc Tran Van, 06/09/2022 12:49 PM

 
1
-- Stored Procedure
2

    
3
CREATE PROC [dbo].[TR_REQUEST_JOB_FORM_ById] 
4
@p_REQ_ID varchar(15),
5
@p_USER_LOGIN varchar(20) NULL
6
AS
7
BEGIN
8
	DECLARE @PROCESS_CURR VARCHAR(20)= NULL
9
	SET @PROCESS_CURR=(SELECT TOP 1 PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C' )
10
	SELECT A.*, B.TLFullName AS SIGN_USER_FULLNAME,C.EMP_CODE,C.EMP_NAME,C.POS_NAME AS TEN_CHUC_DANH,D.BRANCH_NAME,E.DEP_NAME,
11
	(CASE 
12
		WHEN (A.PROCESS_ID IN ('NEW','REJECT','HO_APP','HCHO_XL') AND A.MAKER_ID = @p_USER_LOGIN) THEN 'Y'
13
		WHEN (A.PROCESS_ID IN ('APPNEW','MAKER_CONF') AND EXISTS (SELECT ROLE_ID FROM TL_USER_GET_ROLES(@p_USER_LOGIN) WHERE ROLE_ID ='NVDV')) THEN 'Y'
14
		ELSE 'N' 
15
	END) AS IS_SAVE,
16
	(CASE 
17
		WHEN ((A.PROCESS_ID = 'SEND' AND A.SIGN_USER IS NULL) OR A.PROCESS_ID ='SIGN' OR @PROCESS_CURR ='TDV_APP') AND EXISTS(SELECT * FROM FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_CREATE,A.DEP_CREATE)WHERE TLNANME=@p_USER_LOGIN) THEN 'Y'
18
		WHEN (A.PROCESS_ID IN ('SEND') AND A.SIGN_USER=@p_USER_LOGIN ) THEN 'Y'
19
		WHEN (@PROCESS_CURR ='HOAPP' AND EXISTS (SELECT ROLE_ID FROM TL_USER_GET_ROLES(@p_USER_LOGIN) WHERE ROLE_ID ='NVDV')) THEN 'Y'
20
		ELSE 'N' 
21
	END) AS IS_APPROVE,
22
	(CASE 
23
		WHEN (EXISTS(SELECT ROLE_ID FROM TL_USER_GET_ROLES(@p_USER_LOGIN) WHERE ROLE_ID ='NVDV')) THEN 'Y'
24
		ELSE 'N' 
25
	END) AS IS_NVDV
26
	FROM TR_REQUEST_JOB_FORM A
27
	LEFT JOIN  TL_USER B ON B.TLNANME = A.SIGN_USER
28
	LEFT JOIN  CM_EMPLOYEE_LOG C ON C.USER_DOMAIN = A.EMP_ID
29
	LEFT JOIN TL_USER D ON D.TLNANME = A.EMP_ID
30
	LEFT JOIN dbo.CM_DEPARTMENT E ON E.DEP_ID = D.DEP_ID
31
	WHERE REQ_ID= @p_REQ_ID
32
END
33
GO
34
-- Stored Procedure
35

    
36
CREATE PROCEDURE [dbo].[TR_REQUEST_JOB_FORM_PROCESS_Upd]
37
@p_REQ_ID varchar(15) = NULL,
38
@p_PROCESS_ID varchar(15) = NULL,
39
@p_MAKERID varchar(100)= NULL,
40
@p_AUTH_STATUS VARCHAR(1) = NULL,
41
@p_CHECKER_ID VARCHAR(100)  = NULL,
42
@p_APPROVE_DT VARCHAR(50) = NULL,
43
@p_NOTES NVARCHAR(500)= NULL
44
AS
45
BEGIN
46

    
47
DECLARE @NOTIFATION NVARCHAR(200) = NULL,
48
		@NOTIFY_TO_USER NVARCHAR(100) = NULL,
49
		@EMAIL_CONTENT NVARCHAR(500) = NULL,
50
		@TYPE VARCHAR(10),
51
		@ROLE VARCHAR(20)= NULL,
52
		@BRANCHID VARCHAR(20)= NULL,
53
		@PROCESS_CURR VARCHAR(20)= NULL,
54
		@PROCESS_NEXT VARCHAR(20)= NULL,
55
		@BRANCH_NEXT VARCHAR(20)=NULL,
56
		@DEP_NEXT VARCHAR(20) = NULL,
57
		@DEP_ID VARCHAR(20) = NULL,
58
		@REQ_CODE VARCHAR(20) = NULL,
59
		@BRANCH_ID VARCHAR(20) = NULL,
60
		@DEPT_ID VARCHAR(20)	= NULL
61

    
62
SELECT @BRANCHID=TLSUBBRID ,@DEP_ID=DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_CHECKER_ID
63

    
64
DECLARE @p_LOG_ID VARCHAR(20),@COMPLETE BIT,@PROCESS_PARENT VARCHAR(20),@PROCESS_DES NVARCHAR(500)
65

    
66
SELECT @BRANCH_ID=BRANCH_ID,@DEPT_ID=DEP_ID  FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID=@p_REQ_ID
67
SET @REQ_CODE=(SELECT REQ_CODE FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID=@p_REQ_ID )
68
SET @PROCESS_CURR=(SELECT TOP 1 PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C' )
69

    
70
--SET
71
BEGIN TRANSACTION
72
	IF(@p_PROCESS_ID='NEW')
73
	BEGIN
74
			UPDATE TR_REQUEST_JOB_FORM SET IS_SEND_APPR = 'Y', SEND_DT = CONVERT(DATETIME, GETDATE(), 103)
75
			WHERE REQ_ID = @p_REQ_ID
76
			IF @@ERROR <> 0 GOTO ABORT
77

    
78
			DECLARE @p_IS_SEND_APPR VARCHAR(15) = 
79
				(SELECT IS_SEND_APPR FROM TR_REQUEST_JOB_FORM WHERE REQ_ID = @p_REQ_ID)
80
			DECLARE @p_MESSAGE NVARCHAR(500)
81

    
82
			UPDATE dbo.TR_REQUEST_JOB_FORM SET AUTH_STATUS='U',PROCESS_ID='SEND' WHERE REQ_ID=@p_REQ_ID
83
			DELETE FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID
84
			-----------------TH gửi phê duyệt có cấp duyệt trung gian-----------
85
			IF(EXISTS(SELECT * FROM TR_REQUEST_JOB_FORM WHERE REQ_ID = @p_REQ_ID AND SIGN_USER IS NOT NULL))
86
			BEGIN
87
				
88
				DECLARE @BRANCH_SIGN_ID VARCHAR(20),@DEP_SIGN_ID VARCHAR(20),@BRANCH_SIGN_TYPE VARCHAR(10),@ROLE_SIGN VARCHAR(20)
89
				SELECT @BRANCH_SIGN_ID=TLSUBBRID,@DEP_SIGN_ID=SECUR_CODE,@BRANCH_SIGN_TYPE=BRANCH_TYPE,@ROLE_SIGN=RoleName FROM dbo.TL_USER WHERE TLNANME =(SELECT SIGN_USER FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID =@p_REQ_ID)
90
				SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
91
					N' đã được gửi phê duyệt thành công. Vui lòng đợi cấp phê duyệt trung gian xác nhận'
92
				INSERT INTO dbo.PL_REQUEST_PROCESS
93
				(
94
					REQ_ID,
95
					PROCESS_ID,
96
					STATUS,
97
					ROLE_USER,
98
					BRANCH_ID,
99
					DEP_ID,
100
					CHECKER_ID,
101
					APPROVE_DT,
102
					PARENT_PROCESS_ID,
103
					IS_LEAF,
104
					COST_ID,
105
					DVDM_ID,
106
					NOTES,
107
					IS_HAS_CHILD
108
				)
109
				VALUES
110
				(   
111
					@p_REQ_ID,        -- REQ_ID - varchar(15)
112
					'SIGN',        -- PROCESS_ID - varchar(10)
113
					'C',        -- STATUS - varchar(5)
114
					@ROLE_SIGN,  -- ROLE_USER - varchar(50)
115
					@BRANCH_SIGN_ID,  
116
					CASE WHEN @BRANCH_SIGN_TYPE='HS' THEN @DEP_SIGN_ID ELSE '' END,      -- BRANCH_ID - varchar(15)
117
					'',        -- CHECKER_ID - varchar(15)
118
					NULL,      -- APPROVE_DT - datetime
119
					'',        -- PARENT_PROCESS_ID - varchar(10)
120
					'N',        -- IS_LEAF - varchar(1)
121
					'',        -- COST_ID - varchar(15)
122
					'',        -- DVDM_ID - varchar(15)
123
					N'Chờ cấp phê duyệt trung gian xác nhận phiếu',       -- NOTES - nvarchar(500)
124
					NULL       -- IS_HAS_CHILD - bit
125
				 )
126
				INSERT INTO dbo.PL_REQUEST_PROCESS
127
				(
128
					REQ_ID,
129
					PROCESS_ID,
130
					STATUS,
131
					ROLE_USER,
132
					BRANCH_ID,
133
					DEP_ID,
134
					CHECKER_ID,
135
					APPROVE_DT,
136
					PARENT_PROCESS_ID,
137
					IS_LEAF,
138
					COST_ID,
139
					DVDM_ID,
140
					NOTES,
141
					IS_HAS_CHILD
142
				)
143
				VALUES
144
				(   @p_REQ_ID,       -- REQ_ID - varchar(15)
145
					'APPNEW',        -- PROCESS_ID - varchar(10)
146
					'U',			 -- STATUS - varchar(5)
147
					'GDDV',          -- ROLE_USER - varchar(50)
148
					@BRANCH_ID,  
149
					@DEPT_ID,		 -- BRANCH_ID - varchar(15)
150
					'',        -- CHECKER_ID - varchar(15)
151
					NULL,      -- APPROVE_DT - datetime
152
					'SIGN',        -- PARENT_PROCESS_ID - varchar(10)
153
					'N',        -- IS_LEAF - varchar(1)
154
					'',        -- COST_ID - varchar(15)
155
					'',        -- DVDM_ID - varchar(15)
156
				   -- N'Chờ trưởng đơn vị phê duyệt',       -- NOTES - nvarchar(500)
157
					N'Chờ trưởng đơn vị phê duyệt' ,
158
					NULL       -- IS_HAS_CHILD - bit
159
				 )
160
			END
161
			ELSE
162
			-----------------TH gửi phê duyệt ko có cấp duyệt trung gian (gửi thẳng lên trưởng DV)------
163
			BEGIN
164
				SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
165
					N' đã được gửi phê duyệt thành công. Vui lòng đợi trưởng đơn vị phê duyệt'
166
				INSERT INTO dbo.PL_REQUEST_PROCESS
167
				(
168
					REQ_ID,
169
					PROCESS_ID,
170
					STATUS,
171
					ROLE_USER,
172
					BRANCH_ID,
173
					DEP_ID,
174
					CHECKER_ID,
175
					APPROVE_DT,
176
					PARENT_PROCESS_ID,
177
					IS_LEAF,
178
					COST_ID,
179
					DVDM_ID,
180
					NOTES,
181
					IS_HAS_CHILD
182
				)
183
				VALUES
184
				(   @p_REQ_ID,       -- REQ_ID - varchar(15)
185
					'APPNEW',        -- PROCESS_ID - varchar(10)
186
					'C',			 -- STATUS - varchar(5)
187
					'GDDV',          -- ROLE_USER - varchar(50)
188
					@BRANCH_ID,  
189
					@DEPT_ID,		 -- BRANCH_ID - varchar(15)
190
					'',        -- CHECKER_ID - varchar(15)
191
					NULL,      -- APPROVE_DT - datetime
192
					'',        -- PARENT_PROCESS_ID - varchar(10)
193
					'N',        -- IS_LEAF - varchar(1)
194
					'',        -- COST_ID - varchar(15)
195
					'',        -- DVDM_ID - varchar(15)
196
				   -- N'Chờ trưởng đơn vị phê duyệt',       -- NOTES - nvarchar(500)
197
					N'Chờ trưởng đơn vị phê duyệt' ,
198
					NULL       -- IS_HAS_CHILD - bit
199
				 )
200
			END
201
		------Insert vào bảng lịch sử xử lý-------------
202
		INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
203
			VALUES(@p_REQ_ID, 'SEND', @p_CHECKER_ID, GETDATE(), 
204
					N'Người tạo gửi phê duyệt thành công', N' Người tạo gửi phê duyệt')
205
		IF @@ERROR <> 0 GOTO ABORT
206
	END
207
	ELSE IF(@PROCESS_CURR='SIGN')
208
	BEGIN
209
		DELETE dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='R'
210
		UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103),NOTES='Cấp phê duyệt trung gian đã xác nhận phiếu'
211
		WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID='SIGN'
212
		UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PARENT_PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID
213
		SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
214
		UPDATE TR_REQUEST_JOB_FORM SET AUTH_STATUS = 'U', SIGN_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103), PROCESS_ID='SIGN'
215
		WHERE REQ_ID = @p_REQ_ID
216
		IF @@ERROR <> 0 GOTO ABORT
217
		INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
218
		VALUES(@p_REQ_ID, 'SIGN',@p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), N'Cấp trung gian xác nhận PYC công tác thành công', 
219
		N' Cấp trung gian xác nhận PYC công tác')
220
		SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
221
				N' đã được gửi phê duyệt thành công. Vui lòng đợi trưởng đơn vị phê duyệt'
222
	END
223
	ELSE IF(@PROCESS_CURR='HO_APP')
224
	BEGIN
225

    
226
		UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103),NOTES='Hành chính HO đã xử lý'
227
		WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID='HO_APP'
228

    
229
		UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PARENT_PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID
230
		SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
231
		IF(@PROCESS_NEXT='APPROVE')
232
		BEGIN
233
			UPDATE TR_REQUEST_JOB_FORM SET PROCESS_ID='APPROVE', AUTH_STATUS='A'
234
			WHERE REQ_ID = @p_REQ_ID
235
			SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
236
				N' đã được xác nhận thành công. PYC công tác đã được hoàn thành'
237
		END	
238
		ELSE
239
		BEGIN
240
			UPDATE TR_REQUEST_JOB_FORM SET PROCESS_ID='HO_APP'
241
			WHERE REQ_ID = @p_REQ_ID
242
			SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
243
				N' đã được xác nhận thành thành công. Vui lòng đợi người tạo xác nhận'
244
		END
245

    
246
		IF @@ERROR <> 0 GOTO ABORT
247
		INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
248
		VALUES(@p_REQ_ID, 'HO_APP',@p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), N'Hành chính HO xử lý PYC công tác thành công', 
249
		N' Hành Chính HO xử lý PYC công tác')
250
		
251
	END
252
	ELSE IF(@PROCESS_CURR='MAKER_CONF')
253
	BEGIN
254
		UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103)
255
		WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID='MAKER_CONF'
256
		UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PARENT_PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID
257
		SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
258
		UPDATE TR_REQUEST_JOB_FORM SET PROCESS_ID='MAKER_CONF'
259
		WHERE REQ_ID = @p_REQ_ID
260
		IF @@ERROR <> 0 GOTO ABORT
261
		INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
262
		VALUES(@p_REQ_ID, 'MAKER_CONF',@p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), N'Người tạo phiếu xác nhận PYC công tác thành công', 
263
		N' Người tạo xác nhận PYC công tác')
264
		SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
265
				N' đã được trình phiếu cho hành chính HO thành công. Vui lòng đợi hành chính HO đặt vé'
266
	END
267
	ELSE IF(@PROCESS_CURR='HCHO_XL')
268
	BEGIN
269
		UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103)
270
		WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID='HCHO_XL'
271
		UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PARENT_PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID
272
		SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
273
		UPDATE TR_REQUEST_JOB_FORM SET PROCESS_ID='HCHO_XL'
274
		WHERE REQ_ID = @p_REQ_ID
275
		IF @@ERROR <> 0 GOTO ABORT
276
		INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
277
		VALUES(@p_REQ_ID, 'HCHO_XL',@p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), N'Hành chính HO đặt vé thành công', 
278
		N' Hành chính HO đặt vé thành công')
279
		SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
280
				N' đã được gửi thông báo thành công'
281
	END
282
	ELSE IF(@PROCESS_CURR='MAKER_APP')
283
	BEGIN
284
		UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103)
285
		WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID='MAKER_APP'
286
		UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PARENT_PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID
287
		SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
288
		UPDATE TR_REQUEST_JOB_FORM SET PROCESS_ID='MAKER_APP'
289
		WHERE REQ_ID = @p_REQ_ID
290
		IF @@ERROR <> 0 GOTO ABORT
291
		INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
292
		VALUES(@p_REQ_ID, 'MAKER_APP',@p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), N'Người tạo xác nhận hoàn thành chuyến công tác. Chờ Hành chính xác nhận', 
293
		N' Người tạo xác nhận hoàn tất chuyến đi')
294
		SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
295
				N' đã xác nhận hoàn tất chuyến công tác thành công'
296
		IF(EXISTS(SELECT * FROM dbo.PL_PROCESS WHERE PROCESS_ID='UPDATE' AND REQ_ID=@p_REQ_ID))
297
		BEGIN
298
			INSERT INTO dbo.PL_REQUEST_PROCESS
299
				(
300
					REQ_ID,
301
					PROCESS_ID,
302
					STATUS,
303
					ROLE_USER,
304
					BRANCH_ID,
305
					DEP_ID,
306
					CHECKER_ID,
307
					APPROVE_DT,
308
					PARENT_PROCESS_ID,
309
					IS_LEAF,
310
					COST_ID,
311
					DVDM_ID,
312
					NOTES,
313
					IS_HAS_CHILD
314
				)
315
				VALUES
316
				(   @p_REQ_ID,       -- REQ_ID - varchar(15)
317
					'TDV_APP',        -- PROCESS_ID - varchar(10)
318
					'C',			 -- STATUS - varchar(5)
319
					'GDDV',          -- ROLE_USER - varchar(50)
320
					@BRANCH_ID,  
321
					@DEPT_ID,		 -- BRANCH_ID - varchar(15)
322
					'',        -- CHECKER_ID - varchar(15)
323
					NULL,      -- APPROVE_DT - datetime
324
					'MAKER_APP',        -- PARENT_PROCESS_ID - varchar(10)
325
					'N',        -- IS_LEAF - varchar(1)
326
					'',        -- COST_ID - varchar(15)
327
					'',        -- DVDM_ID - varchar(15)
328
					-- N'Chờ trưởng đơn vị phê duyệt',       -- NOTES - nvarchar(500)
329
					N'Chờ trưởng đơn vị xác nhận' ,
330
					NULL       -- IS_HAS_CHILD - bit
331
				)
332
		END
333
		BEGIN
334
		INSERT INTO dbo.PL_REQUEST_PROCESS
335
			(
336
				REQ_ID,
337
				PROCESS_ID,
338
				STATUS,
339
				ROLE_USER,
340
				BRANCH_ID,
341
				DEP_ID,
342
				CHECKER_ID,
343
				APPROVE_DT,
344
				PARENT_PROCESS_ID,
345
				IS_LEAF,
346
				COST_ID,
347
				DVDM_ID,
348
				NOTES,
349
				IS_HAS_CHILD
350
			)
351
			VALUES
352
			(   @p_REQ_ID,       -- REQ_ID - varchar(15)
353
				'HOAPP',        -- PROCESS_ID - varchar(10)
354
				'C',			 -- STATUS - varchar(5)
355
				'HCHO',          -- ROLE_USER - varchar(50)
356
				'',  
357
				'',		 -- BRANCH_ID - varchar(15)
358
				'',        -- CHECKER_ID - varchar(15)
359
				NULL,      -- APPROVE_DT - datetime
360
				'MAKER_APP',        -- PARENT_PROCESS_ID - varchar(10)
361
				'N',        -- IS_LEAF - varchar(1)
362
				'',        -- COST_ID - varchar(15)
363
				'',        -- DVDM_ID - varchar(15)
364
				-- N'Chờ trưởng đơn vị phê duyệt',       -- NOTES - nvarchar(500)
365
				N'Chờ Hành chính xác nhận hoàn thành' ,
366
				NULL       -- IS_HAS_CHILD - bit
367
			)
368
		END
369
		
370
			INSERT INTO dbo.PL_REQUEST_PROCESS
371
			(
372
				REQ_ID,
373
				PROCESS_ID,
374
				STATUS,
375
				ROLE_USER,
376
				BRANCH_ID,
377
				CHECKER_ID,
378
				APPROVE_DT,
379
				PARENT_PROCESS_ID,
380
				IS_LEAF,
381
				NOTES
382
			)
383
			VALUES
384
			(   
385
				@p_REQ_ID, -- REQ_ID - varchar(15)
386
				'APPROVE', -- PROCESS_ID - varchar(10)
387
				'U',       -- STATUS - varchar(5)
388
				'',        -- ROLE_USER - varchar(50)
389
				'',        -- BRANCH_ID - varchar(15)
390
				'',        -- CHECKER_ID - varchar(15)
391
				NULL,      -- APPROVE_DT - datetime
392
				'HOAPP', 
393
				'Y',
394
				N'Hoàn tất'
395
			)
396
			UPDATE dbo.PL_PROCESS SET PROCESS_ID='UPDATE_NT' WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='UPDATE'
397
	END
398

    
399
COMMIT TRANSACTION
400
SELECT '0' as Result, @NOTIFATION AS NOTIFATION, '' ErrorDesc, @NOTIFY_TO_USER AS NEXT_USER_NOTIFI, @COMPLETE COMPLETE
401
RETURN '0'
402
ABORT:
403
BEGIN
404
		ROLLBACK TRANSACTION
405
		SELECT '-1' AS RESULT
406
		RETURN '-1'
407
End
408
END
409
GO
410
-- Stored Procedure
411

    
412
-- Stored Procedure
413

    
414

    
415
CREATE PROC [dbo].[TR_REQUEST_JOB_FORM_Search] 
416
@p_REF_ID varchar(15) = NULL,
417
@p_REQ_ID varchar(15) = NULL,
418
@p_REQ_CODE varchar(15) = NULL,
419
@p_MAKER_ID varchar(15) = NULL,
420
@p_AUTH_STATUS varchar(1) = NULL,
421
@p_REQ_REASON nvarchar(MAX) = NULL,
422
@p_REQ_DESC nvarchar(MAX) = NULL,
423
@p_NOTES nvarchar(MAX) = NULL,
424
@p_REQ_TYPE_TRANS varchar(15) = NULL,
425
@p_REQ_TYPE_GROUP varchar(15) = NULL,
426
@p_REQ_TYPE_BOOKING_HOTEL varchar(15) = NULL,
427
--@p_COST_AMOUNT decimal(18) = NULL,
428
@p_REQ_TYPE_BOOKING_AIR varchar(15) = NULL,
429
@p_REQ_TYPE_BOOKING_TRAIN varchar(15) = NULL,
430
@p_CREATE_DT VARCHAR(20) = NULL,
431
@p_CHECKER_ID varchar(15) = NULL,
432
@p_APPROVE_DT VARCHAR(20) = NULL,
433
@p_FRMDATE VARCHAR(20)= NULL,
434
@p_TODATE VARCHAR(20) = NULL,
435
@p_USER_LOGIN VARCHAR(50) =NULL,
436
@p_DEP_CREATE VARCHAR(15) = NULL,
437
@p_BRANCH_CREATE VARCHAR(15) = NULL,
438
@p_BRANCH_ID VARCHAR(15) = NULL,
439
@p_TOP	INT = NULL 
440
AS
441
BEGIN -- PAGING
442
	DECLARE @LST_ROLE TABLE(ROLENAME VARCHAR(20))
443
	INSERT INTO @LST_ROLE (ROLENAME) (SELECT C.DisplayName FROM TL_USER A JOIN AbpUserRoles B ON B.UserId = A.ID JOIN AbpRoles C ON C.Id=B.RoleId WHERE A.TLNANME =@p_USER_LOGIN)
444
	INSERT INTO @LST_ROLE (ROLENAME) (SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE  CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE) AND TLNAME=@p_USER_LOGIN)
445
	IF(@p_TOP IS NULL OR @p_TOP = 0)
446
	BEGIN
447
		-- PAGING BEGIN
448
		SELECT A.REQ_ID, A.REQ_CODE, A.REQ_DT, A.REF_ID, A.MAKER_ID, A.CREATE_DT, A.AUTH_STATUS, A.CHECKER_ID, A.APPROVE_DT, A.REQ_REASON, A.REQ_DESC, A.NOTES, 
449
		A.REQ_TYPE_TRANS, A.REQ_TYPE_GROUP,  A.REQ_TYPE_BOOKING_HOTEL, A.REQ_TYPE_BOOKING_AIR, A.REQ_TYPE_BOOKING_TRAIN, A.SENDER_ID, A.SEND_DT, 
450
		A.SIGN_USER, A.SIGN_DT, A.PROCESS_ID, A.BRANCH_CREATE, A.DEP_CREATE, A.BRANCH_ID,  A.DEP_ID, 
451
		BR_CR.BRANCH_NAME AS BRANCH_CREATE_NAME, DP_CR.DEP_NAME AS DEP_CREATE_NAME, A.FRMDATE, A.TODATE,B.BRANCH_NAME,C.AUTH_STATUS_NAME AS AUTH_STATUS_PROCESS_NAME,T.TLFullName AS EMP_NAME,RPN.PROCESS_ID AS ABC,
452
		(CASE 
453
		WHEN ((A.PROCESS_ID = 'SEND' AND A.SIGN_USER IS NULL)OR A.PROCESS_ID ='SIGN' OR RPN.PROCESS_ID ='TDV_APP') AND EXISTS(SELECT * FROM FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_CREATE,A.DEP_CREATE)WHERE TLNANME=@p_USER_LOGIN) THEN 'Y'
454
		WHEN (A.PROCESS_ID IN ('SEND') AND A.SIGN_USER=@p_USER_LOGIN ) THEN 'Y'
455
		WHEN (RPN.PROCESS_ID ='HOAPP' AND EXISTS (SELECT ROLE_ID FROM TL_USER_GET_ROLES(@p_USER_LOGIN) WHERE ROLE_ID ='NVDV')) THEN 'Y'
456
		ELSE 'N' 
457
		END) AS IS_APPROVE
458
		-- SELECT END
459
		FROM TR_REQUEST_JOB_FORM A 
460
		LEFT JOIN dbo.CM_BRANCH BR_CR ON A.BRANCH_CREATE=BR_CR.BRANCH_ID
461
		LEFT JOIN dbo.CM_BRANCH B ON A.BRANCH_ID=B.BRANCH_ID
462
        LEFT JOIN dbo.CM_DEPARTMENT DP_CR ON DP_CR.DEP_ID=A.DEP_CREATE
463
		LEFT JOIN CM_AUTH_STATUS C ON C.AUTH_STATUS = A.AUTH_STATUS
464
		LEFT JOIN dbo.TL_USER T ON T.TLNANME=A.EMP_ID
465
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
466
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
467
		WHERE 1 = 1
468
			AND (A.REF_ID LIKE '%' + @p_REF_ID + '%' OR  @p_REF_ID IS NULL OR @p_REF_ID = '')
469
			AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR  @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
470
			AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
471
			AND (A.AUTH_STATUS = @p_AUTH_STATUS OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
472
			AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
473
			AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
474
			AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
475
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
476
            AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL) 
477
			AND (A.DEP_CREATE LIKE '%' + @p_DEP_CREATE + '%' OR  @p_DEP_CREATE IS NULL OR @p_DEP_CREATE = '')
478
			AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR  @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
479
			AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
480
			AND	(A.MAKER_ID = @p_USER_LOGIN		---- ng login là ng tạo
481
			OR (EXISTS(SELECT * FROM @LST_ROLE WHERE ROLENAME = 'NVDV') AND A.PROCESS_ID NOT IN('NEW','SIGN','SEND')) -- ng login là chuyên viên đặt vé
482
			OR (A.SIGN_USER = @p_USER_LOGIN AND A.IS_SEND_APPR = 'Y' AND A.PROCESS_ID ='SEND') --- ng login là cấp duyệt trung gian và đã gửi YC phê duyệt
483
			OR (EXISTS(SELECT * FROM @LST_ROLE WHERE ROLENAME IN('NVMS','NVTT', 'GDV_DVKD', 'KSV_DVKD','GDV','KSV')) AND A.AUTH_STATUS='A')
484
			OR	((EXISTS(SELECT TLNANME FROM FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_CREATE,A.DEP_CREATE))) --- ng login là trưởng ĐV và đã gửi YC phê duyệt
485
				AND A.IS_SEND_APPR = 'Y'
486
				AND	(
487
						ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
488
					)
489
			
490
				)
491
				
492
			
493
			)
494

    
495
			ORDER BY A.CREATE_DT DESC
496
		-- PAGING END
497
	END
498
ELSE
499
	BEGIN
500
	-- PAGING BEGIN
501
		SELECT TOP(@p_TOP) A.REQ_ID, A.REQ_CODE, A.REQ_DT, A.REF_ID, A.MAKER_ID, A.CREATE_DT, A.AUTH_STATUS, A.CHECKER_ID, A.APPROVE_DT, 
502
		A.REQ_REASON, A.REQ_DESC, A.NOTES, A.REQ_TYPE_TRANS, A.REQ_TYPE_GROUP, A.REQ_TYPE_BOOKING_HOTEL, A.REQ_TYPE_BOOKING_AIR, A.REQ_TYPE_BOOKING_TRAIN, 
503
		A.SENDER_ID, A.SEND_DT, A.SIGN_USER, A.SIGN_DT, A.PROCESS_ID, A.BRANCH_CREATE, A.DEP_CREATE, A.BRANCH_ID, A.DEP_ID, 
504
		BR_CR.BRANCH_NAME AS BRANCH_CREATE_NAME, DP_CR.DEP_NAME AS DEP_CREATE_NAME, A.FRMDATE, A.TODATE,B.BRANCH_NAME,C.AUTH_STATUS_NAME AS AUTH_STATUS_PROCESS_NAME,T.TLFullName AS EMP_NAME,RPN.PROCESS_ID AS ABC,
505
		(CASE 
506
		WHEN ((A.PROCESS_ID = 'SEND' AND A.SIGN_USER IS NULL)OR A.PROCESS_ID ='SIGN' OR RPN.PROCESS_ID ='TDV_APP') AND EXISTS(SELECT * FROM FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_CREATE,A.DEP_CREATE)WHERE TLNANME=@p_USER_LOGIN) THEN 'Y'
507
		WHEN (A.PROCESS_ID IN ('SEND') AND A.SIGN_USER=@p_USER_LOGIN ) THEN 'Y'
508
		WHEN (RPN.PROCESS_ID ='HOAPP' AND EXISTS (SELECT ROLE_ID FROM TL_USER_GET_ROLES(@p_USER_LOGIN) WHERE ROLE_ID ='NVDV')) THEN 'Y'
509
		ELSE 'N' 
510
		END) AS IS_APPROVE
511
	-- SELECT END
512
		FROM TR_REQUEST_JOB_FORM A 
513
		LEFT JOIN dbo.CM_BRANCH BR_CR ON A.BRANCH_CREATE=BR_CR.BRANCH_ID
514
		LEFT JOIN dbo.CM_BRANCH B ON A.BRANCH_ID=B.BRANCH_ID
515
		LEFT JOIN CM_AUTH_STATUS C ON C.AUTH_STATUS = A.AUTH_STATUS
516
        LEFT JOIN dbo.CM_DEPARTMENT DP_CR ON DP_CR.DEP_ID=A.DEP_CREATE
517
		LEFT JOIN dbo.TL_USER T ON T.TLNANME=A.EMP_ID
518
		LEFT JOIN dbo.PL_REQUEST_PROCESS RPN 
519
		ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
520
		
521
		WHERE 1 = 1
522
			AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR  @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
523
			AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
524
			AND (A.AUTH_STATUS = @p_AUTH_STATUS OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
525
			AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
526
			AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
527
			AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
528
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
529
            AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL) 
530
			AND (A.DEP_CREATE LIKE '%' + @p_DEP_CREATE + '%' OR  @p_DEP_CREATE IS NULL OR @p_DEP_CREATE = '')
531
			AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR  @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
532
			AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
533
			AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
534
			AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
535
			AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
536
			AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
537
            AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL) 
538
			AND (A.DEP_CREATE LIKE '%' + @p_DEP_CREATE + '%' OR  @p_DEP_CREATE IS NULL OR @p_DEP_CREATE = '')
539
			AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR  @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
540
			AND	(A.MAKER_ID = @p_USER_LOGIN		---- ng login là ng tạo
541
			OR  (EXISTS(SELECT * FROM @LST_ROLE WHERE ROLENAME = 'NVDV') AND A.PROCESS_ID NOT IN('NEW','SIGN','SEND')) -- ng login là chuyên viên đặt vé
542
			OR (A.SIGN_USER = @p_USER_LOGIN AND A.IS_SEND_APPR = 'Y' AND A.PROCESS_ID ='SEND')  --- ng login là cấp duyệt trung gian và đã gửi YC phê duyệt
543
			OR (EXISTS(SELECT * FROM @LST_ROLE WHERE ROLENAME IN ('GDDV','PP')) AND A.PROCESS_ID = 'APPNEW')
544
			OR (EXISTS(SELECT * FROM @LST_ROLE WHERE ROLENAME IN('NVMS','NVTT', 'GDV_DVKD', 'KSV_DVKD','GDV','KSV')) AND A.AUTH_STATUS='A')
545
			OR	((EXISTS(SELECT TLNANME FROM FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_CREATE,A.DEP_CREATE))) --- ng login là trưởng ĐV và đã gửi YC phê duyệt
546
				AND A.IS_SEND_APPR = 'Y'
547
				AND	(
548
						ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
549
					)
550
			
551
				)
552
			)
553
			ORDER BY A.CREATE_DT DESC
554
	-- PAGING END
555
	END
556
END -- PAGING
557
GO
558
-- Stored Procedure
559

    
560
CREATE PROC [dbo].[TR_REQUEST_JOB_FORM_Upd]
561
@p_REQ_ID				varchar(15)  = NULL,
562
@p_REQ_CODE				varchar(15)  = NULL,
563
@p_REQ_DT				varchar(150)  = NULL,
564
@p_REF_ID				varchar(20)  = NULL,
565
@p_MAKER_ID				varchar(15)  = NULL,
566
@p_CREATE_DT			varchar(20)  = NULL,
567
@p_AUTH_STATUS			varchar(1)  = NULL,
568
@p_CHECKER_ID			varchar(15)  = NULL,
569
@p_APPROVE_DT			varchar(20)  = NULL,
570
@p_REQ_REASON			nvarchar(MAX)  = NULL,
571
@p_REQ_DESC				nvarchar(MAX)  = NULL,
572
@p_NOTES					nvarchar(MAX)  = NULL,
573
@p_REQ_TYPE_TRANS		varchar(15)  = NULL,
574
@p_REQ_TYPE_GROUP		varchar(15)  = NULL,
575
@p_REQ_TYPE_BOOKING_HOTEL varchar(15)  = NULL,
576
@p_REQ_TYPE_BOOKING_AIR	varchar(15)  = NULL,
577
@p_REQ_TYPE_BOOKING_TRAIN varchar(15)  = NULL,
578
@p_SENDER_ID			varchar(15)  = NULL,
579
@p_SEND_DT				varchar(20)  = NULL,
580
@p_SIGN_USER			varchar(15)  = NULL,
581
@p_SIGN_DT				varchar(20)  = NULL,
582
@p_PROCESS_ID			varchar(15)  = NULL,
583
@p_BRANCH_CREATE		varchar(15)  = NULL,
584
@p_DEP_CREATE			varchar(15)  = NULL,
585
@p_BRANCH_ID			varchar(15)  = NULL,
586
@p_DEP_ID				varchar(15)  = NULL,
587
@p_EMP_ID				VARCHAR(20) = NULL,
588
@p_HOTEL_NT				VARCHAR(MAX) = NULL,
589
@p_HOTEL_HO				NVARCHAR(MAX) =NULL,
590
@p_DM_PHONE 			VARCHAR(20)	NULL,
591
@p_NUM_TRIP_PEOPLE		VARCHAR(20)	NULL,
592
@p_OVERALL_TIME 		VARCHAR(20)	NULL,
593
@p_TYPE_WORK 			VARCHAR(20)	NULL,
594
@p_FROM_DATE			VARCHAR(20) = NULL,
595
@p_TO_DATE				VARCHAR(20) = NULL,
596
@p_CONTENT				NVARCHAR(MAX)	NULL,
597
@p_IS_SEND_APPR VARCHAR(15) = NULL,
598
@p_ListReqJobDetail XML,
599
@p_ListReqJobTrain XML,
600
@p_ListReqJobFly XML,
601
@p_ListReqJobTrip XML,
602
@p_ListReqJobReturnTrip XML
603
AS
604

    
605
BEGIN TRANSACTION
606
	DELETE dbo.PL_PROCESS WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='UPDATE'
607
	-- update master
608
	UPDATE dbo.TR_REQUEST_JOB_FORM
609
		SET REQ_CODE=@p_REQ_CODE,REQ_DT=CONVERT(DATETIME, @p_REQ_DT, 103),REF_ID=@p_REF_ID,MAKER_ID=@p_MAKER_ID,
610
		CREATE_DT=CONVERT(DATETIME, @p_CREATE_DT, 103),AUTH_STATUS=@p_AUTH_STATUS, CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103), REQ_REASON=@p_REQ_REASON, REQ_DESC=@p_REQ_DESC, NOTES=@p_NOTES, REQ_TYPE_TRANS=@p_REQ_TYPE_TRANS, DEP_CREATE=@p_DEP_CREATE, REQ_TYPE_GROUP=@p_REQ_TYPE_GROUP,
611
		REQ_TYPE_BOOKING_HOTEL = @p_REQ_TYPE_BOOKING_HOTEL, REQ_TYPE_BOOKING_AIR=@p_REQ_TYPE_BOOKING_AIR, REQ_TYPE_BOOKING_TRAIN=@p_REQ_TYPE_BOOKING_TRAIN,SENDER_ID=@p_SENDER_ID, SEND_DT=CONVERT(DATETIME, @p_SEND_DT, 103), SIGN_USER=@p_SIGN_USER, SIGN_DT= CONVERT(DATETIME, @p_SIGN_DT, 103), PROCESS_ID=@p_PROCESS_ID, BRANCH_CREATE=@p_BRANCH_CREATE,BRANCH_ID=@p_BRANCH_ID, DEP_ID=@p_DEP_ID,
612
		IS_SEND_APPR = @p_IS_SEND_APPR,EMP_ID=@p_EMP_ID,HOTEL_HO=@p_HOTEL_HO,HOTEL_NT=@p_HOTEL_NT,DM_PHONE=@p_DM_PHONE,NUM_TRIP_PEOPLE=@p_NUM_TRIP_PEOPLE,OVERALL_TIME =@p_OVERALL_TIME,TYPE_WORK =@p_TYPE_WORK,FROM_DATE=@p_FROM_DATE,TO_DATE=@p_TO_DATE,CONTENT=@p_CONTENT
613
		WHERE REQ_ID=@p_REQ_ID
614
		IF @@Error <> 0 GOTO ABORT 
615
		DELETE FROM dbo.TR_REQUEST_JOB_TRAIN WHERE REQ_ID = @p_REQ_ID
616
		DELETE FROM dbo.TR_REQUEST_JOB_DETAIL WHERE REQ_ID=@p_REQ_ID
617

    
618
		--Lưới Danh sách công tác
619
		
620
		DECLARE @lstRJD TABLE(
621
			REQ_DT_ID	varchar(15),
622
			REQ_ID		varchar(15),
623
			EMP_ID		varchar(15),
624
			TLNANME		varchar(15),
625
			BRANCH_ID	varchar(15),
626
			DEP_ID		varchar(15),
627
			PHONE		varchar(150),
628
			NOTES		nvarchar(MAX),
629
			AUTH_STATUS	varchar(1) 
630
		)
631
		DECLARE @doc INT
632
		Exec sp_xml_preparedocument @doc Output,@p_ListReqJobDetail
633
		INSERT INTO @lstRJD
634
		SELECT *
635
		FROM OPENXML(@doc,'/Root/ListReqJobDetail',2)
636
		WITH 
637
		(
638
			REQ_DT_ID	varchar(15),
639
			REQ_ID		varchar(15),
640
			EMP_ID		varchar(15),
641
			TLNANME		varchar(15),
642
			BRANCH_ID	varchar(15),
643
			DEP_ID		varchar(15),
644
			PHONE		varchar(150),
645
			NOTES		nvarchar(MAX),
646
			AUTH_STATUS	varchar(1) 
647
		)
648
		DECLARE PlDetailCur CURSOR FOR 
649
		SELECT * FROM @lstRJD
650
		OPEN PlDetailCur
651

    
652
		DECLARE
653
			@pl_REQ_DT_ID	varchar(15),
654
			@pl_REQ_ID		varchar(15),
655
			@pl_EMP_ID		varchar(15),
656
			@pl_TLNANME		varchar(15),
657
			@pl_BRANCH_ID	varchar(15),
658
			@pl_DEP_ID		varchar(15),
659
			@pl_PHONE		varchar(150),
660
			@pl_NOTES		nvarchar(MAX),
661
			@pl_AUTH_STATUS	varchar(1) 
662
		FETCH NEXT FROM PlDetailCur INTO  @pl_REQ_DT_ID, @pl_REQ_ID,@pl_EMP_ID, @pl_TLNANME, @pl_BRANCH_ID, @pl_DEP_ID, @pl_PHONE,
663
		@pl_NOTES, @pl_AUTH_STATUS
664
			
665
		WHILE @@FETCH_STATUS = 0	
666
		BEGIN
667
		DECLARE @l_RJD_ID VARCHAR(15)
668
		EXEC SYS_CodeMasters_Gen 'TR_REQUEST_JOB_DETAIL', @l_RJD_ID out
669
		IF @l_RJD_ID='' OR @l_RJD_ID IS NULL GOTO ABORT
670
		INSERT INTO dbo.TR_REQUEST_JOB_DETAIL
671
		(
672
		    REQ_DT_ID, REQ_ID, EMP_ID, TLNANME, BRANCH_ID, DEP_ID, PHONE, NOTES, AUTH_STATUS
673
		)
674
		VALUES
675
		(   
676
			@l_RJD_ID, @p_REQ_ID, @pl_EMP_ID,@pl_TLNANME, @pl_BRANCH_ID, @pl_DEP_ID,@pl_PHONE,@pl_NOTES,@pl_AUTH_STATUS
677
		)
678
		IF @@ERROR <> 0 GOTO ABORT1
679
		FETCH NEXT FROM PlDetailCur INTO  @pl_REQ_DT_ID, @pl_REQ_ID,@pl_EMP_ID, @pl_TLNANME, @pl_BRANCH_ID, @pl_DEP_ID, @pl_PHONE,
680
		@pl_NOTES, @pl_AUTH_STATUS
681
		END
682
		CLOSE PlDetailCur
683
		DEALLOCATE PlDetailCur
684
		--Lưới Lộ Trình
685
		DECLARE @lstRJT TABLE(
686
			TRAIN_ID		varchar(15),
687
			REQ_ID			varchar(15),
688
			TIME_TRAIN		varchar(15),
689
			DAY_TRAIN		varchar(15),
690
			FROM_TRAIN		varchar(15),
691
			TO_TRAIN		varchar(15),
692
			NOTES			nvarchar(MAX),
693
			AUTH_STATUS		varchar(1),
694
			VEHICLE_TYPE	varchar(15),
695
			CONSIGNMENT		varchar(5)
696
		)
697
		DECLARE @hdoc INT
698
		Exec sp_xml_preparedocument @hdoc Output,@p_ListReqJobTrain
699
		--Lưới Danh sách Lộ Trình
700
		INSERT INTO @lstRJT
701
		SELECT *
702
		FROM OPENXML(@hdoc,'/Root/ListReqJobTrain',2)
703
		WITH 
704
		(
705
			TRAIN_ID		varchar(15),
706
			REQ_ID			varchar(15),
707
			TIME_TRAIN		varchar(15),
708
			DAY_TRAIN		varchar(15),
709
			FROM_TRAIN		varchar(15),
710
			TO_TRAIN		varchar(15),
711
			NOTES			nvarchar(MAX),
712
			AUTH_STATUS		varchar(1),
713
			VEHICLE_TYPE	varchar(15),
714
			CONSIGNMENT		varchar(5)
715
		)
716
		DECLARE PlTrainsCur CURSOR FOR SELECT * FROM @lstRJT
717
		OPEN PlTrainsCur
718

    
719
		DECLARE
720
			@pl_RJT_ID			varchar(15),
721
			@pl_TIME_TRAIN		varchar(15),
722
			@pl_DAY_TRAIN		varchar(15),
723
			@pl_FROM_TRAIN		varchar(15),
724
			@pl_TO_TRAIN		varchar(15),
725
			@pl_VEHICLE_TYPE	varchar(15),
726
			@pl_CONSIGNMENT		varchar(5)
727

    
728
		FETCH NEXT FROM PlTrainsCur INTO  @pl_RJT_ID, @pl_REQ_ID,@pl_TIME_TRAIN, @pl_DAY_TRAIN, @pl_FROM_TRAIN, @pl_TO_TRAIN,
729
		@pl_NOTES, @pl_AUTH_STATUS,@pl_VEHICLE_TYPE,@pl_CONSIGNMENT
730
			
731
		WHILE @@FETCH_STATUS = 0	
732
		BEGIN
733

    
734
		DECLARE @l_RJT_ID VARCHAR(15)
735
		EXEC SYS_CodeMasters_Gen 'TR_REQUEST_JOB_TRAIN', @l_RJT_ID out
736

    
737
		IF @l_RJT_ID='' OR @l_RJT_ID IS NULL GOTO ABORT
738
		IF(@pl_VEHICLE_TYPE<>'AIR')
739
		begin
740
			SET @pl_CONSIGNMENT=NULL
741
		end
742

    
743
		INSERT INTO dbo.TR_REQUEST_JOB_TRAIN
744
		(
745
		    TRAIN_ID,REQ_ID, TIME_TRAIN, DAY_TRAIN, FROM_TRAIN, TO_TRAIN, NOTES, AUTH_STATUS,VEHICLE_TYPE,CONSIGNMENT
746
		)
747
		VALUES
748
		(   
749
			@l_RJT_ID, @p_REQ_ID,  @pl_TIME_TRAIN,CONVERT(DATETIME, @pl_DAY_TRAIN, 103), @pl_FROM_TRAIN,@pl_TO_TRAIN,
750
		    @pl_NOTES, @pl_AUTH_STATUS,@pl_VEHICLE_TYPE,@pl_CONSIGNMENT
751
		)
752
		
753
		IF @@ERROR <> 0 GOTO ABORT
754
		FETCH NEXT FROM PlTrainsCur INTO @pl_RJT_ID, @pl_REQ_ID,@pl_TIME_TRAIN, @pl_DAY_TRAIN, @pl_FROM_TRAIN, @pl_TO_TRAIN,
755
		@pl_NOTES, @pl_AUTH_STATUS,@pl_VEHICLE_TYPE,@pl_CONSIGNMENT
756
		END
757
		CLOSE PlTrainsCur
758
		DEALLOCATE PlTrainsCur
759

    
760
		--IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID NOT IN('','SIGN','NEW') AND 
761
			--(REQ_TYPE_BOOKING_AIR='AIR_B'OR REQ_TYPE_BOOKING_TRAIN='TRAIN_Y')))
762
		--BEGIN
763
			DELETE FROM dbo.TR_REQ_JOB_TRIP WHERE REQ_ID=@p_REQ_ID
764
			DELETE FROM dbo.TR_REQ_JOB_RETURN_TRIP WHERE REQ_ID=@p_REQ_ID
765
			DELETE FROM dbo.TR_REQ_JOB_FLY WHERE REQ_ID=@p_REQ_ID
766
		
767
			--Lưới giờ bay
768
			DECLARE @lstRJF TABLE(
769
				FLY_ID		varchar(15),
770
				REQ_ID		varchar(15),
771
				TIME_FLY	varchar(10),
772
				DAY_FLY		varchar(20),
773
				COST		decimal(18, 2),
774
				NOTES		nvarchar(MAX),
775
				AUTH_STATUS	varchar(15),
776
				JOURNEY		nvarchar(1000),
777
				AIRLINE_FLY	nvarchar(50)
778
			
779
			)
780
			Exec sp_xml_preparedocument @hdoc Output,@p_ListReqJobFly
781

    
782
			--Lưới Danh sách giờ bay
783
			INSERT INTO @lstRJF
784
			SELECT *
785
			FROM OPENXML(@hdoc,'/Root/ListReqJobFly',2)
786
			WITH 
787
			(
788
				FLY_ID		varchar(15),
789
				REQ_ID		varchar(15),
790
				TIME_FLY	varchar(10),
791
				DAY_FLY		varchar(20),
792
				COST		decimal(18, 2),
793
				NOTES		nvarchar(MAX),
794
				AUTH_STATUS	varchar(15),
795
				JOURNEY		nvarchar(1000),
796
				AIRLINE_FLY		nvarchar(50)
797
			)
798
			DECLARE PlFlysCur CURSOR FOR SELECT * FROM @lstRJF
799
			OPEN PlFlysCur
800

    
801
			DECLARE
802
				@pl_FLY_ID		varchar(15),
803
				@pl_TIME_FLY	varchar(10),
804
				@pl_DAY_FLY		varchar(20),
805
				@pl_COST		decimal(18, 2),
806
				@pl_JOURNEY		NVARCHAR(1000),
807
				@pl_AIRLINE_FLY		nvarchar(50)
808

    
809
			FETCH NEXT FROM PlFlysCur INTO   @pl_FLY_ID, @pl_REQ_ID, @pl_TIME_FLY,@pl_DAY_FLY, @pl_COST, @pl_NOTES,@pl_AUTH_STATUS,@pl_JOURNEY,@pl_AIRLINE_FLY
810
			
811
			WHILE @@FETCH_STATUS = 0	
812
			BEGIN
813

    
814
			DECLARE @l_RJF_ID VARCHAR(15)
815
			EXEC SYS_CodeMasters_Gen 'TR_REQ_JOB_FLY', @l_RJF_ID out
816

    
817
			IF @l_RJF_ID='' OR @l_RJF_ID IS NULL GOTO ABORT
818

    
819
			INSERT INTO dbo.TR_REQ_JOB_FLY
820
			(
821
				FLY_ID,REQ_ID, TIME_FLY, DAY_FLY, COST, NOTES, AUTH_STATUS,JOURNEY,AIRLINE_FLY
822
			)
823
			VALUES
824
			(   
825
				@l_RJF_ID, @p_REQ_ID,  @pl_TIME_FLY,CONVERT(DATETIME, @pl_DAY_FLY, 103), @pl_COST,
826
				@pl_NOTES, @pl_AUTH_STATUS,@pl_JOURNEY,@pl_AIRLINE_FLY
827
			)
828
		
829
			IF @@ERROR <> 0 GOTO ABORT
830
			FETCH NEXT FROM PlFlysCur INTO  @pl_FLY_ID, @pl_REQ_ID, @pl_TIME_FLY,@pl_DAY_FLY, @pl_COST, @pl_NOTES,@pl_AUTH_STATUS,@pl_JOURNEY,@pl_AIRLINE_FLY
831
			END
832
			CLOSE PlFlysCur
833
			DEALLOCATE PlFlysCur
834

    
835
			--Lưới chuyến đi
836
			DECLARE @lstRJTrip TABLE(
837
				TRIP_ID		varchar(15),
838
				REQ_ID		varchar(15),
839
				TIME_TRIP   varchar(10),
840
				DAY_TRIP	varchar(20),
841
				FROM_TRIP	nvarchar(MAX),
842
				TO_TRIP		nvarchar(MAX),
843
				NOTES		nvarchar(MAX),
844
				AUTH_STATUS	varchar(15),
845
				AIRLINE_TRIP		nvarchar(50)
846
			)
847
			Exec sp_xml_preparedocument @hdoc Output,@p_ListReqJobTrip 
848

    
849
			--Lưới Danh chuyến đi
850
			INSERT INTO @lstRJTrip
851
			SELECT *
852
			FROM OPENXML(@hdoc,'/Root/ListReqJobTrip ',2)
853
			WITH 
854
			(
855
				TRIP_ID		varchar(15),
856
				REQ_ID		varchar(15),
857
				TIME_TRIP   varchar(10),
858
				DAY_TRIP	varchar(20),
859
				FROM_TRIP	nvarchar(MAX),
860
				TO_TRIP		nvarchar(MAX),
861
				NOTES		nvarchar(MAX),
862
				AUTH_STATUS	varchar(15),
863
				AIRLINE_TRIP NVARCHAR(50)
864
			)
865
			DECLARE PlTripsCur CURSOR FOR SELECT * FROM @lstRJTrip
866
			OPEN PlTripsCur
867

    
868
			DECLARE
869
				@pl_TRIP_ID		varchar(15),
870
				@pl_TIME_TRIP   varchar(10),
871
				@pl_DAY_TRIP	varchar(20),
872
				@pl_FROM_TRIP	nvarchar(MAX),
873
				@pl_TO_TRIP		nvarchar(MAX),
874
				@pl_AIRLINE_TRIP nvarchar(50)
875

    
876
			FETCH NEXT FROM PlTripsCur INTO  @pl_TRIP_ID, @pl_REQ_ID,@pl_TIME_TRIP,@pl_DAY_TRIP, @pl_FROM_TRIP, @pl_TO_TRIP, @pl_NOTES,@pl_AUTH_STATUS,@pl_AIRLINE_TRIP
877
			
878
			WHILE @@FETCH_STATUS = 0	
879
			BEGIN
880

    
881
			DECLARE @l_RJTrip_ID VARCHAR(15)
882
			EXEC SYS_CodeMasters_Gen 'TR_REQ_JOB_TRIP', @l_RJTrip_ID out
883

    
884
			IF @l_RJTrip_ID='' OR @l_RJTrip_ID IS NULL GOTO ABORT
885

    
886
			INSERT INTO dbo.TR_REQ_JOB_TRIP
887
			(
888
				TRIP_ID,REQ_ID, TIME_TRIP, DAY_TRIP, FROM_TRIP,TO_TRIP, NOTES, AUTH_STATUS,AIRLINE_TRIP
889
			)
890
			VALUES
891
			(   
892
				@l_RJTrip_ID, @p_REQ_ID,  @pl_TIME_TRIP,CONVERT(DATETIME, @pl_DAY_TRIP, 103),@pl_FROM_TRIP, @pl_TO_TRIP,
893
				@pl_NOTES, @pl_AUTH_STATUS,@pl_AIRLINE_TRIP
894
			)
895
		
896
			IF @@ERROR <> 0 GOTO ABORT
897
			FETCH NEXT FROM PlTripsCur INTO   @pl_TRIP_ID, @pl_REQ_ID,@pl_TIME_TRIP,@pl_DAY_TRIP, @pl_FROM_TRIP, @pl_TO_TRIP, @pl_NOTES,@pl_AUTH_STATUS,@pl_AIRLINE_TRIP
898
			END
899
			CLOSE PlTripsCur
900
			DEALLOCATE PlTripsCur
901

    
902
			--Lưới chuyến về
903
			DECLARE @lstRJRT TABLE(
904
				RETURN_ID	varchar(15),
905
				REQ_ID		varchar(15),
906
				TIME_RETURN varchar(10),
907
				DAY_RETURN	varchar(20),
908
				FROM_RETURN	nvarchar(MAX),
909
				TO_RETURN	nvarchar(MAX),
910
				NOTES		nvarchar(MAX),
911
				AUTH_STATUS	varchar(15),
912
				AIRLINE_RETURN	NVARCHAR(50)
913
			)
914
			Exec sp_xml_preparedocument @hdoc Output,@p_ListReqJobReturnTrip  
915

    
916
			--Lưới Danh chuyến về
917
			INSERT INTO @lstRJRT
918
			SELECT *
919
			FROM OPENXML(@hdoc,'/Root/ListReqJobReturnTrip',2)
920
			WITH 
921
			(
922
				RETURN_ID	varchar(15),
923
				REQ_ID		varchar(15),
924
				TIME_RETURN varchar(10),
925
				DAY_RETURN	varchar(20),
926
				FROM_RETURN	nvarchar(MAX),
927
				TO_RETURN	nvarchar(MAX),
928
				NOTES		nvarchar(MAX),
929
				AUTH_STATUS	varchar(15),
930
				AIRLINE_RETURN	NVARCHAR(50)
931
			)
932
			DECLARE PlRTripsCur CURSOR FOR SELECT * FROM @lstRJRT
933
			OPEN PlRTripsCur
934

    
935
			DECLARE
936
				@pl_RETURN_ID	varchar(15),
937
				@pl_TIME_RETURN varchar(10),
938
				@pl_DAY_RETURN	varchar(20),
939
				@pl_FROM_RETURN	nvarchar(MAX),
940
				@pl_TO_RETURN	nvarchar(MAX),
941
				@pl_AIRLINE_RETURN NVARCHAR(50)
942

    
943
			FETCH NEXT FROM PlRTripsCur INTO  @pl_RETURN_ID, @pl_REQ_ID,@pl_TIME_RETURN, @pl_DAY_RETURN, @pl_FROM_RETURN,@pl_TO_RETURN, @pl_NOTES,@pl_AUTH_STATUS,@pl_AIRLINE_RETURN
944
			
945
			WHILE @@FETCH_STATUS = 0	
946
			BEGIN
947

    
948
			DECLARE @l_RJRT_ID VARCHAR(15)
949
			EXEC SYS_CodeMasters_Gen 'TR_REQ_JOB_RETURN_TRIP', @l_RJRT_ID out
950

    
951
			IF @l_RJRT_ID='' OR @l_RJRT_ID IS NULL GOTO ABORT
952

    
953
			INSERT INTO dbo.TR_REQ_JOB_RETURN_TRIP
954
			(
955
				RETURN_ID,REQ_ID, TIME_RETURN, DAY_RETURN, FROM_RETURN,TO_RETURN, NOTES, AUTH_STATUS,AIRLINE_RETURN
956
			)
957
			VALUES
958
			(   
959
				@l_RJRT_ID, @p_REQ_ID,  @pl_TIME_RETURN,CONVERT(DATETIME, @pl_DAY_RETURN, 103), @pl_FROM_RETURN,@pl_TO_RETURN,
960
				@pl_NOTES, @pl_AUTH_STATUS,@pl_AIRLINE_RETURN
961
			)
962
		
963
			IF @@ERROR <> 0 GOTO ABORT
964
			FETCH NEXT FROM PlRTripsCur INTO @pl_RETURN_ID, @pl_REQ_ID,@pl_TIME_RETURN, @pl_DAY_RETURN, @pl_FROM_RETURN,@pl_TO_RETURN, @pl_NOTES,@pl_AUTH_STATUS,@pl_AIRLINE_RETURN
965
			END
966
			CLOSE PlRTripsCur
967
			DEALLOCATE PlRTripsCur
968
		--END
969
		DECLARE @PROCESS_ID VARCHAR(15)
970
		SELECT @PROCESS_ID=PROCESS_ID FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID=@p_REQ_ID
971
		IF(@PROCESS_ID='MAKER_CONF')
972
		BEGIN
973
			UPDATE dbo.TR_REQUEST_JOB_FORM SET PROCESS_ID='APPNEW' WHERE REQ_ID=@p_REQ_ID
974
			UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID ='HO_APP'
975
			UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID ='MAKER_CONF'
976
		END
977

    
978
		INSERT INTO dbo.PL_PROCESS
979
					(
980
					    REQ_ID,
981
					    PROCESS_ID,
982
					    CHECKER_ID,
983
					    APPROVE_DT,
984
					    PROCESS_DESC,
985
					    NOTES
986
					)
987
					VALUES
988
					(   @p_REQ_ID,       
989
						'UPDATE',
990
					    @p_MAKER_ID,        
991
					    GETDATE(), 
992
					    N'Cập nhật PYC công tác thành công' ,      
993
					    N'Cập nhật PYC công tác'       
994
					 )
995

    
996
COMMIT TRANSACTION
997
SELECT '0' as Result, @p_REQ_ID  REQ_ID, '' ErrorDesc
998
RETURN '0'
999
ABORT:
1000
BEGIN
1001
		ROLLBACK TRANSACTION
1002
		SELECT '-1' as Result, '' REQ_ID, '' ErrorDesc
1003
		RETURN '-1'
1004
END
1005
ABORT1:
1006
BEGIN
1007
		CLOSE PlGoodsCur
1008
		DEALLOCATE PlGoodsCur
1009
		ROLLBACK TRANSACTION
1010
		SELECT '-1' AS RESULT
1011
		RETURN '-1'
1012
End
1013
GO
1014
ALTER PROC [dbo].[CM_REJECT_LOG_Ins]
1015
@p_LOG_ID	varchar(15)	= NULL,
1016
@p_STAGE	varchar(10)	 = NULL,
1017
@p_TRN_ID	varchar(15)	 = NULL,
1018
@p_TRN_TYPE	nvarchar(100)	 = NULL,
1019
@p_LOG_DT	VARCHAR	 = NULL,
1020
@p_AUTH_STAT	varchar(3)	 = NULL,
1021
@p_REASON	nvarchar(4000)	 = NULL,
1022
@p_IS_LATEST	varchar(1)	 = NULL,
1023
@p_REJECTED_BY	varchar(20)	 = NULL,
1024
@p_REJECTED_DT	VARCHAR	 = NULL
1025
AS
1026
BEGIN TRANSACTION
1027
		DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0)
1028
		DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0)
1029
		DECLARE @p_MESSAGE NVARCHAR(100) = NULL
1030
		IF(EXISTS (SELECT * FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID))
1031
		BEGIN
1032
			UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID
1033
		END
1034
		-- Thu hồi tài sản
1035
		IF(@p_TRN_TYPE ='ASS_COLLECT_MUL')
1036
		BEGIN
1037
			IF(@p_STAGE='KT')
1038
			BEGIN -- KSV trả về GDV
1039
				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'))
1040
				BEGIN
1041
					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'
1042
					ROLLBACK TRANSACTION
1043
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1044
					RETURN '-1'
1045
				END
1046
				ELSE
1047
				BEGIN
1048
					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 <>''))
1049
					BEGIN
1050
						UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE USER_MASTER_ID =@p_TRN_ID
1051
						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'
1052
						-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
1053
						UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
1054
						-- GiaNT 29/09/2021
1055
						INSERT INTO dbo.PL_PROCESS
1056
						(
1057
							REQ_ID,
1058
							PROCESS_ID,
1059
							CHECKER_ID,
1060
							APPROVE_DT,
1061
							PROCESS_DESC,NOTES
1062
						)
1063
						VALUES
1064
						(   @p_TRN_ID,       
1065
							'REJECT',        
1066
							@p_REJECTED_BY,       
1067
							GETDATE(), 
1068
						   @p_REASON ,
1069
						   N'Từ chối phiếu'    
1070
						)
1071
					END
1072
					ELSE
1073
					BEGIN
1074
						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'
1075
						ROLLBACK TRANSACTION
1076
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1077
						RETURN '-1'
1078
					END
1079
				END
1080
			END
1081
			ELSE IF(@p_STAGE='KT_HC')
1082
			BEGIN -- KSV - GDV trả về người tạo
1083
				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'))
1084
					BEGIN
1085
						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'
1086
						ROLLBACK TRANSACTION
1087
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1088
						RETURN '-1'
1089
					END
1090
				ELSE
1091
				BEGIN
1092
					-- Xóa thông tin xác nhận thu hồi
1093
					DELETE dbo.ASS_COLLECT_CONFIRM_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID
1094

    
1095
					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 WHERE COL_MULTI_MASTER_ID =@p_TRN_ID
1096
					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'
1097
					-- GiaNT 29/09/2021
1098
					INSERT INTO dbo.PL_PROCESS
1099
					(
1100
						REQ_ID,
1101
						PROCESS_ID,
1102
						CHECKER_ID,
1103
						APPROVE_DT,
1104
						PROCESS_DESC,NOTES
1105
					)
1106
					VALUES
1107
					(   @p_TRN_ID,       
1108
						'REJECT',        
1109
						@p_REJECTED_BY,       
1110
						GETDATE(), 
1111
						@p_REASON ,
1112
						N'Từ chối phiếu'    
1113
					)
1114
				END
1115
			END
1116
			ELSE
1117
			BEGIN -- TDV trả về người tạo
1118
				IF(EXISTS (SELECT * FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1119
				BEGIN
1120
					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'
1121
					ROLLBACK TRANSACTION
1122
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1123
					RETURN '-1'
1124
				END
1125
				ELSE
1126
				BEGIN
1127
					UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS ='R' WHERE COL_MULTI_MASTER_ID =@p_TRN_ID
1128
					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'
1129
					INSERT INTO dbo.PL_PROCESS
1130
					(
1131
						REQ_ID,
1132
						PROCESS_ID,
1133
						CHECKER_ID,
1134
						APPROVE_DT,
1135
						PROCESS_DESC,NOTES
1136
					)
1137
					VALUES
1138
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1139
						'REJECT',        -- PROCESS_ID - varchar(10)
1140
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1141
						GETDATE(), -- APPROVE_DT - datetime
1142
						@p_REASON,
1143
						N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1144
					)
1145
				END
1146
			END
1147

    
1148
		END
1149
		-- Điều chuyển tài sản 
1150
		ELSE IF(@p_TRN_TYPE ='ASS_TRANSFER_MUL')
1151
		BEGIN
1152
			---- GiaNT 29/09/2021 Sửa
1153
			IF(@p_STAGE='KT')
1154
			BEGIN -- KSV trả về GDV
1155
				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'))
1156
				BEGIN
1157
					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'
1158
					ROLLBACK TRANSACTION
1159
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1160
					RETURN '-1'
1161
				END
1162
				ELSE
1163
				BEGIN				
1164
					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 <>''))
1165
					BEGIN
1166
						UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
1167
						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'
1168
						-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
1169
						UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
1170
						-- GiaNT 29/09/2021
1171
						INSERT INTO dbo.PL_PROCESS
1172
						(
1173
							REQ_ID,
1174
							PROCESS_ID,
1175
							CHECKER_ID,
1176
							APPROVE_DT,
1177
							PROCESS_DESC,NOTES
1178
						)
1179
						VALUES
1180
						(   @p_TRN_ID,        
1181
							'REJECT',        
1182
							@p_REJECTED_BY,       
1183
							GETDATE(), 
1184
							@p_REASON ,
1185
							N'Trả về nhân viên xử lý'     
1186
						)
1187
					END
1188
					ELSE
1189
					BEGIN
1190
						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'
1191
						ROLLBACK TRANSACTION
1192
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1193
						RETURN '-1'
1194
					END
1195
				END
1196
			END
1197
			ELSE IF(@p_STAGE='KT_HC')
1198
			BEGIN -- KSV - GDV trả về người tạo
1199
				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'))
1200
					BEGIN
1201
						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'
1202
						ROLLBACK TRANSACTION
1203
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1204
						RETURN '-1'
1205
					END
1206
				ELSE
1207
				BEGIN
1208
					UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R',AUTH_STATUS_KT = NULL, APPROVE_DT = NULL,CHECKER_ID = NULL, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL , CORE_NOTE = NULL
1209
					WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
1210

    
1211
					-- Xóa thông tin xác nhận điều chuyển
1212
					DELETE ASS_TRANSFER_CONFIRM_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
1213

    
1214
					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'
1215
					INSERT INTO dbo.PL_PROCESS
1216
					(
1217
						REQ_ID,
1218
						PROCESS_ID,
1219
						CHECKER_ID,
1220
						APPROVE_DT,
1221
						PROCESS_DESC,NOTES
1222
					)
1223
					VALUES
1224
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1225
						'REJECT',        -- PROCESS_ID - varchar(10)
1226
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1227
						GETDATE(), -- APPROVE_DT - datetime
1228
						@p_REASON ,N'Trả về hành chính'      -- PROCESS_DESC - nvarchar(1000)
1229
					)
1230
				END
1231
			END
1232
			ELSE
1233
			BEGIN -- TDV trả về người tạo
1234
				IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1235
				BEGIN
1236
					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'
1237
					ROLLBACK TRANSACTION
1238
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1239
					RETURN '-1'
1240
				END
1241
				ELSE
1242
				BEGIN
1243
					UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
1244
					SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về thành công'
1245
					INSERT INTO dbo.PL_PROCESS
1246
						(
1247
							REQ_ID,
1248
							PROCESS_ID,
1249
							CHECKER_ID,
1250
							APPROVE_DT,
1251
							PROCESS_DESC,NOTES
1252
						)
1253
						VALUES
1254
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1255
							'REJECT',        -- PROCESS_ID - varchar(10)
1256
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1257
							GETDATE(), -- APPROVE_DT - datetime
1258
						   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1259
						)
1260
				END
1261
			END
1262
		END
1263
		-- Xuất sử dụng tài sản 
1264
		ELSE IF(@p_TRN_TYPE ='ASS_USE_MUL')
1265
		BEGIN
1266
			IF(@p_STAGE='KT')
1267
			BEGIN -- KSV trả về GDV
1268
				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
1269
				BEGIN
1270
					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'
1271
					ROLLBACK TRANSACTION
1272
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1273
					RETURN '-1'
1274
				END
1275
				ELSE
1276
				BEGIN
1277
					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 <>''))
1278
					BEGIN
1279
						UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE USER_MASTER_ID =@p_TRN_ID
1280
						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'
1281
						-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
1282
						UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
1283
						-- GiaNT 29/09/2021
1284
						INSERT INTO dbo.PL_PROCESS
1285
						(
1286
							REQ_ID,
1287
							PROCESS_ID,
1288
							CHECKER_ID,
1289
							APPROVE_DT,
1290
							PROCESS_DESC,NOTES
1291
						)
1292
						VALUES
1293
						(   @p_TRN_ID,       
1294
							'REJECT',        
1295
							@p_REJECTED_BY,       
1296
							GETDATE(), 
1297
						   @p_REASON ,
1298
						   N'Từ chối phiếu'    
1299
						)
1300
					END
1301
					ELSE
1302
					BEGIN
1303
						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'
1304
						ROLLBACK TRANSACTION
1305
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1306
						RETURN '-1'
1307
					END
1308
				END
1309
			END
1310
			ELSE IF(@p_STAGE='KT_HC')
1311
			BEGIN -- KSV - GDV trả về người tạo
1312
				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'))
1313
					BEGIN
1314
						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'
1315
						ROLLBACK TRANSACTION
1316
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1317
						RETURN '-1'
1318
					END
1319
				ELSE
1320
				BEGIN
1321
					-- Xóa thông tin xác nhận xuất sử dụng
1322
					DELETE dbo.ASS_USE_CONFIRM_MASTER WHERE USER_MASTER_ID = @p_TRN_ID
1323

    
1324
					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
1325
					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'
1326
					-- GiaNT 29/09/2021
1327
					INSERT INTO dbo.PL_PROCESS
1328
					(
1329
						REQ_ID,
1330
						PROCESS_ID,
1331
						CHECKER_ID,
1332
						APPROVE_DT,
1333
						PROCESS_DESC,NOTES
1334
					)
1335
					VALUES
1336
					(   @p_TRN_ID,       
1337
						'REJECT',        
1338
						@p_REJECTED_BY,       
1339
						GETDATE(), 
1340
						@p_REASON ,
1341
						N'Từ chối phiếu'    
1342
					)
1343
				END
1344
			END
1345
			ELSE
1346
			BEGIN -- TDV trả về người tạo
1347
				IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1348
				BEGIN
1349
					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'
1350
					ROLLBACK TRANSACTION
1351
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1352
					RETURN '-1'
1353
				END
1354
				ELSE
1355
				BEGIN
1356
					UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R' WHERE USER_MASTER_ID =@p_TRN_ID
1357
					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'
1358
					INSERT INTO dbo.PL_PROCESS
1359
					(
1360
						REQ_ID,
1361
						PROCESS_ID,
1362
						CHECKER_ID,
1363
						APPROVE_DT,
1364
						PROCESS_DESC,NOTES
1365
					)
1366
					VALUES
1367
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1368
						'REJECT',        -- PROCESS_ID - varchar(10)
1369
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1370
						GETDATE(), -- APPROVE_DT - datetime
1371
						@p_REASON,
1372
						N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1373
					)
1374
				END
1375
			END
1376

    
1377
		END
1378
		-- Thanh lý tài sản
1379
		ELSE IF(@p_TRN_TYPE ='ASS_LIQ_MUL')
1380
		BEGIN
1381
			IF(@p_STAGE='KT')
1382
			BEGIN -- KSV trả về GDV
1383
				IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
1384
				BEGIN
1385
					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'
1386
					ROLLBACK TRANSACTION
1387
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1388
					RETURN '-1'
1389
				END
1390
				ELSE
1391
				BEGIN
1392
					IF(EXISTS(SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
1393
					BEGIN
1394
						UPDATE ASS_LIQUIDATION SET AUTH_STATUS_KT ='R' WHERE LIQ_ID =@p_TRN_ID
1395
						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'
1396
						-- GiaNT 29/09/2021
1397
						INSERT INTO dbo.PL_PROCESS
1398
						(
1399
							REQ_ID,
1400
							PROCESS_ID,
1401
							CHECKER_ID,
1402
							APPROVE_DT,
1403
							PROCESS_DESC,NOTES
1404
						)
1405
						VALUES
1406
						(   @p_TRN_ID,       
1407
							'REJECT',        
1408
							@p_REJECTED_BY,       
1409
							GETDATE(), 
1410
						   @p_REASON ,
1411
						   N'Từ chối phiếu'    
1412
						)
1413
					END
1414
					ELSE
1415
					BEGIN
1416
						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'
1417
						ROLLBACK TRANSACTION
1418
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1419
						RETURN '-1'
1420
					END
1421
				END
1422
			END
1423
			ELSE IF(@p_STAGE='KT_HC')
1424
			BEGIN -- KSV - GDV trả về người tạo
1425
				IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
1426
					BEGIN
1427
						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'
1428
						ROLLBACK TRANSACTION
1429
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1430
						RETURN '-1'
1431
					END
1432
				ELSE
1433
				BEGIN
1434
					UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL WHERE LIQ_ID =@p_TRN_ID
1435
					SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công'
1436
					-- GiaNT 29/09/2021
1437
						INSERT INTO dbo.PL_PROCESS
1438
						(
1439
							REQ_ID,
1440
							PROCESS_ID,
1441
							CHECKER_ID,
1442
							APPROVE_DT,
1443
							PROCESS_DESC,NOTES
1444
						)
1445
						VALUES
1446
						(   @p_TRN_ID,       
1447
							'REJECT',        
1448
							@p_REJECTED_BY,       
1449
							GETDATE(), 
1450
						   @p_REASON ,
1451
						   N'Từ chối phiếu'    
1452
						)
1453
				END
1454
			END
1455
			ELSE
1456
			BEGIN -- TDV trả về người tạo
1457
				IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1458
				BEGIN
1459
					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'
1460
					ROLLBACK TRANSACTION
1461
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1462
					RETURN '-1'
1463
				END
1464
				ELSE
1465
				BEGIN
1466
					UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R' WHERE LIQ_ID = @p_TRN_ID
1467
					SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công'
1468
					INSERT INTO dbo.PL_PROCESS
1469
						(
1470
							REQ_ID,
1471
							PROCESS_ID,
1472
							CHECKER_ID,
1473
							APPROVE_DT,
1474
							PROCESS_DESC,NOTES
1475
						)
1476
						VALUES
1477
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1478
							'REJECT',        -- PROCESS_ID - varchar(10)
1479
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1480
							GETDATE(), -- APPROVE_DT - datetime
1481
						   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1482
						)
1483
				END
1484
			END
1485
		END
1486
		-- Nhập mới tài sản
1487
		ELSE IF(@p_TRN_TYPE ='ASS_ADDNEW_MUL')
1488
		BEGIN
1489
			IF(@p_STAGE='KT')
1490
			BEGIN -- KSV trả về GDV
1491
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
1492
				BEGIN
1493
					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'
1494
					ROLLBACK TRANSACTION
1495
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1496
					RETURN '-1'
1497
				END
1498
				ELSE
1499
				BEGIN
1500
					IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
1501
					BEGIN
1502
						UPDATE ASS_ADDNEW SET AUTH_STATUS_KT ='R' WHERE ADDNEW_ID =@p_TRN_ID
1503
						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'
1504
						-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
1505
						UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
1506
						-- GiaNT 29/09/2021
1507
						INSERT INTO dbo.PL_PROCESS
1508
						(
1509
							REQ_ID,
1510
							PROCESS_ID,
1511
							CHECKER_ID,
1512
							APPROVE_DT,
1513
							PROCESS_DESC,NOTES
1514
						)
1515
						VALUES
1516
						(   @p_TRN_ID,       
1517
							'REJECT',        
1518
							@p_REJECTED_BY,       
1519
							GETDATE(), 
1520
						   @p_REASON ,
1521
						   N'Từ chối phiếu'    
1522
						)
1523
					END
1524
					ELSE
1525
					BEGIN
1526
						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'
1527
						ROLLBACK TRANSACTION
1528
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1529
						RETURN '-1'
1530
					END
1531
				END
1532
			END
1533
			ELSE IF(@p_STAGE='KT_HC')
1534
			BEGIN -- KSV - GDV trả về người tạo
1535
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
1536
					BEGIN
1537
						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'
1538
						ROLLBACK TRANSACTION
1539
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1540
						RETURN '-1'
1541
					END
1542
				ELSE
1543
				BEGIN
1544
					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
1545
					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'
1546
					-- GiaNT 29/09/2021
1547
						INSERT INTO dbo.PL_PROCESS
1548
						(
1549
							REQ_ID,
1550
							PROCESS_ID,
1551
							CHECKER_ID,
1552
							APPROVE_DT,
1553
							PROCESS_DESC,NOTES
1554
						)
1555
						VALUES
1556
						(   @p_TRN_ID,       
1557
							'REJECT',        
1558
							@p_REJECTED_BY,       
1559
							GETDATE(), 
1560
						   @p_REASON ,
1561
						   N'Từ chối phiếu'    
1562
						)
1563
				END
1564
			END
1565
			ELSE
1566
			BEGIN -- TDV trả về người tạo
1567
				IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1568
				BEGIN
1569
					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'
1570
					ROLLBACK TRANSACTION
1571
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1572
					RETURN '-1'
1573
				END
1574
				ELSE
1575
				BEGIN
1576
					UPDATE ASS_ADDNEW SET AUTH_STATUS ='R' WHERE ADDNEW_ID = @p_TRN_ID
1577
					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'
1578
					INSERT INTO dbo.PL_PROCESS
1579
						(
1580
							REQ_ID,
1581
							PROCESS_ID,
1582
							CHECKER_ID,
1583
							APPROVE_DT,
1584
							PROCESS_DESC,NOTES
1585
						)
1586
						VALUES
1587
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1588
							'REJECT',        -- PROCESS_ID - varchar(10)
1589
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1590
							GETDATE(), -- APPROVE_DT - datetime
1591
						   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1592
						)
1593
				END
1594
			END
1595
		END
1596
		-- Kiểm kê tài sản
1597
		ELSE IF(@p_TRN_TYPE ='ASS_INV_MUL')
1598
		BEGIN
1599
			IF(@p_STAGE='APPROVE')
1600
			BEGIN -- Trưởng ban kiểm kê trả về người tạo
1601
				IF(EXISTS (SELECT * FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_TRN_ID  AND AUTH_STATUS='A'))
1602
				BEGIN
1603
					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'
1604
					ROLLBACK TRANSACTION
1605
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1606
					RETURN '-1'
1607
				END
1608
				ELSE
1609
				BEGIN
1610
					UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R',AUTH_STATUS=NULL,APPROVE_DT_DVKD=NULL,CHECKER_ID_DVKD=NULL WHERE INVENT_ID = @p_TRN_ID
1611
					UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '0', COMMENT = NULL, CONFIRM_DT = NULL WHERE INVENT_ID = @p_TRN_ID
1612
					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'
1613
					INSERT INTO dbo.PL_PROCESS
1614
					(
1615
						REQ_ID,
1616
						PROCESS_ID,
1617
						CHECKER_ID,
1618
						APPROVE_DT,
1619
						PROCESS_DESC,NOTES
1620
					)
1621
					VALUES
1622
					(   @p_TRN_ID,       
1623
						'REJECT',        
1624
						@p_REJECTED_BY,       
1625
						GETDATE(), 
1626
						@p_REASON ,
1627
						N'Từ chối phiếu'    
1628
					)
1629
				END
1630
			END
1631
			ELSE IF(@p_STAGE='CONFIRM')
1632
			BEGIN -- Thành phần ban kiểm kê trả về người tạo
1633
				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))
1634
					BEGIN
1635
						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'
1636
						ROLLBACK TRANSACTION
1637
						SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1638
						RETURN '-1'
1639
					END
1640
				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))
1641
				BEGIN
1642
					UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R',AUTH_STATUS=NULL,APPROVE_DT_DVKD=NULL,CHECKER_ID_DVKD=NULL WHERE INVENT_ID =@p_TRN_ID
1643
					UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '0', COMMENT = NULL, CONFIRM_DT = NULL WHERE INVENT_ID = @p_TRN_ID
1644
					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'
1645
					INSERT INTO dbo.PL_PROCESS
1646
					(
1647
						REQ_ID,
1648
						PROCESS_ID,
1649
						CHECKER_ID,
1650
						APPROVE_DT,
1651
						PROCESS_DESC,NOTES
1652
					)
1653
					VALUES
1654
					(   @p_TRN_ID,       
1655
						'REJECT',        
1656
						@p_REJECTED_BY,       
1657
						GETDATE(), 
1658
						@p_REASON ,
1659
						N'Từ chối phiếu'    
1660
					)
1661
				END
1662
			END
1663
			ELSE
1664
			BEGIN -- TDV trả về người tạo
1665
				IF(EXISTS (SELECT * FROM dbo.ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_TRN_ID  AND AUTH_STATUS_DVKD='A' AND @p_STAGE ='HC'))
1666
				BEGIN
1667
					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'
1668
					ROLLBACK TRANSACTION
1669
					SELECT '-1' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1670
					RETURN '-1'
1671
				END
1672
				ELSE
1673
				BEGIN
1674
					UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R' WHERE INVENT_ID = @p_TRN_ID
1675
					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'
1676
					INSERT INTO dbo.PL_PROCESS
1677
					(
1678
						REQ_ID,
1679
						PROCESS_ID,
1680
						CHECKER_ID,
1681
						APPROVE_DT,
1682
						PROCESS_DESC,NOTES
1683
					)
1684
					VALUES
1685
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
1686
						'REJECT',        -- PROCESS_ID - varchar(10)
1687
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
1688
						GETDATE(), -- APPROVE_DT - datetime
1689
						@p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
1690
					)
1691
				END
1692
			END
1693
		END
1694
		ELSE IF(@p_TRN_TYPE ='MW_IN')
1695
		BEGIN
1696
			BEGIN
1697
			IF(@p_STAGE='KT')
1698
			BEGIN
1699
				IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
1700
				BEGIN
1701
					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'
1702
					ROLLBACK TRANSACTION
1703
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1704
					RETURN '0'
1705
				END
1706
				ELSE
1707
				BEGIN
1708
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
1709
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
1710
					IF(EXISTS(SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
1711
					BEGIN
1712
						UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
1713
						SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
1714

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

    
1718
					END
1719
					ELSE
1720
					BEGIN
1721
						SET @p_STAGE ='HC'
1722
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
1723
						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'
1724

    
1725
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1726
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1727
					END
1728
				END
1729
			END
1730
			ELSE IF(@p_STAGE='KT_HC')
1731
				BEGIN
1732
					BEGIN
1733
					IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
1734
						BEGIN
1735
							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'
1736
							ROLLBACK TRANSACTION
1737
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1738
							RETURN '0'
1739
						END
1740
					ELSE
1741
						BEGIN
1742
							SET @p_STAGE ='HC'
1743
							UPDATE MW_IN_MASTER SET AUTH_STATUS ='R',CORE_NOTE = NULL
1744
							, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
1745
							--,CHECKER_ID_KT = @p_REJECTED_BY,APPROVE_DT_KT = GETDATE()
1746
							WHERE IN_ID =@p_TRN_ID
1747
							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'
1748

    
1749
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1750
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1751
						END
1752
					END
1753
				END
1754
			ELSE
1755
			BEGIN
1756
				IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1757
				BEGIN
1758
					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'
1759
					ROLLBACK TRANSACTION
1760
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1761
					RETURN '0'
1762
				END
1763
				ELSE
1764
				BEGIN
1765
					UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
1766
					SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
1767

    
1768
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1769
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1770
				END
1771
			END
1772
			END
1773
		END
1774
		--- MW - TRANSFER : ĐIỀU CHUYỂN VẬT LIỆU
1775
		ELSE IF(@p_TRN_TYPE ='MW_TRANSFER')
1776
		BEGIN
1777
			BEGIN
1778
			IF(@p_STAGE='KT')
1779
			BEGIN
1780
				IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1781
					BEGIN
1782
						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'
1783
						ROLLBACK TRANSACTION
1784
						SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1785
						RETURN '0'
1786
					END
1787
				ELSE
1788
					BEGIN
1789
						--UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
1790
						--SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
1791
						IF(EXISTS(SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
1792
						BEGIN
1793
							UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
1794
							SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
1795

    
1796
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1797
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1798
						END
1799
						ELSE
1800
						BEGIN
1801
							SET @p_STAGE ='HC'
1802
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
1803
							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'
1804

    
1805
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1806
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1807
						END
1808
					END
1809
			END
1810
			ELSE IF(@p_STAGE='KT_HC')
1811
				BEGIN
1812
					IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1813
						BEGIN
1814
							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'
1815
							ROLLBACK TRANSACTION
1816
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1817
							RETURN '0'
1818
						END
1819
					ELSE
1820
						BEGIN
1821
							SET @p_STAGE ='HC'
1822
							UPDATE MW_TRANSFER SET AUTH_STATUS ='R', CORE_NOTE = NULL 
1823
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
1824
							--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
1825
							WHERE TRANSFER_ID =@p_TRN_ID
1826
							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'
1827

    
1828
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1829
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1830
						END
1831
				END
1832
			ELSE
1833
			BEGIN
1834
				IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1835
				BEGIN
1836
					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'
1837
					ROLLBACK TRANSACTION
1838
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1839
					RETURN '0'
1840
				END
1841
				ELSE
1842
				BEGIN
1843
					UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
1844
					SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
1845

    
1846
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1847
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1848
				END
1849
			END
1850
			END
1851

    
1852
		END
1853
		--- MW_OUT : XUẤT VẬT LIỆU
1854
		ELSE IF(@p_TRN_TYPE ='MW_OUT')
1855
		BEGIN
1856
			BEGIN
1857
			IF(@p_STAGE='KT')
1858
			BEGIN
1859
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1860
				BEGIN
1861
					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'
1862
					ROLLBACK TRANSACTION
1863
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1864
					RETURN '0'
1865
				END
1866
				ELSE
1867
				BEGIN
1868
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1869
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1870
					IF(EXISTS(SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
1871
					BEGIN
1872
						UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1873
						SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1874

    
1875
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1876
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1877
					END
1878
					ELSE
1879
					BEGIN
1880
						SET @p_STAGE ='HC'
1881
						UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1882
						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'
1883

    
1884
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1885
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1886
					END
1887
				END
1888
			END
1889
			ELSE IF(@p_STAGE='KT_HC')
1890
				BEGIN
1891
					IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1892
						BEGIN
1893
							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'
1894
							ROLLBACK TRANSACTION
1895
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1896
							RETURN '0'
1897
						END
1898
					ELSE
1899
						BEGIN
1900
							SET @p_STAGE ='HC'
1901
							UPDATE MW_OUT SET AUTH_STATUS ='R', CORE_NOTE = NULL
1902
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
1903
							--, KT_APPROVE_DT = GETDATE() ,KT_CHECKER_ID = @p_REJECTED_BY
1904
							WHERE OUT_ID =@p_TRN_ID
1905
							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'
1906

    
1907
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1908
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1909
						END
1910
				END
1911
			ELSE
1912
			BEGIN
1913
				IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1914
				BEGIN
1915
					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'
1916
					ROLLBACK TRANSACTION
1917
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1918
					RETURN '0'
1919
				END
1920
				ELSE
1921
				BEGIN
1922
					UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1923
					SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1924

    
1925
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1926
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1927
				END
1928
			END
1929
			END
1930
		END
1931
		--- MW_OUT : THANH LÝ VẬT LIỆU
1932
		ELSE IF(@p_TRN_TYPE ='MW_LIQ_MASTER')
1933
		BEGIN
1934
			BEGIN
1935
			IF(@p_STAGE='KT')
1936
			BEGIN
1937
				IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1938
				BEGIN
1939
					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'
1940
					ROLLBACK TRANSACTION
1941
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1942
					RETURN '0'
1943
				END
1944
				ELSE
1945
				BEGIN
1946
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
1947
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
1948
					IF(EXISTS(SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
1949
					BEGIN
1950
						UPDATE MW_LIQ_MASTER SET KT_AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
1951
						SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công'
1952

    
1953
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1954
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1955
					END
1956
					ELSE
1957
					BEGIN
1958
						SET @p_STAGE ='HC'
1959
						UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
1960
						SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công'
1961

    
1962
						INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1963
						VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1964
					END
1965
				END
1966
			END
1967
			ELSE IF(@p_STAGE='KT_HC')
1968
				BEGIN
1969
					IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
1970
						BEGIN
1971
							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'
1972
							ROLLBACK TRANSACTION
1973
							SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1974
							RETURN '0'
1975
						END
1976
					ELSE
1977
						BEGIN
1978
							SET @p_STAGE ='HC'
1979
							UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R', CORE_NOTE = NULL
1980
							, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
1981
							--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
1982
							WHERE LIQ_ID =@p_TRN_ID
1983
							SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công'
1984

    
1985
							INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
1986
							VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
1987
						END
1988
				END
1989
			ELSE
1990
			BEGIN
1991
				IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID  AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
1992
				BEGIN
1993
					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'
1994
					ROLLBACK TRANSACTION
1995
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
1996
					RETURN '0'
1997
				END
1998
				ELSE
1999
				BEGIN
2000
					UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
2001
					SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công'
2002

    
2003
					INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
2004
					VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
2005
				END
2006
			END
2007
			END
2008
		END
2009
		-- PHIEU DE NGHI TAM UNG 05 11 2019
2010
		ELSE IF(@p_TRN_TYPE ='REQ_ADVANCE_PAY')
2011
		BEGIN
2012
			BEGIN
2013
			IF(@p_STAGE='KT')
2014
			BEGIN
2015
				IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
2016
				BEGIN
2017
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị tạm ứng đã được kế toán duyệt'
2018
					ROLLBACK TRANSACTION
2019
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2020
					RETURN '0'
2021
				END
2022
				ELSE
2023
				BEGIN
2024
					-- NEU DANG O VI TRI TKTGD, TKHDQT
2025
					IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND ROLE_USER IN ('TKTGD','TKHDQT') AND STATUS ='C'))
2026
					BEGIN
2027
						IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS' AND TLNAME =@p_REJECTED_BY))
2028
							BEGIN
2029
								SET @p_MESSAGE =N'Hủy 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ý'
2030
								ROLLBACK TRANSACTION
2031
								SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2032
								RETURN '0'
2033
						END
2034
						--UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2035
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về nhân viên xử lý thành công'
2036
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2037
						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')
2038
						AND REQ_ID =@p_TRN_ID
2039
					    -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
2040
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS'
2041
						INSERT INTO dbo.PL_PROCESS
2042
						(
2043
							REQ_ID,
2044
							PROCESS_ID,
2045
							CHECKER_ID,
2046
							APPROVE_DT,
2047
							PROCESS_DESC,NOTES
2048
						)
2049
						VALUES
2050
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2051
							'REJECT',        -- PROCESS_ID - varchar(10)
2052
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2053
							GETDATE(), -- APPROVE_DT - datetime
2054
							@p_REASON ,N'Trưởng văn phòng từ chối nhân viên xử lý'       -- PROCESS_DESC - nvarchar(1000)
2055
						)
2056
						EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
2057
						IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
2058
						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))
2059
						COMMIT TRANSACTION
2060
						SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2061
						RETURN '0'
2062
					END
2063
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
2064
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
2065
					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 <>''))
2066
					BEGIN
2067
						UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2068
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về thành công'
2069
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2070
						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)
2071
						AND REQ_ID =@p_TRN_ID
2072
					    -- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
2073
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID
2074
						INSERT INTO dbo.PL_PROCESS
2075
						(
2076
							REQ_ID,
2077
							PROCESS_ID,
2078
							CHECKER_ID,
2079
							APPROVE_DT,
2080
							PROCESS_DESC,NOTES
2081
						)
2082
						VALUES
2083
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2084
							'REJECT',        -- PROCESS_ID - varchar(10)
2085
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2086
							GETDATE(), -- APPROVE_DT - datetime
2087
							@p_REASON ,N'KSV trả về cho GDV'       -- PROCESS_DESC - nvarchar(1000)
2088
						)
2089
					END
2090
					ELSE
2091
					BEGIN
2092
						SET @p_STAGE ='HC'
2093
						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
2094
						SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về đơn vị thành công'
2095
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2096
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2097
						DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
2098
						-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
2099
						INSERT INTO dbo.PL_PROCESS
2100
						(
2101
							REQ_ID,
2102
							PROCESS_ID,
2103
							CHECKER_ID,
2104
							APPROVE_DT,
2105
							PROCESS_DESC,NOTES
2106
						)
2107
						VALUES
2108
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2109
							'REJECT',        -- PROCESS_ID - varchar(10)
2110
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2111
							GETDATE(), -- APPROVE_DT - datetime
2112
							@p_REASON,N'Trả về'    -- PROCESS_DESC - nvarchar(1000)
2113
						)
2114
					END
2115
				END
2116
			END
2117
			ELSE IF(@p_STAGE ='HC')
2118
			BEGIN
2119
				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 ='')))
2120
				BEGIN
2121
					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ị'
2122
					ROLLBACK TRANSACTION
2123
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2124
					RETURN '0'
2125
				END
2126
				IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS='R'))
2127
				BEGIN
2128
					SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị tạm ứng đã được trả về trước đó'
2129
					ROLLBACK TRANSACTION
2130
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2131
					RETURN '0'
2132
				END
2133
				ELSE
2134
				BEGIN
2135
					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
2136
					SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được trả về về thành công'
2137
					--NEU PHIEU DANG TRONG QUA TRINH PHE DUYET THI XOA TOAN BO PL_PROCESS VA PL_REQUEST_PROCESS 
2138
					-- XOA CAC CAP PHE DUYET, KHI DON VI THUC HIEN CHINH SUA THI HE THONG SE INSERT LAI
2139
					DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
2140
				    DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2141
					--DELETE FROM PL_PROCESS WHERE REQ_ID =@p_TRN_ID
2142
					-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
2143
						INSERT INTO dbo.PL_PROCESS
2144
						(
2145
							REQ_ID,
2146
							PROCESS_ID,
2147
							CHECKER_ID,
2148
							APPROVE_DT,
2149
							PROCESS_DESC,NOTES
2150
						)
2151
						VALUES
2152
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2153
							'REJECT',        -- PROCESS_ID - varchar(10)
2154
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2155
							GETDATE(), -- APPROVE_DT - datetime
2156
							@p_REASON ,N'Trả về'    -- PROCESS_DESC - nvarchar(1000)
2157
						)
2158
				END
2159
			END
2160
			ELSE IF(@p_STAGE ='SUG')
2161
			BEGIN
2162
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
2163
				DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT
2164
				SET @LEVEL_JOB =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
2165
				SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1
2166
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_TRN_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV)
2167
				-- CAP NHAT TINH TRANG VE DANG XU LY
2168
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID
2169
				INSERT INTO dbo.PL_PROCESS
2170
						(
2171
							REQ_ID,
2172
							PROCESS_ID,
2173
							CHECKER_ID,
2174
							APPROVE_DT,
2175
							PROCESS_DESC,NOTES
2176
						)
2177
						VALUES
2178
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2179
							'REJECT',        -- PROCESS_ID - varchar(10)
2180
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2181
							GETDATE(), -- APPROVE_DT - datetime
2182
							@p_REASON ,N'GDV đề xuất từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
2183
						)
2184
			SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được đề xuất từ chối thành công'
2185
			END
2186
			ELSE IF(@p_STAGE ='DEL')
2187
			BEGIN
2188
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID
2189
				UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
2190
				UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID
2191
				UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE PAY_ID =@p_TRN_ID
2192
				UPDATE TR_REQ_PAY_PERIOD SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
2193
				---------------------------------------------------------------------------------------------------------------------
2194
				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
2195
				OPEN CURS_TRADE
2196
					FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
2197
					WHILE @@FETCH_STATUS = 0
2198
					BEGIN
2199
						UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
2200
						WHERE TRADE_ID =@TRADED_ID
2201
						FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
2202
					END
2203
				CLOSE CURS_TRADE
2204
				DEALLOCATE CURS_TRADE
2205
				
2206
				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
2207
				OPEN CURS
2208
					FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
2209
					WHILE @@FETCH_STATUS = 0
2210
					BEGIN
2211
						UPDATE TR_REQ_ADVANCE_PAYMENT
2212
						SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
2213
						FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
2214
					END
2215
				CLOSE CURS
2216
				DEALLOCATE CURS
2217
				INSERT INTO dbo.PL_PROCESS
2218
						(
2219
							REQ_ID,
2220
							PROCESS_ID,
2221
							CHECKER_ID,
2222
							APPROVE_DT,
2223
							PROCESS_DESC,NOTES
2224
						)
2225
						VALUES
2226
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2227
							'DEL',        -- PROCESS_ID - varchar(10)
2228
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2229
							GETDATE(), -- APPROVE_DT - datetime
2230
							@p_REASON ,N'KSV hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
2231
						)
2232
			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'
2233
			END
2234
			END
2235
		END
2236
		-- END  PHIEU DE NGHI TAM UNG 05 11 2019
2237
		-- START PHIEU DE THI THANH TOAN 19-11-2019
2238
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
2239
		BEGIN
2240
			BEGIN
2241
			IF(@p_STAGE='KT')
2242
			BEGIN
2243
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
2244
				BEGIN
2245
					SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt'
2246
					ROLLBACK TRANSACTION
2247
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2248
					RETURN '0'
2249
				END
2250
				ELSE
2251
				BEGIN
2252
					--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
2253
					--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
2254
					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 <>''))
2255
					BEGIN
2256
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2257
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về thành công'
2258
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2259
						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)
2260
						AND REQ_ID =@p_TRN_ID
2261
						UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID
2262
						-- INSERT VAO BANG LICH SU
2263
						INSERT INTO dbo.PL_PROCESS
2264
						(
2265
							REQ_ID,
2266
							PROCESS_ID,
2267
							CHECKER_ID,
2268
							APPROVE_DT,
2269
							PROCESS_DESC,NOTES
2270
						)
2271
						VALUES
2272
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2273
							'REJECT',        -- PROCESS_ID - varchar(10)
2274
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2275
							GETDATE(), -- APPROVE_DT - datetime
2276
							@p_REASON ,N'KSV trả về cho GDV'     -- PROCESS_DESC - nvarchar(1000)
2277
						)
2278
					END
2279
					ELSE 
2280
					BEGIN
2281
						SET @p_STAGE ='HC'
2282
						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
2283
						SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công'
2284
						-- XOA DI DU LIEU DA DIEU PHOI, CHO DON VI XU LY VA DUYET LAI SE DIEU PHOI LAI
2285
						---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
2286
						DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2287
						-- INSERT VAO BANG LICH SU
2288
						INSERT INTO dbo.PL_PROCESS
2289
						(
2290
							REQ_ID,
2291
							PROCESS_ID,
2292
							CHECKER_ID,
2293
							APPROVE_DT,
2294
							PROCESS_DESC,NOTES
2295
						)
2296
						VALUES
2297
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2298
							'REJECT',        -- PROCESS_ID - varchar(10)
2299
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2300
							GETDATE(), -- APPROVE_DT - datetime
2301
							@p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
2302
						)
2303
					SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được từ chối thành công'
2304
					END
2305
				END
2306
			END
2307
			ELSE IF(@p_STAGE ='HC')
2308
			BEGIN
2309
				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 ='')))
2310
				BEGIN
2311
					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'
2312
					ROLLBACK TRANSACTION
2313
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2314
					RETURN '0'
2315
				END
2316
				ELSE
2317
				BEGIN
2318
					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
2319
					DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
2320
					SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được trả về về thành công'
2321
					-- INSERT VAO BANG LICH SU
2322
						INSERT INTO dbo.PL_PROCESS
2323
						(
2324
							REQ_ID,
2325
							PROCESS_ID,
2326
							CHECKER_ID,
2327
							APPROVE_DT,
2328
							PROCESS_DESC,NOTES
2329
						)
2330
						VALUES
2331
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2332
							'REJECT',        -- PROCESS_ID - varchar(10)
2333
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2334
							GETDATE(), -- APPROVE_DT - datetime
2335
							@p_REASON,N'Trả về'        -- PROCESS_DESC - nvarchar(1000)
2336
						)
2337
				END
2338
			END
2339
			ELSE IF(@p_STAGE ='SUG')
2340
			BEGIN
2341
				UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
2342
				DECLARE @LEVEL_JOB_PAY VARCHAR(5), @LEVEL_JOB_PREV_PAY INT
2343
				SET @LEVEL_JOB_PAY =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
2344
				SET @LEVEL_JOB_PREV_PAY = CONVERT(INT,@LEVEL_JOB_PAY) -1
2345
				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)
2346
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID
2347
				INSERT INTO dbo.PL_PROCESS
2348
						(
2349
							REQ_ID,
2350
							PROCESS_ID,
2351
							CHECKER_ID,
2352
							APPROVE_DT,
2353
							PROCESS_DESC,NOTES
2354
						)
2355
						VALUES
2356
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2357
							'SUG',        -- PROCESS_ID - varchar(10)
2358
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2359
							GETDATE(), -- APPROVE_DT - datetime
2360
							@p_REASON ,N'GDV đề xuất từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
2361
						)
2362
			SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được đề xuất từ chối thành công'
2363
			END
2364
			ELSE IF(@p_STAGE ='DEL')
2365
			BEGIN
2366
				--UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
2367
				--DECLARE @LEVEL_JOB_PAY VARCHAR(5), @LEVEL_JOB_PREV_PAY INT
2368
				--SET @LEVEL_JOB_PAY =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
2369
				--SET @LEVEL_JOB_PREV_PAY = CONVERT(INT,@LEVEL_JOB_PAY) -1
2370
				--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)
2371
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID
2372
				UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
2373
				UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID
2374
				UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE PAY_ID =@p_TRN_ID
2375
				---------------------------------------------------------------------------------------------------------------------
2376
				--DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0)
2377
				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
2378
				OPEN CURS_TRADE
2379
					FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
2380
					WHILE @@FETCH_STATUS = 0
2381
					BEGIN
2382
						UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
2383
						WHERE TRADE_ID =@TRADED_ID
2384
						FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
2385
					END
2386
				CLOSE CURS_TRADE
2387
				DEALLOCATE CURS_TRADE
2388
				-- XOA NGAN SACH
2389
				--DELETE FROM TR_REQ_PAY_BUDGET WHERE  REQ_PAY_ID= @p_TRN_ID
2390
				--- NEU LA TAM UNG NOI BO THI PHAI REVERT LAI SO TIEN DA HOAN UNG CUA PHIEU DE NGHI TAM UNG
2391
				--DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0)
2392
				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
2393
				OPEN CURS
2394
					FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
2395
					WHILE @@FETCH_STATUS = 0
2396
					BEGIN
2397
						UPDATE TR_REQ_ADVANCE_PAYMENT
2398
						SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
2399
						FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
2400
					END
2401
				CLOSE CURS
2402
				DEALLOCATE CURS
2403
				----  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
2404
				--DECLARE @REQ_PAY_ID VARCHAR(15), @AMT_REAL DECIMAL(18,0)
2405
				--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
2406
				--OPEN CURS_SCHE
2407
				--	FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
2408
				--	WHILE @@FETCH_STATUS = 0
2409
				--	BEGIN
2410
				--		UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
2411
				--		WHERE TRADE_ID =@TRADED_ID
2412
				--		FETCH NEXT FROM CURS_SCHE INTO @TRADED_ID,@AMT_EXE
2413
				--	END
2414
				--CLOSE CURS_SCHE
2415
				--DEALLOCATE CURS_SCHE
2416
				INSERT INTO dbo.PL_PROCESS
2417
						(
2418
							REQ_ID,
2419
							PROCESS_ID,
2420
							CHECKER_ID,
2421
							APPROVE_DT,
2422
							PROCESS_DESC,NOTES
2423
						)
2424
						VALUES
2425
						(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2426
							'DEL',        -- PROCESS_ID - varchar(10)
2427
							@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2428
							GETDATE(), -- APPROVE_DT - datetime
2429
							@p_REASON ,N'KSV hủy phiếu'      -- PROCESS_DESC - nvarchar(1000)
2430
						)
2431
			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'
2432
			END
2433
			END
2434
		END
2435
		-- END PHIEU DE THI THANH TOAN 19-11-2019
2436

    
2437
		--- Tờ trình chủ trương
2438
		ELSE IF(@p_TRN_TYPE='PL_REQUEST_DOC')
2439
		BEGIN	IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
2440
				BEGIN
2441
					SET @p_MESSAGE =N'Trả về thất bại! Tờ trình chủ trương đã được duyệt'
2442
					ROLLBACK TRANSACTION
2443
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2444
					RETURN '0'
2445
				END
2446
				ELSE
2447
				BEGIN
2448
					UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
2449
					INSERT INTO dbo.PL_PROCESS
2450
					(
2451
						REQ_ID,
2452
						PROCESS_ID,
2453
						CHECKER_ID,
2454
						APPROVE_DT,
2455
						PROCESS_DESC,NOTES
2456
					)
2457
					VALUES
2458
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2459
						'REJECT',        -- PROCESS_ID - varchar(10)
2460
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2461
						GETDATE(), -- APPROVE_DT - datetime
2462
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
2463
					)
2464
					SET @p_MESSAGE =N'Tờ trình chủ trương đã được trả về thành công'
2465
					 -- 28-10-2020 LUCTV, KHI TRA VE PHAI GO PL_REQUEST_PROCESS
2466
					 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
2467
					 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
2468
			 END
2469
		END
2470
		ELSE IF(@p_TRN_TYPE='TR_REQUEST_DOC')
2471
		BEGIN
2472
			--IF(@p_STAGE='DVMS')
2473
			--BEGIN
2474
			--END
2475
			IF(@p_STAGE='PDYC' OR @p_STAGE ='DV')
2476
			BEGIN
2477
				IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
2478
				BEGIN
2479
					SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được duyệt'
2480
					ROLLBACK TRANSACTION
2481
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2482
					RETURN '0'
2483
				END
2484
				ELSE
2485
				BEGIN
2486
					UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID='REJECT', AUTH_STATUS ='R' WHERE REQ_ID=@p_TRN_ID
2487
					INSERT INTO dbo.PL_PROCESS
2488
					(
2489
						REQ_ID,
2490
						PROCESS_ID,
2491
						CHECKER_ID,
2492
						APPROVE_DT,
2493
						PROCESS_DESC,NOTES
2494
					)
2495
					VALUES
2496
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2497
						'REJECT',        -- PROCESS_ID - varchar(10)
2498
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2499
						GETDATE(), -- APPROVE_DT - datetime
2500
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
2501
					)
2502
					 SET @p_MESSAGE =N'Phiếu yêu cầu mua sắm đã được trả về thành công'
2503
					 -- 28-10-2020 LUCTV, KHI TRA VE PHAI GO PL_REQUEST_PROCESS
2504
					 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
2505
					 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
2506
				 END
2507
			END	
2508
		END
2509
		-- END IF
2510
		-- NEU LA TRA VE CUA HOP DONG
2511
		ELSE IF(@p_TRN_TYPE='TR_CONTRACT')
2512
		BEGIN
2513
		--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
2514
		IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
2515
		BEGIN
2516
			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'
2517
			ROLLBACK TRANSACTION
2518
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2519
			RETURN '0'
2520
		END
2521
		IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
2522
		BEGIN
2523
			SET @p_MESSAGE =N'Trả về thất bại! Hợp đồng đã được phê duyệt thành công trước đó!'
2524
			ROLLBACK TRANSACTION
2525
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2526
			RETURN '0'
2527
		END
2528
		UPDATE TR_CONTRACT SET AUTH_STATUS ='R', IS_SEND_APPR = 'N' 
2529
		WHERE CONTRACT_ID =@p_TRN_ID
2530
		INSERT INTO dbo.PL_PROCESS
2531
					(
2532
						REQ_ID,
2533
						PROCESS_ID,
2534
						CHECKER_ID,
2535
						APPROVE_DT,
2536
						PROCESS_DESC,NOTES
2537
					)
2538
					VALUES
2539
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2540
						'REJECT',        -- PROCESS_ID - varchar(10)
2541
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2542
						GETDATE(), -- APPROVE_DT - datetime
2543
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
2544
					)
2545
			SET @p_MESSAGE =N'Hợp đồng đã được trả về thành công'		
2546
		END
2547
		-- NEU LA TRA VE CUA HOP DONG
2548
		ELSE IF(@p_TRN_TYPE='TR_PO')
2549
		BEGIN
2550
		--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
2551
		IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
2552
		BEGIN
2553
			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'
2554
			ROLLBACK TRANSACTION
2555
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2556
			RETURN '0'
2557
		END
2558
		IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
2559
		BEGIN
2560
			SET @p_MESSAGE =N'Trả về thất bại! PO đã được phê duyệt thành công trước đó!'
2561
			ROLLBACK TRANSACTION
2562
			SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2563
			RETURN '0'
2564
		END
2565
		UPDATE TR_PO_MASTER SET AUTH_STATUS ='R' WHERE PO_ID =@p_TRN_ID
2566
		INSERT INTO dbo.PL_PROCESS
2567
					(
2568
						REQ_ID,
2569
						PROCESS_ID,
2570
						CHECKER_ID,
2571
						APPROVE_DT,
2572
						PROCESS_DESC,NOTES
2573
					)
2574
					VALUES
2575
					(   @p_TRN_ID,        -- REQ_ID - varchar(15)
2576
						'REJECT',        -- PROCESS_ID - varchar(10)
2577
						@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
2578
						GETDATE(), -- APPROVE_DT - datetime
2579
					   @p_REASON ,N'Từ chối phiếu'      -- PROCESS_DESC - nvarchar(1000)
2580
					)
2581
			SET @p_MESSAGE =N'PO đã được trả về thành công'		
2582
		END
2583
		--- KET THUC TRA VE PO
2584
		ELSE
2585
		BEGIN
2586
			SET @p_MESSAGE =N'Trả về giao dịch thành công'
2587
		END
2588

    
2589
		---BAODNQ 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
2590
		-------Khai báo DTSD nội bộ-------
2591
		IF(@p_TRN_TYPE ='BUD_INTERNAL')
2592
		--BEGIN ELSE IF---
2593
		BEGIN
2594
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2595
			BEGIN
2596
				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'
2597
				ROLLBACK TRANSACTION
2598
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2599
				RETURN '0'
2600
			END
2601
			UPDATE BUD_CONTRACT_MASTER 
2602
			SET AUTH_STATUS ='R', 
2603
			---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2604
				IS_SEND_APPR = 'N'							
2605
			WHERE CONTRACT_ID=@p_TRN_ID
2606
			SET @p_MESSAGE =N'Thông tin khai báo DTSD nội bộ đã được trả về thành công'
2607

    
2608
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2609
			INSERT INTO dbo.PL_PROCESS
2610
					(
2611
						REQ_ID,
2612
						PROCESS_ID,
2613
						CHECKER_ID,
2614
						APPROVE_DT,
2615
						PROCESS_DESC,
2616
						NOTES
2617
					)
2618
					VALUES
2619
					(	@p_TRN_ID,       
2620
						'REJECT',
2621
						@p_REJECTED_BY,        
2622
						GETDATE(), 
2623
						@p_REASON ,      
2624
						N'Từ chối phiếu'       
2625
					)
2626
			IF @@ERROR <> 0 GOTO ABORT
2627

    
2628
		---END ELSE IF---
2629
		END
2630
		-------Quản lý hợp đồng khách thuê-------
2631
		ELSE IF(@p_TRN_TYPE ='BUD_RENTAL')
2632
		--BEGIN ELSE IF---
2633
		BEGIN
2634
			IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2635
			BEGIN
2636
				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'
2637
				ROLLBACK TRANSACTION
2638
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2639
				RETURN '0'
2640
			END
2641
			UPDATE BUD_CONTRACT_CUST_MASTER 
2642
			SET AUTH_STATUS ='R',
2643
			---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2644
				IS_SEND_APPR = 'N'
2645
			WHERE CONTRACT_ID=@p_TRN_ID
2646
			SET @p_MESSAGE =N'Thông tin khai báo DT cho khách thuê đã được trả về thành công'
2647

    
2648
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2649
			INSERT INTO dbo.PL_PROCESS
2650
					(
2651
						REQ_ID,
2652
						PROCESS_ID,
2653
						CHECKER_ID,
2654
						APPROVE_DT,
2655
						PROCESS_DESC,
2656
						NOTES
2657
					)
2658
					VALUES
2659
					(	@p_TRN_ID,       
2660
						'REJECT',
2661
						@p_REJECTED_BY,        
2662
						GETDATE(), 
2663
						@p_REASON ,      
2664
						N'Từ chối phiếu'       
2665
					)
2666
			IF @@ERROR <> 0 GOTO ABORT
2667

    
2668
		---END ELSE IF---
2669
		END
2670
		---datmq 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
2671
			-------Quản lý trụ sở-------
2672
		ELSE IF(@p_TRN_TYPE ='BUD_MASTER')
2673
		--BEGIN ELSE IF---
2674
		BEGIN
2675
			IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID =@p_TRN_ID  AND AUTH_STATUS ='A'))
2676
			BEGIN
2677
				SET @p_MESSAGE =N'Hủy trả về thất bại!Thông tin quản lý cho thuê đã được duyệt'
2678
				ROLLBACK TRANSACTION
2679
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2680
				RETURN '0'
2681
			END
2682
			---BAODNQ 26/1/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
2683
			UPDATE BUD_MASTER SET AUTH_STATUS ='R',  IS_SEND_APPR = 'N'
2684
			WHERE BUILDING_ID=@p_TRN_ID
2685
			SET @p_MESSAGE =N'Thông tin quản lý trụ sở đã được trả về thành công'
2686

    
2687
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2688
			INSERT INTO dbo.PL_PROCESS
2689
					(
2690
						REQ_ID,
2691
						PROCESS_ID,
2692
						CHECKER_ID,
2693
						APPROVE_DT,
2694
						PROCESS_DESC,
2695
						NOTES
2696
					)
2697
					VALUES
2698
					(	@p_TRN_ID,       
2699
						'REJECT',
2700
						@p_REJECTED_BY,        
2701
						GETDATE(), 
2702
						@p_REASON ,      
2703
						N'Từ chối phiếu'       
2704
					)
2705
			IF @@ERROR <> 0 GOTO ABORT
2706

    
2707
		---END ELSE IF---
2708
		END
2709

    
2710

    
2711
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
2712
		ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
2713
		BEGIN
2714
			IF(@p_STAGE='HC')
2715
			BEGIN
2716
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
2717
				BEGIN
2718
					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'
2719
					ROLLBACK TRANSACTION
2720
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2721
					RETURN '0'
2722
				END
2723
				ELSE
2724
				BEGIN
2725
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
2726
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
2727
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
2728
					BEGIN
2729
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2730
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị thanh toán đã được trả về thành công'
2731
					END
2732
					/*ELSE
2733
					BEGIN
2734
						SET @p_STAGE ='HC'
2735
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
2736
						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'
2737
					END*/
2738
				END
2739
			END
2740
		END
2741

    
2742
		---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
2743
		ELSE IF(@p_TRN_TYPE ='TR_REQ_ADVACNE_PAY')
2744
		BEGIN
2745
			IF(@p_STAGE='HC')
2746
			BEGIN
2747
				IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID  AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
2748
				BEGIN
2749
					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'
2750
					ROLLBACK TRANSACTION
2751
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2752
					RETURN '0'
2753
				END
2754
				ELSE
2755
				BEGIN
2756
					--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
2757
					--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
2758
					IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
2759
					BEGIN
2760
						UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
2761
						SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị tạm ứng đã được trả về thành công'
2762
					END
2763
					/*ELSE
2764
					BEGIN
2765
						SET @p_STAGE ='HC'
2766
						UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
2767
						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'
2768
					END*/
2769
				END
2770
			END
2771
		END
2772

    
2773

    
2774
	------BAODNQ 14/02/2022: Thêm xử lý trả về cho phân hệ quản lý BDS------
2775
		-------------Quản lý BDS---------------
2776
		ELSE IF(@p_TRN_TYPE = 'RET_MASTER')
2777
		BEGIN
2778
			IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2779
			BEGIN
2780
				SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin bất động sản đã được duyệt'
2781
				ROLLBACK TRANSACTION
2782
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2783
				RETURN '0'
2784
			END
2785
			UPDATE RET_MASTER
2786
			SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N'
2787
			WHERE RET_ID = @p_TRN_ID
2788
			SET @p_MESSAGE = N'Thông tin bất động sản đã được trả về thành công'
2789

    
2790
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2791
			INSERT INTO dbo.PL_PROCESS
2792
					(
2793
						REQ_ID,
2794
						PROCESS_ID,
2795
						CHECKER_ID,
2796
						APPROVE_DT,
2797
						PROCESS_DESC,
2798
						NOTES
2799
					)
2800
					VALUES
2801
					(	@p_TRN_ID,       
2802
						'REJECT',
2803
						@p_REJECTED_BY,        
2804
						GETDATE(), 
2805
						@p_REASON ,      
2806
						N'Từ chối phiếu'       
2807
					)
2808
			IF @@ERROR <> 0 GOTO ABORT
2809

    
2810
		END
2811

    
2812
		-------Thông tin sửa chữa BDS--------------
2813
		ELSE IF(@p_TRN_TYPE = 'RET_REPAIR')
2814
		BEGIN
2815
			IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2816
			BEGIN
2817
				SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin sửa chữa BDS đã được duyệt'
2818
				ROLLBACK TRANSACTION
2819
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2820
				RETURN '0'
2821
			END
2822
			UPDATE RET_REPAIR 
2823
			SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N'
2824
			WHERE RP_ID = @p_TRN_ID
2825
			SET @p_MESSAGE = N'Thông tin sửa chữa BDS đã được trả về thành công'
2826

    
2827
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2828
			INSERT INTO dbo.PL_PROCESS
2829
					(
2830
						REQ_ID,
2831
						PROCESS_ID,
2832
						CHECKER_ID,
2833
						APPROVE_DT,
2834
						PROCESS_DESC,
2835
						NOTES
2836
					)
2837
					VALUES
2838
					(	@p_TRN_ID,       
2839
						'REJECT',
2840
						@p_REJECTED_BY,        
2841
						GETDATE(), 
2842
						@p_REASON ,      
2843
						N'Từ chối phiếu'       
2844
					)
2845
			IF @@ERROR <> 0 GOTO ABORT
2846

    
2847
		END
2848

    
2849
		-----BDS thuê làm trụ sở CN/PGD--------
2850
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_R_H')
2851
		BEGIN
2852
			IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
2853
			BEGIN
2854
				SET @p_MESSAGE =N'Hủy trả về thất bại! BDS thuê làm trụ sở CN/PGD đã được duyệt'
2855
				ROLLBACK TRANSACTION
2856
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2857
				RETURN '0'
2858
			END
2859
			UPDATE REAL_ESTATE_R_H 
2860
			SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N'
2861
			WHERE RET_R_H_ID = @p_TRN_ID
2862
			SET @p_MESSAGE = N'BDS thuê làm trụ sở CN/PGD đã được trả về thành công'
2863

    
2864
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2865
			INSERT INTO dbo.PL_PROCESS
2866
					(
2867
						REQ_ID,
2868
						PROCESS_ID,
2869
						CHECKER_ID,
2870
						APPROVE_DT,
2871
						PROCESS_DESC,
2872
						NOTES
2873
					)
2874
					VALUES
2875
					(	@p_TRN_ID,       
2876
						'REJECT',
2877
						@p_REJECTED_BY,        
2878
						GETDATE(), 
2879
						@p_REASON ,      
2880
						N'Từ chối phiếu'       
2881
					)
2882
			IF @@ERROR <> 0 GOTO ABORT
2883

    
2884
		END
2885

    
2886
		-----BDS đang hoàn thiện thủ tục pháp lý--------
2887
		ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_L_C')
2888
		BEGIN
2889
			IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2890
			BEGIN
2891
				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'
2892
				ROLLBACK TRANSACTION
2893
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2894
				RETURN '0'
2895
			END
2896
			UPDATE REAL_ESTATE_L_C 
2897
			SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N'
2898
			WHERE RET_L_C_ID = @p_TRN_ID
2899
			SET @p_MESSAGE = N'BDS đang hoàn thiện thủ tục pháp lý đã được trả về thành công'
2900

    
2901
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2902
			INSERT INTO dbo.PL_PROCESS
2903
					(
2904
						REQ_ID,
2905
						PROCESS_ID,
2906
						CHECKER_ID,
2907
						APPROVE_DT,
2908
						PROCESS_DESC,
2909
						NOTES
2910
					)
2911
					VALUES
2912
					(	@p_TRN_ID,       
2913
						'REJECT',
2914
						@p_REJECTED_BY,        
2915
						GETDATE(), 
2916
						@p_REASON ,      
2917
						N'Từ chối phiếu'       
2918
					)
2919
			IF @@ERROR <> 0 GOTO ABORT
2920

    
2921
		END
2922

    
2923
		---------BAODNQ 18/3/2022: Đánh giá NCC--------
2924
		-------Đánh giá NCC---------
2925
		ELSE IF(@p_TRN_TYPE = 'TR_RATE_SUPPLIER_MASTER')
2926
		BEGIN
2927
			IF(EXISTS(SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID  = @p_TRN_ID AND AUTH_STATUS = 'A'))
2928
			BEGIN
2929
				SET @p_MESSAGE =N'Hủy trả về thất bại! Biên bản đánh giá NCC đã được duyệt'
2930
				ROLLBACK TRANSACTION
2931
				SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
2932
				RETURN '0'
2933
			END
2934
			UPDATE TR_RATE_SUPPLIER_MASTER 
2935
				SET AUTH_STATUS = 'R', 
2936
					IS_SEND_APPR = 'N',
2937
					PROCESS_STATUS = 'REJECT'
2938
			WHERE RATE_ID = @p_TRN_ID
2939
			SET @p_MESSAGE = N'Biên bản đánh giá NCC đã được trả về thành công'
2940

    
2941
			--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
2942
			INSERT INTO dbo.PL_PROCESS
2943
					(
2944
						REQ_ID,
2945
						PROCESS_ID,
2946
						CHECKER_ID,
2947
						APPROVE_DT,
2948
						PROCESS_DESC,
2949
						NOTES
2950
					)
2951
					VALUES
2952
					(	@p_TRN_ID,       
2953
						'REJECT',
2954
						@p_REJECTED_BY,        
2955
						GETDATE(), 
2956
						@p_REASON ,      
2957
						N'Từ chối phiếu'       
2958
					)
2959
			IF @@ERROR <> 0 GOTO ABORT
2960
		END
2961
		ELSE IF(@p_TRN_TYPE ='TR_REQUEST_CAR')
2962
		BEGIN
2963
			DECLARE @p_PROCESS_ID VARCHAR(15)
2964
			SELECT @p_PROCESS_ID=PROCESS_ID FROM TR_REQUEST_CAR WHERE REQ_ID =@p_TRN_ID
2965
			IF(@p_PROCESS_ID='DONE')
2966
			BEGIN
2967
				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'
2968
				ROLLBACK TRANSACTION
2969
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
2970
				RETURN '0'
2971
			END
2972
			IF(@p_PROCESS_ID IN ('SEND','TP_APP'))
2973
			BEGIN
2974
				UPDATE TR_REQUEST_CAR 
2975
				SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N'
2976
				WHERE REQ_ID=@p_TRN_ID
2977
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công'
2978
				IF(@p_PROCESS_ID='SEND')
2979
					BEGIN
2980
						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
2981
					END
2982
				ELSE
2983
					BEGIN
2984
						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
2985
						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
2986
					END
2987
			END
2988
			ELSE IF(@p_PROCESS_ID='USER_SEND')
2989
			BEGIN
2990
					UPDATE TR_REQUEST_CAR
2991
					SET AUTH_STATUS ='R',PROCESS_ID='CV_REJECT'
2992
					WHERE REQ_ID=@p_TRN_ID
2993
					SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công'
2994
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='P' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
2995
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='XL' AND REQ_ID=@p_TRN_ID
2996
			END
2997
			ELSE IF(@p_PROCESS_ID IN ('MAKER_APP','CVSENDCONF'))
2998
			BEGIN
2999
				
3000
					UPDATE TR_REQUEST_CAR
3001
					SET AUTH_STATUS ='R',PROCESS_ID='COSTREJECT',IS_CONFIRM_COST='N'
3002
					WHERE REQ_ID=@p_TRN_ID
3003
					SET @p_MESSAGE =N'Thông tin chi phí phiếu yêu cầu xe đã được trả về thành công'
3004
					IF(@p_PROCESS_ID='MAKER_APP')
3005
					BEGIN
3006
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
3007
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
3008
						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
3009
					END
3010
				ELSE
3011
					BEGIN
3012
						UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
3013
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
3014
						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
3015
						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
3016
					END
3017
			END
3018
			INSERT INTO dbo.PL_PROCESS
3019
					(
3020
						REQ_ID,
3021
						PROCESS_ID,
3022
						CHECKER_ID,
3023
						APPROVE_DT,
3024
						PROCESS_DESC,NOTES
3025
					)
3026
					VALUES
3027
					(   @p_TRN_ID,       
3028
						'REJECT',        
3029
						@p_REJECTED_BY,       
3030
						GETDATE(), 
3031
						@p_REASON,
3032
						N'Từ chối phiếu'    
3033
					)
3034
			
3035
		END
3036
		ELSE IF(@p_TRN_TYPE ='TR_REQUEST_JOB_FORM')
3037
		BEGIN
3038
			DECLARE @PROCESS_ID VARCHAR(15),@SIGN_USER VARCHAR(50)
3039
			SELECT @PROCESS_ID=PROCESS_ID,@SIGN_USER=SIGN_USER FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID =@p_TRN_ID
3040
			IF(@PROCESS_ID='APPROVE')
3041
			BEGIN
3042
				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'
3043
				ROLLBACK TRANSACTION
3044
				SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
3045
				RETURN '0'
3046
			END
3047

    
3048
			IF(@PROCESS_ID IN ('SEND','SIGN'))
3049
			BEGIN
3050
				UPDATE dbo.TR_REQUEST_JOB_FORM 
3051
				SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N'
3052
				WHERE REQ_ID=@p_TRN_ID
3053
				SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
3054

    
3055
				IF(@PROCESS_ID='SEND' AND @SIGN_USER IS NOT NULL)
3056
					BEGIN
3057
						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
3058
					END
3059
				ELSE
3060
					BEGIN
3061
						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
3062
						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
3063
					END
3064
			END
3065
			ELSE IF(@PROCESS_ID='HO_APP')
3066
			BEGIN
3067
					UPDATE dbo.TR_REQUEST_JOB_FORM
3068
					SET AUTH_STATUS ='R',PROCESS_ID='APPNEW'
3069
					WHERE REQ_ID=@p_TRN_ID
3070
					SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
3071
					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
3072
					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
3073
			END
3074
			ELSE IF(@PROCESS_ID = 'MAKER_APP')
3075
			BEGIN
3076
					UPDATE TR_REQUEST_JOB_FORM
3077
					SET AUTH_STATUS ='R',PROCESS_ID='HCHO_XL'
3078
					WHERE REQ_ID=@p_TRN_ID
3079
					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'
3080
					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
3081
					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
3082
			END
3083
			INSERT INTO dbo.PL_PROCESS
3084
					(
3085
						REQ_ID,
3086
						PROCESS_ID,
3087
						CHECKER_ID,
3088
						APPROVE_DT,
3089
						PROCESS_DESC,NOTES
3090
					)
3091
					VALUES
3092
					(   @p_TRN_ID,       
3093
						'REJECT',        
3094
						@p_REJECTED_BY,       
3095
						GETDATE(), 
3096
						@p_REASON,
3097
						N'Từ chối phiếu'    
3098
					)
3099
			
3100
		END
3101

    
3102

    
3103
		--- INSERT VAO BANG CM_REJECT_LOG
3104
		EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
3105
		IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
3106
		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))
3107
		IF @@Error <> 0 GOTO ABORT
3108
COMMIT TRANSACTION
3109
SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
3110
RETURN '0'
3111
ABORT:
3112
BEGIN
3113

    
3114
		ROLLBACK TRANSACTION
3115
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
3116
		RETURN '-1'
3117
END
3118

    
3119
INSERT INTO dbo.SYS_PREFIX
3120
(
3121
    ID,
3122
    Prefix,
3123
    Description
3124
)
3125
VALUES
3126
(   'TR_REQUEST_JOB_FORM', -- ID - varchar(100)
3127
    'AFT', -- Prefix - varchar(10)
3128
    N'Phiếu yêu cầu công tác' -- Description - nvarchar(1000)
3129
    )
3130
INSERT INTO dbo.SYS_PREFIX
3131
(
3132
    ID,
3133
    Prefix,
3134
    Description
3135
)
3136
VALUES
3137
(   'TR_REQUEST_JOB_DETAIL', -- ID - varchar(100)
3138
    'TRJD', -- Prefix - varchar(10)
3139
    N'Danh sách công tác' -- Description - nvarchar(1000)
3140
    )
3141
	INSERT INTO dbo.SYS_PREFIX
3142
	(
3143
	    ID,
3144
	    Prefix,
3145
	    Description
3146
	)
3147
	VALUES
3148
	(   'TR_REQUEST_JOB_TRAIN', -- ID - varchar(100)
3149
	    'TRJT', -- Prefix - varchar(10)
3150
	    N'Lộ Trình' -- Description - nvarchar(1000)
3151
	)
3152
	INSERT INTO dbo.SYS_PREFIX
3153
	(
3154
	    ID,
3155
	    Prefix,
3156
	    Description
3157
	)
3158
	VALUES
3159
	(   'TR_REQ_JOB_FLY', -- ID - varchar(100)
3160
	    'RJF', -- Prefix - varchar(10)
3161
	    N'Giờ bay' -- Description - nvarchar(1000)
3162
	)
3163
	INSERT INTO dbo.SYS_PREFIX
3164
	(
3165
	    ID,
3166
	    Prefix,
3167
	    Description
3168
	)
3169
	VALUES
3170
	(   'TR_REQ_JOB_RETURN_TRIP', -- ID - varchar(100)
3171
	    'RJRT', -- Prefix - varchar(10)
3172
	    N'Chuyến về' -- Description - nvarchar(1000)
3173
	)
3174
	INSERT INTO dbo.SYS_PREFIX
3175
	(
3176
	    ID,
3177
	    Prefix,
3178
	    Description
3179
	)
3180
	VALUES
3181
	(   'TR_REQ_JOB_TRIP', -- ID - varchar(100)
3182
	    'RJT', -- Prefix - varchar(10)
3183
	    N'Chuyến đi' -- Description - nvarchar(1000)
3184
	)
3185
	INSERT INTO dbo.SYS_CODEMASTERS
3186
	(
3187
	    Prefix,
3188
	    CurValue,
3189
	    Description,
3190
	    Active
3191
	)
3192
	VALUES
3193
	(   N'TRJD',  -- Prefix - nvarchar(10)
3194
	    1, -- CurValue - decimal(18, 0)
3195
	    N'',  -- Description - nvarchar(500)
3196
	    '1'    -- Active - char(1)
3197
	    )
3198
	INSERT INTO dbo.SYS_CODEMASTERS
3199
	(
3200
	    Prefix,
3201
	    CurValue,
3202
	    Description,
3203
	    Active
3204
	)
3205
	VALUES
3206
	(   N'AFT',  -- Prefix - nvarchar(10)
3207
	    1, -- CurValue - decimal(18, 0)
3208
	    N'',  -- Description - nvarchar(500)
3209
	    '1'    -- Active - char(1)
3210
	    )
3211
	INSERT INTO dbo.SYS_CODEMASTERS
3212
	(
3213
	    Prefix,
3214
	    CurValue,
3215
	    Description,
3216
	    Active
3217
	)
3218
	VALUES
3219
	(   N'TRJT',  -- Prefix - nvarchar(10)
3220
	    1, -- CurValue - decimal(18, 0)
3221
	    N'',  -- Description - nvarchar(500)
3222
	    '1'    -- Active - char(1)
3223
	    )
3224
	INSERT INTO dbo.SYS_CODEMASTERS
3225
	(
3226
	    Prefix,
3227
	    CurValue,
3228
	    Description,
3229
	    Active
3230
	)
3231
	VALUES
3232
	(   N'RJF',  -- Prefix - nvarchar(10)
3233
	    1, -- CurValue - decimal(18, 0)
3234
	    N'',  -- Description - nvarchar(500)
3235
	    '1'    -- Active - char(1)
3236
	    )
3237
		INSERT INTO dbo.SYS_CODEMASTERS
3238
	(
3239
	    Prefix,
3240
	    CurValue,
3241
	    Description,
3242
	    Active
3243
	)
3244
	VALUES
3245
	(   N'RJRT',  -- Prefix - nvarchar(10)
3246
	    1, -- CurValue - decimal(18, 0)
3247
	    N'',  -- Description - nvarchar(500)
3248
	    '1'    -- Active - char(1)
3249
	    )
3250
		INSERT INTO dbo.SYS_CODEMASTERS
3251
	(
3252
	    Prefix,
3253
	    CurValue,
3254
	    Description,
3255
	    Active
3256
	)
3257
	VALUES
3258
	(   N'RJT',  -- Prefix - nvarchar(10)
3259
	    1, -- CurValue - decimal(18, 0)
3260
	    N'',  -- Description - nvarchar(500)
3261
	    '1'    -- Active - char(1)
3262
	    )
3263
		INSERT INTO dbo.TR_CODE_GEN
3264
		(
3265
		    CODE_TYPE,
3266
		    CUR_YEAR,
3267
		    CUR_VALUE
3268
		)
3269
		VALUES
3270
		(   'TR_REQUEST_JOB_FORM',  -- CODE_TYPE - varchar(50)
3271
		    '2022',  -- CUR_YEAR - varchar(50)
3272
		    1 -- CUR_VALUE - decimal(18, 0)
3273
	)
3274
INSERT INTO [CM_ALLCODE] ([CDNAME],[CDVAL],[CONTENT],[CDTYPE],[LSTODR])VALUES(N'TYPE_WORK',N'DOMESTIC',N'Trong nước',N'TR',NULL)
3275
INSERT INTO [CM_ALLCODE] ([CDNAME],[CDVAL],[CONTENT],[CDTYPE],[LSTODR])VALUES(N'TYPE_WORK',N'FOREIGN',N'Nước ngoài',N'TR',2)
3276
INSERT INTO [CM_ALLCODE] ([CDNAME],[CDVAL],[CONTENT],[CDTYPE],[LSTODR])VALUES(N'VEHICLE_TYPE',N'CAR',N'Xe',N'TR',NULL)
3277
INSERT INTO [CM_ALLCODE] ([CDNAME],[CDVAL],[CONTENT],[CDTYPE],[LSTODR])VALUES(N'VEHICLE_TYPE',N'TRAIN',N'Tàu',N'TR',NULL)
3278
INSERT INTO [CM_ALLCODE] ([CDNAME],[CDVAL],[CONTENT],[CDTYPE],[LSTODR])VALUES(N'VEHICLE_TYPE',N'AIR',N'Máy bay',N'TR',NULL)
3279