Project

General

Profile

modify_app.txt

Luc Tran Van, 04/03/2023 05:22 PM

 
1

    
2
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_AUTO_MODIFY_APP]
3
@p_USER_LOGIN	VARCHAR(15)= NULL,
4
@p_MAKER_ID	VARCHAR(15)= NULL,
5
@p_REQ_PAY_AUTO_ID	VARCHAR(15)= NULL,
6
@p_CHECKER_ID	VARCHAR(15)	= NULL,
7
@p_TRANSFER_USER_RECEIVE VARCHAR(15)	= NULL,
8
@p_REQUEST_STATUS	VARCHAR(15)	= NULL,
9
@p_REQ_PAY_AUTO_TYPE VARCHAR(2)
10
AS
11
-- BEGIN VALIDATE
12
-- END VALIDATE
13
-- BEGIN VALIDATE FLOW
14
/*
15
	IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND ISNULL(AUTH_STATUS_KT, '') <> 'A' AND @p_REQUEST_STATUS = 'SUSPEND'))
16
	BEGIN
17
		SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Tạm dừng phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được kiểm sát viên phê duyệt' ErrorDesc
18
		RETURN '-1'
19
	END
20
	*/
21
	IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND REQUEST_STATUS <> 'SUSPEND' AND @p_REQUEST_STATUS = 'SUSPEND'))
22
	BEGIN
23
		SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Tạm dừng phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được đề nghị tạm dừng' ErrorDesc
24
		RETURN '-1'
25
	END
26
	IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND REQUEST_STATUS <> 'DEL' AND @p_REQUEST_STATUS = 'DEL'))
27
	BEGIN
28
		SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Hủy phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được đề nghị hủy phiếu' ErrorDesc
29
		RETURN '-1'
30
	END
31
-- END VALIDATE FLOW
32
BEGIN TRANSACTION
33
	DECLARE @NOTES_PROCESS NVARCHAR(250) = '', @NEXT_STATUS_APP NVARCHAR(250) = ''
34
	IF(@p_REQUEST_STATUS = 'SUSPEND' AND @p_REQ_PAY_AUTO_TYPE = 'A')
35
	BEGIN
36

    
37
		IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID  AND PROCESS = '6'))
38
		BEGIN
39
			ROLLBACK TRANSACTION
40
			SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Xác nhận phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được cấp duyệt trung gian xác nhận' ErrorDesc
41
			RETURN '-1'
42
		END
43
		ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') = @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID  AND PROCESS = '6'))
44
		BEGIN
45
			UPDATE TR_REQ_PAYMENT_AUTO
46
			SET PROCESS = '7'
47
			WHERE  REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID
48
			SET @NEXT_STATUS_APP = N' Đã được xác nhận thành công! Vui lòng đợi trưởng đơn vị phê duyệt'
49

    
50
			-- INSERT VAO PL_PROCESS
51
			INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
52
			VALUES(@p_REQ_PAY_AUTO_ID, 'CON_SUS', @p_USER_LOGIN, GETDATE(), N'Cấp phê duyệt trung gian xác nhận phiếu', N'Xác nhận tạm dừng phiếu sau phê duyệt')
53
			IF @@Error <> 0 GOTO ABORT
54
		END
55
		ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND ((ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND PROCESS = '7') OR (ISNULL(TRANSFER_USER_RECEIVE, '') = '' AND PROCESS = '6'))))
56
		BEGIN
57
			UPDATE TR_REQ_PAYMENT_AUTO
58
			SET PROCESS = '8', AUTH_STATUS = 'N', AUTH_STATUS_KT = 'N', REQUEST_STATUS = 'APP_SUS', REQ_PAY_AUTO_STATUS = 'SUSPEND' 
59
			WHERE  REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID
60
			SET @NEXT_STATUS_APP = N' Đã được phê duyệt thành công! '
61

    
62
			-- INSERT VAO PL_PROCESS
63
			INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
64
			VALUES(@p_REQ_PAY_AUTO_ID, 'APP_SUS', @p_USER_LOGIN, GETDATE(), N'Trường đơn vị phê duyệt phiếu', N'Phê duyệt tạm dừng phiếu sau phê duyệt')
65
			IF @@Error <> 0 GOTO ABORT
66
		END
67
		ELSE
68
		BEGIN
69
			ROLLBACK TRANSACTION
70
			SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Duyệt phiếu thất bại! Lỗi chưa được định nghĩa' ErrorDesc
71
			RETURN '-1'
72
		END
73

    
74
		COMMIT TRANSACTION
