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
|