75
		SELECT '0' as Result, @p_REQ_PAY_AUTO_ID  REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID) + @NEXT_STATUS_APP ErrorDesc
76
		RETURN '0'
77
	END
78
	ELSE IF(@p_REQUEST_STATUS = 'UNSUSPEND' AND @p_REQ_PAY_AUTO_TYPE = 'A')
79
	BEGIN
80
		IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID  AND PROCESS = '9'))
81
		BEGIN
82
			ROLLBACK TRANSACTION
83
			SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Xác nhận phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được cấp duyệt trung gian xác nhận' ErrorDesc
84
			RETURN '-1'
85
		END
86
		ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') = @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID  AND PROCESS = '9'))
87
		BEGIN
88
			UPDATE TR_REQ_PAYMENT_AUTO
89
			SET PROCESS = '10'
90
			WHERE  REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID
91
			SET @NEXT_STATUS_APP = N' Đã được xác nhận thành công! Vui lòng đợi trưởng đơn vị phê duyệt'
92

    
93
			-- INSERT VAO PL_PROCESS
94
			INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
95
			VALUES(@p_REQ_PAY_AUTO_ID, 'CON_UNSUS', @p_USER_LOGIN, GETDATE(), N'Cấp phê duyệt trung gian xác nhận phiếu', N'Xác nhận khôi phục phiếu sau phê duyệt')
96
			IF @@Error <> 0 GOTO ABORT
97
		END
98
		ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND ((ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND PROCESS = '10') OR (ISNULL(TRANSFER_USER_RECEIVE, '') = '' AND PROCESS = '9'))))
99
		BEGIN
100
			UPDATE TR_REQ_PAYMENT_AUTO
101
			SET PROCESS = '11'
102
			WHERE  REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID
103
			SET @NEXT_STATUS_APP = N' Đã được phê duyệt thành công! Vui lòng đợi bộ phận kế toán xử lý phiếu'
104

    
105
			-- INSERT VAO PL_PROCESS
106
			INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
107
			VALUES(@p_REQ_PAY_AUTO_ID, 'APP_UNSUS', @p_USER_LOGIN, GETDATE(), N'Trưởng đơn vị phê duyệt phiếu', N'Phê duyệt khôi phục phiếu sau phê duyệt')
108
			-- DELETE FLOW KT KET THUC
109
			DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_AUTO_ID
110
			IF @@Error <> 0 GOTO ABORT
111
		END
112
		ELSE
113
		BEGIN
114
			ROLLBACK TRANSACTION
115
			SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Duyệt phiếu thất bại! Lỗi chưa được định nghĩa' ErrorDesc
116
			RETURN '-1'
117
		END
118

    
119
		COMMIT TRANSACTION
120
		SELECT '0' as Result, @p_REQ_PAY_AUTO_ID  REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID) + @NEXT_STATUS_APP ErrorDesc
121
		RETURN '0'
122
	END
123
	ELSE IF(@p_REQUEST_STATUS = 'DEL' AND @p_REQ_PAY_AUTO_TYPE = 'A')
124
	BEGIN
125
		IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID  AND PROCESS = '15'))
126
		BEGIN
127
			ROLLBACK TRANSACTION
128
			SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Xác nhận hủy phiếu thất bại! Yêu cầu hủy phiếu yêu cầu toán tự động chưa được cấp duyệt trung gian xác nhận' ErrorDesc
129
			RETURN '-1'
130
		END
131
		ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') = @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '15'))
132
		BEGIN
133
			UPDATE TR_REQ_PAYMENT_AUTO
134
			SET PROCESS = '16'
135
			WHERE  REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID
136
			SET @NEXT_STATUS_APP = N'Vui lòng đợi trưởng đơn vị phê duyệt'
137

    
138
			-- INSERT VAO PL_PROCESS
139
			INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
140
			VALUES(@p_REQ_PAY_AUTO_ID, 'DEL', @p_USER_LOGIN, GETDATE(), N'Cấp duyệt trung gian xác nhận yêu cầu hủy phiếu', N'Cấp duyệt trung gian xác nhận yêu cầu hủy phiếu')
141
		END
142
		ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND ((ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND PROCESS = '16') OR (ISNULL(TRANSFER_USER_RECEIVE, '') = '' AND PROCESS = '15'))))
143
		BEGIN
144
			UPDATE TR_REQ_PAYMENT_AUTO
145
			SET PROCESS = '17'
146
			WHERE  REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID
147
			SET @NEXT_STATUS_APP = N'Vui lòng đợi phòng kế toán phê duyệt'
148
			-- INSERT VAO PL_PROCESS
149
			INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
150
			VALUES(@p_REQ_PAY_AUTO_ID, 'DEL', @p_USER_LOGIN, GETDATE(), N'Trưởng đơn vị phê duyệt yêu cầu hủy phiếu', N'Trưởng đơn vị phê duyệt yêu cầu hủy phiếu')
151
			-- DELETE FLOW KT KET THUC
152
			DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_AUTO_ID
153
		END
154
		ELSE
155
		BEGIN
156
			ROLLBACK TRANSACTION
157
			SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Duyệt phiếu thất bại! Lỗi chưa được định nghĩa' ErrorDesc
158
			RETURN '-1'
159
		END
160

    
161
		
162
		IF @@Error <> 0 GOTO ABORT
163
		COMMIT TRANSACTION
164
		SELECT '0' as Result, @p_REQ_PAY_AUTO_ID  REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID)+N' đã được yêu cầu hủy thành công! ' + @NEXT_STATUS_APP ErrorDesc
165
		RETURN '0'
166
	END
167
	ELSE IF(@p_REQUEST_STATUS = 'SUSPEND' AND @p_REQ_PAY_AUTO_TYPE = 'B')
168
	BEGIN
169

    
170
		IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID  AND PROCESS = '6'))
171
		BEGIN
172
			ROLLBACK TRANSACTION
173
			SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Xác nhận phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được cấp duyệt trung gian xác nhận' ErrorDesc
174
			RETURN '-1'
175
		END
176
		ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') = @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID  AND PROCESS = '6'))
177
		BEGIN
178
			UPDATE TR_REQ_PAYMENT_AUTO
179
			SET PROCESS = '7'
180
			WHERE  REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID
181
			SET @NEXT_STATUS_APP = N' Đã được xác nhận thành công! Vui lòng đợi trưởng đơn vị phê duyệt'
182

    
183
			-- INSERT VAO PL_PROCESS
184
			INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
185
			VALUES(@p_REQ_PAY_AUTO_ID, 'CON_SUS', @p_USER_LOGIN, GETDATE(), N'Cấp phê duyệt trung gian xác nhận phiếu', N'Xác nhận tạm dừng phiếu sau phê duyệt')
186
			IF @@Error <> 0 GOTO ABORT
187
		END
188
		ELSE
189
		BEGIN
190
			UPDATE TR_REQ_PAYMENT_AUTO
191
			SET PROCESS = '8', AUTH_STATUS = 'N', AUTH_STATUS_KT = 'N', REQUEST_STATUS = 'APP_SUS', REQ_PAY_AUTO_STATUS = 'SUSPEND' 
192
			WHERE  REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID
193
			SET @NEXT_STATUS_APP = N' Đã được phê duyệt thành công! '
194

    
195
			-- INSERT VAO PL_PROCESS
196
			INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
197
			VALUES(@p_REQ_PAY_AUTO_ID, 'APP_SUS', @p_USER_LOGIN, GETDATE(), N'Trường đơn vị phê duyệt phiếu', N'Phê duyệt tạm dừng phiếu sau phê duyệt')
198
			IF @@Error <> 0 GOTO ABORT
199
		END
200

    
201
		COMMIT TRANSACTION
202
		IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID AND PROCESS = '7'))
203
		BEGIN
204
			SELECT '5' as Result, '7' Process, @p_REQ_PAY_AUTO_ID  REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID) + @NEXT_STATUS_APP ErrorDesc
205
			RETURN '5'
206
		END
207
		ELSE
208
		BEGIN
209
			SELECT '5' as Result, '8' Process, @p_REQ_PAY_AUTO_ID  REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID) + @NEXT_STATUS_APP ErrorDesc
210
			RETURN '5'
211
		END
212
	END
213
	ELSE IF(@p_REQUEST_STATUS = 'UNSUSPEND' AND @p_REQ_PAY_AUTO_TYPE = 'B')
214
	BEGIN
215
		IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID  AND PROCESS = '9'))
216
		BEGIN
217
			ROLLBACK TRANSACTION
218
			SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Xác nhận phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được cấp duyệt trung gian xác nhận' ErrorDesc
219
			RETURN '-1'
220
		END
221
		ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') = @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID  AND PROCESS = '9'))
222
		BEGIN
223
			UPDATE TR_REQ_PAYMENT_AUTO
224
			SET PROCESS = '10'
225
			WHERE  REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID
226
			SET @NEXT_STATUS_APP = N' Đã được xác nhận thành công! Vui lòng đợi trưởng đơn vị phê duyệt'
227

    
228
			-- INSERT VAO PL_PROCESS
229
			INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
230
			VALUES(@p_REQ_PAY_AUTO_ID, 'CON_UNSUS', @p_USER_LOGIN, GETDATE(), N'Cấp phê duyệt trung gian xác nhận phiếu', N'Xác nhận khôi phục phiếu sau phê duyệt')
231
			IF @@Error <> 0 GOTO ABORT
232
		END
233
		ELSE
234
		BEGIN
235
			UPDATE TR_REQ_PAYMENT_AUTO
236
			SET PROCESS = '11'
237
			WHERE  REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID
238
			SET @NEXT_STATUS_APP = N' Đã được phê duyệt thành công! Vui lòng đợi bộ phận kế toán xử lý phiếu'
239

    
240
			-- INSERT VAO PL_PROCESS
241
			INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
242
			VALUES(@p_REQ_PAY_AUTO_ID, 'APP_UNSUS', @p_USER_LOGIN, GETDATE(), N'Trưởng đơn vị phê duyệt phiếu', N'Phê duyệt khôi phục phiếu sau phê duyệt')
243
			-- DELETE FLOW KT KET THUC
244
			DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_AUTO_ID
245
			IF @@Error <> 0 GOTO ABORT
246
		END
247

    
248
		COMMIT TRANSACTION
249
		SELECT '0' as Result, @p_REQ_PAY_AUTO_ID  REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID) + @NEXT_STATUS_APP ErrorDesc
250
		RETURN '0'
251
	END
252
	ELSE IF(@p_REQUEST_STATUS = 'DEL' AND @p_REQ_PAY_AUTO_TYPE = 'B')
253
	BEGIN
254
		IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID  AND PROCESS = '15'))
255
		BEGIN
256
			ROLLBACK TRANSACTION
257
			SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Xác nhận hủy phiếu thất bại! Yêu cầu hủy phiếu yêu cầu toán tự động chưa được cấp duyệt trung gian xác nhận' ErrorDesc
258
			RETURN '-1'
259
		END
260
		ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') = @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '15'))
261
		BEGIN
262
			UPDATE TR_REQ_PAYMENT_AUTO
263
			SET PROCESS = '16', 
264
			MAKER_ID_KT = NULL, CHECKER_ID_KT = NULL, TRANSFER_MAKER = NULL,
265
			TRANSFER_DT = NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT = NULL
266
			WHERE  REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID
267
			SET @NEXT_STATUS_APP = N'Vui lòng đợi trưởng đơn vị phê duyệt'
268

    
269
			-- INSERT VAO PL_PROCESS
270
			INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
271
			VALUES(@p_REQ_PAY_AUTO_ID, 'DEL', @p_USER_LOGIN, GETDATE(), N'Cấp duyệt trung gian xác nhận yêu cầu hủy phiếu', N'Cấp duyệt trung gian xác nhận yêu cầu hủy phiếu')
272
		END
273
		ELSE
274
		BEGIN
275
			UPDATE TR_REQ_PAYMENT_AUTO
276
			SET PROCESS = '17'
277
			WHERE  REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID
278
			SET @NEXT_STATUS_APP = N'Vui lòng đợi phòng kế toán phê duyệt'
279
			-- INSERT VAO PL_PROCESS
280
			INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
281
			VALUES(@p_REQ_PAY_AUTO_ID, 'DEL', @p_USER_LOGIN, GETDATE(), N'Trưởng đơn vị phê duyệt yêu cầu hủy phiếu', N'Trưởng đơn vị phê duyệt yêu cầu hủy phiếu')
282
			-- DELETE FLOW KT KET THUC
283
			DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_AUTO_ID
284
		END
285

    
286
		
287
		IF @@Error <> 0 GOTO ABORT
288
		COMMIT TRANSACTION
289
		SELECT '0' as Result, @p_REQ_PAY_AUTO_ID  REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID)+N' đã được yêu cầu hủy thành công! ' + @NEXT_STATUS_APP ErrorDesc
290
		RETURN '0'
291
	END
292
	ELSE
293
	BEGIN
294
		ROLLBACK TRANSACTION
295
		SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Thay đổi phiếu thất bại! Bạn chưa chọn loại chỉnh sửa phiếu(Chỉnh sửa, Tạm dừng, Hủy phiếu)' ErrorDesc
296
		RETURN '-1'
297
	END
298
	
299
COMMIT TRANSACTION
300
		
301
ABORT:
302
BEGIN
303
		ROLLBACK TRANSACTION
304
		SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
305
		RETURN '-1'
306
END