1
|
|
2
|
ALTER PROC [dbo].[CM_REJECT_LOG_Ins]
|
3
|
@p_LOG_ID varchar(15) = NULL,
|
4
|
@p_STAGE varchar(10) = NULL,
|
5
|
@p_TRN_ID varchar(15) = NULL,
|
6
|
@p_TRN_TYPE nvarchar(100) = NULL,
|
7
|
@p_LOG_DT VARCHAR = NULL,
|
8
|
@p_AUTH_STAT varchar(3) = NULL,
|
9
|
@p_REASON nvarchar(4000) = NULL,
|
10
|
@p_IS_LATEST varchar(1) = NULL,
|
11
|
@p_REJECTED_BY varchar(20) = NULL,
|
12
|
@p_REJECTED_DT VARCHAR = NULL
|
13
|
AS
|
14
|
BEGIN TRANSACTION
|
15
|
DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0)
|
16
|
DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0)
|
17
|
DECLARE @p_MESSAGE NVARCHAR(100) = NULL
|
18
|
IF(EXISTS (SELECT * FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID))
|
19
|
BEGIN
|
20
|
UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID
|
21
|
END
|
22
|
-- Thu hồi tài sản
|
23
|
IF(@p_TRN_TYPE ='ASS_COLLECT_MUL')
|
24
|
BEGIN
|
25
|
IF(@p_STAGE='KT')
|
26
|
BEGIN -- KSV trả về GDV
|
27
|
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'))
|
28
|
BEGIN
|
29
|
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'
|
30
|
ROLLBACK TRANSACTION
|
31
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
32
|
RETURN '-1'
|
33
|
END
|
34
|
ELSE
|
35
|
BEGIN
|
36
|
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 <>''))
|
37
|
BEGIN
|
38
|
UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE COL_MULTI_MASTER_ID =@p_TRN_ID
|
39
|
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'
|
40
|
-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
|
41
|
UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
|
42
|
-- GiaNT 29/09/2021
|
43
|
INSERT INTO dbo.PL_PROCESS
|
44
|
(
|
45
|
REQ_ID,
|
46
|
PROCESS_ID,
|
47
|
CHECKER_ID,
|
48
|
APPROVE_DT,
|
49
|
PROCESS_DESC,NOTES
|
50
|
)
|
51
|
VALUES
|
52
|
( @p_TRN_ID,
|
53
|
'REJECT',
|
54
|
@p_REJECTED_BY,
|
55
|
GETDATE(),
|
56
|
@p_REASON ,
|
57
|
N'Từ chối phiếu'
|
58
|
)
|
59
|
END
|
60
|
ELSE
|
61
|
BEGIN
|
62
|
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'
|
63
|
ROLLBACK TRANSACTION
|
64
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
65
|
RETURN '-1'
|
66
|
END
|
67
|
END
|
68
|
END
|
69
|
ELSE IF(@p_STAGE='KT_HC')
|
70
|
BEGIN -- KSV - GDV trả về người tạo
|
71
|
IF(EXISTS (SELECT 1 FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
|
72
|
BEGIN
|
73
|
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'
|
74
|
ROLLBACK TRANSACTION
|
75
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
76
|
RETURN '-1'
|
77
|
END
|
78
|
ELSE
|
79
|
BEGIN
|
80
|
-- Xóa thông tin xác nhận thu hồi
|
81
|
DELETE dbo.ASS_COLLECT_CONFIRM_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID
|
82
|
|
83
|
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,CHECKER_ID=NULL,APPROVE_DT=NULL WHERE COL_MULTI_MASTER_ID =@p_TRN_ID
|
84
|
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'
|
85
|
-- GiaNT 29/09/2021
|
86
|
INSERT INTO dbo.PL_PROCESS
|
87
|
(
|
88
|
REQ_ID,
|
89
|
PROCESS_ID,
|
90
|
CHECKER_ID,
|
91
|
APPROVE_DT,
|
92
|
PROCESS_DESC,NOTES
|
93
|
)
|
94
|
VALUES
|
95
|
( @p_TRN_ID,
|
96
|
'REJECT',
|
97
|
@p_REJECTED_BY,
|
98
|
GETDATE(),
|
99
|
@p_REASON ,
|
100
|
N'Từ chối phiếu'
|
101
|
)
|
102
|
END
|
103
|
END
|
104
|
ELSE
|
105
|
BEGIN -- TDV trả về người tạo
|
106
|
IF(EXISTS (SELECT 1 FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
|
107
|
BEGIN
|
108
|
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'
|
109
|
ROLLBACK TRANSACTION
|
110
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
111
|
RETURN '-1'
|
112
|
END
|
113
|
ELSE
|
114
|
BEGIN
|
115
|
UPDATE ASS_COLLECT_MULTI_MASTER SET AUTH_STATUS ='R' WHERE COL_MULTI_MASTER_ID =@p_TRN_ID
|
116
|
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'
|
117
|
INSERT INTO dbo.PL_PROCESS
|
118
|
(
|
119
|
REQ_ID,
|
120
|
PROCESS_ID,
|
121
|
CHECKER_ID,
|
122
|
APPROVE_DT,
|
123
|
PROCESS_DESC,NOTES
|
124
|
)
|
125
|
VALUES
|
126
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
127
|
'REJECT', -- PROCESS_ID - varchar(10)
|
128
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
129
|
GETDATE(), -- APPROVE_DT - datetime
|
130
|
@p_REASON,
|
131
|
N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000)
|
132
|
)
|
133
|
END
|
134
|
END
|
135
|
|
136
|
END
|
137
|
-- Điều chuyển tài sản
|
138
|
ELSE IF(@p_TRN_TYPE ='ASS_TRANSFER_MUL')
|
139
|
BEGIN
|
140
|
---- GiaNT 29/09/2021 Sửa
|
141
|
IF(@p_STAGE='KT')
|
142
|
BEGIN -- KSV trả về GDV
|
143
|
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'))
|
144
|
BEGIN
|
145
|
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'
|
146
|
ROLLBACK TRANSACTION
|
147
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
148
|
RETURN '-1'
|
149
|
END
|
150
|
ELSE
|
151
|
BEGIN
|
152
|
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 <>''))
|
153
|
BEGIN
|
154
|
UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
|
155
|
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'
|
156
|
-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
|
157
|
UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
|
158
|
-- GiaNT 29/09/2021
|
159
|
INSERT INTO dbo.PL_PROCESS
|
160
|
(
|
161
|
REQ_ID,
|
162
|
PROCESS_ID,
|
163
|
CHECKER_ID,
|
164
|
APPROVE_DT,
|
165
|
PROCESS_DESC,NOTES
|
166
|
)
|
167
|
VALUES
|
168
|
( @p_TRN_ID,
|
169
|
'REJECT',
|
170
|
@p_REJECTED_BY,
|
171
|
GETDATE(),
|
172
|
@p_REASON ,
|
173
|
N'Trả về nhân viên xử lý'
|
174
|
)
|
175
|
END
|
176
|
ELSE
|
177
|
BEGIN
|
178
|
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'
|
179
|
ROLLBACK TRANSACTION
|
180
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
181
|
RETURN '-1'
|
182
|
END
|
183
|
END
|
184
|
END
|
185
|
ELSE IF(@p_STAGE='KT_HC')
|
186
|
BEGIN -- KSV - GDV trả về người tạo
|
187
|
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'))
|
188
|
BEGIN
|
189
|
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'
|
190
|
ROLLBACK TRANSACTION
|
191
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
192
|
RETURN '-1'
|
193
|
END
|
194
|
ELSE
|
195
|
BEGIN
|
196
|
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
|
197
|
WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
|
198
|
|
199
|
-- Xóa thông tin xác nhận điều chuyển
|
200
|
DELETE ASS_TRANSFER_CONFIRM_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
|
201
|
UPDATE ASS_TRANSFER_MULTI_MASTER SET CHECKER_ID =NULL,APPROVE_DT=NULL,MAKER_ID_KT=NULL,CREATE_DT_KT=NULL WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
|
202
|
|
203
|
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'
|
204
|
INSERT INTO dbo.PL_PROCESS
|
205
|
(
|
206
|
REQ_ID,
|
207
|
PROCESS_ID,
|
208
|
CHECKER_ID,
|
209
|
APPROVE_DT,
|
210
|
PROCESS_DESC,NOTES
|
211
|
)
|
212
|
VALUES
|
213
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
214
|
'REJECT', -- PROCESS_ID - varchar(10)
|
215
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
216
|
GETDATE(), -- APPROVE_DT - datetime
|
217
|
@p_REASON ,N'Trả về hành chính' -- PROCESS_DESC - nvarchar(1000)
|
218
|
)
|
219
|
END
|
220
|
END
|
221
|
ELSE
|
222
|
BEGIN -- TDV trả về người tạo
|
223
|
IF(EXISTS (SELECT * FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
|
224
|
BEGIN
|
225
|
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'
|
226
|
ROLLBACK TRANSACTION
|
227
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
228
|
RETURN '-1'
|
229
|
END
|
230
|
ELSE
|
231
|
BEGIN
|
232
|
UPDATE ASS_TRANSFER_MULTI_MASTER SET AUTH_STATUS ='R' WHERE TRANS_MULTI_MASTER_ID = @p_TRN_ID
|
233
|
SET @p_MESSAGE =N'Thông tin điều chuyển tài sản đã được trả về thành công'
|
234
|
INSERT INTO dbo.PL_PROCESS
|
235
|
(
|
236
|
REQ_ID,
|
237
|
PROCESS_ID,
|
238
|
CHECKER_ID,
|
239
|
APPROVE_DT,
|
240
|
PROCESS_DESC,NOTES
|
241
|
)
|
242
|
VALUES
|
243
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
244
|
'REJECT', -- PROCESS_ID - varchar(10)
|
245
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
246
|
GETDATE(), -- APPROVE_DT - datetime
|
247
|
@p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000)
|
248
|
)
|
249
|
END
|
250
|
END
|
251
|
END
|
252
|
-- Xuất sử dụng tài sản
|
253
|
ELSE IF(@p_TRN_TYPE ='ASS_USE_MUL')
|
254
|
BEGIN
|
255
|
IF(@p_STAGE='KT')
|
256
|
BEGIN -- KSV trả về GDV
|
257
|
IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@p_TRN_ID AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
|
258
|
BEGIN
|
259
|
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'
|
260
|
ROLLBACK TRANSACTION
|
261
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
262
|
RETURN '-1'
|
263
|
END
|
264
|
ELSE
|
265
|
BEGIN
|
266
|
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 <>''))
|
267
|
BEGIN
|
268
|
UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS_KT ='R' WHERE USER_MASTER_ID =@p_TRN_ID
|
269
|
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'
|
270
|
-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
|
271
|
UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
|
272
|
-- GiaNT 29/09/2021
|
273
|
INSERT INTO dbo.PL_PROCESS
|
274
|
(
|
275
|
REQ_ID,
|
276
|
PROCESS_ID,
|
277
|
CHECKER_ID,
|
278
|
APPROVE_DT,
|
279
|
PROCESS_DESC,NOTES
|
280
|
)
|
281
|
VALUES
|
282
|
( @p_TRN_ID,
|
283
|
'REJECT',
|
284
|
@p_REJECTED_BY,
|
285
|
GETDATE(),
|
286
|
@p_REASON ,
|
287
|
N'Từ chối phiếu'
|
288
|
)
|
289
|
END
|
290
|
ELSE
|
291
|
BEGIN
|
292
|
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'
|
293
|
ROLLBACK TRANSACTION
|
294
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
295
|
RETURN '-1'
|
296
|
END
|
297
|
END
|
298
|
END
|
299
|
ELSE IF(@p_STAGE='KT_HC')
|
300
|
BEGIN -- KSV - GDV trả về người tạo
|
301
|
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'))
|
302
|
BEGIN
|
303
|
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'
|
304
|
ROLLBACK TRANSACTION
|
305
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
306
|
RETURN '-1'
|
307
|
END
|
308
|
ELSE
|
309
|
BEGIN
|
310
|
-- Xóa thông tin xác nhận xuất sử dụng
|
311
|
DELETE dbo.ASS_USE_CONFIRM_MASTER WHERE USER_MASTER_ID = @p_TRN_ID
|
312
|
|
313
|
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,CHECKER_ID=NULL,APPROVE_DT=NULL WHERE USER_MASTER_ID =@p_TRN_ID
|
314
|
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'
|
315
|
-- GiaNT 29/09/2021
|
316
|
INSERT INTO dbo.PL_PROCESS
|
317
|
(
|
318
|
REQ_ID,
|
319
|
PROCESS_ID,
|
320
|
CHECKER_ID,
|
321
|
APPROVE_DT,
|
322
|
PROCESS_DESC,NOTES
|
323
|
)
|
324
|
VALUES
|
325
|
( @p_TRN_ID,
|
326
|
'REJECT',
|
327
|
@p_REJECTED_BY,
|
328
|
GETDATE(),
|
329
|
@p_REASON ,
|
330
|
N'Từ chối phiếu'
|
331
|
)
|
332
|
END
|
333
|
END
|
334
|
ELSE
|
335
|
BEGIN -- TDV trả về người tạo
|
336
|
IF(EXISTS (SELECT * FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
|
337
|
BEGIN
|
338
|
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'
|
339
|
ROLLBACK TRANSACTION
|
340
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
341
|
RETURN '-1'
|
342
|
END
|
343
|
ELSE
|
344
|
BEGIN
|
345
|
UPDATE ASS_USE_MULTI_MASTER SET AUTH_STATUS ='R' WHERE USER_MASTER_ID =@p_TRN_ID
|
346
|
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'
|
347
|
INSERT INTO dbo.PL_PROCESS
|
348
|
(
|
349
|
REQ_ID,
|
350
|
PROCESS_ID,
|
351
|
CHECKER_ID,
|
352
|
APPROVE_DT,
|
353
|
PROCESS_DESC,NOTES
|
354
|
)
|
355
|
VALUES
|
356
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
357
|
'REJECT', -- PROCESS_ID - varchar(10)
|
358
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
359
|
GETDATE(), -- APPROVE_DT - datetime
|
360
|
@p_REASON,
|
361
|
N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000)
|
362
|
)
|
363
|
END
|
364
|
END
|
365
|
|
366
|
END
|
367
|
-- Thanh lý tài sản
|
368
|
ELSE IF(@p_TRN_TYPE ='ASS_LIQ_MUL')
|
369
|
BEGIN
|
370
|
IF(@p_STAGE='KT')
|
371
|
BEGIN -- KSV trả về GDV
|
372
|
IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
|
373
|
BEGIN
|
374
|
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'
|
375
|
ROLLBACK TRANSACTION
|
376
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
377
|
RETURN '-1'
|
378
|
END
|
379
|
ELSE
|
380
|
BEGIN
|
381
|
IF(EXISTS(SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
|
382
|
BEGIN
|
383
|
UPDATE ASS_LIQUIDATION SET AUTH_STATUS_KT ='R' WHERE LIQ_ID =@p_TRN_ID
|
384
|
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'
|
385
|
-- GiaNT 29/09/2021
|
386
|
INSERT INTO dbo.PL_PROCESS
|
387
|
(
|
388
|
REQ_ID,
|
389
|
PROCESS_ID,
|
390
|
CHECKER_ID,
|
391
|
APPROVE_DT,
|
392
|
PROCESS_DESC,NOTES
|
393
|
)
|
394
|
VALUES
|
395
|
( @p_TRN_ID,
|
396
|
'REJECT',
|
397
|
@p_REJECTED_BY,
|
398
|
GETDATE(),
|
399
|
@p_REASON ,
|
400
|
N'Từ chối phiếu'
|
401
|
)
|
402
|
END
|
403
|
ELSE
|
404
|
BEGIN
|
405
|
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'
|
406
|
ROLLBACK TRANSACTION
|
407
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
408
|
RETURN '-1'
|
409
|
END
|
410
|
END
|
411
|
END
|
412
|
ELSE IF(@p_STAGE='KT_HC')
|
413
|
BEGIN -- KSV - GDV trả về người tạo
|
414
|
IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
|
415
|
BEGIN
|
416
|
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'
|
417
|
ROLLBACK TRANSACTION
|
418
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
419
|
RETURN '-1'
|
420
|
END
|
421
|
ELSE
|
422
|
BEGIN
|
423
|
UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL,CHECKER_ID=NULL,APPROVE_DT=NULL WHERE LIQ_ID =@p_TRN_ID
|
424
|
SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công'
|
425
|
-- GiaNT 29/09/2021
|
426
|
INSERT INTO dbo.PL_PROCESS
|
427
|
(
|
428
|
REQ_ID,
|
429
|
PROCESS_ID,
|
430
|
CHECKER_ID,
|
431
|
APPROVE_DT,
|
432
|
PROCESS_DESC,NOTES
|
433
|
)
|
434
|
VALUES
|
435
|
( @p_TRN_ID,
|
436
|
'REJECT',
|
437
|
@p_REJECTED_BY,
|
438
|
GETDATE(),
|
439
|
@p_REASON ,
|
440
|
N'Từ chối phiếu'
|
441
|
)
|
442
|
END
|
443
|
END
|
444
|
ELSE
|
445
|
BEGIN -- TDV trả về người tạo
|
446
|
IF(EXISTS (SELECT * FROM ASS_LIQUIDATION WHERE LIQ_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
|
447
|
BEGIN
|
448
|
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'
|
449
|
ROLLBACK TRANSACTION
|
450
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
451
|
RETURN '-1'
|
452
|
END
|
453
|
ELSE
|
454
|
BEGIN
|
455
|
UPDATE ASS_LIQUIDATION SET AUTH_STATUS ='R' WHERE LIQ_ID = @p_TRN_ID
|
456
|
SET @p_MESSAGE =N'Thông tin thanh lý tài sản đã được trả về người tạo thành công'
|
457
|
INSERT INTO dbo.PL_PROCESS
|
458
|
(
|
459
|
REQ_ID,
|
460
|
PROCESS_ID,
|
461
|
CHECKER_ID,
|
462
|
APPROVE_DT,
|
463
|
PROCESS_DESC,NOTES
|
464
|
)
|
465
|
VALUES
|
466
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
467
|
'REJECT', -- PROCESS_ID - varchar(10)
|
468
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
469
|
GETDATE(), -- APPROVE_DT - datetime
|
470
|
@p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000)
|
471
|
)
|
472
|
END
|
473
|
END
|
474
|
END
|
475
|
-- Nhập mới tài sản
|
476
|
ELSE IF(@p_TRN_TYPE ='ASS_ADDNEW_MUL')
|
477
|
BEGIN
|
478
|
IF(@p_STAGE='KT')
|
479
|
BEGIN -- KSV trả về GDV
|
480
|
IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
|
481
|
BEGIN
|
482
|
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'
|
483
|
ROLLBACK TRANSACTION
|
484
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
485
|
RETURN '-1'
|
486
|
END
|
487
|
ELSE
|
488
|
BEGIN
|
489
|
--IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
|
490
|
--BEGIN
|
491
|
UPDATE ASS_ADDNEW SET AUTH_STATUS_KT ='R' WHERE ADDNEW_ID =@p_TRN_ID
|
492
|
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'
|
493
|
-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_KT
|
494
|
UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID = 'UPDATE'
|
495
|
-- GiaNT 29/09/2021
|
496
|
INSERT INTO dbo.PL_PROCESS
|
497
|
(
|
498
|
REQ_ID,
|
499
|
PROCESS_ID,
|
500
|
CHECKER_ID,
|
501
|
APPROVE_DT,
|
502
|
PROCESS_DESC,NOTES
|
503
|
)
|
504
|
VALUES
|
505
|
( @p_TRN_ID,
|
506
|
'REJECT',
|
507
|
@p_REJECTED_BY,
|
508
|
GETDATE(),
|
509
|
@p_REASON ,
|
510
|
N'Từ chối phiếu'
|
511
|
)
|
512
|
--END
|
513
|
--ELSE
|
514
|
--BEGIN
|
515
|
-- 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'
|
516
|
-- ROLLBACK TRANSACTION
|
517
|
-- SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
518
|
-- RETURN '-1'
|
519
|
--END
|
520
|
END
|
521
|
END
|
522
|
ELSE IF(@p_STAGE='KT_HC')
|
523
|
BEGIN -- KSV - GDV trả về người tạo
|
524
|
IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT_HC'))
|
525
|
BEGIN
|
526
|
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'
|
527
|
ROLLBACK TRANSACTION
|
528
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
529
|
RETURN '-1'
|
530
|
END
|
531
|
ELSE
|
532
|
BEGIN
|
533
|
UPDATE ASS_ADDNEW SET AUTH_STATUS ='R',CREATE_DT_KT = NULL,MAKER_ID_KT = NULL,APPROVE_DT_KT = NULL,CHECKER_ID_KT = NULL,CHECKER_ID=NULL,APPROVE_DT=NULL WHERE ADDNEW_ID =@p_TRN_ID
|
534
|
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'
|
535
|
-- GiaNT 29/09/2021
|
536
|
INSERT INTO dbo.PL_PROCESS
|
537
|
(
|
538
|
REQ_ID,
|
539
|
PROCESS_ID,
|
540
|
CHECKER_ID,
|
541
|
APPROVE_DT,
|
542
|
PROCESS_DESC,NOTES
|
543
|
)
|
544
|
VALUES
|
545
|
( @p_TRN_ID,
|
546
|
'REJECT',
|
547
|
@p_REJECTED_BY,
|
548
|
GETDATE(),
|
549
|
@p_REASON ,
|
550
|
N'Từ chối phiếu'
|
551
|
)
|
552
|
END
|
553
|
END
|
554
|
ELSE
|
555
|
BEGIN -- TDV trả về người tạo
|
556
|
IF(EXISTS (SELECT * FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
|
557
|
BEGIN
|
558
|
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'
|
559
|
ROLLBACK TRANSACTION
|
560
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
561
|
RETURN '-1'
|
562
|
END
|
563
|
ELSE
|
564
|
BEGIN
|
565
|
UPDATE ASS_ADDNEW SET AUTH_STATUS ='R' WHERE ADDNEW_ID = @p_TRN_ID
|
566
|
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'
|
567
|
INSERT INTO dbo.PL_PROCESS
|
568
|
(
|
569
|
REQ_ID,
|
570
|
PROCESS_ID,
|
571
|
CHECKER_ID,
|
572
|
APPROVE_DT,
|
573
|
PROCESS_DESC,NOTES
|
574
|
)
|
575
|
VALUES
|
576
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
577
|
'REJECT', -- PROCESS_ID - varchar(10)
|
578
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
579
|
GETDATE(), -- APPROVE_DT - datetime
|
580
|
@p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000)
|
581
|
)
|
582
|
END
|
583
|
END
|
584
|
END
|
585
|
-- Kiểm kê tài sản
|
586
|
ELSE IF(@p_TRN_TYPE ='ASS_INV_MUL')
|
587
|
BEGIN
|
588
|
IF(@p_STAGE='APPROVE')
|
589
|
BEGIN -- Trưởng ban kiểm kê trả về người tạo
|
590
|
IF(EXISTS (SELECT * FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_TRN_ID AND AUTH_STATUS='A'))
|
591
|
BEGIN
|
592
|
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'
|
593
|
ROLLBACK TRANSACTION
|
594
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
595
|
RETURN '-1'
|
596
|
END
|
597
|
ELSE
|
598
|
BEGIN
|
599
|
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
|
600
|
UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '0', COMMENT = NULL, CONFIRM_DT = NULL WHERE INVENT_ID = @p_TRN_ID
|
601
|
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'
|
602
|
INSERT INTO dbo.PL_PROCESS
|
603
|
(
|
604
|
REQ_ID,
|
605
|
PROCESS_ID,
|
606
|
CHECKER_ID,
|
607
|
APPROVE_DT,
|
608
|
PROCESS_DESC,NOTES
|
609
|
)
|
610
|
VALUES
|
611
|
( @p_TRN_ID,
|
612
|
'REJECT',
|
613
|
@p_REJECTED_BY,
|
614
|
GETDATE(),
|
615
|
@p_REASON ,
|
616
|
N'Từ chối phiếu'
|
617
|
)
|
618
|
END
|
619
|
END
|
620
|
ELSE IF(@p_STAGE='CONFIRM')
|
621
|
BEGIN -- Thành phần ban kiểm kê trả về người tạo
|
622
|
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))
|
623
|
BEGIN
|
624
|
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'
|
625
|
ROLLBACK TRANSACTION
|
626
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
627
|
RETURN '-1'
|
628
|
END
|
629
|
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))
|
630
|
BEGIN
|
631
|
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
|
632
|
UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '0', COMMENT = NULL, CONFIRM_DT = NULL WHERE INVENT_ID = @p_TRN_ID
|
633
|
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'
|
634
|
INSERT INTO dbo.PL_PROCESS
|
635
|
(
|
636
|
REQ_ID,
|
637
|
PROCESS_ID,
|
638
|
CHECKER_ID,
|
639
|
APPROVE_DT,
|
640
|
PROCESS_DESC,NOTES
|
641
|
)
|
642
|
VALUES
|
643
|
( @p_TRN_ID,
|
644
|
'REJECT',
|
645
|
@p_REJECTED_BY,
|
646
|
GETDATE(),
|
647
|
@p_REASON ,
|
648
|
N'Từ chối phiếu'
|
649
|
)
|
650
|
END
|
651
|
END
|
652
|
ELSE
|
653
|
BEGIN -- TDV trả về người tạo
|
654
|
IF(EXISTS (SELECT * FROM dbo.ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_TRN_ID AND AUTH_STATUS_DVKD='A' AND @p_STAGE ='HC'))
|
655
|
BEGIN
|
656
|
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'
|
657
|
ROLLBACK TRANSACTION
|
658
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
659
|
RETURN '-1'
|
660
|
END
|
661
|
ELSE
|
662
|
BEGIN
|
663
|
UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD ='R' WHERE INVENT_ID = @p_TRN_ID
|
664
|
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'
|
665
|
INSERT INTO dbo.PL_PROCESS
|
666
|
(
|
667
|
REQ_ID,
|
668
|
PROCESS_ID,
|
669
|
CHECKER_ID,
|
670
|
APPROVE_DT,
|
671
|
PROCESS_DESC,NOTES
|
672
|
)
|
673
|
VALUES
|
674
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
675
|
'REJECT', -- PROCESS_ID - varchar(10)
|
676
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
677
|
GETDATE(), -- APPROVE_DT - datetime
|
678
|
@p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000)
|
679
|
)
|
680
|
END
|
681
|
END
|
682
|
END
|
683
|
--PHONGNT 12/8/22 - Cập nhật thông tin tài sản
|
684
|
ELSE IF(@p_TRN_TYPE ='ASS_UPDATE')
|
685
|
BEGIN
|
686
|
IF(EXISTS (SELECT 1 FROM ASS_UPDATE WHERE UPDATE_ID = @p_TRN_ID AND AUTH_STATUS='A'))
|
687
|
BEGIN
|
688
|
SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin sửa chữa tài sản đã được trưởng phòng Kế Toán duyệt'
|
689
|
ROLLBACK TRANSACTION
|
690
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
691
|
RETURN '-1'
|
692
|
END
|
693
|
ELSE
|
694
|
BEGIN
|
695
|
UPDATE PL_PROCESS SET PROCESS_ID ='UPDATE_NT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID='UPDATE'
|
696
|
UPDATE ASS_UPDATE SET AUTH_STATUS ='R' WHERE UPDATE_ID = @p_TRN_ID
|
697
|
SET @p_MESSAGE =N' Thông tin sửa chữa tài sản đã được trả về người tạo thành công'
|
698
|
INSERT INTO dbo.PL_PROCESS
|
699
|
(
|
700
|
REQ_ID,
|
701
|
PROCESS_ID,
|
702
|
CHECKER_ID,
|
703
|
APPROVE_DT,
|
704
|
PROCESS_DESC,NOTES
|
705
|
)
|
706
|
VALUES
|
707
|
( @p_TRN_ID,
|
708
|
'REJECT',
|
709
|
@p_REJECTED_BY,
|
710
|
GETDATE(),
|
711
|
@p_REASON ,
|
712
|
N'Từ chối phiếu'
|
713
|
)
|
714
|
END
|
715
|
END
|
716
|
--END
|
717
|
--PHONGNT 09/08/22 phân bổ chi phí
|
718
|
ELSE IF(@p_TRN_TYPE='ASS_COL_COST')
|
719
|
BEGIN
|
720
|
IF(EXISTS (SELECT 1 FROM dbo.ASS_COST_ALLOCATION WHERE COS_ID = @p_TRN_ID AND AUTH_STATUS='A'))
|
721
|
BEGIN
|
722
|
SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin phân bổ chi phí được trưởng đơn vị duyệt'
|
723
|
ROLLBACK TRANSACTION
|
724
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
725
|
RETURN '-1'
|
726
|
END
|
727
|
ELSE
|
728
|
BEGIN
|
729
|
UPDATE PL_PROCESS SET PROCESS_ID ='UPDATE_NT' WHERE REQ_ID = @p_TRN_ID AND PROCESS_ID='UPDATE'
|
730
|
UPDATE ASS_COST_ALLOCATION SET AUTH_STATUS ='R' WHERE COS_ID = @p_TRN_ID
|
731
|
SET @p_MESSAGE =N'Thông tin phân bổ chi phí đã được trả về người tạo thành công'
|
732
|
INSERT INTO dbo.PL_PROCESS
|
733
|
(
|
734
|
REQ_ID,
|
735
|
PROCESS_ID,
|
736
|
CHECKER_ID,
|
737
|
APPROVE_DT,
|
738
|
PROCESS_DESC,NOTES
|
739
|
)
|
740
|
VALUES
|
741
|
( @p_TRN_ID,
|
742
|
'REJECT',
|
743
|
@p_REJECTED_BY,
|
744
|
GETDATE(),
|
745
|
@p_REASON ,
|
746
|
N'Từ chối phiếu'
|
747
|
)
|
748
|
END
|
749
|
END
|
750
|
--END
|
751
|
ELSE IF(@p_TRN_TYPE ='MW_IN')
|
752
|
BEGIN
|
753
|
BEGIN
|
754
|
IF(@p_STAGE='KT')
|
755
|
BEGIN
|
756
|
IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
|
757
|
BEGIN
|
758
|
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'
|
759
|
ROLLBACK TRANSACTION
|
760
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
761
|
RETURN '0'
|
762
|
END
|
763
|
ELSE
|
764
|
BEGIN
|
765
|
--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
|
766
|
--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
|
767
|
IF(EXISTS(SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
|
768
|
BEGIN
|
769
|
UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
|
770
|
SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
|
771
|
|
772
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
773
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
774
|
|
775
|
END
|
776
|
ELSE
|
777
|
BEGIN
|
778
|
SET @p_STAGE ='HC'
|
779
|
UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
|
780
|
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'
|
781
|
|
782
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
783
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
784
|
END
|
785
|
END
|
786
|
END
|
787
|
ELSE IF(@p_STAGE='KT_HC')
|
788
|
BEGIN
|
789
|
BEGIN
|
790
|
IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND AUTH_STATUS_KT='A' AND @p_STAGE ='KT'))
|
791
|
BEGIN
|
792
|
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'
|
793
|
ROLLBACK TRANSACTION
|
794
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
795
|
RETURN '0'
|
796
|
END
|
797
|
ELSE
|
798
|
BEGIN
|
799
|
SET @p_STAGE ='HC'
|
800
|
UPDATE MW_IN_MASTER SET AUTH_STATUS ='R',CORE_NOTE = NULL
|
801
|
, MAKER_ID_KT = NULL, CREATE_DT_KT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
|
802
|
--,CHECKER_ID_KT = @p_REJECTED_BY,APPROVE_DT_KT = GETDATE()
|
803
|
WHERE IN_ID =@p_TRN_ID
|
804
|
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'
|
805
|
|
806
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
807
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
808
|
END
|
809
|
END
|
810
|
END
|
811
|
ELSE
|
812
|
BEGIN
|
813
|
IF(EXISTS (SELECT * FROM MW_IN_MASTER WHERE IN_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
|
814
|
BEGIN
|
815
|
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'
|
816
|
ROLLBACK TRANSACTION
|
817
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
818
|
RETURN '0'
|
819
|
END
|
820
|
ELSE
|
821
|
BEGIN
|
822
|
UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
|
823
|
SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
|
824
|
|
825
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
826
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
827
|
END
|
828
|
END
|
829
|
END
|
830
|
END
|
831
|
|
832
|
--- MW - TRANSFER : ĐIỀU CHUYỂN VẬT LIỆU
|
833
|
ELSE IF(@p_TRN_TYPE ='MW_TRANSFER')
|
834
|
BEGIN
|
835
|
BEGIN
|
836
|
IF(@p_STAGE='KT')
|
837
|
BEGIN
|
838
|
IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
|
839
|
BEGIN
|
840
|
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'
|
841
|
ROLLBACK TRANSACTION
|
842
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
843
|
RETURN '0'
|
844
|
END
|
845
|
ELSE
|
846
|
BEGIN
|
847
|
--UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
|
848
|
--SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
|
849
|
IF(EXISTS(SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
|
850
|
BEGIN
|
851
|
UPDATE MW_TRANSFER SET KT_AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
|
852
|
SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
|
853
|
|
854
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
855
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
856
|
END
|
857
|
ELSE
|
858
|
BEGIN
|
859
|
SET @p_STAGE ='HC'
|
860
|
UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
|
861
|
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'
|
862
|
|
863
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
864
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
865
|
END
|
866
|
END
|
867
|
END
|
868
|
ELSE IF(@p_STAGE='KT_HC')
|
869
|
BEGIN
|
870
|
IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
|
871
|
BEGIN
|
872
|
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'
|
873
|
ROLLBACK TRANSACTION
|
874
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
875
|
RETURN '0'
|
876
|
END
|
877
|
ELSE
|
878
|
BEGIN
|
879
|
SET @p_STAGE ='HC'
|
880
|
UPDATE MW_TRANSFER SET AUTH_STATUS ='R', CORE_NOTE = NULL
|
881
|
, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
|
882
|
--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
|
883
|
WHERE TRANSFER_ID =@p_TRN_ID
|
884
|
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'
|
885
|
|
886
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
887
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
888
|
END
|
889
|
END
|
890
|
ELSE
|
891
|
BEGIN
|
892
|
IF(EXISTS (SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
|
893
|
BEGIN
|
894
|
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'
|
895
|
ROLLBACK TRANSACTION
|
896
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
897
|
RETURN '0'
|
898
|
END
|
899
|
ELSE
|
900
|
BEGIN
|
901
|
UPDATE MW_TRANSFER SET AUTH_STATUS ='R' WHERE TRANSFER_ID =@p_TRN_ID
|
902
|
SET @p_MESSAGE =N'Thông tin điều chuyển vật liệu đã được trả về thành công'
|
903
|
|
904
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
905
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
906
|
END
|
907
|
END
|
908
|
END
|
909
|
|
910
|
END
|
911
|
--- MW_OUT : XUẤT VẬT LIỆU
|
912
|
ELSE IF(@p_TRN_TYPE ='MW_OUT')
|
913
|
BEGIN
|
914
|
BEGIN
|
915
|
IF(@p_STAGE='KT')
|
916
|
BEGIN
|
917
|
IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
|
918
|
BEGIN
|
919
|
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'
|
920
|
ROLLBACK TRANSACTION
|
921
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
922
|
RETURN '0'
|
923
|
END
|
924
|
ELSE
|
925
|
BEGIN
|
926
|
--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
|
927
|
--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
|
928
|
IF(EXISTS(SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
|
929
|
BEGIN
|
930
|
UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
|
931
|
SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
|
932
|
|
933
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
934
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
935
|
END
|
936
|
ELSE
|
937
|
BEGIN
|
938
|
SET @p_STAGE ='HC'
|
939
|
UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
|
940
|
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'
|
941
|
|
942
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
943
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
944
|
END
|
945
|
END
|
946
|
END
|
947
|
ELSE IF(@p_STAGE='KT_HC')
|
948
|
BEGIN
|
949
|
IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
|
950
|
BEGIN
|
951
|
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'
|
952
|
ROLLBACK TRANSACTION
|
953
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
954
|
RETURN '0'
|
955
|
END
|
956
|
ELSE
|
957
|
BEGIN
|
958
|
SET @p_STAGE ='HC'
|
959
|
UPDATE MW_OUT SET AUTH_STATUS ='R', CORE_NOTE = NULL
|
960
|
, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
|
961
|
--, KT_APPROVE_DT = GETDATE() ,KT_CHECKER_ID = @p_REJECTED_BY
|
962
|
WHERE OUT_ID =@p_TRN_ID
|
963
|
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'
|
964
|
|
965
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
966
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
967
|
END
|
968
|
END
|
969
|
ELSE
|
970
|
BEGIN
|
971
|
IF(EXISTS (SELECT * FROM MW_OUT WHERE OUT_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
|
972
|
BEGIN
|
973
|
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'
|
974
|
ROLLBACK TRANSACTION
|
975
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
976
|
RETURN '0'
|
977
|
END
|
978
|
ELSE
|
979
|
BEGIN
|
980
|
UPDATE MW_OUT SET AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
|
981
|
SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
|
982
|
|
983
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
984
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
985
|
END
|
986
|
END
|
987
|
END
|
988
|
END
|
989
|
--- MW_OUT : THANH LÝ VẬT LIỆU
|
990
|
ELSE IF(@p_TRN_TYPE ='MW_LIQ_MASTER')
|
991
|
BEGIN
|
992
|
BEGIN
|
993
|
IF(@p_STAGE='KT')
|
994
|
BEGIN
|
995
|
IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
|
996
|
BEGIN
|
997
|
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'
|
998
|
ROLLBACK TRANSACTION
|
999
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1000
|
RETURN '0'
|
1001
|
END
|
1002
|
ELSE
|
1003
|
BEGIN
|
1004
|
--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
|
1005
|
--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
|
1006
|
IF(EXISTS(SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_MAKER_ID IS NOT NULL AND KT_MAKER_ID <>''))
|
1007
|
BEGIN
|
1008
|
UPDATE MW_LIQ_MASTER SET KT_AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
|
1009
|
SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công'
|
1010
|
|
1011
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
1012
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
1013
|
END
|
1014
|
ELSE
|
1015
|
BEGIN
|
1016
|
SET @p_STAGE ='HC'
|
1017
|
UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
|
1018
|
SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công'
|
1019
|
|
1020
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
1021
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
1022
|
END
|
1023
|
END
|
1024
|
END
|
1025
|
ELSE IF(@p_STAGE='KT_HC')
|
1026
|
BEGIN
|
1027
|
IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND KT_AUTH_STATUS='A' AND @p_STAGE ='KT'))
|
1028
|
BEGIN
|
1029
|
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'
|
1030
|
ROLLBACK TRANSACTION
|
1031
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1032
|
RETURN '0'
|
1033
|
END
|
1034
|
ELSE
|
1035
|
BEGIN
|
1036
|
SET @p_STAGE ='HC'
|
1037
|
UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R', CORE_NOTE = NULL
|
1038
|
, KT_MAKER_ID = NULL, KT_CREATE_DT = NULL, APPROVE_DT = NULL, CHECKER_ID = NULL
|
1039
|
--,KT_CHECKER_ID = @p_REJECTED_BY, KT_APPROVE_DT = GETDATE()
|
1040
|
WHERE LIQ_ID =@p_TRN_ID
|
1041
|
SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về hành chính thành công'
|
1042
|
|
1043
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
1044
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
1045
|
END
|
1046
|
END
|
1047
|
ELSE
|
1048
|
BEGIN
|
1049
|
IF(EXISTS (SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID =@p_TRN_ID AND AUTH_STATUS='A' AND @p_STAGE ='HC'))
|
1050
|
BEGIN
|
1051
|
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'
|
1052
|
ROLLBACK TRANSACTION
|
1053
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1054
|
RETURN '0'
|
1055
|
END
|
1056
|
ELSE
|
1057
|
BEGIN
|
1058
|
UPDATE MW_LIQ_MASTER SET AUTH_STATUS ='R' WHERE LIQ_ID =@p_TRN_ID
|
1059
|
SET @p_MESSAGE =N'Thông tin thanh lý vật liệu đã được trả về thành công'
|
1060
|
|
1061
|
INSERT INTO dbo.PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES)
|
1062
|
VALUES (@p_TRN_ID, 'REJECT', @p_REJECTED_BY, GETDATE(), @p_REASON , N'Từ chối phiếu')
|
1063
|
END
|
1064
|
END
|
1065
|
END
|
1066
|
END
|
1067
|
-- PHIEU DE NGHI TAM UNG 05 11 2019
|
1068
|
ELSE IF(@p_TRN_TYPE ='REQ_ADVANCE_PAY')
|
1069
|
BEGIN
|
1070
|
|
1071
|
IF(@p_STAGE='KT')
|
1072
|
BEGIN
|
1073
|
-- doanptt them rang buoc nhap ky do tra ve
|
1074
|
IF(@p_REASON IS NULL OR @p_REASON = '')
|
1075
|
BEGIN
|
1076
|
SET @p_MESSAGE =N'Lý do trả về không được để trống'
|
1077
|
ROLLBACK TRANSACTION
|
1078
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1079
|
RETURN '-1'
|
1080
|
END
|
1081
|
IF((SELECT AUTH_STATUS_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
|
1082
|
BEGIN
|
1083
|
SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được kiểm soát viên trả về giao dịch viên trước đó'
|
1084
|
ROLLBACK TRANSACTION
|
1085
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1086
|
RETURN '-1'
|
1087
|
END
|
1088
|
IF((SELECT CHECKER_ID_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) IS NULL)
|
1089
|
BEGIN
|
1090
|
IF((SELECT AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
|
1091
|
BEGIN
|
1092
|
SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được kiểm soát viên trả về người tạo trước đó'
|
1093
|
ROLLBACK TRANSACTION
|
1094
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1095
|
RETURN '-1'
|
1096
|
END
|
1097
|
/*
|
1098
|
ELSE
|
1099
|
BEGIN
|
1100
|
SET @p_MESSAGE =N'Trả về thất bại! Phiếu đề nghị tạm ứng này không thuộc quyền xử lý của kiểm soát viên'
|
1101
|
ROLLBACK TRANSACTION
|
1102
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1103
|
RETURN '-1'
|
1104
|
END
|
1105
|
*/
|
1106
|
END
|
1107
|
|
1108
|
IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
|
1109
|
BEGIN
|
1110
|
SET @p_MESSAGE =N'Trả về thất bại! Phiếu đề nghị tạm ứng đã được kế toán duyệt'
|
1111
|
ROLLBACK TRANSACTION
|
1112
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1113
|
RETURN '-1'
|
1114
|
END
|
1115
|
ELSE
|
1116
|
BEGIN
|
1117
|
-- NEU DANG O VI TRI TKTGD, TKHDQT
|
1118
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND ROLE_USER IN ('TKTGD','TKHDQT') AND STATUS ='C'))
|
1119
|
BEGIN
|
1120
|
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS' AND TLNAME =@p_REJECTED_BY))
|
1121
|
BEGIN
|
1122
|
SET @p_MESSAGE =N'Trả về thất bại! Phiếu đề nghị tạm ứng chưa được điều phối cho nhân viên xử lý'
|
1123
|
ROLLBACK TRANSACTION
|
1124
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1125
|
RETURN '-1'
|
1126
|
END
|
1127
|
--UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
|
1128
|
SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về nhân viên xử lý thành công'
|
1129
|
---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
|
1130
|
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')
|
1131
|
AND REQ_ID =@p_TRN_ID
|
1132
|
-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
|
1133
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID AND TYPE_JOB ='KS'
|
1134
|
INSERT INTO dbo.PL_PROCESS
|
1135
|
(
|
1136
|
REQ_ID,
|
1137
|
PROCESS_ID,
|
1138
|
CHECKER_ID,
|
1139
|
APPROVE_DT,
|
1140
|
PROCESS_DESC,NOTES
|
1141
|
)
|
1142
|
VALUES
|
1143
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1144
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1145
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1146
|
GETDATE(), -- APPROVE_DT - datetime
|
1147
|
@p_REASON ,N'Trưởng văn phòng từ chối nhân viên xử lý' -- PROCESS_DESC - nvarchar(1000)
|
1148
|
)
|
1149
|
EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
|
1150
|
IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
|
1151
|
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))
|
1152
|
COMMIT TRANSACTION
|
1153
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1154
|
RETURN '0'
|
1155
|
END
|
1156
|
--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
|
1157
|
--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
|
1158
|
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 <>''))
|
1159
|
BEGIN
|
1160
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
|
1161
|
-- DOANPTT 291222: THEM LOG KPI
|
1162
|
UPDATE TR_REQ_KPI
|
1163
|
SET AUTH_STATUS_KT ='U'
|
1164
|
WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT = 'P'
|
1165
|
SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về thành công'
|
1166
|
---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
|
1167
|
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)
|
1168
|
AND REQ_ID =@p_TRN_ID
|
1169
|
-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
|
1170
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID
|
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, -- REQ_ID - varchar(15)
|
1181
|
'REJECT_GDV', -- PROCESS_ID - varchar(10)
|
1182
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1183
|
GETDATE(), -- APPROVE_DT - datetime
|
1184
|
@p_REASON ,N'KSV trả về cho GDV' -- PROCESS_DESC - nvarchar(1000)
|
1185
|
)
|
1186
|
END
|
1187
|
ELSE
|
1188
|
BEGIN
|
1189
|
SET @p_STAGE ='HC'
|
1190
|
UPDATE TR_REQ_ADVANCE_PAYMENT
|
1191
|
SET AUTH_STATUS ='R',PROCESS = NULL,MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL, AUTH_STATUS_KT = NULL,
|
1192
|
-- doanptt 070922: Xoa thong tin cac cap phe duyet TKTGd, TKHDQT neu co
|
1193
|
TK_TGD_NOTES = NULL, TK_HDQT_NOTES = NULL, OTHER_NOTES = NULL, TK_TGD_XL_TLNAME = NULL, TK_TGD_APPR_TLNAME = NULL, TK_HDQT_XL_TLNAME = NULL, TK_HDQT_APPR_TLNAME = NULL
|
1194
|
WHERE REQ_PAY_ID =@p_TRN_ID
|
1195
|
SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về đơn vị thành công'
|
1196
|
---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
|
1197
|
DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
|
1198
|
DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
|
1199
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID = @p_TRN_ID))
|
1200
|
BEGIN
|
1201
|
DELETE FROM TR_REQ_PAY_TRANS_OUTSIDE_REC WHERE REQ_PAY_ID =@p_TRN_ID
|
1202
|
END
|
1203
|
-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
|
1204
|
INSERT INTO dbo.PL_PROCESS
|
1205
|
(
|
1206
|
REQ_ID,
|
1207
|
PROCESS_ID,
|
1208
|
CHECKER_ID,
|
1209
|
APPROVE_DT,
|
1210
|
PROCESS_DESC,NOTES
|
1211
|
)
|
1212
|
VALUES
|
1213
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1214
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1215
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1216
|
GETDATE(), -- APPROVE_DT - datetime
|
1217
|
@p_REASON,N'Trả về cho người tạo phiếu' -- PROCESS_DESC - nvarchar(1000)
|
1218
|
)
|
1219
|
END
|
1220
|
END
|
1221
|
END
|
1222
|
ELSE IF(@p_STAGE='KT_HC')
|
1223
|
BEGIN
|
1224
|
IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS_KT = 'A'))
|
1225
|
BEGIN
|
1226
|
SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị tạm ứng đã được kế toán duyệt'
|
1227
|
ROLLBACK TRANSACTION
|
1228
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1229
|
RETURN '-1'
|
1230
|
END
|
1231
|
ELSE
|
1232
|
BEGIN
|
1233
|
SET @p_STAGE ='HC'
|
1234
|
UPDATE TR_REQ_ADVANCE_PAYMENT
|
1235
|
SET AUTH_STATUS ='R',PROCESS = NULL,MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL, AUTH_STATUS_KT = NULL,
|
1236
|
-- doanptt 070922: Xoa thong tin cac cap phe duyet TKTGd, TKHDQT neu co
|
1237
|
TK_TGD_NOTES = NULL, TK_HDQT_NOTES = NULL, OTHER_NOTES = NULL, TK_TGD_XL_TLNAME = NULL, TK_TGD_APPR_TLNAME = NULL, TK_HDQT_XL_TLNAME = NULL, TK_HDQT_APPR_TLNAME = NULL
|
1238
|
WHERE REQ_PAY_ID =@p_TRN_ID
|
1239
|
-- DOANPTT 291222: THEM LOG KPI
|
1240
|
UPDATE TR_REQ_KPI
|
1241
|
SET AUTH_STATUS_KT ='R', APPROVE_DT_KT = GETDATE(),CHECKER_ID_KT = @p_REJECTED_BY, REQ_STATUS = 'REJECT'
|
1242
|
WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT = 'P'
|
1243
|
SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về đơn vị thành công'
|
1244
|
---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
|
1245
|
DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
|
1246
|
DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
|
1247
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID = @p_TRN_ID))
|
1248
|
BEGIN
|
1249
|
DELETE FROM TR_REQ_PAY_TRANS_OUTSIDE_REC WHERE REQ_PAY_ID =@p_TRN_ID
|
1250
|
END
|
1251
|
-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
|
1252
|
INSERT INTO dbo.PL_PROCESS
|
1253
|
(
|
1254
|
REQ_ID,
|
1255
|
PROCESS_ID,
|
1256
|
CHECKER_ID,
|
1257
|
APPROVE_DT,
|
1258
|
PROCESS_DESC,NOTES
|
1259
|
)
|
1260
|
VALUES
|
1261
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1262
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1263
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1264
|
GETDATE(), -- APPROVE_DT - datetime
|
1265
|
@p_REASON,N'Trả về cho người tạo phiếu' -- PROCESS_DESC - nvarchar(1000)
|
1266
|
)
|
1267
|
END
|
1268
|
END
|
1269
|
ELSE IF(@p_STAGE ='HC')
|
1270
|
BEGIN
|
1271
|
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 ='')))
|
1272
|
BEGIN
|
1273
|
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ị'
|
1274
|
ROLLBACK TRANSACTION
|
1275
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1276
|
RETURN '-1'
|
1277
|
END
|
1278
|
IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS='R'))
|
1279
|
BEGIN
|
1280
|
SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị tạm ứng đã được trả về trước đó'
|
1281
|
ROLLBACK TRANSACTION
|
1282
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1283
|
RETURN '-1'
|
1284
|
END
|
1285
|
ELSE
|
1286
|
BEGIN
|
1287
|
UPDATE TR_REQ_ADVANCE_PAYMENT
|
1288
|
SET AUTH_STATUS ='R',PROCESS =NULL,CHECKER_ID ='',APPROVE_DT =NULL, MAKER_ID_KT =NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT =NULL, AUTH_STATUS_KT = NULL,
|
1289
|
-- doanptt 070922: Xoa thong tin cac cap phe duyet TKTGd, TKHDQT neu co
|
1290
|
TK_TGD_NOTES = NULL, TK_HDQT_NOTES = NULL, OTHER_NOTES = NULL, TK_TGD_XL_TLNAME = NULL, TK_TGD_APPR_TLNAME = NULL, TK_HDQT_XL_TLNAME = NULL, TK_HDQT_APPR_TLNAME = NULL
|
1291
|
WHERE REQ_PAY_ID =@p_TRN_ID
|
1292
|
SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được trả về thành công'
|
1293
|
--NEU PHIEU DANG TRONG QUA TRINH PHE DUYET THI XOA TOAN BO PL_PROCESS VA PL_REQUEST_PROCESS
|
1294
|
-- XOA CAC CAP PHE DUYET, KHI DON VI THUC HIEN CHINH SUA THI HE THONG SE INSERT LAI
|
1295
|
DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
|
1296
|
DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
|
1297
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID = @p_TRN_ID))
|
1298
|
BEGIN
|
1299
|
DELETE FROM TR_REQ_PAY_TRANS_OUTSIDE_REC WHERE REQ_PAY_ID =@p_TRN_ID
|
1300
|
END
|
1301
|
--DELETE FROM PL_PROCESS WHERE REQ_ID =@p_TRN_ID
|
1302
|
-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
|
1303
|
INSERT INTO dbo.PL_PROCESS
|
1304
|
(
|
1305
|
REQ_ID,
|
1306
|
PROCESS_ID,
|
1307
|
CHECKER_ID,
|
1308
|
APPROVE_DT,
|
1309
|
PROCESS_DESC,NOTES
|
1310
|
)
|
1311
|
VALUES
|
1312
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1313
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1314
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1315
|
GETDATE(), -- APPROVE_DT - datetime
|
1316
|
@p_REASON ,N'Trả về cho người tạo phiếu' -- PROCESS_DESC - nvarchar(1000)
|
1317
|
)
|
1318
|
END
|
1319
|
END
|
1320
|
ELSE IF(@p_STAGE ='SUG')
|
1321
|
BEGIN
|
1322
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
|
1323
|
DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT
|
1324
|
SET @LEVEL_JOB =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
|
1325
|
SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1
|
1326
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_TRN_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV)
|
1327
|
-- CAP NHAT TINH TRANG VE DANG XU LY
|
1328
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID
|
1329
|
INSERT INTO dbo.PL_PROCESS
|
1330
|
(
|
1331
|
REQ_ID,
|
1332
|
PROCESS_ID,
|
1333
|
CHECKER_ID,
|
1334
|
APPROVE_DT,
|
1335
|
PROCESS_DESC,NOTES
|
1336
|
)
|
1337
|
VALUES
|
1338
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1339
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1340
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1341
|
GETDATE(), -- APPROVE_DT - datetime
|
1342
|
@p_REASON ,N'GDV đề xuất từ chối phiếu' -- PROCESS_DESC - nvarchar(1000)
|
1343
|
)
|
1344
|
SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng được đề xuất từ chối thành công'
|
1345
|
END
|
1346
|
ELSE IF(@p_STAGE ='DEL')
|
1347
|
BEGIN
|
1348
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID
|
1349
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
|
1350
|
UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID
|
1351
|
UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE REQ_PAY_ID =@p_TRN_ID
|
1352
|
UPDATE TR_REQ_PAY_PERIOD SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
|
1353
|
---------------------------------------------------------------------------------------------------------------------
|
1354
|
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
|
1355
|
OPEN CURS_TRADE
|
1356
|
FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
|
1357
|
WHILE @@FETCH_STATUS = 0
|
1358
|
BEGIN
|
1359
|
UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
|
1360
|
WHERE TRADE_ID =@TRADED_ID
|
1361
|
FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
|
1362
|
END
|
1363
|
CLOSE CURS_TRADE
|
1364
|
DEALLOCATE CURS_TRADE
|
1365
|
|
1366
|
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
|
1367
|
OPEN CURS
|
1368
|
FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
|
1369
|
WHILE @@FETCH_STATUS = 0
|
1370
|
BEGIN
|
1371
|
UPDATE TR_REQ_ADVANCE_PAYMENT
|
1372
|
SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
|
1373
|
FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
|
1374
|
END
|
1375
|
CLOSE CURS
|
1376
|
DEALLOCATE CURS
|
1377
|
INSERT INTO dbo.PL_PROCESS
|
1378
|
(
|
1379
|
REQ_ID,
|
1380
|
PROCESS_ID,
|
1381
|
CHECKER_ID,
|
1382
|
APPROVE_DT,
|
1383
|
PROCESS_DESC,NOTES
|
1384
|
)
|
1385
|
VALUES
|
1386
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1387
|
'DEL', -- PROCESS_ID - varchar(10)
|
1388
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1389
|
GETDATE(), -- APPROVE_DT - datetime
|
1390
|
@p_REASON ,N'KSV hủy phiếu' -- PROCESS_DESC - nvarchar(1000)
|
1391
|
)
|
1392
|
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'
|
1393
|
END
|
1394
|
ELSE IF(@p_STAGE='TGD/HDQT')
|
1395
|
BEGIN
|
1396
|
PRINT 'START'
|
1397
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND ROLE_USER IN ('TGD') AND STATUS ='C'))
|
1398
|
BEGIN
|
1399
|
PRINT 'CEO TGD'
|
1400
|
--UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
|
1401
|
SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về VP Thư Ký TGĐ thành công'
|
1402
|
---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
|
1403
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME ='phuongnht' AND REQ_ID =@p_TRN_ID
|
1404
|
AND ID =(SELECT MAX(ID) FROM PL_REQUEST_PROCESS_CHILD WHERE TLNAME ='phuongnht' AND REQ_ID =@p_TRN_ID)
|
1405
|
-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
|
1406
|
UPDATE PL_REQUEST_PROCESS SET STATUS='C' WHERE REQ_ID =@p_TRN_ID AND ROLE_USER='TKTGD'
|
1407
|
UPDATE PL_REQUEST_PROCESS SET STATUS='P' WHERE REQ_ID =@p_TRN_ID AND ROLE_USER='TGD'
|
1408
|
INSERT INTO dbo.PL_PROCESS
|
1409
|
(
|
1410
|
REQ_ID,
|
1411
|
PROCESS_ID,
|
1412
|
CHECKER_ID,
|
1413
|
APPROVE_DT,
|
1414
|
PROCESS_DESC,NOTES
|
1415
|
)
|
1416
|
VALUES
|
1417
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1418
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1419
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1420
|
GETDATE(), -- APPROVE_DT - datetime
|
1421
|
@p_REASON ,N'TGĐ trả về VP Thư Ký TGD' -- PROCESS_DESC - nvarchar(1000)
|
1422
|
)
|
1423
|
EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
|
1424
|
IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
|
1425
|
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))
|
1426
|
COMMIT TRANSACTION
|
1427
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1428
|
RETURN '0'
|
1429
|
END
|
1430
|
--- NEU DANG CHỜ CHỦ TỊCH HĐQT
|
1431
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND ROLE_USER IN ('HDQT') AND STATUS ='C'))
|
1432
|
BEGIN
|
1433
|
PRINT 'CHU TICH HDQT'
|
1434
|
--UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
|
1435
|
SET @p_MESSAGE =N'Phiếu đề nghị tạm ứng đã được trả về VP HĐQT thành công'
|
1436
|
---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
|
1437
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE TLNAME ='toailc' AND REQ_ID =@p_TRN_ID
|
1438
|
AND ID =(SELECT MAX(ID) FROM PL_REQUEST_PROCESS_CHILD WHERE TLNAME ='toailc' AND REQ_ID =@p_TRN_ID)
|
1439
|
-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
|
1440
|
UPDATE PL_REQUEST_PROCESS SET STATUS='C' WHERE REQ_ID =@p_TRN_ID AND ROLE_USER='TKHDQT'
|
1441
|
UPDATE PL_REQUEST_PROCESS SET STATUS='P' WHERE REQ_ID =@p_TRN_ID AND ROLE_USER='HDQT'
|
1442
|
INSERT INTO dbo.PL_PROCESS
|
1443
|
(
|
1444
|
REQ_ID,
|
1445
|
PROCESS_ID,
|
1446
|
CHECKER_ID,
|
1447
|
APPROVE_DT,
|
1448
|
PROCESS_DESC,NOTES
|
1449
|
)
|
1450
|
VALUES
|
1451
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1452
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1453
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1454
|
GETDATE(), -- APPROVE_DT - datetime
|
1455
|
@p_REASON ,N'CTHDQT trả về VP HĐQT' -- PROCESS_DESC - nvarchar(1000)
|
1456
|
)
|
1457
|
EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
|
1458
|
IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
|
1459
|
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))
|
1460
|
COMMIT TRANSACTION
|
1461
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1462
|
RETURN '0'
|
1463
|
END
|
1464
|
END
|
1465
|
|
1466
|
|
1467
|
END
|
1468
|
-- END PHIEU DE NGHI TAM UNG 05 11 2019
|
1469
|
-- START PHIEU DE THI THANH TOAN 19-11-2019
|
1470
|
ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
|
1471
|
BEGIN
|
1472
|
BEGIN
|
1473
|
IF(@p_STAGE='KT')
|
1474
|
BEGIN
|
1475
|
IF((SELECT AUTH_STATUS_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
|
1476
|
BEGIN
|
1477
|
SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được kiểm soát viên trả về trước đó'
|
1478
|
ROLLBACK TRANSACTION
|
1479
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1480
|
RETURN '-1'
|
1481
|
END
|
1482
|
IF((SELECT CHECKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) IS NULL)
|
1483
|
BEGIN
|
1484
|
IF((SELECT AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID) = 'R')
|
1485
|
BEGIN
|
1486
|
SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được kiểm soát viên trả về trước đó'
|
1487
|
ROLLBACK TRANSACTION
|
1488
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1489
|
RETURN '-1'
|
1490
|
END
|
1491
|
END
|
1492
|
IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS_KT ='A' AND @p_STAGE ='KT'))
|
1493
|
BEGIN
|
1494
|
SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt'
|
1495
|
ROLLBACK TRANSACTION
|
1496
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1497
|
RETURN '-1'
|
1498
|
END
|
1499
|
ELSE
|
1500
|
BEGIN
|
1501
|
--UPDATE MW_OUT SET KT_AUTH_STATUS ='R' WHERE OUT_ID =@p_TRN_ID
|
1502
|
--SET @p_MESSAGE =N'Thông tin xuất sử dụng vật liệu đã được trả về thành công'
|
1503
|
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 <>''))
|
1504
|
BEGIN
|
1505
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='R' WHERE REQ_PAY_ID =@p_TRN_ID
|
1506
|
-- DOANPTT 291222: THEM LOG KPI
|
1507
|
UPDATE TR_REQ_KPI
|
1508
|
SET AUTH_STATUS_KT ='U'
|
1509
|
WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT = 'P'
|
1510
|
SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về thành công'
|
1511
|
---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
|
1512
|
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)
|
1513
|
AND REQ_ID =@p_TRN_ID
|
1514
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE TLNAME =@p_REJECTED_BY AND REQ_ID =@p_TRN_ID
|
1515
|
-- INSERT VAO BANG LICH SU
|
1516
|
INSERT INTO dbo.PL_PROCESS
|
1517
|
(
|
1518
|
REQ_ID,
|
1519
|
PROCESS_ID,
|
1520
|
CHECKER_ID,
|
1521
|
APPROVE_DT,
|
1522
|
PROCESS_DESC,NOTES
|
1523
|
)
|
1524
|
VALUES
|
1525
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1526
|
'REJECT_GDV', -- PROCESS_ID - varchar(10)
|
1527
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1528
|
GETDATE(), -- APPROVE_DT - datetime
|
1529
|
@p_REASON ,N'KSV trả về cho GDV' -- PROCESS_DESC - nvarchar(1000)
|
1530
|
)
|
1531
|
END
|
1532
|
ELSE
|
1533
|
BEGIN
|
1534
|
SET @p_STAGE ='HC'
|
1535
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R',PROCESS =NULL,MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL, AUTH_STATUS_KT = NULL
|
1536
|
WHERE REQ_PAY_ID =@p_TRN_ID
|
1537
|
-- DOANPTT 291222: THEM LOG KPI
|
1538
|
UPDATE TR_REQ_KPI
|
1539
|
SET AUTH_STATUS_KT ='R', APPROVE_DT_KT = GETDATE(),CHECKER_ID_KT = @p_REJECTED_BY, REQ_STATUS = 'REJECT'
|
1540
|
WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT = 'P'
|
1541
|
SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công'
|
1542
|
-- XOA DI DU LIEU DA DIEU PHOI, CHO DON VI XU LY VA DUYET LAI SE DIEU PHOI LAI
|
1543
|
---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
|
1544
|
DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
|
1545
|
-- INSERT VAO BANG LICH SU
|
1546
|
INSERT INTO dbo.PL_PROCESS
|
1547
|
(
|
1548
|
REQ_ID,
|
1549
|
PROCESS_ID,
|
1550
|
CHECKER_ID,
|
1551
|
APPROVE_DT,
|
1552
|
PROCESS_DESC,NOTES
|
1553
|
)
|
1554
|
VALUES
|
1555
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1556
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1557
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1558
|
GETDATE(), -- APPROVE_DT - datetime
|
1559
|
@p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000)
|
1560
|
)
|
1561
|
SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được từ chối thành công'
|
1562
|
--doanptt 210622 xóa nscp khi hủy hoặc trả phiếu về HC
|
1563
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
|
1564
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
|
1565
|
END
|
1566
|
END
|
1567
|
END
|
1568
|
ELSE IF(@p_STAGE='KT_HC')
|
1569
|
BEGIN
|
1570
|
IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS_KT = 'A'))
|
1571
|
BEGIN
|
1572
|
SET @p_MESSAGE =N'Hủy trả về thất bại!Phiếu đề nghị thanh toán đã được kế toán duyệt'
|
1573
|
ROLLBACK TRANSACTION
|
1574
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1575
|
RETURN '-1'
|
1576
|
END
|
1577
|
ELSE
|
1578
|
BEGIN
|
1579
|
SET @p_STAGE ='HC'
|
1580
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R', AUTH_STATUS_KT = NULL, PROCESS =NULL,MAKER_ID_KT = NULL, CREATE_DT_KT =NULL, APPROVE_DT = NULL, CHECKER_ID = NULL WHERE REQ_PAY_ID =@p_TRN_ID
|
1581
|
-- DOANPTT 291222: THEM LOG KPI
|
1582
|
UPDATE TR_REQ_KPI
|
1583
|
SET AUTH_STATUS_KT ='R', APPROVE_DT_KT = GETDATE(),CHECKER_ID_KT = @p_REJECTED_BY, REQ_STATUS = 'REJECT'
|
1584
|
WHERE REQ_ID = @p_TRN_ID AND AUTH_STATUS_KT = 'P'
|
1585
|
SET @p_MESSAGE =N'Phiếu đề nghị thanh toán đã được trả về đơn vị thành công'
|
1586
|
---- CAP NHAT LAI TR_PROCESS_REQUEST_CHILD VE GIAO DICH VIEN
|
1587
|
DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
|
1588
|
DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID
|
1589
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID = @p_TRN_ID))
|
1590
|
BEGIN
|
1591
|
DELETE FROM TR_REQ_PAY_TRANS_OUTSIDE_REC WHERE REQ_PAY_ID =@p_TRN_ID
|
1592
|
END
|
1593
|
-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
|
1594
|
INSERT INTO dbo.PL_PROCESS
|
1595
|
(
|
1596
|
REQ_ID,
|
1597
|
PROCESS_ID,
|
1598
|
CHECKER_ID,
|
1599
|
APPROVE_DT,
|
1600
|
PROCESS_DESC,NOTES
|
1601
|
)
|
1602
|
VALUES
|
1603
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1604
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1605
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1606
|
GETDATE(), -- APPROVE_DT - datetime
|
1607
|
@p_REASON,N'Trả về cho người tạo phiếu' -- PROCESS_DESC - nvarchar(1000)
|
1608
|
)
|
1609
|
--doanptt 210622 xóa nscp khi hủy hoặc trả phiếu về HC
|
1610
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
|
1611
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
|
1612
|
END
|
1613
|
END
|
1614
|
ELSE IF(@p_STAGE ='HC')
|
1615
|
BEGIN
|
1616
|
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 ='')))
|
1617
|
BEGIN
|
1618
|
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'
|
1619
|
ROLLBACK TRANSACTION
|
1620
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1621
|
RETURN '-1'
|
1622
|
END
|
1623
|
IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS='R'))
|
1624
|
BEGIN
|
1625
|
SET @p_MESSAGE =N'Hủy trả về thất bại! Phiếu đề nghị thanh toán đã được trả về trước đó'
|
1626
|
ROLLBACK TRANSACTION
|
1627
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1628
|
RETURN '-1'
|
1629
|
END
|
1630
|
ELSE
|
1631
|
BEGIN
|
1632
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R', AUTH_STATUS_KT = NULL, PROCESS=NULL,CHECKER_ID ='',APPROVE_DT =NULL, MAKER_ID_KT =NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT =NULL WHERE REQ_PAY_ID =@p_TRN_ID
|
1633
|
DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID
|
1634
|
SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được trả về thành công'
|
1635
|
-- INSERT VAO BANG LICH SU
|
1636
|
INSERT INTO dbo.PL_PROCESS
|
1637
|
(
|
1638
|
REQ_ID,
|
1639
|
PROCESS_ID,
|
1640
|
CHECKER_ID,
|
1641
|
APPROVE_DT,
|
1642
|
PROCESS_DESC,NOTES
|
1643
|
)
|
1644
|
VALUES
|
1645
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1646
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1647
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1648
|
GETDATE(), -- APPROVE_DT - datetime
|
1649
|
@p_REASON,N'Trả về' -- PROCESS_DESC - nvarchar(1000)
|
1650
|
)
|
1651
|
|
1652
|
--doanptt 210622 xóa nscp khi hủy hoặc trả phiếu về HC
|
1653
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
|
1654
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_TRN_ID
|
1655
|
END
|
1656
|
END
|
1657
|
ELSE IF(@p_STAGE ='SUG')
|
1658
|
BEGIN
|
1659
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_TRN_ID AND TLNAME=@p_REJECTED_BY
|
1660
|
DECLARE @LEVEL_JOB_PAY VARCHAR(5), @LEVEL_JOB_PREV_PAY INT
|
1661
|
SET @LEVEL_JOB_PAY =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND TLNAME=@p_REJECTED_BY)
|
1662
|
SET @LEVEL_JOB_PREV_PAY = CONVERT(INT,@LEVEL_JOB_PAY) -1
|
1663
|
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)
|
1664
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='S' WHERE REQ_PAY_ID =@p_TRN_ID
|
1665
|
INSERT INTO dbo.PL_PROCESS
|
1666
|
(
|
1667
|
REQ_ID,
|
1668
|
PROCESS_ID,
|
1669
|
CHECKER_ID,
|
1670
|
APPROVE_DT,
|
1671
|
PROCESS_DESC,NOTES
|
1672
|
)
|
1673
|
VALUES
|
1674
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1675
|
'SUG', -- PROCESS_ID - varchar(10)
|
1676
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1677
|
GETDATE(), -- APPROVE_DT - datetime
|
1678
|
@p_REASON ,N'GDV đề xuất từ chối phiếu' -- PROCESS_DESC - nvarchar(1000)
|
1679
|
)
|
1680
|
SET @p_MESSAGE =N'Phiếu đề nghị thanh toán được đề xuất từ chối thành công'
|
1681
|
END
|
1682
|
ELSE IF(@p_STAGE ='DEL')
|
1683
|
BEGIN
|
1684
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D',AUTH_STATUS ='D' WHERE REQ_PAY_ID =@p_TRN_ID
|
1685
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT ='D' WHERE REQ_PAY_ID =@p_TRN_ID
|
1686
|
UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT ='D' WHERE PAY_ID =@p_TRN_ID
|
1687
|
UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='D' WHERE REQ_PAY_ID =@p_TRN_ID
|
1688
|
---------------------------------------------------------------------------------------------------------------------
|
1689
|
--DECLARE @TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,0)
|
1690
|
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
|
1691
|
OPEN CURS_TRADE
|
1692
|
FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
|
1693
|
WHILE @@FETCH_STATUS = 0
|
1694
|
BEGIN
|
1695
|
UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
|
1696
|
WHERE TRADE_ID =@TRADED_ID
|
1697
|
FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
|
1698
|
END
|
1699
|
CLOSE CURS_TRADE
|
1700
|
DEALLOCATE CURS_TRADE
|
1701
|
-- XOA NGAN SACH
|
1702
|
--DELETE FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID= @p_TRN_ID
|
1703
|
--- NEU LA TAM UNG NOI BO THI PHAI REVERT LAI SO TIEN DA HOAN UNG CUA PHIEU DE NGHI TAM UNG
|
1704
|
--DECLARE @PAY_ADVANCE_ID VARCHAR(15), @AMT_PAY DECIMAL(18,0), @AMT_REVERT DECIMAL(18,0), @AMT_ADD DECIMAL(18,0)
|
1705
|
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
|
1706
|
OPEN CURS
|
1707
|
FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
|
1708
|
WHILE @@FETCH_STATUS = 0
|
1709
|
BEGIN
|
1710
|
UPDATE TR_REQ_ADVANCE_PAYMENT
|
1711
|
SET PAY_AMT = ISNULL(PAY_AMT,0) - @AMT_PAY - @AMT_REVERT + @AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
|
1712
|
FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
|
1713
|
END
|
1714
|
CLOSE CURS
|
1715
|
DEALLOCATE CURS
|
1716
|
---- 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
|
1717
|
--DECLARE @REQ_PAY_ID VARCHAR(15), @AMT_REAL DECIMAL(18,0)
|
1718
|
--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
|
1719
|
--OPEN CURS_SCHE
|
1720
|
-- FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE
|
1721
|
-- WHILE @@FETCH_STATUS = 0
|
1722
|
-- BEGIN
|
1723
|
-- UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE
|
1724
|
-- WHERE TRADE_ID =@TRADED_ID
|
1725
|
-- FETCH NEXT FROM CURS_SCHE INTO @TRADED_ID,@AMT_EXE
|
1726
|
-- END
|
1727
|
--CLOSE CURS_SCHE
|
1728
|
--DEALLOCATE CURS_SCHE
|
1729
|
INSERT INTO dbo.PL_PROCESS
|
1730
|
(
|
1731
|
REQ_ID,
|
1732
|
PROCESS_ID,
|
1733
|
CHECKER_ID,
|
1734
|
APPROVE_DT,
|
1735
|
PROCESS_DESC,NOTES
|
1736
|
)
|
1737
|
VALUES
|
1738
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1739
|
'DEL', -- PROCESS_ID - varchar(10)
|
1740
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1741
|
GETDATE(), -- APPROVE_DT - datetime
|
1742
|
@p_REASON ,N'KSV hủy phiếu' -- PROCESS_DESC - nvarchar(1000)
|
1743
|
)
|
1744
|
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'
|
1745
|
--doanptt ẩn nscp khi hủy hoặc trả phiếu về HC
|
1746
|
UPDATE TR_REQ_BUDGET_MONTH_LIMIT_DETAIL SET RECORD_STATUS = '0' WHERE REQ_PAY_ID = @p_TRN_ID
|
1747
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT_DETAIL SET RECORD_STATUS = '0' WHERE REQ_PAY_ID = @p_TRN_ID
|
1748
|
END
|
1749
|
|
1750
|
END
|
1751
|
END
|
1752
|
-- END PHIEU DE THI THANH TOAN 19-11-2019
|
1753
|
|
1754
|
--- Tờ trình chủ trương
|
1755
|
ELSE IF(@p_TRN_TYPE='PL_REQUEST_DOC')
|
1756
|
BEGIN IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
|
1757
|
BEGIN
|
1758
|
SET @p_MESSAGE =N'Trả về thất bại! Tờ trình chủ trương đã được 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 dbo.PL_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
|
1766
|
INSERT INTO dbo.PL_PROCESS
|
1767
|
(
|
1768
|
REQ_ID,
|
1769
|
PROCESS_ID,
|
1770
|
CHECKER_ID,
|
1771
|
APPROVE_DT,
|
1772
|
PROCESS_DESC,NOTES
|
1773
|
)
|
1774
|
VALUES
|
1775
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1776
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1777
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1778
|
GETDATE(), -- APPROVE_DT - datetime
|
1779
|
@p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000)
|
1780
|
)
|
1781
|
SET @p_MESSAGE =N'Tờ trình chủ trương đã được trả về thành công'
|
1782
|
-- 28-10-2020 LUCTV, KHI TRA VE PHAI GO PL_REQUEST_PROCESS
|
1783
|
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
|
1784
|
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
|
1785
|
END
|
1786
|
END
|
1787
|
ELSE IF(@p_TRN_TYPE='TR_REQUEST_DOC')
|
1788
|
BEGIN
|
1789
|
--IF(@p_STAGE='DVMS')
|
1790
|
--BEGIN
|
1791
|
--END
|
1792
|
IF(@p_STAGE='PDYC' OR @p_STAGE ='DV')
|
1793
|
BEGIN
|
1794
|
IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
|
1795
|
BEGIN
|
1796
|
SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được duyệt'
|
1797
|
ROLLBACK TRANSACTION
|
1798
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1799
|
RETURN '0'
|
1800
|
END
|
1801
|
ELSE
|
1802
|
BEGIN
|
1803
|
UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID='REJECT', AUTH_STATUS ='R' WHERE REQ_ID=@p_TRN_ID
|
1804
|
INSERT INTO dbo.PL_PROCESS
|
1805
|
(
|
1806
|
REQ_ID,
|
1807
|
PROCESS_ID,
|
1808
|
CHECKER_ID,
|
1809
|
APPROVE_DT,
|
1810
|
PROCESS_DESC,NOTES
|
1811
|
)
|
1812
|
VALUES
|
1813
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1814
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1815
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1816
|
GETDATE(), -- APPROVE_DT - datetime
|
1817
|
@p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000)
|
1818
|
)
|
1819
|
SET @p_MESSAGE =N'Phiếu yêu cầu mua sắm đã được trả về thành công'
|
1820
|
-- 28-10-2020 LUCTV, KHI TRA VE PHAI GO PL_REQUEST_PROCESS
|
1821
|
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
|
1822
|
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
|
1823
|
END
|
1824
|
END
|
1825
|
END
|
1826
|
-- END IF
|
1827
|
-- NEU LA TRA VE CUA HOP DONG
|
1828
|
ELSE IF(@p_TRN_TYPE='TR_CONTRACT')
|
1829
|
BEGIN
|
1830
|
--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
|
1831
|
IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
|
1832
|
BEGIN
|
1833
|
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'
|
1834
|
ROLLBACK TRANSACTION
|
1835
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1836
|
RETURN '0'
|
1837
|
END
|
1838
|
IF(EXISTS(SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
|
1839
|
BEGIN
|
1840
|
SET @p_MESSAGE =N'Trả về thất bại! Hợp đồng đã được phê duyệt thành công trước đó!'
|
1841
|
ROLLBACK TRANSACTION
|
1842
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1843
|
RETURN '0'
|
1844
|
END
|
1845
|
UPDATE TR_CONTRACT SET
|
1846
|
AUTH_STATUS ='R',
|
1847
|
IS_SEND_APPR = 'N',
|
1848
|
CHECKER_ID = NULL,
|
1849
|
APPROVE_DT = NULL,
|
1850
|
SEND_APPR_DT = NULL
|
1851
|
WHERE CONTRACT_ID =@p_TRN_ID
|
1852
|
INSERT INTO dbo.PL_PROCESS
|
1853
|
(
|
1854
|
REQ_ID,
|
1855
|
PROCESS_ID,
|
1856
|
CHECKER_ID,
|
1857
|
APPROVE_DT,
|
1858
|
PROCESS_DESC,NOTES
|
1859
|
)
|
1860
|
VALUES
|
1861
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1862
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1863
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1864
|
GETDATE(), -- APPROVE_DT - datetime
|
1865
|
@p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000)
|
1866
|
)
|
1867
|
SET @p_MESSAGE =N'Hợp đồng đã được trả về thành công'
|
1868
|
END
|
1869
|
-- NEU LA TRA VE CUA HOP DONG
|
1870
|
ELSE IF(@p_TRN_TYPE='TR_PO')
|
1871
|
BEGIN
|
1872
|
--- CAP NHAT AUTH_STATUS CUA HOP DONG VE R
|
1873
|
IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='R'))
|
1874
|
BEGIN
|
1875
|
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'
|
1876
|
ROLLBACK TRANSACTION
|
1877
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1878
|
RETURN '0'
|
1879
|
END
|
1880
|
IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS='A'))
|
1881
|
BEGIN
|
1882
|
SET @p_MESSAGE =N'Trả về thất bại! PO đã được phê duyệt thành công trước đó!'
|
1883
|
ROLLBACK TRANSACTION
|
1884
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1885
|
RETURN '0'
|
1886
|
END
|
1887
|
UPDATE TR_PO_MASTER SET
|
1888
|
AUTH_STATUS ='R',
|
1889
|
IS_SEND_APPR = 'N',
|
1890
|
CHECKER_ID = NULL,
|
1891
|
APPROVE_DT = NULL,
|
1892
|
SEND_APPR_DT = NULL
|
1893
|
WHERE PO_ID =@p_TRN_ID
|
1894
|
INSERT INTO dbo.PL_PROCESS
|
1895
|
(
|
1896
|
REQ_ID,
|
1897
|
PROCESS_ID,
|
1898
|
CHECKER_ID,
|
1899
|
APPROVE_DT,
|
1900
|
PROCESS_DESC,NOTES
|
1901
|
)
|
1902
|
VALUES
|
1903
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
1904
|
'REJECT', -- PROCESS_ID - varchar(10)
|
1905
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
1906
|
GETDATE(), -- APPROVE_DT - datetime
|
1907
|
@p_REASON ,N'Từ chối phiếu' -- PROCESS_DESC - nvarchar(1000)
|
1908
|
)
|
1909
|
SET @p_MESSAGE =N'PO đã được trả về thành công'
|
1910
|
END
|
1911
|
--- KET THUC TRA VE PO
|
1912
|
ELSE
|
1913
|
BEGIN
|
1914
|
SET @p_MESSAGE =N'Trả về giao dịch thành công'
|
1915
|
END
|
1916
|
|
1917
|
---BAODNQ 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
|
1918
|
-------Khai báo DTSD nội bộ-------
|
1919
|
IF(@p_TRN_TYPE ='BUD_INTERNAL')
|
1920
|
--BEGIN ELSE IF---
|
1921
|
BEGIN
|
1922
|
IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS ='A'))
|
1923
|
BEGIN
|
1924
|
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'
|
1925
|
ROLLBACK TRANSACTION
|
1926
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1927
|
RETURN '-1'
|
1928
|
END
|
1929
|
ELSE IF(EXISTS (SELECT * FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
|
1930
|
BEGIN
|
1931
|
SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin khai báo DTSD nội bộ đã được trả về trước đó'
|
1932
|
ROLLBACK TRANSACTION
|
1933
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1934
|
RETURN '-1'
|
1935
|
END
|
1936
|
ELSE
|
1937
|
BEGIN
|
1938
|
UPDATE BUD_CONTRACT_MASTER
|
1939
|
SET AUTH_STATUS ='R',
|
1940
|
---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
|
1941
|
IS_SEND_APPR = 'N',
|
1942
|
CHECKER_ID = NULL,
|
1943
|
APPROVE_DT = NULL,
|
1944
|
SEND_APPR_DT = NULL,
|
1945
|
SIGN_DT = NULL
|
1946
|
WHERE CONTRACT_ID=@p_TRN_ID
|
1947
|
SET @p_MESSAGE =N'Thông tin khai báo DTSD nội bộ đã được trả về thành công'
|
1948
|
END
|
1949
|
--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
|
1950
|
INSERT INTO dbo.PL_PROCESS
|
1951
|
(
|
1952
|
REQ_ID,
|
1953
|
PROCESS_ID,
|
1954
|
CHECKER_ID,
|
1955
|
APPROVE_DT,
|
1956
|
PROCESS_DESC,
|
1957
|
NOTES
|
1958
|
)
|
1959
|
VALUES
|
1960
|
( @p_TRN_ID,
|
1961
|
'REJECT',
|
1962
|
@p_REJECTED_BY,
|
1963
|
GETDATE(),
|
1964
|
@p_REASON ,
|
1965
|
N'Từ chối phiếu'
|
1966
|
)
|
1967
|
IF @@ERROR <> 0 GOTO ABORT
|
1968
|
|
1969
|
---END ELSE IF---
|
1970
|
END
|
1971
|
-------Quản lý hợp đồng khách thuê-------
|
1972
|
ELSE IF(@p_TRN_TYPE ='BUD_RENTAL')
|
1973
|
--BEGIN ELSE IF---
|
1974
|
BEGIN
|
1975
|
IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID =@p_TRN_ID AND AUTH_STATUS ='A'))
|
1976
|
BEGIN
|
1977
|
SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin khai báo diện tích cho khách thuê đã được duyệt'
|
1978
|
ROLLBACK TRANSACTION
|
1979
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1980
|
RETURN '-1'
|
1981
|
END
|
1982
|
ELSE IF(EXISTS (SELECT * FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
|
1983
|
BEGIN
|
1984
|
SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin khai báo diện tích cho khách thuê đã được trả về trước đó'
|
1985
|
ROLLBACK TRANSACTION
|
1986
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
1987
|
RETURN '-1'
|
1988
|
END
|
1989
|
ELSE
|
1990
|
BEGIN
|
1991
|
UPDATE BUD_CONTRACT_CUST_MASTER
|
1992
|
SET AUTH_STATUS ='R',
|
1993
|
---BAODNQ 31/12/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
|
1994
|
IS_SEND_APPR = 'N',
|
1995
|
CHECKER_ID = NULL,
|
1996
|
APPROVE_DT = NULL,
|
1997
|
SEND_APPR_DT = NULL,
|
1998
|
SIGN_DT = NULL
|
1999
|
WHERE CONTRACT_ID=@p_TRN_ID
|
2000
|
SET @p_MESSAGE =N'Thông tin khai báo diện tích cho khách thuê đã được trả về thành công'
|
2001
|
END
|
2002
|
--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
|
2003
|
INSERT INTO dbo.PL_PROCESS
|
2004
|
(
|
2005
|
REQ_ID,
|
2006
|
PROCESS_ID,
|
2007
|
CHECKER_ID,
|
2008
|
APPROVE_DT,
|
2009
|
PROCESS_DESC,
|
2010
|
NOTES
|
2011
|
)
|
2012
|
VALUES
|
2013
|
( @p_TRN_ID,
|
2014
|
'REJECT',
|
2015
|
@p_REJECTED_BY,
|
2016
|
GETDATE(),
|
2017
|
@p_REASON ,
|
2018
|
N'Từ chối phiếu'
|
2019
|
)
|
2020
|
IF @@ERROR <> 0 GOTO ABORT
|
2021
|
|
2022
|
---END ELSE IF---
|
2023
|
END
|
2024
|
---datmq 28/12/2021: Thêm xử lý trả về cho phân hệ quản lý cho thuê------
|
2025
|
-------Quản lý trụ sở-------
|
2026
|
ELSE IF(@p_TRN_TYPE ='BUD_MASTER')
|
2027
|
--BEGIN ELSE IF---
|
2028
|
BEGIN
|
2029
|
IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID =@p_TRN_ID AND AUTH_STATUS ='A'))
|
2030
|
BEGIN
|
2031
|
SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin trụ sở đã được duyệt'
|
2032
|
ROLLBACK TRANSACTION
|
2033
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
2034
|
RETURN '-1'
|
2035
|
END
|
2036
|
ELSE IF(EXISTS (SELECT * FROM BUD_MASTER WHERE BUILDING_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
|
2037
|
BEGIN
|
2038
|
SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin trụ sở đã được trả về trước đó'
|
2039
|
ROLLBACK TRANSACTION
|
2040
|
SELECT '-1' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
2041
|
RETURN '-1'
|
2042
|
END
|
2043
|
ELSE
|
2044
|
BEGIN
|
2045
|
---BAODNQ 26/1/2021: Gán IS_SEND_APPR = 'N' khi bị trả về------
|
2046
|
UPDATE BUD_MASTER SET
|
2047
|
AUTH_STATUS ='R', IS_SEND_APPR = 'N',
|
2048
|
CHECKER_ID = NULL,
|
2049
|
APPROVE_DT = NULL,
|
2050
|
SEND_APPR_DT = NULL,
|
2051
|
SIGN_DT = NULL
|
2052
|
WHERE BUILDING_ID=@p_TRN_ID
|
2053
|
SET @p_MESSAGE =N'Thông tin trụ sở đã được trả về thành công'
|
2054
|
END
|
2055
|
--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
|
2056
|
INSERT INTO dbo.PL_PROCESS
|
2057
|
(
|
2058
|
REQ_ID,
|
2059
|
PROCESS_ID,
|
2060
|
CHECKER_ID,
|
2061
|
APPROVE_DT,
|
2062
|
PROCESS_DESC,
|
2063
|
NOTES
|
2064
|
)
|
2065
|
VALUES
|
2066
|
( @p_TRN_ID,
|
2067
|
'REJECT',
|
2068
|
@p_REJECTED_BY,
|
2069
|
GETDATE(),
|
2070
|
@p_REASON ,
|
2071
|
N'Từ chối phiếu'
|
2072
|
)
|
2073
|
IF @@ERROR <> 0 GOTO ABORT
|
2074
|
|
2075
|
---END ELSE IF---
|
2076
|
END
|
2077
|
|
2078
|
/*
|
2079
|
---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
|
2080
|
ELSE IF(@p_TRN_TYPE ='TR_REQ_PAY')
|
2081
|
BEGIN
|
2082
|
IF(@p_STAGE='HC')
|
2083
|
BEGIN
|
2084
|
IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
|
2085
|
BEGIN
|
2086
|
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'
|
2087
|
ROLLBACK TRANSACTION
|
2088
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
2089
|
RETURN '0'
|
2090
|
END
|
2091
|
ELSE
|
2092
|
BEGIN
|
2093
|
--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
|
2094
|
--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
|
2095
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
|
2096
|
BEGIN
|
2097
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
|
2098
|
SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị thanh toán đã được trả về thành công'
|
2099
|
END
|
2100
|
END
|
2101
|
END
|
2102
|
END
|
2103
|
|
2104
|
---doanptt 10/02/2022: Thêm xử lý trả về cho phân hệ quản lý thanh toán/ tạm ứng------
|
2105
|
ELSE IF(@p_TRN_TYPE ='TR_REQ_ADVACNE_PAY')
|
2106
|
BEGIN
|
2107
|
IF(@p_STAGE='HC')
|
2108
|
BEGIN
|
2109
|
IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND AUTH_STATUS = 'A' AND @p_STAGE ='HC'))
|
2110
|
BEGIN
|
2111
|
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'
|
2112
|
ROLLBACK TRANSACTION
|
2113
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
2114
|
RETURN '0'
|
2115
|
END
|
2116
|
ELSE
|
2117
|
BEGIN
|
2118
|
--UPDATE MW_IN_MASTER SET AUTH_STATUS_KT ='R' WHERE IN_ID =@p_TRN_ID
|
2119
|
--SET @p_MESSAGE =N'Thông tin nhập mới vật liệu đã được trả về thành công'
|
2120
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID AND MAKER_ID IS NOT NULL AND MAKER_ID <>''))
|
2121
|
BEGIN
|
2122
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='R' WHERE REQ_PAY_ID =@p_TRN_ID
|
2123
|
SET @p_MESSAGE =N'Thông tin nhập mới phiếu đề nghị tạm ứng đã được trả về thành công'
|
2124
|
END
|
2125
|
/*ELSE
|
2126
|
BEGIN
|
2127
|
SET @p_STAGE ='HC'
|
2128
|
UPDATE MW_IN_MASTER SET AUTH_STATUS ='R' WHERE IN_ID =@p_TRN_ID
|
2129
|
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'
|
2130
|
END*/
|
2131
|
END
|
2132
|
END
|
2133
|
END
|
2134
|
*/
|
2135
|
|
2136
|
------BAODNQ 14/02/2022: Thêm xử lý trả về cho phân hệ quản lý BDS------
|
2137
|
-------------Quản lý BDS---------------
|
2138
|
ELSE IF(@p_TRN_TYPE = 'RET_MASTER')
|
2139
|
BEGIN
|
2140
|
IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
|
2141
|
BEGIN
|
2142
|
SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin bất động sản đã được duyệt'
|
2143
|
ROLLBACK TRANSACTION
|
2144
|
SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
|
2145
|
RETURN '-1'
|
2146
|
END
|
2147
|
ELSE IF(EXISTS(SELECT * FROM RET_MASTER WHERE RET_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
|
2148
|
BEGIN
|
2149
|
SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin bất động sản đã được trả về trước đó'
|
2150
|
ROLLBACK TRANSACTION
|
2151
|
SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
|
2152
|
RETURN '-1'
|
2153
|
END
|
2154
|
ELSE
|
2155
|
BEGIN
|
2156
|
UPDATE RET_MASTER
|
2157
|
SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
|
2158
|
CHECKER_ID = NULL,
|
2159
|
APPROVE_DT = NULL,
|
2160
|
SEND_APPR_DT = NULL,
|
2161
|
SIGN_DT = NULL
|
2162
|
WHERE RET_ID = @p_TRN_ID
|
2163
|
SET @p_MESSAGE = N'Thông tin bất động sản đã được trả về thành công'
|
2164
|
END
|
2165
|
|
2166
|
--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
|
2167
|
INSERT INTO dbo.PL_PROCESS
|
2168
|
(
|
2169
|
REQ_ID,
|
2170
|
PROCESS_ID,
|
2171
|
CHECKER_ID,
|
2172
|
APPROVE_DT,
|
2173
|
PROCESS_DESC,
|
2174
|
NOTES
|
2175
|
)
|
2176
|
VALUES
|
2177
|
( @p_TRN_ID,
|
2178
|
'REJECT',
|
2179
|
@p_REJECTED_BY,
|
2180
|
GETDATE(),
|
2181
|
@p_REASON ,
|
2182
|
N'Từ chối phiếu'
|
2183
|
)
|
2184
|
IF @@ERROR <> 0 GOTO ABORT
|
2185
|
|
2186
|
END
|
2187
|
|
2188
|
-------Thông tin sửa chữa BDS--------------
|
2189
|
ELSE IF(@p_TRN_TYPE = 'RET_REPAIR')
|
2190
|
BEGIN
|
2191
|
IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
|
2192
|
BEGIN
|
2193
|
SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin sửa chữa BĐS đã được duyệt'
|
2194
|
ROLLBACK TRANSACTION
|
2195
|
SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
|
2196
|
RETURN '0'
|
2197
|
END
|
2198
|
ELSE IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
|
2199
|
BEGIN
|
2200
|
SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin sửa chữa BĐS đã được trả về trước đó'
|
2201
|
ROLLBACK TRANSACTION
|
2202
|
SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
|
2203
|
RETURN '-1'
|
2204
|
END
|
2205
|
ELSE
|
2206
|
BEGIN
|
2207
|
UPDATE RET_REPAIR
|
2208
|
SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
|
2209
|
CHECKER_ID = NULL,
|
2210
|
APPROVE_DT = NULL,
|
2211
|
SEND_APPR_DT = NULL,
|
2212
|
SIGN_DT = NULL
|
2213
|
WHERE RP_ID = @p_TRN_ID
|
2214
|
SET @p_MESSAGE = N'Thông tin sửa chữa BDS đã được trả về thành công'
|
2215
|
END
|
2216
|
--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
|
2217
|
INSERT INTO dbo.PL_PROCESS
|
2218
|
(
|
2219
|
REQ_ID,
|
2220
|
PROCESS_ID,
|
2221
|
CHECKER_ID,
|
2222
|
APPROVE_DT,
|
2223
|
PROCESS_DESC,
|
2224
|
NOTES
|
2225
|
)
|
2226
|
VALUES
|
2227
|
( @p_TRN_ID,
|
2228
|
'REJECT',
|
2229
|
@p_REJECTED_BY,
|
2230
|
GETDATE(),
|
2231
|
@p_REASON ,
|
2232
|
N'Từ chối phiếu'
|
2233
|
)
|
2234
|
IF @@ERROR <> 0 GOTO ABORT
|
2235
|
|
2236
|
END
|
2237
|
|
2238
|
-----BDS thuê làm trụ sở CN/PGD--------
|
2239
|
ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_R_H')
|
2240
|
BEGIN
|
2241
|
IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
|
2242
|
BEGIN
|
2243
|
SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin BĐS đi thuê đã được duyệt'
|
2244
|
ROLLBACK TRANSACTION
|
2245
|
SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
|
2246
|
RETURN '0'
|
2247
|
END
|
2248
|
ELSE IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
|
2249
|
BEGIN
|
2250
|
SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin BĐS đi thuê đã được trả về trước đó'
|
2251
|
ROLLBACK TRANSACTION
|
2252
|
SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
|
2253
|
RETURN '-1'
|
2254
|
END
|
2255
|
ELSE
|
2256
|
BEGIN
|
2257
|
UPDATE REAL_ESTATE_R_H
|
2258
|
SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
|
2259
|
CHECKER_ID = NULL,
|
2260
|
APPROVE_DT = NULL,
|
2261
|
SEND_APPR_DT = NULL,
|
2262
|
SIGN_DT = NULL
|
2263
|
WHERE RET_R_H_ID = @p_TRN_ID
|
2264
|
SET @p_MESSAGE = N'Thông tin BĐS đi thuê đã được trả về thành công'
|
2265
|
END
|
2266
|
--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
|
2267
|
INSERT INTO dbo.PL_PROCESS
|
2268
|
(
|
2269
|
REQ_ID,
|
2270
|
PROCESS_ID,
|
2271
|
CHECKER_ID,
|
2272
|
APPROVE_DT,
|
2273
|
PROCESS_DESC,
|
2274
|
NOTES
|
2275
|
)
|
2276
|
VALUES
|
2277
|
( @p_TRN_ID,
|
2278
|
'REJECT',
|
2279
|
@p_REJECTED_BY,
|
2280
|
GETDATE(),
|
2281
|
@p_REASON ,
|
2282
|
N'Từ chối phiếu'
|
2283
|
)
|
2284
|
IF @@ERROR <> 0 GOTO ABORT
|
2285
|
|
2286
|
END
|
2287
|
|
2288
|
-----BDS đang hoàn thiện thủ tục pháp lý--------
|
2289
|
ELSE IF(@p_TRN_TYPE = 'REAL_ESTATE_L_C')
|
2290
|
BEGIN
|
2291
|
IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
|
2292
|
BEGIN
|
2293
|
SET @p_MESSAGE =N'Hủy trả về thất bại! Thông tin BĐS đang hoàn thiện thủ tục pháp lý đã được duyệt'
|
2294
|
ROLLBACK TRANSACTION
|
2295
|
SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
|
2296
|
RETURN '0'
|
2297
|
END
|
2298
|
ELSE IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_TRN_ID AND AUTH_STATUS = 'R'))
|
2299
|
BEGIN
|
2300
|
SET @p_MESSAGE = N'Hủy trả về thất bại! Thông tin BĐS đang hoàn thiện thủ tục pháp lý đã được trả về trước đó'
|
2301
|
ROLLBACK TRANSACTION
|
2302
|
SELECT '-1' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
|
2303
|
RETURN '-1'
|
2304
|
END
|
2305
|
ELSE
|
2306
|
BEGIN
|
2307
|
UPDATE REAL_ESTATE_L_C
|
2308
|
SET AUTH_STATUS = 'R', IS_SEND_APPR = 'N',
|
2309
|
CHECKER_ID = NULL,
|
2310
|
APPROVE_DT = NULL,
|
2311
|
SEND_APPR_DT = NULL,
|
2312
|
SIGN_DT = NULL
|
2313
|
WHERE RET_L_C_ID = @p_TRN_ID
|
2314
|
SET @p_MESSAGE = N'BDS đang hoàn thiện thủ tục pháp lý đã được trả về thành công'
|
2315
|
END
|
2316
|
--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
|
2317
|
INSERT INTO dbo.PL_PROCESS
|
2318
|
(
|
2319
|
REQ_ID,
|
2320
|
PROCESS_ID,
|
2321
|
CHECKER_ID,
|
2322
|
APPROVE_DT,
|
2323
|
PROCESS_DESC,
|
2324
|
NOTES
|
2325
|
)
|
2326
|
VALUES
|
2327
|
( @p_TRN_ID,
|
2328
|
'REJECT',
|
2329
|
@p_REJECTED_BY,
|
2330
|
GETDATE(),
|
2331
|
@p_REASON ,
|
2332
|
N'Từ chối phiếu'
|
2333
|
)
|
2334
|
IF @@ERROR <> 0 GOTO ABORT
|
2335
|
|
2336
|
END
|
2337
|
|
2338
|
---------BAODNQ 18/3/2022: Đánh giá NCC--------
|
2339
|
-------Đánh giá NCC---------
|
2340
|
ELSE IF(@p_TRN_TYPE = 'TR_RATE_SUPPLIER_MASTER')
|
2341
|
BEGIN
|
2342
|
IF(EXISTS(SELECT * FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
|
2343
|
BEGIN
|
2344
|
SET @p_MESSAGE =N'Hủy trả về thất bại! Biên bản đánh giá NCC đã được duyệt'
|
2345
|
ROLLBACK TRANSACTION
|
2346
|
SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
|
2347
|
RETURN '0'
|
2348
|
END
|
2349
|
UPDATE TR_RATE_SUPPLIER_MASTER
|
2350
|
SET AUTH_STATUS = 'R',
|
2351
|
IS_SEND_APPR = 'N',
|
2352
|
PROCESS_STATUS = 'REJECT'
|
2353
|
WHERE RATE_ID = @p_TRN_ID
|
2354
|
SET @p_MESSAGE = N'Biên bản đánh giá NCC đã được trả về thành công'
|
2355
|
|
2356
|
--------BAODNQ 10/03/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
|
2357
|
INSERT INTO dbo.PL_PROCESS
|
2358
|
(
|
2359
|
REQ_ID,
|
2360
|
PROCESS_ID,
|
2361
|
CHECKER_ID,
|
2362
|
APPROVE_DT,
|
2363
|
PROCESS_DESC,
|
2364
|
NOTES
|
2365
|
)
|
2366
|
VALUES
|
2367
|
( @p_TRN_ID,
|
2368
|
'REJECT',
|
2369
|
@p_REJECTED_BY,
|
2370
|
GETDATE(),
|
2371
|
@p_REASON ,
|
2372
|
N'Từ chối phiếu'
|
2373
|
)
|
2374
|
IF @@ERROR <> 0 GOTO ABORT
|
2375
|
END
|
2376
|
ELSE IF(@p_TRN_TYPE ='TR_REQUEST_CAR')
|
2377
|
BEGIN
|
2378
|
DECLARE @p_PROCESS_ID VARCHAR(15)
|
2379
|
SELECT @p_PROCESS_ID=PROCESS_ID FROM TR_REQUEST_CAR WHERE REQ_ID =@p_TRN_ID
|
2380
|
IF(@p_PROCESS_ID='APPROVE')
|
2381
|
BEGIN
|
2382
|
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'
|
2383
|
ROLLBACK TRANSACTION
|
2384
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
2385
|
RETURN '0'
|
2386
|
END
|
2387
|
IF(@p_PROCESS_ID IN ('APPNEW','CV_APP'))
|
2388
|
BEGIN
|
2389
|
UPDATE TR_REQUEST_CAR
|
2390
|
SET AUTH_STATUS ='R',PROCESS_ID='INSERT',IS_SEND_APPR = 'N'
|
2391
|
WHERE REQ_ID=@p_TRN_ID
|
2392
|
SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe đã được trả về thành công'
|
2393
|
IF(@p_PROCESS_ID='APPNEW')
|
2394
|
BEGIN
|
2395
|
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
|
2396
|
END
|
2397
|
ELSE
|
2398
|
BEGIN
|
2399
|
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
|
2400
|
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
|
2401
|
END
|
2402
|
END
|
2403
|
ELSE IF(@p_PROCESS_ID='USER_SEND')
|
2404
|
BEGIN
|
2405
|
UPDATE TR_REQUEST_CAR
|
2406
|
SET AUTH_STATUS ='R',PROCESS_ID='CV_SEND'
|
2407
|
WHERE REQ_ID=@p_TRN_ID
|
2408
|
SET @p_MESSAGE =N'Thông tin phiếu yêu cầu xe bị chuyên viên trả về thành công'
|
2409
|
UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='P' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
|
2410
|
UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='XL' AND REQ_ID=@p_TRN_ID
|
2411
|
END
|
2412
|
ELSE IF(@p_PROCESS_ID IN ('MAKER_APP','TDV_C_APP'))
|
2413
|
BEGIN
|
2414
|
|
2415
|
UPDATE TR_REQUEST_CAR
|
2416
|
SET AUTH_STATUS ='R',PROCESS_ID='USER_SEND',IS_CONFIRM_COST='N'
|
2417
|
WHERE REQ_ID=@p_TRN_ID
|
2418
|
SET @p_MESSAGE =N'Thông tin chi phí phiếu yêu cầu xe đã được trả về thành công'
|
2419
|
IF(@p_PROCESS_ID='MAKER_APP')
|
2420
|
BEGIN
|
2421
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
|
2422
|
UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
|
2423
|
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
|
2424
|
END
|
2425
|
ELSE
|
2426
|
BEGIN
|
2427
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='C' WHERE PROCESS_ID='CV_XL' AND REQ_ID=@p_TRN_ID
|
2428
|
UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE TYPE_JOB='CV' AND REQ_ID=@p_TRN_ID
|
2429
|
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
|
2430
|
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
|
2431
|
END
|
2432
|
END
|
2433
|
INSERT INTO dbo.PL_PROCESS
|
2434
|
(
|
2435
|
REQ_ID,
|
2436
|
PROCESS_ID,
|
2437
|
CHECKER_ID,
|
2438
|
APPROVE_DT,
|
2439
|
PROCESS_DESC,NOTES
|
2440
|
)
|
2441
|
VALUES
|
2442
|
( @p_TRN_ID,
|
2443
|
'REJECT',
|
2444
|
@p_REJECTED_BY,
|
2445
|
GETDATE(),
|
2446
|
@p_REASON,
|
2447
|
N'Từ chối phiếu'
|
2448
|
)
|
2449
|
|
2450
|
END
|
2451
|
ELSE IF(@p_TRN_TYPE ='TR_REQUEST_JOB_FORM')
|
2452
|
BEGIN
|
2453
|
DECLARE @PROCESS_ID VARCHAR(15),@SIGN_USER VARCHAR(50)
|
2454
|
SELECT @PROCESS_ID=PROCESS_ID,@SIGN_USER=SIGN_USER FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID =@p_TRN_ID
|
2455
|
IF(@PROCESS_ID='APPROVE')
|
2456
|
BEGIN
|
2457
|
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'
|
2458
|
ROLLBACK TRANSACTION
|
2459
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
2460
|
RETURN '0'
|
2461
|
END
|
2462
|
|
2463
|
IF(@PROCESS_ID IN ('SEND','SIGN'))
|
2464
|
BEGIN
|
2465
|
UPDATE dbo.TR_REQUEST_JOB_FORM
|
2466
|
SET AUTH_STATUS ='R',PROCESS_ID='REJECT',IS_SEND_APPR = 'N'
|
2467
|
WHERE REQ_ID=@p_TRN_ID
|
2468
|
SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
|
2469
|
|
2470
|
IF(@PROCESS_ID='SEND' AND @SIGN_USER IS NOT NULL)
|
2471
|
BEGIN
|
2472
|
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
|
2473
|
END
|
2474
|
ELSE
|
2475
|
BEGIN
|
2476
|
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
|
2477
|
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
|
2478
|
END
|
2479
|
END
|
2480
|
ELSE IF(@PROCESS_ID='HO_APP')
|
2481
|
BEGIN
|
2482
|
UPDATE dbo.TR_REQUEST_JOB_FORM
|
2483
|
SET AUTH_STATUS ='R',PROCESS_ID='APPNEW'
|
2484
|
WHERE REQ_ID=@p_TRN_ID
|
2485
|
SET @p_MESSAGE =N'Thông tin phiếu yêu cầu công tác đã được trả về thành công'
|
2486
|
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
|
2487
|
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
|
2488
|
END
|
2489
|
ELSE IF(@PROCESS_ID = 'MAKER_APP')
|
2490
|
BEGIN
|
2491
|
UPDATE TR_REQUEST_JOB_FORM
|
2492
|
SET AUTH_STATUS ='R',PROCESS_ID='HCHO_XL'
|
2493
|
WHERE REQ_ID=@p_TRN_ID
|
2494
|
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'
|
2495
|
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
|
2496
|
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
|
2497
|
END
|
2498
|
INSERT INTO dbo.PL_PROCESS
|
2499
|
(
|
2500
|
REQ_ID,
|
2501
|
PROCESS_ID,
|
2502
|
CHECKER_ID,
|
2503
|
APPROVE_DT,
|
2504
|
PROCESS_DESC,NOTES
|
2505
|
)
|
2506
|
VALUES
|
2507
|
( @p_TRN_ID,
|
2508
|
'REJECT',
|
2509
|
@p_REJECTED_BY,
|
2510
|
GETDATE(),
|
2511
|
@p_REASON,
|
2512
|
N'Từ chối phiếu'
|
2513
|
)
|
2514
|
|
2515
|
END
|
2516
|
--START HIEUHM 08/11/2022 trả về Quản lí hồ sơ công trình XDCB
|
2517
|
ELSE IF(@p_TRN_TYPE = 'CON_MASTER')
|
2518
|
BEGIN
|
2519
|
IF(EXISTS(SELECT * FROM CON_MASTER WHERE CONSTRUCT_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
|
2520
|
BEGIN
|
2521
|
SET @p_MESSAGE =N'Trả về thất bại! Công trình đã được duyệt'
|
2522
|
ROLLBACK TRANSACTION
|
2523
|
SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
|
2524
|
RETURN '0'
|
2525
|
END
|
2526
|
UPDATE CON_MASTER
|
2527
|
SET AUTH_STATUS = 'R'
|
2528
|
WHERE CONSTRUCT_ID = @p_TRN_ID
|
2529
|
UPDATE CON_REQUEST_DOC
|
2530
|
SET AUTH_STATUS = 'R'
|
2531
|
WHERE CONSTRUCT_ID = @p_TRN_ID
|
2532
|
SET @p_MESSAGE = N'Công trình đã được trả về thành công'
|
2533
|
|
2534
|
INSERT INTO dbo.PL_PROCESS
|
2535
|
(
|
2536
|
REQ_ID,
|
2537
|
PROCESS_ID,
|
2538
|
CHECKER_ID,
|
2539
|
APPROVE_DT,
|
2540
|
PROCESS_DESC,
|
2541
|
NOTES
|
2542
|
)
|
2543
|
VALUES
|
2544
|
( @p_TRN_ID,
|
2545
|
'REJECT',
|
2546
|
@p_REJECTED_BY,
|
2547
|
GETDATE(),
|
2548
|
@p_REASON ,
|
2549
|
N'Từ chối phiếu'
|
2550
|
)
|
2551
|
IF @@ERROR <> 0 GOTO ABORT
|
2552
|
END
|
2553
|
--END HIEUHM 08/11/2022 trả về Quản lí hồ sơ công trình XDCB
|
2554
|
|
2555
|
--START HIEUHM 17/11/2022 trả về layout bản vẽ
|
2556
|
ELSE IF(@p_TRN_TYPE = 'CON_LAYOUT_BLUEPRINT')
|
2557
|
BEGIN
|
2558
|
IF(EXISTS(SELECT * FROM CON_LAYOUT_BLUEPRINT WHERE CON_LAYOUT_BLUEPRINT_ID = @p_TRN_ID AND AUTH_STATUS = 'A'))
|
2559
|
BEGIN
|
2560
|
SET @p_MESSAGE =N'Trả về thất bại! Layout bản vẽ đã được duyệt'
|
2561
|
ROLLBACK TRANSACTION
|
2562
|
SELECT '0' AS Result, @p_LOG_ID LOG_ID, @p_MESSAGE ErrorDesc
|
2563
|
RETURN '0'
|
2564
|
END
|
2565
|
UPDATE CON_LAYOUT_BLUEPRINT
|
2566
|
SET AUTH_STATUS = 'R',PROCESS_ID='REJECT'
|
2567
|
WHERE CON_LAYOUT_BLUEPRINT_ID = @p_TRN_ID
|
2568
|
UPDATE PL_REQUEST_PROCESS
|
2569
|
SET [STATUS]='U'
|
2570
|
WHERE REQ_ID = @p_TRN_ID
|
2571
|
SET @p_MESSAGE = N'Layout bản vẽ đã được trả về thành công'
|
2572
|
|
2573
|
INSERT INTO dbo.PL_PROCESS
|
2574
|
(
|
2575
|
REQ_ID,
|
2576
|
PROCESS_ID,
|
2577
|
CHECKER_ID,
|
2578
|
APPROVE_DT,
|
2579
|
PROCESS_DESC,
|
2580
|
NOTES
|
2581
|
)
|
2582
|
VALUES
|
2583
|
( @p_TRN_ID,
|
2584
|
'REJECT',
|
2585
|
@p_REJECTED_BY,
|
2586
|
GETDATE(),
|
2587
|
@p_REASON ,
|
2588
|
N'Từ chối phiếu'
|
2589
|
)
|
2590
|
IF @@ERROR <> 0 GOTO ABORT
|
2591
|
END
|
2592
|
--END HIEUHM 17/11/2022 trả về layout bản vẽ
|
2593
|
--- INSERT VAO BANG CM_REJECT_LOG
|
2594
|
EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
|
2595
|
IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
|
2596
|
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))
|
2597
|
IF @@Error <> 0 GOTO ABORT
|
2598
|
COMMIT TRANSACTION
|
2599
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
2600
|
RETURN '0'
|
2601
|
ABORT:
|
2602
|
BEGIN
|
2603
|
|
2604
|
ROLLBACK TRANSACTION
|
2605
|
SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
|
2606
|
RETURN '-1'
|
2607
|
END
|
2608
|
|
2609
|
GO
|
2610
|
|
2611
|
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_Upd]
|
2612
|
@p_REQ_PAY_ID varchar(15)= NULL,
|
2613
|
@p_REQ_PAY_CODE varchar(50) = NULL,
|
2614
|
@p_REQ_DT VARCHAR(20)= NULL,
|
2615
|
@p_BRANCH_ID varchar(15) = NULL,
|
2616
|
@p_DEP_ID varchar(15) = NULL,
|
2617
|
@p_REQ_REASON nvarchar(MAX) = NULL,
|
2618
|
@p_REQ_TYPE varchar(15) = NULL,
|
2619
|
@P_REQ_ENTRIES nvarchar(MAX) = NULL,
|
2620
|
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,
|
2621
|
@p_REF_ID varchar(15) = NULL,
|
2622
|
@p_RECEIVER_PO nvarchar(250) = NULL,
|
2623
|
@p_REQ_PAY_TYPE varchar(15) = NULL,
|
2624
|
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
|
2625
|
@p_REQ_AMT decimal(18, 2) = NULL,
|
2626
|
@p_REQ_TEMP_AMT decimal(18, 0) = NULL,
|
2627
|
@p_MAKER_ID varchar(15) = NULL,
|
2628
|
@p_CREATE_DT varchar(25) = NULL,
|
2629
|
@p_EDITOR_ID varchar(15) = NULL,
|
2630
|
@p_AUTH_STATUS varchar(1) = NULL,
|
2631
|
@p_CHECKER_ID varchar(15) = NULL,
|
2632
|
@p_APPROVE_DT varchar(25) = NULL,
|
2633
|
@p_CREATE_DT_KT varchar(25) = NULL,
|
2634
|
@p_MAKER_ID_KT varchar(15) = NULL,
|
2635
|
@p_AUTH_STATUS_KT varchar(1) = NULL,
|
2636
|
@p_CHECKER_ID_KT varchar(1) = NULL,
|
2637
|
@p_APPROVE_DT_KT varchar(25)= null,
|
2638
|
@p_CONFIRM_NOTE nvarchar(500) = NULL,
|
2639
|
@p_BRANCH_CREATE varchar(15) = NULL,
|
2640
|
@p_NOTES varchar(15) = NULL,
|
2641
|
@p_RECORD_STATUS varchar(1) = NULL,
|
2642
|
@p_TRANSFER_MAKER nvarchar(50) = NULL,
|
2643
|
@p_TRANSFER_DT varchar(25) = NULL,
|
2644
|
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
|
2645
|
@p_PROCESS varchar(15) = NULL,
|
2646
|
@p_PAY_PHASE NVARCHAR(255) = NULL,
|
2647
|
@p_RATE DECIMAL(18,2) = 0,
|
2648
|
@p_IS_PERIOD VARCHAR(5) = NULL,
|
2649
|
@p_AMT_PAY decimal(18, 0) = NULL,
|
2650
|
@p_XMP_TEMP XML = NULL,
|
2651
|
@p_XMP_TEMP_2 XML = NULL,
|
2652
|
@p_XMP_TEMP_METHOD XML = NULL,
|
2653
|
@p_XMP_TEMP_BUDGET XML = NULL,
|
2654
|
@p_XMP_TEMP_SERVICE XML = NULL,
|
2655
|
@p_XMP_TEMP_ATTACH XML = NULL,
|
2656
|
@p_XMP_TEMP_INVOICE XML = NULL,
|
2657
|
@p_TYPE_FUNCTION VARCHAR(15) = NULL,
|
2658
|
@p_XMP_TEMP_PO XML = NULL,
|
2659
|
@p_XMP_TEMP_SCHEDULE XML = NULL,
|
2660
|
@p_XMP_TEMP_PERIOD XML = NULL,
|
2661
|
@p_XMP_ADVANCE_DT XML = NULL,
|
2662
|
--doanptt 15/02/2022
|
2663
|
@p_XMP_TEMP_PAY_JOB XML = NULL,
|
2664
|
@p_XMP_TEMP_PAY_JOB_DT XML = NULL,
|
2665
|
--doanptt 17/02/2022
|
2666
|
@p_XMP_TEMP_PAY_DRIVE XML = NULL,
|
2667
|
@p_XMP_TEMP_PAY_DRIVE_DT XML = NULL
|
2668
|
|
2669
|
AS
|
2670
|
-- BEGIN VALIDATE UPDATE
|
2671
|
IF(@p_TYPE_FUNCTION <> 'SEND')
|
2672
|
BEGIN
|
2673
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAYMENT where MAKER_ID = @p_MAKER_ID ))
|
2674
|
BEGIN
|
2675
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép cập nhật phiếu đề nghị thanh toán này. Chỉ người tạo phiếu mới được cập nhật phiếu' ErrorDesc
|
2676
|
RETURN '-1'
|
2677
|
END
|
2678
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS ='U'))
|
2679
|
BEGIN
|
2680
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được gửi phê duyệt thành công trước đó. Bạn không được quyền chỉnh sửa' ErrorDesc
|
2681
|
RETURN '-1'
|
2682
|
END
|
2683
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND PROCESS IS NOT NULL AND PROCESS <>''))
|
2684
|
BEGIN
|
2685
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được kí xác nhận từ các cấp. Bạn không được quyền chỉnh sửa' ErrorDesc
|
2686
|
RETURN '-1'
|
2687
|
END
|
2688
|
IF (@p_REQ_PAY_CODE IS NULL OR @p_REQ_PAY_CODE ='')
|
2689
|
BEGIN
|
2690
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Mã số phiếu không được phép để trống' ErrorDesc
|
2691
|
RETURN '-1'
|
2692
|
END
|
2693
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS <> 'E' AND AUTH_STATUS <> 'R' AND ISNULL(AUTH_STATUS, '') <> ''))
|
2694
|
BEGIN
|
2695
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được kí xác nhận từ các cấp. Bạn không được quyền chỉnh sửa' ErrorDesc
|
2696
|
RETURN '-1'
|
2697
|
END
|
2698
|
END
|
2699
|
IF(@p_TYPE_FUNCTION = 'SEND')
|
2700
|
BEGIN
|
2701
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAYMENT where MAKER_ID = @p_MAKER_ID ))
|
2702
|
BEGIN
|
2703
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép cập nhật phiếu đề nghị tạm ứng này. Chỉ người tạo phiếu mới được cập nhật phiếu' ErrorDesc
|
2704
|
RETURN '-1'
|
2705
|
END
|
2706
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS ='U'))
|
2707
|
BEGIN
|
2708
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được gửi phê duyệt thành công trước đó. Bạn không được quyền chỉnh sửa' ErrorDesc
|
2709
|
RETURN '-1'
|
2710
|
END
|
2711
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS = 'A'))
|
2712
|
BEGIN
|
2713
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được phê duyệt. Bạn không được quyền chỉnh sửa' ErrorDesc
|
2714
|
RETURN '-1'
|
2715
|
END
|
2716
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'A'))
|
2717
|
BEGIN
|
2718
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được kiểm soát viên phê duyệt. Bạn không được quyền chỉnh sửa' ErrorDesc
|
2719
|
RETURN '-1'
|
2720
|
END
|
2721
|
IF (ISNULL(@p_REQ_PAY_CODE, '')='' OR ISNULL(@p_REQ_TYPE, '')='' OR ISNULL(@p_MAKER_ID, '')='' OR ISNULL(@p_BRANCH_ID, '')='' OR ISNULL(@p_DEP_ID, '')='' OR ISNULL(@p_REQ_REASON, '')='')
|
2722
|
BEGIN
|
2723
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Các trường dữ liệu không được phép để trống: mã số phiếu, loại thanh toán, người đề nghị thanh toán, đơn vị đề nghị thanh toán, phòng ban đề nghị, số tiền thanh toán, lý do thanh toán. Vui lòng kiểm tra lại thông tin' ErrorDesc
|
2724
|
RETURN '-1'
|
2725
|
END
|
2726
|
IF(@p_MAKER_ID <> (SELECT TOP 1 MAKER_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID))
|
2727
|
BEGIN
|
2728
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Gửi phê duyệt thất bại! Bạn không được quyền gửi phê duyệt phiếu đề nghị thanh toán của người khác' ErrorDesc
|
2729
|
RETURN '-1'
|
2730
|
END
|
2731
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS='U'))
|
2732
|
BEGIN
|
2733
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
2734
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2735
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2736
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được gửi phê duyệt trước đó! Vui lòng đợi các cấp phê duyệt' ErrorDesc
|
2737
|
RETURN '-1'
|
2738
|
END
|
2739
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT where AUTH_STATUS <> 'E' AND ISNULL(AUTH_STATUS, '') <> '' AND REQ_PAY_ID = @p_REQ_PAY_ID ))
|
2740
|
BEGIN
|
2741
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được gửi phê duyệt trước đó hoặc đang bị từ chối! Vui lòng kiểm tra lại thông tin' ErrorDesc
|
2742
|
RETURN '-1'
|
2743
|
END
|
2744
|
END
|
2745
|
|
2746
|
-- END VALIDATE UPDATE
|
2747
|
|
2748
|
--IF EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_CODE = @p_REQ_PAY_CODE AND REQ_PAY_ID <> @p_REQ_PAY_ID)
|
2749
|
--BEGIN
|
2750
|
-- SELECT '-1' Result, '' REQ_PAY_ID, N'Mã số phiếu đã tồn tại trong hệ thống' ErrorDesc
|
2751
|
-- RETURN '-1'
|
2752
|
--END
|
2753
|
-- doanppt
|
2754
|
IF(@p_REQ_TYPE = 'D')
|
2755
|
BEGIN
|
2756
|
DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2757
|
DELETE FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2758
|
DELETE FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2759
|
DELETE FROM TR_REQ_PAYMENT_DT WHERE PAY_ID = @p_REQ_PAY_ID
|
2760
|
END
|
2761
|
IF(@p_REQ_TYPE = 'P' AND @p_IS_PERIOD='Y')
|
2762
|
BEGIN
|
2763
|
DELETE FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2764
|
DELETE FROM TR_REQ_PAYMENT_DT WHERE PAY_ID = @p_REQ_PAY_ID
|
2765
|
END
|
2766
|
IF(@p_REQ_TYPE = 'P' AND (@p_IS_PERIOD='N' OR @p_IS_PERIOD IS NULL))
|
2767
|
BEGIN
|
2768
|
DELETE FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2769
|
DELETE FROM TR_REQ_PAYMENT_DT WHERE PAY_ID = @p_REQ_PAY_ID
|
2770
|
END
|
2771
|
DECLARE @ROLE_KI_NHAY VARCHAR(50)
|
2772
|
SET @ROLE_KI_NHAY =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_TRASFER_USER_RECIVE)
|
2773
|
IF(@ROLE_KI_NHAY IS NOT NULL AND @ROLE_KI_NHAY <>'' AND @ROLE_KI_NHAY IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC'))
|
2774
|
BEGIN
|
2775
|
PRINT @ROLE_KI_NHAY
|
2776
|
END
|
2777
|
ELSE
|
2778
|
BEGIN
|
2779
|
SET @ROLE_KI_NHAY =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_TRASFER_USER_RECIVE)
|
2780
|
IF(@ROLE_KI_NHAY IS NULL OR @ROLE_KI_NHAY ='')
|
2781
|
BEGIN
|
2782
|
SET @ROLE_KI_NHAY =(SELECT TOP 1 ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =(SELECT TOP 1 ROLENAME FROM TL_USER WHERE TLNANME=@p_TRASFER_USER_RECIVE))
|
2783
|
END
|
2784
|
END
|
2785
|
--SET @ROLE_KI_NHAY =(SELECT RoleName FROM TL_USER_V2 WHERE TLNANME =@p_TRASFER_USER_RECIVE)
|
2786
|
IF(@ROLE_KI_NHAY IS NOT NULL AND @ROLE_KI_NHAY <> '' AND @ROLE_KI_NHAY IN ('TP','GDDV','KTT','TPTC','TC','TPGD'))
|
2787
|
BEGIN
|
2788
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Bạn không được phép chọn cấp trưởng đơn vị làm cấp phê duyệt trung gian. Vui lòng bỏ qua hoặc chọn cấp phó phòng, trưởng bộ phận' ErrorDesc
|
2789
|
RETURN '-1'
|
2790
|
END
|
2791
|
|
2792
|
BEGIN TRANSACTION
|
2793
|
-- DECLARE
|
2794
|
DECLARE @VAT decimal(18, 0) =NULL, @TRANS_NO nvarchar(50)=NULL, @TRANS_DT VARCHAR(20)=NULL,@INVOICE_SIGN nvarchar(50) = NULL,@INVOICE_NO_SIGN nvarchar(50) = NULL,@INVOICE_NO nvarchar(50) = NULL,
|
2795
|
@INVOICE_DT VARCHAR(20) = NULL, @SELLER nvarchar(500) = NULL,@TAX_NO nvarchar(15) = NULL,@GOODS_NAME nvarchar(500) = NULL, @PRICE decimal(18, 0) = NULL,@TAX decimal(18, 0) = NULL,
|
2796
|
@NOTES NVARCHAR(MAX) = NULL,@VAT_RATE DECIMAL(18,0),@ACC_NO VARCHAR(50),@ACC_NAME NVARCHAR(250),@ISSUED_BY NVARCHAR(250), @ISSUED_DT VARCHAR(20),@CURRENCY VARCHAR(15)= NULL,@RATE DECIMAL(18,2),
|
2797
|
@TYPE_VAT VARCHAR(15),@TYPE_FUNC VARCHAR(15), @PAY_ADV_ID VARCHAR(15),@TYPE_TRANSFER VARCHAR(15),@REQ_PAY_ADV_CODE VARCHAR(15),@REASON NVARCHAR(1000),
|
2798
|
@REF_TYPE VARCHAR(15), @TRN_DATE VARCHAR(15), @AMT_ADVANCED DECIMAL(18,0),@AMT_DO DECIMAL(18,0), @AMT_REMAIN DECIMAL(18,0),@AMT_PAY DECIMAL(18,0),@AMT_USE DECIMAL(18,2),@AMT_REVERT DECIMAL(18,2),
|
2799
|
@AMT_ADD DECIMAL(18,2), @TOTAL_SCHEDULE_AMT DECIMAL(18,0) =0
|
2800
|
DECLARE @INDEX_AD INT =0, @INDEX_SV INT =0,@INDEX INT =0, @INDEX_IV INT =0, @INDEX_NS INT =0, @INDEX_INVOICE INT = 0, @INDEX_METHOD INT = 0
|
2801
|
DECLARE @hdoc INT, @hDoc2 INT, @hDocMeThod INT, @hdocBudget INT, @hdocService INT, @hdocAttach INT, @hdocInvoice INT, @hdocPO INT, @hdocSchedule INT, @hdocPeriod INT, @hdocRecurring INT, @hdocJob INT,
|
2802
|
@hdocJobDT INT, @hdocDrive INT, @hdocDriveDT INT
|
2803
|
-- EXEC XMP
|
2804
|
EXEC sp_xml_preparedocument @hdoc OUTPUT, @p_XMP_TEMP;
|
2805
|
EXEC sp_xml_preparedocument @hDoc2 OUTPUT, @p_XMP_TEMP_2;
|
2806
|
EXEC sp_xml_preparedocument @hDocMeThod OUTPUT, @p_XMP_TEMP_METHOD;
|
2807
|
EXEC sp_xml_preparedocument @hdocBudget OUTPUT, @p_XMP_TEMP_BUDGET;
|
2808
|
EXEC sp_xml_preparedocument @hdocService OUTPUT, @p_XMP_TEMP_SERVICE;
|
2809
|
EXEC sp_xml_preparedocument @hdocAttach OUTPUT, @p_XMP_TEMP_ATTACH;
|
2810
|
EXEC sp_xml_preparedocument @hdocInvoice OUTPUT, @p_XMP_TEMP_INVOICE;
|
2811
|
EXEC sp_xml_preparedocument @hdocPO OUTPUT, @p_XMP_TEMP_PO;
|
2812
|
EXEC sp_xml_preparedocument @hdocSchedule OUTPUT, @p_XMP_TEMP_SCHEDULE;
|
2813
|
EXEC sp_xml_preparedocument @hdocPeriod OUTPUT, @p_XMP_TEMP_PERIOD;
|
2814
|
EXEC sp_xml_preparedocument @hdocRecurring OUTPUT, @p_XMP_ADVANCE_DT;
|
2815
|
--doanptt 15/02/2022
|
2816
|
EXEC sp_xml_preparedocument @hdocJob OUTPUT, @p_XMP_TEMP_PAY_JOB;
|
2817
|
EXEC sp_xml_preparedocument @hdocJobDT OUTPUT, @p_XMP_TEMP_PAY_JOB_DT;
|
2818
|
--doanptt 17/02/2022
|
2819
|
EXEC sp_xml_preparedocument @hdocDrive OUTPUT, @p_XMP_TEMP_PAY_DRIVE;
|
2820
|
EXEC sp_xml_preparedocument @hdocDriveDT OUTPUT, @p_XMP_TEMP_PAY_DRIVE_DT;
|
2821
|
|
2822
|
|
2823
|
-- BEGIN THONG TIN LUOI MASTER
|
2824
|
UPDATE TR_REQ_PAYMENT
|
2825
|
SET REF_ID = @p_REF_ID, DEP_ID= @p_DEP_ID,REQ_REASON = @p_REQ_REASON, REQ_PAY_TYPE = @p_REQ_PAY_TYPE,REQ_AMT = @p_REQ_AMT, NOTES= @p_NOTES, REQ_TYPE= @p_REQ_TYPE,REQ_DESCRIPTION = @p_REQ_DESCRIPTION,
|
2826
|
RECEIVER_PO = @p_RECEIVER_PO,TRANSFER_MAKER =@p_TRANSFER_MAKER, REQ_TEMP_AMT=@p_REQ_TEMP_AMT,REQ_ENTRIES = @P_REQ_ENTRIES,BRANCH_ID = @p_BRANCH_ID,
|
2827
|
AUTH_STATUS='E', IS_PERIOD =@p_IS_PERIOD, TRASFER_USER_RECIVE =@p_TRASFER_USER_RECIVE, RATE = @p_RATE, AMT_PAY = @p_AMT_PAY, AUTH_STATUS_KT = NULL, REQ_TYPE_CURRENCY = @p_REQ_TYPE_CURRENCY
|
2828
|
WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
2829
|
-- BUA DOAN NAY DE XU LY LOI KHONG TIM DUOC NHA CUNG CAP
|
2830
|
UPDATE CM_SUPPLIER SET ACC_NUM ='' WHERE ACC_NUM IS NULL
|
2831
|
UPDATE CM_SUPPLIER SET ACC_NUM_OUT ='' WHERE ACC_NUM_OUT IS NULL
|
2832
|
--
|
2833
|
UPDATE TR_REQ_PAY_SERVICE
|
2834
|
SET REQ_PAY_ID= 'XX'+ RIGHT(REQ_PAY_ID,13)
|
2835
|
WHERE REQ_PAY_ID NOT IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE REQ_TYPE IN ('I','D'))
|
2836
|
--
|
2837
|
UPDATE TR_REQ_PAY_SCHEDULE
|
2838
|
SET REQ_PAY_ID= 'XX'+ RIGHT(REQ_PAY_ID,13)
|
2839
|
WHERE REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE REQ_TYPE ='P' AND IS_PERIOD IS NOT NULL AND IS_PERIOD <>'' AND IS_PERIOD='Y') AND TRN_TYPE ='PAY' AND REQ_PAY_ID =@p_REQ_PAY_ID
|
2840
|
IF @@Error <> 0 GOTO ABORT
|
2841
|
-- END THONG TIN LUOI MASTER
|
2842
|
|
2843
|
-- BEGIN THONG TIN HOA DON DINH KEM
|
2844
|
DECLARE @PDN_TT_LIST_INVOICE NVARCHAR(1000)
|
2845
|
DELETE FROM TR_REQ_PAY_INVOICE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2846
|
DECLARE XmlData CURSOR FOR SELECT * FROM OPENXML(@hdocInvoice, '/Root/XmlData', 2)
|
2847
|
WITH(TRANS_NO nvarchar(50),TRANS_DT VARCHAR(20),INVOICE_SIGN nvarchar(50),INVOICE_NO_SIGN nvarchar(50), INVOICE_NO nvarchar(50),INVOICE_DT VARCHAR(20) ,SELLER nvarchar(500),TAX_NO nvarchar(15),
|
2848
|
GOODS_NAME nvarchar(500), PRICE decimal(18,0),TAX decimal(18, 0),VAT decimal(18,0),NOTE NVARCHAR(MAX),VAT_RATE decimal(18,2),CURRENCY VARCHAR(15), RATE DECIMAL(18,2),TYPE_VAT VARCHAR(15),TYPE_FUNC VARCHAR(15))
|
2849
|
OPEN XmlData;
|
2850
|
FETCH NEXT FROM XmlData INTO @TRANS_NO , @TRANS_DT ,@INVOICE_SIGN ,@INVOICE_NO_SIGN,@INVOICE_NO ,@INVOICE_DT ,@SELLER ,
|
2851
|
@TAX_NO ,@GOODS_NAME ,@PRICE ,@TAX,@VAT,@NOTES,@VAT_RATE,@CURRENCY,@RATE,@TYPE_VAT,@TYPE_FUNC
|
2852
|
WHILE @@fetch_status=0
|
2853
|
BEGIN
|
2854
|
-- SET
|
2855
|
SET @INDEX_IV = @INDEX_IV +1
|
2856
|
-- BEGIN VALIDATE
|
2857
|
IF(@p_TYPE_FUNCTION ='SEND')
|
2858
|
BEGIN
|
2859
|
IF(LEN(@INVOICE_NO) < 1)
|
2860
|
BEGIN
|
2861
|
ROLLBACK TRANSACTION
|
2862
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Hóa đơn đính kèm, dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn '+ @INVOICE_NO +N' không được để trống' ErrorDesc
|
2863
|
RETURN '-1'
|
2864
|
END
|
2865
|
|
2866
|
IF(LEN(@INVOICE_NO) > 8)
|
2867
|
BEGIN
|
2868
|
ROLLBACK TRANSACTION
|
2869
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Hóa đơn đính kèm, dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn '+ @INVOICE_NO +N' phải bé hơn 9 ký tự' ErrorDesc
|
2870
|
RETURN '-1'
|
2871
|
END
|
2872
|
|
2873
|
IF(EXISTS( SELECT * FROM TR_REQ_PAY_INVOICE WHERE INVOICE_NO =@INVOICE_NO AND INVOICE_NO_SIGN = @INVOICE_NO_SIGN AND INVOICE_SIGN =@INVOICE_SIGN AND TAX_NO =@TAX_NO AND TAX =@TAX AND AUTH_STATUS <>'D'
|
2874
|
AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS NOT IN ('E','D') AND MAKER_ID NOT IN (SELECT TLNANME FROM TL_USER WHERE RoleName ='DISABLE' OR AUTH_STATUS ='U'))))
|
2875
|
BEGIN
|
2876
|
---- 19.10.2022 LUCTV DIEU CHINH TAI VI TRI VALIDATE SO HOA DON
|
2877
|
SET @PDN_TT_LIST_INVOICE = (select STUFF( (select '; ' + DTA.REQ_PAY_CODE FROM TR_REQ_PAYMENT DTA WHERE REQ_PAY_ID IN
|
2878
|
(SELECT REQ_PAY_ID FROM TR_REQ_PAY_INVOICE WHERE INVOICE_NO =@INVOICE_NO AND INVOICE_NO_SIGN = @INVOICE_NO_SIGN AND INVOICE_SIGN =@INVOICE_SIGN AND TAX_NO =@TAX_NO AND TAX =@TAX
|
2879
|
AND AUTH_STATUS <>'D'
|
2880
|
AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS NOT IN ('E','D') AND MAKER_ID NOT IN (SELECT TLNANME FROM TL_USER WHERE RoleName ='DISABLE' OR AUTH_STATUS ='U')))
|
2881
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
|
2882
|
BEGIN
|
2883
|
ROLLBACK TRANSACTION
|
2884
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn '+ @INVOICE_NO +N' đã tồn tại trong hệ thống. Danh sách những phiếu đề nghị thanh toán đã sử dụng: '+ ISNULL(@PDN_TT_LIST_INVOICE,'') ErrorDesc
|
2885
|
RETURN '-1'
|
2886
|
END
|
2887
|
END
|
2888
|
|
2889
|
IF(@GOODS_NAME IS NULL OR @GOODS_NAME ='')
|
2890
|
BEGIN
|
2891
|
ROLLBACK TRANSACTION
|
2892
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Tên mặt hàng trong lưới hóa đơn không được để trống' ErrorDesc
|
2893
|
RETURN '-1'
|
2894
|
END
|
2895
|
-- TÊN NGƯỜI BÀN
|
2896
|
IF(@SELLER IS NULL OR @SELLER ='')
|
2897
|
BEGIN
|
2898
|
ROLLBACK TRANSACTION
|
2899
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Người bán trong lưới hóa đơn không được để trống' ErrorDesc
|
2900
|
RETURN '-1'
|
2901
|
END
|
2902
|
|
2903
|
IF(@TAX_NO IS NULL OR @TAX_NO ='')
|
2904
|
BEGIN
|
2905
|
ROLLBACK TRANSACTION
|
2906
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Mã số thuế trong lưới hóa đơn không được để trống' ErrorDesc
|
2907
|
RETURN '-1'
|
2908
|
END
|
2909
|
-- NGÀY HÓA ĐƠN
|
2910
|
IF(@INVOICE_DT IS NULL OR @INVOICE_DT ='')
|
2911
|
BEGIN
|
2912
|
ROLLBACK TRANSACTION
|
2913
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Ngày hóa đơn trong lưới hóa đơn không được để trống' ErrorDesc
|
2914
|
RETURN '-1'
|
2915
|
END
|
2916
|
-- SỐ HÓA ĐƠN
|
2917
|
IF(@INVOICE_NO IS NULL OR @INVOICE_NO ='')
|
2918
|
BEGIN
|
2919
|
ROLLBACK TRANSACTION
|
2920
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn trong lưới hóa đơn không được để trống' ErrorDesc
|
2921
|
RETURN '-1'
|
2922
|
END
|
2923
|
-- KÍ HIỆU HÓA ĐƠN
|
2924
|
IF(@INVOICE_NO_SIGN IS NULL OR @INVOICE_NO_SIGN ='')
|
2925
|
BEGIN
|
2926
|
ROLLBACK TRANSACTION
|
2927
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Kí hiệu số hóa đơn trong lưới hóa đơn không được để trống' ErrorDesc
|
2928
|
RETURN '-1'
|
2929
|
END
|
2930
|
-- KÍ HIỆU HÓA ĐƠN
|
2931
|
IF(@PRICE IS NULL OR @PRICE =0)
|
2932
|
BEGIN
|
2933
|
ROLLBACK TRANSACTION
|
2934
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số tiền hóa đơn trong lưới hóa đơn không được để trống' ErrorDesc
|
2935
|
RETURN '-1'
|
2936
|
END
|
2937
|
END
|
2938
|
-- END VALIDATE
|
2939
|
|
2940
|
DECLARE @p_REQ_INV_ID VARCHAR(15);
|
2941
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_INVOICE', @p_REQ_INV_ID OUT;
|
2942
|
IF @p_REQ_INV_ID='' OR @p_REQ_INV_ID IS NULL GOTO ABORT;
|
2943
|
INSERT INTO TR_REQ_PAY_INVOICE(REQ_PAYDT_ID,REQ_PAY_ID,TRANS_NO,TRANS_DT,INVOICE_SIGN,INVOICE_NO,INVOICE_DT,SELLER,TAX_NO,GOODS_NAME,PRICE,TAX,VAT,NOTE, MAKER_ID,CREATE_DT,EDITOR_ID,AUTH_STATUS,
|
2944
|
CHECKER_ID,APPROVE_DT, CREATE_DT_KT,MAKER_ID_KT,AUTH_STATUS_KT,CHECKER_ID_KT,APPROVE_DT_KT,RECORD_STATUS,INVOICE_NO_SIGN,VAT_RATE,CURRENCY,RATE,PRICE_KT,VAT_KT,TOTAL_AMT_KT,TYPE_VAT,TYPE_FUNC)
|
2945
|
VALUES (@p_REQ_INV_ID,@p_REQ_PAY_ID , @TRANS_NO , NULL ,@INVOICE_SIGN ,@INVOICE_NO ,CONVERT(DATE,@INVOICE_DT,103) ,UPPER(([dbo].[RemoveVietNamese](@SELLER))),@TAX_NO ,UPPER(([dbo].[RemoveVietNamese](@GOODS_NAME))) ,
|
2946
|
@PRICE ,@TAX,@VAT,@NOTES, @p_MAKER_ID,GETDATE(),NULL,'U',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1',@INVOICE_NO_SIGN,@VAT_RATE, 'VND' , 1,@PRICE,@VAT,@PRICE+@VAT,@TYPE_VAT,@TYPE_FUNC)
|
2947
|
IF @@error<>0 GOTO ABORT;
|
2948
|
FETCH NEXT FROM XmlData
|
2949
|
INTO @TRANS_NO , @TRANS_DT,@INVOICE_SIGN,@INVOICE_NO_SIGN,@INVOICE_NO ,@INVOICE_DT ,@SELLER ,@TAX_NO ,@GOODS_NAME ,@PRICE ,@TAX,@VAT,@NOTES,@VAT_RATE,@CURRENCY,@RATE,@TYPE_VAT,@TYPE_FUNC
|
2950
|
END;
|
2951
|
CLOSE XmlData;
|
2952
|
DEALLOCATE XmlData;
|
2953
|
-- END THONG TIN HOA DON DINH KEM
|
2954
|
|
2955
|
-- BEGIN THONG TIN HANG MUC NGAN SACH VA CHI PHI
|
2956
|
-- DELETE
|
2957
|
DELETE FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID=@p_REQ_PAY_ID
|
2958
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID=@p_REQ_PAY_ID
|
2959
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID=@p_REQ_PAY_ID
|
2960
|
-- DECLARE
|
2961
|
DECLARE @TRADE_ID varchar(15),@GD_ID varchar(15), @GD_CODE varchar(15), @AMT_APP decimal(18,2),@AMT_EXE decimal(18,2), @AMT_REMAIN_GD decimal(18,2),@TYPE_COST VARCHAR(15), @FR_LEVEL INT ,
|
2962
|
@TO_LEVEL INT, @MONTH_RATE VARCHAR(4), @YEAR_RATE VARCHAR(4), @BUDGET_TYPE VARCHAR(20), @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20), @MONTH VARCHAR(20), @YEAR VARCHAR(20),
|
2963
|
@BRANCH_TYPE VARCHAR(20), @KHOI_ID VARCHAR(20), @TLNAME VARCHAR(20), @RoleName VARCHAR(20), @BRANCH_TAKE_COST_ID VARCHAR(20), @DEP_TAKE_COST_ID VARCHAR(20), @KHOI_TAKE_COST_ID VARCHAR(20)
|
2964
|
-- DECLARE CURSOR
|
2965
|
DECLARE XmlDataGood CURSOR FOR SELECT * FROM OPENXML(@hdocBudget, 'Root/XmlDataGood',2)
|
2966
|
WITH(TRADE_ID varchar(15),GD_ID varchar(15),GD_CODE varchar(15),AMT_APP decimal(18,2),AMT_DO decimal(18,2), AMT_EXE decimal(18,2),AMT_REMAIN decimal(18,2),CURRENCY VARCHAR(15), RATE DECIMAL(18,2),
|
2967
|
REASON NVARCHAR(1000),TYPE_COST VARCHAR(15), FR_LEVEL INT ,TO_LEVEL INT, MONTH_RATE VARCHAR(4), YEAR_RATE VARCHAR(4), BUDGET_TYPE VARCHAR(20), BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20), MONTH VARCHAR(20), YEAR VARCHAR(20),
|
2968
|
BRANCH_TYPE VARCHAR(20), KHOI_ID VARCHAR(20), TLNAME VARCHAR(20), RoleName VARCHAR(20), BRANCH_TAKE_COST_ID VARCHAR(20), DEP_TAKE_COST_ID VARCHAR(20), KHOI_TAKE_COST_ID VARCHAR(20))
|
2969
|
-- BEGIN CURSOR THONG TIN HANG MUC NGAN SACH VA CHI PHI
|
2970
|
OPEN XmlDataGood
|
2971
|
FETCH NEXT FROM XmlDataGood INTO @TRADE_ID,@GD_ID , @GD_CODE, @AMT_APP ,@AMT_DO,@AMT_EXE ,@AMT_REMAIN_GD,@CURRENCY,
|
2972
|
@RATE,@REASON,@TYPE_COST, @FR_LEVEL,@TO_LEVEL, @MONTH_RATE, @YEAR_RATE, @BUDGET_TYPE, @BRANCH_ID , @DEP_ID, @MONTH, @YEAR, @BRANCH_TYPE, @KHOI_ID, @TLNAME, @RoleName, @BRANCH_TAKE_COST_ID, @DEP_TAKE_COST_ID, @KHOI_TAKE_COST_ID
|
2973
|
WHILE @@fetch_status=0 BEGIN
|
2974
|
-- SET
|
2975
|
SET @INDEX_NS = @INDEX_NS +1
|
2976
|
|
2977
|
-- BEGIN VALIDATE
|
2978
|
IF(@p_TYPE_FUNCTION ='SEND')
|
2979
|
BEGIN
|
2980
|
IF(ISNULL(@AMT_EXE,0) =0)
|
2981
|
BEGIN
|
2982
|
ROLLBACK TRANSACTION
|
2983
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng thực tế phải lớn hơn không.' ErrorDesc
|
2984
|
RETURN '-1'
|
2985
|
END
|
2986
|
/*
|
2987
|
IF((@AMT_EXE > @AMT_REMAIN_GD) AND ((SELECT GD_TYPE_ID FROM CM_GOODS WHERE GD_ID =@GD_ID) ='NS'))
|
2988
|
BEGIN
|
2989
|
ROLLBACK TRANSACTION
|
2990
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng thực tế không được vượt quá ngân sách còn lại.' ErrorDesc
|
2991
|
RETURN '-1'
|
2992
|
END
|
2993
|
*/
|
2994
|
IF(NOT EXISTS(SELECT * FROM PL_IMPORT_DT WHERE TRADE_ID =@TRADE_ID AND IMP_YEAR =YEAR(GETDATE()))
|
2995
|
AND NOT EXISTS (SELECT * FROM PL_MASTER WHERE PLAN_ID =(SELECT TOP 1 PLAN_ID FROM PL_TRADEDETAIL WHERE TRADE_ID =@TRADE_ID) AND YEAR =YEAR(GETDATE())))
|
2996
|
BEGIN
|
2997
|
ROLLBACK TRANSACTION
|
2998
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng phải chọn lại ngân sách của năm hiện tại. Không được phép sử dụng ngân sách năm cũ.' ErrorDesc
|
2999
|
RETURN '-1'
|
3000
|
END
|
3001
|
--doanptt 180622 ghi log NSCP
|
3002
|
-- BEGIN CHECK HAN MUC CHI PHI THEO NAM
|
3003
|
IF(@BUDGET_TYPE = 'nam')
|
3004
|
BEGIN
|
3005
|
IF(@YEAR_RATE = '' OR @YEAR_RATE IS NULL)
|
3006
|
BEGIN
|
3007
|
ROLLBACK TRANSACTION
|
3008
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(NVARCHAR(5),@INDEX_NS)+ N': Năm định mức không được để trống' ErrorDesc
|
3009
|
RETURN '-1'
|
3010
|
END
|
3011
|
SET @MONTH_RATE = 'M' + CONVERT(VARCHAR(20), MONTH(GETDATE()));
|
3012
|
DECLARE @l_BUDGET_LIMIT_YEAR_DETAIL_ID VARCHAR(15);
|
3013
|
EXEC SYS_CodeMasters_Gen 'BUDGET_LIMIT_YEAR_DETAIL', @l_BUDGET_LIMIT_YEAR_DETAIL_ID OUT;
|
3014
|
|
3015
|
IF(@MONTH_RATE = 'M1')
|
3016
|
BEGIN
|
3017
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(BUDGET_YEAR_LIMIT_DETAIL_ID,REQ_PAY_ID, GD_ID , BRANCH_ID, DEP_ID, KHOI_ID, TLNAME, ROLENAME, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3018
|
VALUES(@l_BUDGET_LIMIT_YEAR_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @KHOI_TAKE_COST_ID, @TLNAME, @RoleName, @YEAR_RATE, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3019
|
END
|
3020
|
IF(@MONTH_RATE = 'M2')
|
3021
|
BEGIN
|
3022
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(BUDGET_YEAR_LIMIT_DETAIL_ID,REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, KHOI_ID, TLNAME, ROLENAME, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3023
|
VALUES(@l_BUDGET_LIMIT_YEAR_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @KHOI_TAKE_COST_ID, @TLNAME, @RoleName, @YEAR_RATE, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3024
|
END
|
3025
|
IF(@MONTH_RATE = 'M3')
|
3026
|
BEGIN
|
3027
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(BUDGET_YEAR_LIMIT_DETAIL_ID,REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, KHOI_ID, TLNAME, ROLENAME, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3028
|
VALUES(@l_BUDGET_LIMIT_YEAR_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @KHOI_TAKE_COST_ID, @TLNAME, @RoleName, @YEAR_RATE, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3029
|
END
|
3030
|
IF(@MONTH_RATE = 'M4')
|
3031
|
BEGIN
|
3032
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(BUDGET_YEAR_LIMIT_DETAIL_ID,REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, KHOI_ID, TLNAME, ROLENAME, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3033
|
VALUES(@l_BUDGET_LIMIT_YEAR_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @KHOI_TAKE_COST_ID, @TLNAME, @RoleName, @YEAR_RATE,0,0,0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3034
|
END
|
3035
|
IF(@MONTH_RATE = 'M5')
|
3036
|
BEGIN
|
3037
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(BUDGET_YEAR_LIMIT_DETAIL_ID,REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, KHOI_ID, TLNAME, ROLENAME, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3038
|
VALUES(@l_BUDGET_LIMIT_YEAR_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @KHOI_TAKE_COST_ID, @TLNAME, @RoleName, @YEAR_RATE, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3039
|
END
|
3040
|
IF(@MONTH_RATE = 'M6')
|
3041
|
BEGIN
|
3042
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(BUDGET_YEAR_LIMIT_DETAIL_ID,REQ_PAY_ID, GD_ID , BRANCH_ID, DEP_ID, KHOI_ID, TLNAME, ROLENAME, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3043
|
VALUES(@l_BUDGET_LIMIT_YEAR_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @KHOI_TAKE_COST_ID, @TLNAME, @RoleName, @YEAR_RATE, 0, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3044
|
END
|
3045
|
IF(@MONTH_RATE = 'M7')
|
3046
|
BEGIN
|
3047
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(BUDGET_YEAR_LIMIT_DETAIL_ID,REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, KHOI_ID, TLNAME, ROLENAME, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3048
|
VALUES(@l_BUDGET_LIMIT_YEAR_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @KHOI_TAKE_COST_ID, @TLNAME, @RoleName, @YEAR_RATE, 0, 0, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3049
|
END
|
3050
|
IF(@MONTH_RATE = 'M8')
|
3051
|
BEGIN
|
3052
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(BUDGET_YEAR_LIMIT_DETAIL_ID,REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, KHOI_ID, TLNAME, ROLENAME, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3053
|
VALUES(@l_BUDGET_LIMIT_YEAR_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @KHOI_TAKE_COST_ID, @TLNAME, @RoleName, @YEAR_RATE, '', '', '', '', '', '', '', @AMT_EXE, '', '', '', '', @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3054
|
END
|
3055
|
IF(@MONTH_RATE = 'M9')
|
3056
|
BEGIN
|
3057
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(BUDGET_YEAR_LIMIT_DETAIL_ID,REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, KHOI_ID, TLNAME, ROLENAME, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3058
|
VALUES(@l_BUDGET_LIMIT_YEAR_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @KHOI_TAKE_COST_ID, @TLNAME, @RoleName, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3059
|
END
|
3060
|
IF(@MONTH_RATE = 'M10')
|
3061
|
BEGIN
|
3062
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(BUDGET_YEAR_LIMIT_DETAIL_ID,REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, KHOI_ID, TLNAME, ROLENAME, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3063
|
VALUES(@l_BUDGET_LIMIT_YEAR_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @KHOI_TAKE_COST_ID, @TLNAME, @RoleName, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE,0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3064
|
END
|
3065
|
IF(@MONTH_RATE = 'M11')
|
3066
|
BEGIN
|
3067
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(BUDGET_YEAR_LIMIT_DETAIL_ID,REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, KHOI_ID, TLNAME, ROLENAME, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3068
|
VALUES(@l_BUDGET_LIMIT_YEAR_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @KHOI_TAKE_COST_ID, @TLNAME, @RoleName, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3069
|
END
|
3070
|
IF(@MONTH_RATE = 'M12')
|
3071
|
BEGIN
|
3072
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(BUDGET_YEAR_LIMIT_DETAIL_ID,REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, KHOI_ID, TLNAME, ROLENAME, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3073
|
VALUES(@l_BUDGET_LIMIT_YEAR_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @KHOI_TAKE_COST_ID, @TLNAME, @RoleName, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3074
|
END
|
3075
|
|
3076
|
-- CHECK HẠN MỨC
|
3077
|
DECLARE @l_HAVE_BUDGET_LIMIT_YEAR decimal(18,0), @l_BUDGET_LIMIT_CURRENT_YEAR decimal(18,0) =0, @l_BUDGET_USED_CURRENT_YEAR decimal(18,0) =0 , @l_BRANCH_TYPE_YEAR VARCHAR(20) = '';
|
3078
|
EXEC TR_BUDGET_CHECK_LIMIT_YEAR_Byid @GD_ID, @GD_CODE ,@BRANCH_ID, @DEP_ID, @KHOI_TAKE_COST_ID, @TLNAME, @RoleName, @MONTH_RATE, @YEAR_RATE, @l_BUDGET_LIMIT_CURRENT_YEAR out, @l_BUDGET_USED_CURRENT_YEAR out
|
3079
|
IF(@l_BUDGET_LIMIT_CURRENT_YEAR < @l_BUDGET_USED_CURRENT_YEAR)
|
3080
|
BEGIN
|
3081
|
ROLLBACK TRANSACTION
|
3082
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(NVARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng ngân sách vượt quá định mức ngân sách. Hạn mức hiện tại là ' + FORMAT(@l_BUDGET_LIMIT_CURRENT_YEAR,'#,#', 'vi-VN') + N', số tiền đã sử dụng đến hiện tại là ' + FORMAT(@l_BUDGET_USED_CURRENT_YEAR,'#,#', 'vi-VN') ErrorDesc
|
3083
|
RETURN '-1'
|
3084
|
END
|
3085
|
END-- END CHECK HAN MUC NGAN SACH CHI PHI THEO NAM
|
3086
|
ELSE IF(@BUDGET_TYPE = 'thang')
|
3087
|
BEGIN -- BEGIN CHECK HAN MUC NGAN SACH CHI PHI THEO THANG
|
3088
|
-- BEGIN KIỂM TRA HẠN MỨC
|
3089
|
DECLARE @l_HAVE_BUDGET_LIMIT decimal(18,0), @l_BUDGET_LIMIT_CURRENT decimal(18,0) =0, @l_BUDGET_USED_CURRENT decimal(18,0) =0 , @l_BRANCH_TYPE VARCHAR(20) = '';
|
3090
|
-- lấy loại đơn vị
|
3091
|
SET @l_BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_ID)
|
3092
|
IF(@l_BRANCH_TYPE = 'HS')
|
3093
|
BEGIN
|
3094
|
SET @l_BRANCH_TYPE = 'ho'
|
3095
|
END
|
3096
|
ELSE
|
3097
|
BEGIN
|
3098
|
SET @l_BRANCH_TYPE = 'dvkd'
|
3099
|
END
|
3100
|
|
3101
|
DECLARE @l_BUDGET_LIMIT_MONTH_DETAIL_ID VARCHAR(15);
|
3102
|
EXEC SYS_CodeMasters_Gen 'BUDGET_LIMIT_MONTH_DETAIL', @l_BUDGET_LIMIT_MONTH_DETAIL_ID OUT;
|
3103
|
|
3104
|
IF(@MONTH_RATE = '' OR @MONTH_RATE IS NULL)
|
3105
|
BEGIN
|
3106
|
ROLLBACK TRANSACTION
|
3107
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(NVARCHAR(5),@INDEX_NS)+ N': Tháng định mức không được để trống' ErrorDesc
|
3108
|
RETURN '-1'
|
3109
|
END
|
3110
|
IF(@YEAR_RATE = '' OR @YEAR_RATE IS NULL)
|
3111
|
BEGIN
|
3112
|
ROLLBACK TRANSACTION
|
3113
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(NVARCHAR(5),@INDEX_NS)+ N': Năm định mức không được để trống' ErrorDesc
|
3114
|
RETURN '-1'
|
3115
|
END
|
3116
|
-- END KIỂM TRA HẠN MỨC
|
3117
|
-- BEGIN VALIDATE
|
3118
|
IF(@MONTH_RATE = 'M1')
|
3119
|
BEGIN
|
3120
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(BUDGET_MONTH_LIMIT_DETAIL_ID, REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3121
|
VALUES(@l_BUDGET_LIMIT_MONTH_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3122
|
END
|
3123
|
IF(@MONTH_RATE = 'M2')
|
3124
|
BEGIN
|
3125
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(BUDGET_MONTH_LIMIT_DETAIL_ID, REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3126
|
VALUES(@l_BUDGET_LIMIT_MONTH_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3127
|
END
|
3128
|
IF(@MONTH_RATE = 'M3')
|
3129
|
BEGIN
|
3130
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(BUDGET_MONTH_LIMIT_DETAIL_ID, REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3131
|
VALUES(@l_BUDGET_LIMIT_MONTH_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3132
|
END
|
3133
|
IF(@MONTH_RATE = 'M4')
|
3134
|
BEGIN
|
3135
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(BUDGET_MONTH_LIMIT_DETAIL_ID, REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3136
|
VALUES(@l_BUDGET_LIMIT_MONTH_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE,0,0,0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3137
|
END
|
3138
|
IF(@MONTH_RATE = 'M5')
|
3139
|
BEGIN
|
3140
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(BUDGET_MONTH_LIMIT_DETAIL_ID, REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3141
|
VALUES(@l_BUDGET_LIMIT_MONTH_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3142
|
END
|
3143
|
IF(@MONTH_RATE = 'M6')
|
3144
|
BEGIN
|
3145
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(BUDGET_MONTH_LIMIT_DETAIL_ID, REQ_PAY_ID, GD_ID , BRANCH_ID, DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3146
|
VALUES(@l_BUDGET_LIMIT_MONTH_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3147
|
END
|
3148
|
IF(@MONTH_RATE = 'M7')
|
3149
|
BEGIN
|
3150
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(BUDGET_MONTH_LIMIT_DETAIL_ID, REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3151
|
VALUES(@l_BUDGET_LIMIT_MONTH_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3152
|
END
|
3153
|
IF(@MONTH_RATE = 'M8')
|
3154
|
BEGIN
|
3155
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(BUDGET_MONTH_LIMIT_DETAIL_ID, REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3156
|
VALUES(@l_BUDGET_LIMIT_MONTH_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, '', '', '', '', '', '', '', @AMT_EXE, '', '', '', '', @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3157
|
END
|
3158
|
IF(@MONTH_RATE = 'M9')
|
3159
|
BEGIN
|
3160
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(BUDGET_MONTH_LIMIT_DETAIL_ID, REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3161
|
VALUES(@l_BUDGET_LIMIT_MONTH_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3162
|
END
|
3163
|
IF(@MONTH_RATE = 'M10')
|
3164
|
BEGIN
|
3165
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(BUDGET_MONTH_LIMIT_DETAIL_ID, REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3166
|
VALUES(@l_BUDGET_LIMIT_MONTH_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE,0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3167
|
END
|
3168
|
IF(@MONTH_RATE = 'M11')
|
3169
|
BEGIN
|
3170
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(BUDGET_MONTH_LIMIT_DETAIL_ID, REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3171
|
VALUES(@l_BUDGET_LIMIT_MONTH_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3172
|
END
|
3173
|
IF(@MONTH_RATE = 'M12')
|
3174
|
BEGIN
|
3175
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(BUDGET_MONTH_LIMIT_DETAIL_ID, REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
3176
|
VALUES(@l_BUDGET_LIMIT_MONTH_DETAIL_ID, @p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
3177
|
END
|
3178
|
-- END VALIDATE
|
3179
|
|
3180
|
-- CHECK HẠN MỨC
|
3181
|
EXEC TR_BUDGET_CHECK_LIMIT_MONTH_Byid @GD_ID, @GD_CODE ,@l_BRANCH_TYPE, @YEAR_RATE , @MONTH_RATE, @l_BUDGET_LIMIT_CURRENT out, @l_BUDGET_USED_CURRENT out
|
3182
|
IF(@l_BUDGET_LIMIT_CURRENT < @l_BUDGET_USED_CURRENT)
|
3183
|
BEGIN
|
3184
|
ROLLBACK TRANSACTION
|
3185
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(NVARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng ngân sách vượt quá định mức ngân sách. Hạn mức hiện tại là ' + FORMAT(@l_BUDGET_LIMIT_CURRENT,'#,#', 'vi-VN') + N', số tiền đã sử dụng đến hiện tại là ' + FORMAT(@l_BUDGET_USED_CURRENT,'#,#', 'vi-VN') ErrorDesc
|
3186
|
RETURN '-1'
|
3187
|
END
|
3188
|
END
|
3189
|
--END CHECK HAN MUC NGAN SACH CHI PHI THEO THANG
|
3190
|
END
|
3191
|
-- END VALIDATE
|
3192
|
|
3193
|
DECLARE @p_BUDGET_ID VARCHAR(15);
|
3194
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_BUDGET', @p_BUDGET_ID OUT;
|
3195
|
IF @p_BUDGET_ID='' OR @p_BUDGET_ID IS NULL GOTO ABORT;
|
3196
|
INSERT INTO TR_REQ_PAY_BUDGET(BUDG_ID,GD_ID,REQ_PAY_ID,TRADE_ID,AMT_APP,AMT_DO,AMT_EXE,AMT_REMAIN,MAKER_ID,CREATE_DT,CURRENCY,RATE,REASON,TYPE_COST , FR_LEVEL ,TO_LEVEL, MONTH_RATE, YEAR_RATE, BUDGET_TYPE, BRANCH_ID ,DEP_ID, TLNAME, ROLENAME, BRANCH_TAKE_COST_ID, DEP_TAKE_COST_ID, KHOI_TAKE_COST_ID)
|
3197
|
VALUES (@p_BUDGET_ID,@GD_ID,@p_REQ_PAY_ID,@TRADE_ID,@AMT_APP,@AMT_DO,@AMT_EXE,@AMT_REMAIN_GD,@p_MAKER_ID, GETDATE(), @p_REQ_TYPE_CURRENCY , @p_RATE,@REASON,@TYPE_COST, @FR_LEVEL,@TO_LEVEL, @MONTH_RATE, @YEAR_RATE, @BUDGET_TYPE, @BRANCH_ID, @DEP_ID, @TLNAME, @RoleName, @BRANCH_TAKE_COST_ID, @DEP_TAKE_COST_ID, @KHOI_TAKE_COST_ID)
|
3198
|
IF @@error<>0 GOTO ABORT;
|
3199
|
FETCH NEXT FROM XmlDataGood INTO @TRADE_ID,@GD_ID , @GD_CODE, @AMT_APP ,@AMT_DO,@AMT_EXE ,@AMT_REMAIN_GD,@CURRENCY,
|
3200
|
@RATE,@REASON,@TYPE_COST, @FR_LEVEL,@TO_LEVEL, @MONTH_RATE, @YEAR_RATE, @BUDGET_TYPE, @BRANCH_ID , @DEP_ID, @MONTH, @YEAR, @BRANCH_TYPE, @KHOI_ID, @TLNAME, @RoleName, @BRANCH_TAKE_COST_ID, @DEP_TAKE_COST_ID, @KHOI_TAKE_COST_ID
|
3201
|
END;
|
3202
|
CLOSE XmlDataGood;
|
3203
|
DEALLOCATE XmlDataGood;
|
3204
|
-- END THONG TIN HAMG MUC NGAN SACH VA CHI PHI
|
3205
|
|
3206
|
|
3207
|
-- BEGIN THONG TIN PHUONG THUC THANH TOAN
|
3208
|
-- DELETE
|
3209
|
DELETE FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3210
|
--DECLARE
|
3211
|
DECLARE @RECEIVE_ID varchar(15),@RECEIVE_NAME nvarchar(100),@REQ_PAY_REASON nvarchar(MAX),@TOTAL_AMT_METHOD decimal(18,2), @REQ_PAY_TYPE varchar(1),@REQ_PAY_DESC nvarchar(MAX),
|
3212
|
@REQ_PAY_ENTRIES nvarchar(MAX),@CHECK_IN VARCHAR(15), @BANKCODE_NAPAS VARCHAR(20), @BANKCODE VARCHAR(20), @BANKNAME VARCHAR(250), @SUB_ISSUED_BY NVARCHAR(250), @RECEIVER_DEBIT VARCHAR(20)
|
3213
|
-- SET
|
3214
|
SET @INDEX = 0
|
3215
|
-- DECLARE CURSOR
|
3216
|
DECLARE XmlDataMethod CURSOR FOR SELECT * FROM OPENXML(@hdocMethod, 'Root/XmlDataMethod',2)
|
3217
|
WITH(RECEIVE_ID varchar(15),RECEIVE_NAME nvarchar(100),REQ_PAY_REASON nvarchar(MAX),TOTAL_AMT decimal(18,2), REQ_PAY_TYPE varchar(1),REQ_PAY_DESC nvarchar(MAX),REQ_PAY_ENTRIES nvarchar(MAX),
|
3218
|
ACC_NO VARCHAR(250), ACC_NAME NVARCHAR(250),ISSUED_BY NVARCHAR(250), ISSUED_DT VARCHAR(20),CURRENCY VARCHAR(15), RATE DECIMAL(18,2),CHECK_IN VARCHAR(15),TYPE_TRANSFER VARCHAR(15),
|
3219
|
BANKCODE_NAPAS VARCHAR(20), BANKCODE VARCHAR(20), BANKNAME NVARCHAR(250), SUB_ISSUED_BY NVARCHAR(250), RECEIVER_DEBIT NVARCHAR(20))
|
3220
|
-- BEGIN CURSOR THONG TIN PHUONG THUC THANH TOAN
|
3221
|
OPEN XmlDataMethod
|
3222
|
FETCH NEXT FROM XmlDataMethod INTO @RECEIVE_ID,@RECEIVE_NAME,@REQ_PAY_REASON,@TOTAL_AMT_METHOD,@REQ_PAY_TYPE,
|
3223
|
@REQ_PAY_DESC,@REQ_PAY_ENTRIES,@ACC_NO, @ACC_NAME,@ISSUED_BY, @ISSUED_DT,@CURRENCY,@RATE,@CHECK_IN,@TYPE_TRANSFER, @BANKCODE_NAPAS, @BANKCODE, @BANKNAME, @SUB_ISSUED_BY, @RECEIVER_DEBIT
|
3224
|
WHILE @@fetch_status=0
|
3225
|
BEGIN
|
3226
|
-- SET
|
3227
|
SET @INDEX_METHOD = @INDEX_METHOD+1
|
3228
|
-- BEGIN VALIDATE
|
3229
|
IF(@p_TYPE_FUNCTION ='SEND')
|
3230
|
BEGIN
|
3231
|
|
3232
|
IF(@ACC_NO IS NULL OR @ACC_NO = '')
|
3233
|
BEGIN
|
3234
|
ROLLBACK TRANSACTION
|
3235
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin phương thức thanh toán, dòng ' + CONVERT(VARCHAR(5),@INDEX_METHOD)+N': số tài khoản '+ N' không được để trống' ErrorDesc
|
3236
|
RETURN '-1'
|
3237
|
END
|
3238
|
|
3239
|
IF((@BANKCODE IS NULL OR @BANKCODE = '') AND @CHECK_IN = 'O')
|
3240
|
BEGIN
|
3241
|
ROLLBACK TRANSACTION
|
3242
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin phương thức thanh toán, dòng ' + CONVERT(VARCHAR(5),@INDEX_METHOD)+N': Loại tài khoản là ngoài hệ thống! Vui lòng chọn lại Tên ngân hàng/nơi cấp CMND từ danh sách!' ErrorDesc
|
3243
|
RETURN '-1'
|
3244
|
END
|
3245
|
|
3246
|
IF(@REQ_PAY_TYPE = '1' AND (@ISSUED_DT = '' OR @ISSUED_DT IS NULL))
|
3247
|
BEGIN
|
3248
|
ROLLBACK TRANSACTION
|
3249
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin phương thức thanh toán, dòng ' + CONVERT(VARCHAR(5),@INDEX_METHOD)+N': Ngày cấp CMND '+ N' không được để trống nếu phương thức thanh toán là bằng tiền mặt' ErrorDesc
|
3250
|
RETURN '-1'
|
3251
|
END
|
3252
|
|
3253
|
IF(@ISSUED_BY = '' OR @ISSUED_BY IS NULL)
|
3254
|
BEGIN
|
3255
|
ROLLBACK TRANSACTION
|
3256
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin phương thức thanh toán, dòng ' + CONVERT(VARCHAR(5),@INDEX_METHOD)+N': Tên ngân hàng/nơi cấp CMND '+ N' không được để trống' ErrorDesc
|
3257
|
RETURN '-1'
|
3258
|
END
|
3259
|
|
3260
|
IF(@ACC_NAME = '' OR @ACC_NAME IS NULL)
|
3261
|
BEGIN
|
3262
|
ROLLBACK TRANSACTION
|
3263
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin phương thức thanh toán, dòng ' + CONVERT(VARCHAR(5),@INDEX_METHOD)+N': Tên tài khoản/người nhận '+ N' không được để trống' ErrorDesc
|
3264
|
RETURN '-1'
|
3265
|
END
|
3266
|
END
|
3267
|
-- END VALIDATE
|
3268
|
IF(@REQ_PAY_TYPE<>'1')
|
3269
|
BEGIN
|
3270
|
SET @ISSUED_DT = NULL
|
3271
|
END
|
3272
|
IF(@TYPE_TRANSFER IS NULL OR @TYPE_TRANSFER ='')
|
3273
|
BEGIN
|
3274
|
SET @TYPE_TRANSFER = 'A'
|
3275
|
END
|
3276
|
|
3277
|
DECLARE @p_REQ_PAY_METHOD_ID VARCHAR(15);
|
3278
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_METHOD', @p_REQ_PAY_METHOD_ID OUT;
|
3279
|
IF @p_REQ_PAY_METHOD_ID='' OR @p_REQ_PAY_METHOD_ID IS NULL GOTO ABORT;
|
3280
|
INSERT INTO TR_REQ_PAY_METHOD(METHOD_ID, REQ_PAY_ID, EMP_ID, REQ_PAY_REASON, TOTAL_AMT, REQ_PAY_TYPE, REQ_PAY_DESC, REQ_PAY_ENTRIES, TEMP, MAKER_ID, CREATE_DT, ACC_NO, ACC_NAME, ISSUED_BY, ISSUED_DT, CURRENCY, RATE, CHECK_IN, TYPE_TRANSFER, BANKCODE_NAPAS, BANKCODE, BANKNAME, SUB_ISSUED_BY, RECEIVER_DEBIT)
|
3281
|
VALUES (@p_REQ_PAY_METHOD_ID,@p_REQ_PAY_ID,@RECEIVE_ID,@REQ_PAY_REASON,@TOTAL_AMT_METHOD,@REQ_PAY_TYPE,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,'',@p_MAKER_ID,GETDATE(),@ACC_NO, @ACC_NAME,@ISSUED_BY,CONVERT(DATE,@ISSUED_DT,103), @p_REQ_TYPE_CURRENCY , @p_RATE,@CHECK_IN,@TYPE_TRANSFER, @BANKCODE_NAPAS, @BANKCODE, @BANKNAME, @SUB_ISSUED_BY, @RECEIVER_DEBIT)
|
3282
|
IF @@error<>0 GOTO ABORT;
|
3283
|
FETCH NEXT FROM XmlDataMethod INTO @RECEIVE_ID,@RECEIVE_NAME,@REQ_PAY_REASON,@TOTAL_AMT_METHOD,@REQ_PAY_TYPE,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,
|
3284
|
@ACC_NO, @ACC_NAME,@ISSUED_BY, @ISSUED_DT,@CURRENCY,@RATE,@CHECK_IN,@TYPE_TRANSFER, @BANKCODE_NAPAS, @BANKCODE, @BANKNAME, @SUB_ISSUED_BY, @RECEIVER_DEBIT
|
3285
|
END
|
3286
|
CLOSE XmlDataMethod;
|
3287
|
DEALLOCATE XmlDataMethod;
|
3288
|
-- END CURSOR THONG TIN PHUONG THUC THANH TOAN
|
3289
|
-- END THONG TIN PHUONG THUC THANH TOAN
|
3290
|
|
3291
|
-- BEGIN THONG TIN HOP DONG DINH KEM & THONG TIN CHUNG TU KHAC DINH KEM
|
3292
|
-- DELETE
|
3293
|
DELETE FROM TR_REQ_PAY_ATTACH WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
3294
|
-- DECLARE
|
3295
|
DECLARE @ATTACH_ID varchar(15),@CON_ID varchar(100),@CONT_CODE VARCHAR(50), @CON_NOTES VARCHAR(1000), @CON_DESC NVARCHAR(1000),@CON_TYPE VARCHAR(15),@AMT_ATT DECIMAL(18,2),@REF_DT VARCHAR(20), @LICENSE_DT VARCHAR(15)
|
3296
|
-- DECLARE CURSOR
|
3297
|
DECLARE XmlAttach CURSOR FOR SELECT * FROM OPENXML(@hdocAttach, 'Root/XmlAttach',2)
|
3298
|
WITH(ATTACH_ID varchar(15),CON_ID varchar(100),CONT_CODE VARCHAR(50), CON_NOTES NVARCHAR(1000), CON_DESC NVARCHAR(1000),CON_TYPE VARCHAR(15),AMT_ATT DECIMAL(18,2),REF_DT VARCHAR(20), LICENSE_DT VARCHAR(15))
|
3299
|
-- BEGIN CURSOR THONG TIN CHUNG TU KHAC DINH KEM
|
3300
|
OPEN XmlAttach
|
3301
|
FETCH NEXT FROM XmlAttach INTO @ATTACH_ID,@CON_ID,@CONT_CODE,@NOTES,@CON_DESC,@CON_TYPE,@AMT_ATT,@REF_DT, @LICENSE_DT
|
3302
|
WHILE @@fetch_status=0
|
3303
|
BEGIN
|
3304
|
|
3305
|
IF (@REF_DT='')
|
3306
|
BEGIN
|
3307
|
SET @REF_DT = NULL
|
3308
|
END
|
3309
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ATTACH', @ATTACH_ID OUT;
|
3310
|
IF @ATTACH_ID='' OR @ATTACH_ID IS NULL GOTO ABORT;
|
3311
|
INSERT INTO TR_REQ_PAY_ATTACH(ATTACH_ID,REQ_PAY_ID,REF_ID,REF_CODE,NOTES,[DESCRIPTION],[TYPE],[AMT],REF_DT, LICENSE_DT) VALUES
|
3312
|
(@ATTACH_ID,@p_REQ_PAY_ID,@CON_ID,@CONT_CODE,@NOTES,@CON_DESC,@CON_TYPE,@AMT_ATT,CONVERT(DATE,@REF_DT,103) ,CONVERT(DATE, @LICENSE_DT,103))
|
3313
|
IF @@error<>0 GOTO ABORT;
|
3314
|
FETCH NEXT FROM XmlAttach INTO @ATTACH_ID,@CON_ID,@CONT_CODE,@NOTES,@CON_DESC,@CON_TYPE,@AMT_ATT,@REF_DT, @LICENSE_DT
|
3315
|
END
|
3316
|
CLOSE XmlAttach;
|
3317
|
DEALLOCATE XmlAttach;
|
3318
|
-- END THONG TIN HOP DONG DINH KEM & THONG TIN CHUNG TU KHAC DINH KEM
|
3319
|
|
3320
|
------------------------
|
3321
|
-- NEU LA THANH TOAN HOAN TAM UNG
|
3322
|
IF(@p_REQ_TYPE = 'I')
|
3323
|
BEGIN
|
3324
|
-- DELETE
|
3325
|
DELETE FROM TR_REQ_PAYMENT_DT WHERE PAY_ID = @p_REQ_PAY_ID
|
3326
|
|
3327
|
DECLARE XmlDataPay CURSOR FOR SELECT * FROM OPENXML(@hDoc2, '/Root/XmlDataPay', 2)
|
3328
|
WITH(PAY_ADV_ID nvarchar(50),AMT_ADVANCED decimal(18, 0),AMT_DO decimal(18,2),
|
3329
|
AMT_REMAIN decimal(18,2),AMT_PAY decimal(18,2),AMT_USE decimal(18,2),AMT_REVERT DECIMAL(18,0),AMT_ADD DECIMAL(18,2),CURRENCY VARCHAR(15), RATE DECIMAL(18,2), TRN_DATE VARCHAR(15))
|
3330
|
-- BEGIN CURSOR THONG TIN PHIEU DE NGHI TAM UNG
|
3331
|
OPEN XmlDataPay;
|
3332
|
FETCH NEXT FROM XmlDataPay INTO @PAY_ADV_ID, @AMT_ADVANCED ,@AMT_DO,@AMT_REMAIN,@AMT_PAY ,@AMT_USE ,@AMT_REVERT,@AMT_ADD,@CURRENCY,@RATE, @TRN_DATE
|
3333
|
WHILE @@fetch_status=0
|
3334
|
BEGIN
|
3335
|
SET @INDEX_AD = @INDEX_AD +1
|
3336
|
SET @REQ_PAY_ADV_CODE = (SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PAY_ADV_ID)
|
3337
|
-- BEGIN VALIDATE
|
3338
|
IF(@p_TYPE_FUNCTION ='SEND')
|
3339
|
BEGIN
|
3340
|
-- KIEM TRA XEM CO PHIEU NAO DANG DUOC THANH TOAN HOAN TAM UNG MA CHUA DUYET HAY CHUA
|
3341
|
--IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_DT WHERE (PAY_ADV_ID =@PAY_ADV_ID AND (AUTH_STATUS_KT <>'A' OR AUTH_STATUS_KT IS NULL)) AND PAY_ID <> @p_REQ_PAY_ID))
|
3342
|
IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_DT WHERE (PAY_ADV_ID =@PAY_ADV_ID AND (AUTH_STATUS ='A' AND ISNULL(AUTH_STATUS_KT,'') <> 'A')) AND PAY_ID <> @p_REQ_PAY_ID))
|
3343
|
BEGIN
|
3344
|
ROLLBACK TRANSACTION
|
3345
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_AD)+ N': Phiếu tạm ứng số '+@REQ_PAY_ADV_CODE+ N' đang được thanh toán hoàn tạm ứng. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
3346
|
RETURN '-1'
|
3347
|
END
|
3348
|
|
3349
|
-- KIEM TRA NEU SO TIEN DE NGHI HOAN TAM ƯNG LON HON SO TIEN CON LAI CAN PHAI TAM UNG
|
3350
|
IF(@AMT_REVERT>(@AMT_REMAIN -@AMT_USE) AND @AMT_REVERT >0)
|
3351
|
BEGIN
|
3352
|
ROLLBACK TRANSACTION
|
3353
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_AD)+ N': Số tiền hoàn ứng không được vượt quá '+FORMAT((@AMT_REMAIN -@AMT_USE),'#,#', 'vi-VN') ErrorDesc
|
3354
|
RETURN '-1'
|
3355
|
END
|
3356
|
--KIEM TRA NEU SO PHIEU TAM UNG NAY DA THANH TOAN XONG THI KHONG CHO PHEP DUYET
|
3357
|
IF((SELECT A.REQ_AMT - A.PAY_AMT FROM TR_REQ_ADVANCE_PAYMENT A WHERE A.REQ_PAY_ID = @PAY_ADV_ID)<=0)
|
3358
|
BEGIN
|
3359
|
ROLLBACK TRANSACTION
|
3360
|
SELECT '-1' Result,'' REQ_PAY_ID,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_AD)+ N': Phiếu tạm ứng này đã được hoàn tạm ứng xong. Vui lòng xóa khỏi danh sách hoàn tạm ứng' ErrorDesc
|
3361
|
RETURN '-1'
|
3362
|
END
|
3363
|
|
3364
|
END
|
3365
|
-- END VALIDATE
|
3366
|
DECLARE @p_REQ_PAYDT_ID VARCHAR(15);
|
3367
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAYMENT_DT', @p_REQ_PAYDT_ID OUT;
|
3368
|
IF @p_REQ_PAYDT_ID='' OR @p_REQ_PAYDT_ID IS NULL GOTO ABORT;
|
3369
|
INSERT INTO TR_REQ_PAYMENT_DT
|
3370
|
VALUES (@p_REQ_PAYDT_ID,@PAY_ADV_ID,@p_REQ_PAY_ID , ISNULL(@AMT_ADVANCED,0) ,ISNULL(@AMT_DO,0),ISNULL(@AMT_REMAIN,0),
|
3371
|
ISNULL(ISNULL(@AMT_USE,0) + ISNULL(@AMT_REVERT,0) - ISNULL(@AMT_ADD,0),0) ,ISNULL(@AMT_USE,0) ,ISNULL(@AMT_REVERT,0), ISNULL(@AMT_ADD,0), CONVERT(DATE,@TRN_DATE,103) ,@p_MAKER_ID ,GETDATE() ,NULL ,NULL,'U' ,NULL ,NULL ,NULL ,NULL,NULL, @p_REQ_TYPE_CURRENCY , @p_RATE)
|
3372
|
IF @@error<>0 GOTO ABORT;
|
3373
|
FETCH NEXT FROM XmlDataPay INTO @PAY_ADV_ID, @AMT_ADVANCED ,@AMT_DO,@AMT_REMAIN,@AMT_PAY ,@AMT_USE ,@AMT_REVERT,@AMT_ADD,@CURRENCY,@RATE, @TRN_DATE
|
3374
|
END
|
3375
|
CLOSE XmlDataPay;
|
3376
|
DEALLOCATE XmlDataPay;
|
3377
|
--END CURSOR THONG TIN PHIEU DE NGHI TAM UNG
|
3378
|
--------------------------------------------------------------------------------------------------------------------
|
3379
|
--INSERT FROM CatCursor
|
3380
|
--DELETE
|
3381
|
DELETE FROM TR_REQ_PAY_CAT WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3382
|
--CatCursor
|
3383
|
DECLARE @REQ_ADV_ID varchar(15),@CAT_NAME nvarchar(100),@TOTAL_AMT_CAT decimal(18,2), @DEPT_ID VARCHAR(15)
|
3384
|
DECLARE XmlDataCat CURSOR FOR
|
3385
|
SELECT * FROM OPENXML(@hdoc, 'Root/XmlDataCat',2)
|
3386
|
WITH(REQ_ADV_ID VARCHAR(15),CAT_NAME nvarchar(100),TOTAL_AMT decimal(18,2), DEPT_ID VARCHAR(15),CURRENCY VARCHAR(15), RATE DECIMAL(18,2))
|
3387
|
OPEN XmlDataCat
|
3388
|
FETCH NEXT FROM XmlDataCat INTO @REQ_ADV_ID,@CAT_NAME,@TOTAL_AMT_CAT,@DEPT_ID,@CURRENCY,@RATE
|
3389
|
WHILE @@fetch_status=0
|
3390
|
BEGIN
|
3391
|
SET @INDEX = @INDEX +1
|
3392
|
DECLARE @p_REQ_PAY_CAT_ID VARCHAR(15);
|
3393
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_CAT', @p_REQ_PAY_CAT_ID OUT;
|
3394
|
IF @p_REQ_PAY_CAT_ID='' OR @p_REQ_PAY_CAT_ID IS NULL GOTO ABORT;
|
3395
|
INSERT INTO TR_REQ_PAY_CAT
|
3396
|
VALUES (@p_REQ_PAY_CAT_ID,@p_REQ_PAY_ID,@REQ_ADV_ID,@CAT_NAME,@TOTAL_AMT_CAT,@DEPT_ID,@p_MAKER_ID,GETDATE(), @p_REQ_TYPE_CURRENCY , @p_RATE)
|
3397
|
IF @@error<>0 GOTO ABORT;
|
3398
|
FETCH NEXT FROM XmlDataCat INTO @REQ_ADV_ID,@CAT_NAME,@TOTAL_AMT_CAT,@DEPT_ID,@CURRENCY,@RATE
|
3399
|
END
|
3400
|
CLOSE XmlDataCat;
|
3401
|
DEALLOCATE XmlDataCat;
|
3402
|
END
|
3403
|
-- NEU LA THANH TOAN KHAC
|
3404
|
IF(@p_REQ_TYPE = 'D' OR @p_REQ_TYPE ='I')
|
3405
|
BEGIN
|
3406
|
-- DELETE
|
3407
|
DELETE FROM TR_REQ_PAY_SERVICE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3408
|
-- DECLARE
|
3409
|
DECLARE @SUM_TTCT_LINK DECIMAL(18,0), @SUM_TT_CT DECIMAL(18,0), @SUM_KUY_KE_TT DECIMAL(18,0),@SUM_PYCMS_LINK DECIMAL(18,0), @PYCMS_CODE_LIST VARCHAR(250), @PYCMS_CODE_DRAFT_LIST VARCHAR(250), @PDNTT_CODE_LIST VARCHAR(250)
|
3410
|
DECLARE @REQ_PAY_SERVICE_NAME nvarchar(100),@RECEIVE_ID_SERVICE varchar(15),@RECEIVE_NAME_SERVICE nvarchar(100),@REQ_PAY_REASON_SERVICE nvarchar(MAX), @TOTAL_AMT_SERVICE decimal(18,2),
|
3411
|
@REQ_PAY_TYPE_SERVICE varchar(1),@REQ_PAY_DESC_SERVICE nvarchar(MAX),@REQ_PAY_ENTRIES_SERVICE nvarchar(MAX),@DEPT_ID_SRV VARCHAR(15)
|
3412
|
-- SET
|
3413
|
SET @SUM_KUY_KE_TT=0
|
3414
|
SET @INDEX = 0
|
3415
|
-- DECLARE CURSOR
|
3416
|
DECLARE XmlDataService CURSOR FOR SELECT * FROM OPENXML(@hdocService, 'Root/XmlDataService',2)
|
3417
|
WITH(REQ_PAY_SERVICE_NAME nvarchar(100),RECEIVE_ID_SERVICE varchar(15),RECEIVE_NAME_SERVICE nvarchar(100),REQ_PAY_REASON_SERVICE nvarchar(MAX),
|
3418
|
TOTAL_AMT_SERVICE decimal(18,2),REQ_PAY_TYPE_SERVICE varchar(1),REQ_PAY_DESC_SERVICE nvarchar(MAX),REQ_PAY_ENTRIES_SERVICE nvarchar(MAX),
|
3419
|
DEPT_ID VARCHAR(15),CURRENCY VARCHAR(15), RATE DECIMAL(18,2))
|
3420
|
-- BEGIN CURSOR THONG TIN CAC DICH VU THANH TOAN
|
3421
|
OPEN XmlDataService
|
3422
|
FETCH NEXT FROM XmlDataService INTO @REQ_PAY_SERVICE_NAME,@RECEIVE_ID_SERVICE,@RECEIVE_NAME_SERVICE,@REQ_PAY_REASON_SERVICE,@TOTAL_AMT_SERVICE,
|
3423
|
@REQ_PAY_TYPE_SERVICE,@REQ_PAY_DESC_SERVICE,@REQ_PAY_ENTRIES_SERVICE,@DEPT_ID_SRV,@CURRENCY,@RATE
|
3424
|
WHILE @@fetch_status=0
|
3425
|
BEGIN
|
3426
|
SET @INDEX = @INDEX +1
|
3427
|
SET @SUM_TTCT_LINK =(SELECT SUM(TOTAL_AMT*ISNULL(RATE,1)) FROM TR_REQ_PAY_SERVICE WHERE
|
3428
|
REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT) AND REQ_PAY_ID <> @p_REQ_PAY_ID AND EMP_ID =@RECEIVE_ID_SERVICE)
|
3429
|
SET @SUM_PYCMS_LINK =ISNULL((SELECT SUM(TOTAL_AMT) FROM TR_REQUEST_DOC WHERE PL_REQ_ID =@RECEIVE_ID_SERVICE),0)
|
3430
|
SET @SUM_TT_CT =(SELECT ISNULL(TOTAL_AMT,0) FROM PL_REQUEST_DOC WHERE REQ_ID =@RECEIVE_ID_SERVICE)
|
3431
|
SET @PYCMS_CODE_LIST = (select STUFF( (select '; ' + DTA.REQ_CODE FROM TR_REQUEST_DOC DTA WHERE PL_REQ_ID =@RECEIVE_ID_SERVICE
|
3432
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
|
3433
|
SET @PYCMS_CODE_DRAFT_LIST = (select STUFF( (select '; ' + DTA.REQ_CODE FROM TR_REQUEST_DOC DTA WHERE PL_REQ_ID =@RECEIVE_ID_SERVICE AND AUTH_STATUS = 'E'
|
3434
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
|
3435
|
SET @PDNTT_CODE_LIST = (select STUFF( (select '; ' + DTA.REQ_PAY_CODE FROM TR_REQ_PAYMENT DTA WHERE REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAY_SERVICE WHERE EMP_ID =@RECEIVE_ID_SERVICE) AND REQ_PAY_ID <> @p_REQ_PAY_ID
|
3436
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
|
3437
|
--------------- BEGIN VALIDATE --------------
|
3438
|
IF(@p_TYPE_FUNCTION ='SEND')
|
3439
|
BEGIN
|
3440
|
IF(@DEPT_ID_SRV IS NULL OR @DEPT_ID_SRV ='')
|
3441
|
BEGIN
|
3442
|
ROLLBACK TRANSACTION
|
3443
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin các dịch vụ thanh toán, dòng '+ CONVERT(VARCHAR(5),@INDEX)+ N': Phòng ban chịu chi phí không được để trống' ErrorDesc
|
3444
|
RETURN '-1'
|
3445
|
END
|
3446
|
|
3447
|
IF(@TOTAL_AMT_SERVICE IS NULL)
|
3448
|
BEGIN
|
3449
|
ROLLBACK TRANSACTION
|
3450
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin các dịch vụ thanh toán, dòng '+ CONVERT(VARCHAR(5),@INDEX)+ N': Số tiền thanh toán không được để trống' ErrorDesc
|
3451
|
RETURN '-1'
|
3452
|
END
|
3453
|
|
3454
|
IF(@TOTAL_AMT_SERVICE < 0)
|
3455
|
BEGIN
|
3456
|
ROLLBACK TRANSACTION
|
3457
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin các dịch vụ thanh toán, dòng '+ CONVERT(VARCHAR(5),@INDEX)+ N': Số tiền thanh toán không thể nhỏ hơn 0' ErrorDesc
|
3458
|
RETURN '-1'
|
3459
|
END
|
3460
|
|
3461
|
IF(((ISNULL(@SUM_TTCT_LINK,0) +ISNULL(@SUM_PYCMS_LINK,0) + ISNULL(@TOTAL_AMT_SERVICE,0)) > ISNULL(@SUM_TT_CT,0)) AND @RECEIVE_ID_SERVICE IS NOT NULL AND @RECEIVE_ID_SERVICE <> '')
|
3462
|
BEGIN
|
3463
|
ROLLBACK TRANSACTION
|
3464
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,'' AS REQ_PAY_CODE,
|
3465
|
N'Dòng '+ CONVERT(VARCHAR(5),@INDEX)+N': Thông tin chi tiết về hạn mức sử dụng của tờ trình số: '+(SELECT TOP 1 ISNULL(REQ_CODE,'') FROM PL_REQUEST_DOC WHERE REQ_ID =@RECEIVE_ID_SERVICE)+N' như sau:'
|
3466
|
+ CHAR(10) +
|
3467
|
N'</br>* Số tiền các phiếu yêu cầu mua sắm số:'+ISNULL(@PYCMS_CODE_LIST,'')+N' đã sử dụng: '+FORMAT(ISNULL(@SUM_PYCMS_LINK,0),'#,#', 'vi-VN') +' VND'+
|
3468
|
+ CHAR(10) +
|
3469
|
N'</br>* Số tiền ở các phiếu thanh toán số: '+ISNULL(@PDNTT_CODE_LIST,'')+N' đã sử dụng: '+ FORMAT(ISNULL(@SUM_TTCT_LINK,0),'#,#', 'vi-VN') +' VND'
|
3470
|
+ CHAR(10) +
|
3471
|
N'</br>* Bạn đang thanh toán cho phiếu này với số tiền: '+ FORMAT(ISNULL(@TOTAL_AMT_SERVICE,0),'#,#', 'vi-VN') +' VND'
|
3472
|
+ CHAR(10) +
|
3473
|
N'</br>* Số tiền còn lại được phép thanh toán là: '+FORMAT(ISNULL(@SUM_TT_CT,0) -ISNULL(@SUM_TTCT_LINK,0) -ISNULL(@SUM_PYCMS_LINK,0),'#,#', 'vi-VN') +' VND'
|
3474
|
+ CHAR(10) +
|
3475
|
N'</br>* Chú ý những PYCMS sau đang lưu nháp & ăn ngân sách, vui lòng kiểm tra và xóa PYCMS: ' + ISNULL(@PYCMS_CODE_DRAFT_LIST,'') ErrorDesc
|
3476
|
RETURN '-1'
|
3477
|
END
|
3478
|
END
|
3479
|
--------------- END VALIDATE ----------------
|
3480
|
--IF(@RECEIVE_ID_SERVICE IS NOT NULL AND @RECEIVE_ID_SERVICE <> '')
|
3481
|
--BEGIN
|
3482
|
-- SET @SUM_PYCMS_LINK = @SUM_PYCMS_LINK +@TOTAL_AMT_SERVICE
|
3483
|
--END
|
3484
|
--SET @SUM_KUY_KE_TT = @SUM_KUY_KE_TT + @TOTAL_AMT_SERVICE
|
3485
|
|
3486
|
DECLARE @p_REQ_PAY_SERVICE_ID VARCHAR(15);
|
3487
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_SERVICE', @p_REQ_PAY_SERVICE_ID OUT;
|
3488
|
IF @p_REQ_PAY_SERVICE_ID='' OR @p_REQ_PAY_SERVICE_ID IS NULL GOTO ABORT;
|
3489
|
INSERT INTO TR_REQ_PAY_SERVICE(SERVICE_ID,REQ_PAY_ID,[SERVICE_NAME],EMP_ID,REQ_PAY_REASON,TOTAL_AMT,REQ_PAY_TYPE,REQ_PAY_DESC,REQ_PAY_ENTRIES,MAKER_ID,CREATE_DT,DEPT_ID,CURRENCY,RATE)
|
3490
|
VALUES (@p_REQ_PAY_SERVICE_ID,@p_REQ_PAY_ID,@REQ_PAY_SERVICE_NAME,@RECEIVE_ID_SERVICE,@REQ_PAY_REASON_SERVICE,@TOTAL_AMT_SERVICE,
|
3491
|
@REQ_PAY_TYPE_SERVICE,@REQ_PAY_DESC_SERVICE,@REQ_PAY_ENTRIES_SERVICE,@p_MAKER_ID,GETDATE(),@DEPT_ID_SRV, @p_REQ_TYPE_CURRENCY , @p_RATE)
|
3492
|
IF @@error<>0 GOTO ABORT;
|
3493
|
FETCH NEXT FROM XmlDataService INTO @REQ_PAY_SERVICE_NAME,@RECEIVE_ID_SERVICE,@RECEIVE_NAME_SERVICE,@REQ_PAY_REASON_SERVICE,@TOTAL_AMT_SERVICE,@REQ_PAY_TYPE_SERVICE,
|
3494
|
@REQ_PAY_DESC_SERVICE,@REQ_PAY_ENTRIES_SERVICE,@DEPT_ID_SRV,@CURRENCY,@RATE
|
3495
|
END
|
3496
|
CLOSE XmlDataService;
|
3497
|
DEALLOCATE XmlDataService;
|
3498
|
-- BEGIN CURSOR THONG TIN CAC DICH VU THANH TOAN
|
3499
|
END
|
3500
|
IF((@p_REQ_TYPE = 'P' AND (@p_IS_PERIOD <>'Y' OR @p_IS_PERIOD IS NULL)) OR (@p_REQ_TYPE = 'P' AND @p_IS_PERIOD = 'Y') OR @p_REQ_TYPE ='I')
|
3501
|
BEGIN
|
3502
|
DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
3503
|
DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
3504
|
END
|
3505
|
-- NEU LA THANH TOAN PO HOP DONG
|
3506
|
IF((@p_REQ_TYPE = 'P' AND (@p_IS_PERIOD <>'Y' OR @p_IS_PERIOD IS NULL)) OR @p_REQ_TYPE ='I')
|
3507
|
BEGIN
|
3508
|
-- DELETE
|
3509
|
--DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
3510
|
/*
|
3511
|
IF(@p_REQ_TYPE = 'P' AND (@p_IS_PERIOD <>'Y' OR @p_IS_PERIOD IS NULL))
|
3512
|
BEGIN
|
3513
|
DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
3514
|
END
|
3515
|
*/
|
3516
|
-- DECLARE
|
3517
|
DECLARE @INDEX_PO INT, @REF_ID VARCHAR(15),@IS_CLOSED VARCHAR(1)
|
3518
|
--SET
|
3519
|
SET @INDEX_PO = 0
|
3520
|
-- DECLARE CURSOR
|
3521
|
DECLARE XmlDataPO CURSOR FOR SELECT * FROM OPENXML(@hdocPO, '/Root/XmlDataPO', 2)
|
3522
|
WITH(REF_ID varchar(15),IS_CLOSED VARCHAR(1),REF_TYPE VARCHAR(15))
|
3523
|
-- BEGIN CURSOR THÔNG TIN PO/ HOP DONG
|
3524
|
OPEN XmlDataPO;
|
3525
|
FETCH NEXT FROM XmlDataPO INTO @REF_ID,@IS_CLOSED,@REF_TYPE
|
3526
|
WHILE @@fetch_status=0
|
3527
|
BEGIN
|
3528
|
-- SET
|
3529
|
SET @INDEX_PO = @INDEX_PO +1
|
3530
|
-- BEGIN VALIDATE
|
3531
|
IF(@p_TYPE_FUNCTION ='SEND')
|
3532
|
BEGIN
|
3533
|
DECLARE @PDN_TAMUNG_LIST VARCHAR(4000) --- LUCTV 19.10.2022
|
3534
|
-- KIEM TRA PO DUOC DUYET HAY CHUA
|
3535
|
--IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE PO_ID =@REF_ID AND AUTH_STATUS <>'A'))
|
3536
|
--BEGIN
|
3537
|
--ROLLBACK TRANSACTION
|
3538
|
-- SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin PO/ hợp đồng, dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO số '+
|
3539
|
-- (SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' chưa được phê duyệt. Vui lòng phê duyệt PO trước khi tạo phiếu thanh toán' ErrorDesc
|
3540
|
-- RETURN '-1'
|
3541
|
--END
|
3542
|
---- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
3543
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='C'
|
3544
|
--AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL)))
|
3545
|
--BEGIN
|
3546
|
-- ROLLBACK TRANSACTION
|
3547
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Thông tin PO/ hợp đồng, dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': Hợp đồng số '+
|
3548
|
-- (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @REF_ID)+N' đang được tạm ứng. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
3549
|
-- RETURN '-1'
|
3550
|
--END
|
3551
|
---- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
3552
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='C'
|
3553
|
--AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL) AND REQ_PAY_ID <>@p_REQ_PAY_ID))
|
3554
|
--BEGIN
|
3555
|
-- ROLLBACK TRANSACTION
|
3556
|
-- SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin PO/ hợp đồng, dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': Hợp đồng số '+
|
3557
|
-- (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @REF_ID)+N' đang được thanh toán. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
3558
|
-- RETURN '-1'
|
3559
|
--END
|
3560
|
---- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
3561
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P'
|
3562
|
--AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT NOT IN ('A','E','R') OR AUTH_STATUS_KT IS NULL)))
|
3563
|
--BEGIN
|
3564
|
-- ROLLBACK TRANSACTION
|
3565
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Thông tin PO/ hợp đồng, dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N':PO số '+
|
3566
|
-- (SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đang được tạm ứng. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
3567
|
-- RETURN '-1'
|
3568
|
--END
|
3569
|
---- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
3570
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P' AND REF_ID IN (SELECT PO_ID FROM TR_PO_MASTER WHERE IS_CLOSED='Y')))
|
3571
|
--BEGIN
|
3572
|
-- ROLLBACK TRANSACTION
|
3573
|
-- SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin PO/ hợp đồng, dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO số '+
|
3574
|
-- (SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đã được thanh toán xong. Vui lòng chọn PO khác để tạm ứng hoặc xóa bản nháp này' ErrorDesc
|
3575
|
-- RETURN '-1'
|
3576
|
--END
|
3577
|
-- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
3578
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='C' AND REQ_PAY_ID
|
3579
|
--IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL)))
|
3580
|
--BEGIN
|
3581
|
-- ROLLBACK TRANSACTION
|
3582
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': Hợp đồng số '+
|
3583
|
-- (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @REF_ID)+N' đang được tạm ứng. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
3584
|
-- RETURN '-1'
|
3585
|
--END
|
3586
|
---- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
3587
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='C' AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL) AND REQ_PAY_ID <>@p_REQ_PAY_ID))
|
3588
|
--BEGIN
|
3589
|
-- ROLLBACK TRANSACTION
|
3590
|
-- SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': Hợp đồng số '+
|
3591
|
-- (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @REF_ID)+N' đang được thanh toán. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
3592
|
-- RETURN '-1'
|
3593
|
--END
|
3594
|
--IF(EXISTS(SELECT * FROM TR_REQ_PAY_SCHEDULE WHERE REF_ID =@REF_ID AND PAY_ID =@PAY_ID AND
|
3595
|
-- REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL) AND REQ_PAY_ID <>@p_REQ_PAY_ID))
|
3596
|
--BEGIN
|
3597
|
-- ROLLBACK TRANSACTION
|
3598
|
-- SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': Hợp đồng số '+
|
3599
|
-- (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @REF_ID)+N' đang được thanh toán. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
3600
|
-- RETURN '-1'
|
3601
|
--END
|
3602
|
-- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
3603
|
SET @PDN_TAMUNG_LIST = (select STUFF( (select '; ' + DTA.REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT DTA WHERE REQ_PAY_ID IN
|
3604
|
(SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P') AND ISNULL(AUTH_STATUS_KT,'') NOT IN ('A','E','R')
|
3605
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
|
3606
|
--- VALIDATE PO DANG TRONG QUA TRINH TAM UNG
|
3607
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P' AND REQ_PAY_ID
|
3608
|
IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT NOT IN ('A','E','R') OR AUTH_STATUS_KT IS NULL)))
|
3609
|
BEGIN
|
3610
|
ROLLBACK TRANSACTION
|
3611
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N':PO số '+
|
3612
|
(SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đang được tạm ứng. Vui lòng đợi giao dịch hoàn tất.Danh sách phiếu tạm ứng đang sử dụng: '+ ISNULL(@PDN_TAMUNG_LIST,'') ErrorDesc
|
3613
|
RETURN '-1'
|
3614
|
END
|
3615
|
-- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
3616
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P' AND REF_ID IN (SELECT PO_ID FROM TR_PO_MASTER WHERE IS_CLOSED='Y')))
|
3617
|
BEGIN
|
3618
|
ROLLBACK TRANSACTION
|
3619
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO số '+
|
3620
|
(SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đã được thanh toán xong. Vui lòng chọn PO khác để tạm ứng hoặc xóa bản nháp này' ErrorDesc
|
3621
|
RETURN '-1'
|
3622
|
END
|
3623
|
END
|
3624
|
-- END VALIDATE
|
3625
|
DECLARE @REQ_PAYDTID VARCHAR(15);
|
3626
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_ADVANCE_DT', @REQ_PAYDTID OUT;
|
3627
|
IF @REQ_PAYDTID='' OR @REQ_PAYDTID IS NULL GOTO ABORT;
|
3628
|
IF(LEFT(@REF_ID, 3) = 'TRC')
|
3629
|
BEGIN
|
3630
|
INSERT INTO TR_REQ_ADVANCE_DT (REQ_PAYDTID,REQ_PAY_ID,REF_ID,TYPE,MAKER_ID,CREATE_DT,IS_CLOSED,REF_TYPE)
|
3631
|
VALUES (@REQ_PAYDTID,@p_REQ_PAY_ID,@REF_ID,'PAY',@p_MAKER_ID,GETDATE(),@IS_CLOSED, 'C')
|
3632
|
END
|
3633
|
ELSE
|
3634
|
BEGIN
|
3635
|
INSERT INTO TR_REQ_ADVANCE_DT (REQ_PAYDTID,REQ_PAY_ID,REF_ID,TYPE,MAKER_ID,CREATE_DT,IS_CLOSED,REF_TYPE)
|
3636
|
VALUES (@REQ_PAYDTID,@p_REQ_PAY_ID,@REF_ID,'PAY',@p_MAKER_ID,GETDATE(),@IS_CLOSED, 'P')
|
3637
|
END
|
3638
|
|
3639
|
IF @@error<>0 GOTO ABORT;
|
3640
|
FETCH NEXT FROM XmlDataPO INTO @REF_ID,@IS_CLOSED,@REF_TYPE
|
3641
|
END
|
3642
|
CLOSE XmlDataPO;
|
3643
|
DEALLOCATE XmlDataPO;
|
3644
|
-- END CURSOR THÔNG TIN PO/ HOP DONG
|
3645
|
|
3646
|
-- DELETE
|
3647
|
DELETE FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3648
|
-- DECLARE
|
3649
|
DECLARE @PO_ID VARCHAR(15), @PAY_PHASE NVARCHAR(250), @AMT_ADVANCE DECIMAL(18,2),
|
3650
|
@REQ_AD_DT VARCHAR(20),@PROCESS VARCHAR(15),@PAY_ID VARCHAR(15),@AMT_PAY_DO DECIMAL(18,2),@AMT_PAY_REAL DECIMAL(18,2)
|
3651
|
-- DECLARE CURSOR THONG TIN CHI TIET LICH THANH TOAN PO/ HOP DONG
|
3652
|
DECLARE XmlDataSchedule CURSOR FOR SELECT * FROM OPENXML(@hdocSchedule, 'Root/XmlDataSchedule',2)
|
3653
|
WITH(PO_ID VARCHAR(15),PAY_PHASE VARCHAR(15),AMT_PAY DECIMAL(18,2),REQ_ADV_ID VARCHAR(15), AMT_ADVANCE DECIMAL(18,2),
|
3654
|
AMT_REMAIN DECIMAL(18,2),REQ_AD_DT VARCHAR(20),PROCESS VARCHAR(15), PAY_ID VARCHAR(15),REF_ID VARCHAR(15),REQ_PAY_DESC NVARCHAR(250),
|
3655
|
REQ_PAY_ENTRIES NVARCHAR(250),CURRENCY VARCHAR(15), RATE DECIMAL(18,2),AMT_PAY_DO DECIMAL(18,2),AMT_PAY_REAL DECIMAL(18,2))
|
3656
|
-- BEGIN CURSOR THONG TIN CHI TIET LICH THANH TOAN PO/ HOP DONG
|
3657
|
OPEN XmlDataSchedule
|
3658
|
SET @INDEX_PO = 0
|
3659
|
FETCH NEXT FROM XmlDataSchedule INTO @PO_ID,@PAY_PHASE,@AMT_PAY, @REQ_ADV_ID,@AMT_ADVANCE,@AMT_REMAIN,@REQ_AD_DT,
|
3660
|
@PROCESS,@PAY_ID,@REF_ID,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,@CURRENCY,@RATE,@AMT_PAY_DO,@AMT_PAY_REAL
|
3661
|
WHILE @@fetch_status=0
|
3662
|
BEGIN
|
3663
|
--IF(@AMT_REMAIN =0)
|
3664
|
--BEGIN
|
3665
|
-- SET @PROCESS ='3'
|
3666
|
--END
|
3667
|
--IF(@PROCESS <>'2')
|
3668
|
--BEGIN
|
3669
|
-- SET @TOTAL_SCHEDULE_AMT = @TOTAL_SCHEDULE_AMT +@AMT_REMAIN
|
3670
|
--END
|
3671
|
SET @INDEX_PO = @INDEX_PO +1
|
3672
|
SET @TOTAL_SCHEDULE_AMT = @TOTAL_SCHEDULE_AMT +(@AMT_PAY - @AMT_ADVANCE -@AMT_PAY_DO)
|
3673
|
-- BEGIN VALIDATE
|
3674
|
IF(@p_TYPE_FUNCTION ='SEND' AND @p_REQ_TYPE ='P')
|
3675
|
BEGIN
|
3676
|
IF(ISNULL(@AMT_PAY_REAL,0) < ISNULL(@AMT_ADVANCE ,0))
|
3677
|
BEGIN
|
3678
|
ROLLBACK TRANSACTION
|
3679
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': Số tiền thanh toán thực tế tối thiểu phải bằng số tiền đã tạm ứng : ' +FORMAT(SUM(@AMT_ADVANCE),'#,#', 'vi-VN') ErrorDesc
|
3680
|
RETURN '-1'
|
3681
|
END
|
3682
|
END
|
3683
|
-- END VALIDATE
|
3684
|
DECLARE @p_REQ_PAY_SCHEDULE_ID VARCHAR(15);
|
3685
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_SCHEDULE', @p_REQ_PAY_SCHEDULE_ID OUT;
|
3686
|
IF @p_REQ_PAY_SCHEDULE_ID='' OR @p_REQ_PAY_SCHEDULE_ID IS NULL GOTO ABORT;
|
3687
|
|
3688
|
INSERT INTO TR_REQ_PAY_SCHEDULE (SCHEDULE_ID,REQ_PAY_ID,PAY_ID,AMT_PAY,PAY_PHASE,REQ_ADV_ID,AMT_ADVANCE,AMT_PAY_DO,AMT_REMAIN,REQ_PAY_DT,REQ_AD_DT,PROCESS,MAKER_ID,
|
3689
|
CREATE_DT,AUTH_STATUS_KT,PAYMENT_STATUS,TRN_TYPE,REF_ID,REQ_PAY_DESC,REQ_PAY_ENTRIES,CURRENCY,RATE, AMT_PAY_REAL)
|
3690
|
VALUES (@p_REQ_PAY_SCHEDULE_ID,@p_REQ_PAY_ID,@PAY_ID, @AMT_PAY, @PAY_PHASE, @REQ_ADV_ID, @AMT_ADVANCE, @AMT_PAY_DO, @AMT_REMAIN,
|
3691
|
--IIF(@PROCESS<>'2',(@AMT_PAY-@AMT_ADVANCE),0),
|
3692
|
GETDATE(),CONVERT(DATETIME,@REQ_AD_DT,103),@PROCESS,@p_MAKER_ID,GETDATE(),'U','','PAY',@REF_ID,@REQ_PAY_DESC,@REQ_PAY_ENTRIES, @p_REQ_TYPE_CURRENCY , @p_RATE,@AMT_PAY_REAL)
|
3693
|
IF @@error<>0 GOTO ABORT;
|
3694
|
FETCH NEXT FROM XmlDataSchedule INTO @PO_ID, @PAY_PHASE, @AMT_PAY, @REQ_ADV_ID, @AMT_ADVANCE,@AMT_REMAIN,@REQ_AD_DT,
|
3695
|
@PROCESS,@PAY_ID,@REF_ID,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,@CURRENCY,@RATE,@AMT_PAY_DO,@AMT_PAY_REAL
|
3696
|
END
|
3697
|
CLOSE XmlDataSchedule;
|
3698
|
DEALLOCATE XmlDataSchedule;
|
3699
|
-- END CURSOR THONG TIN CHI TIET LICH THANH TOAN PO/ HOP DONG
|
3700
|
---- VALIDATE SO TIEN
|
3701
|
--IF(@p_REQ_AMT > ISNULL(@TOTAL_SCHEDULE_AMT,0))
|
3702
|
--BEGIN
|
3703
|
-- ROLLBACK TRANSACTION
|
3704
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền thanh toán phải nhỏ hơn hoặc bằng tổng số tiền còn lại cần thanh toán: '+ FORMAT(SUM(@TOTAL_SCHEDULE_AMT),'#,#', 'vi-VN') ErrorDesc
|
3705
|
-- RETURN '-1'
|
3706
|
--END
|
3707
|
------
|
3708
|
END
|
3709
|
-- NEU LA THANH TOAN CAC HOP DONG DINH KY
|
3710
|
IF((@p_REQ_TYPE = 'P' AND @p_IS_PERIOD = 'Y') OR @p_REQ_TYPE='I')
|
3711
|
BEGIN
|
3712
|
-- DELETE
|
3713
|
--DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
3714
|
/*
|
3715
|
IF(@p_REQ_TYPE = 'P' AND @p_IS_PERIOD = 'Y')
|
3716
|
BEGIN
|
3717
|
DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
3718
|
END
|
3719
|
*/
|
3720
|
-- DECLARE
|
3721
|
DECLARE @CONTRACT_PERIOD_ID VARCHAR(15),@IS_PERIOD_CLOSED VARCHAR(1), @DELIVERY_DT VARCHAR(20)
|
3722
|
--DECLARE CURSOR THONG TIN HOP DONG DINH KY
|
3723
|
DECLARE XmlDataRecurring CURSOR FOR SELECT * FROM OPENXML(@hdocRecurring, '/Root/XmlDataRecurring', 2)
|
3724
|
WITH(CONTRACT_ID varchar(15),IS_CLOSED VARCHAR(1),REF_TYPE VARCHAR(15), DELIVERY_DT VARCHAR(20))
|
3725
|
-- BEGIN CURSOR THONG TIN HOP DONG DINH KY
|
3726
|
OPEN XmlDataRecurring;
|
3727
|
FETCH NEXT FROM XmlDataRecurring INTO @CONTRACT_PERIOD_ID,@IS_PERIOD_CLOSED,@REF_TYPE, @DELIVERY_DT
|
3728
|
WHILE @@fetch_status = 0
|
3729
|
BEGIN
|
3730
|
-- SET
|
3731
|
SET @INDEX_PO = @INDEX_PO +1
|
3732
|
-- BEGIN VALIDATE
|
3733
|
IF(@p_TYPE_FUNCTION ='SEND')
|
3734
|
BEGIN
|
3735
|
IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE PO_ID =@REF_ID AND AUTH_STATUS <>'A'))
|
3736
|
BEGIN
|
3737
|
ROLLBACK TRANSACTION
|
3738
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO số '+
|
3739
|
(SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' chưa được phê duyệt. Vui lòng phê duyệt PO trước khi tạo phiếu thanh toán' ErrorDesc
|
3740
|
RETURN '-1'
|
3741
|
END
|
3742
|
|
3743
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P' AND REQ_PAY_ID
|
3744
|
IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT NOT IN ('A','E','R') OR AUTH_STATUS_KT IS NULL)))
|
3745
|
BEGIN
|
3746
|
ROLLBACK TRANSACTION
|
3747
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N':PO số '+
|
3748
|
(SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đang được tạm ứng. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
3749
|
RETURN '-1'
|
3750
|
END
|
3751
|
|
3752
|
-- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
3753
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P' AND REF_ID IN (SELECT PO_ID FROM TR_PO_MASTER WHERE IS_CLOSED='Y')))
|
3754
|
BEGIN
|
3755
|
ROLLBACK TRANSACTION
|
3756
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO số '+
|
3757
|
(SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đã được thanh toán xong. Vui lòng chọn PO khác để tạm ứng hoặc xóa bản nháp này' ErrorDesc
|
3758
|
RETURN '-1'
|
3759
|
END
|
3760
|
END
|
3761
|
-- END VALIDATE
|
3762
|
DECLARE @REQ_PAYDTID_PERIOD VARCHAR(15);
|
3763
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_ADVANCE_DT', @REQ_PAYDTID_PERIOD OUT;
|
3764
|
IF @REQ_PAYDTID_PERIOD='' OR @REQ_PAYDTID_PERIOD IS NULL GOTO ABORT;
|
3765
|
INSERT INTO TR_REQ_ADVANCE_DT (REQ_PAYDTID,REQ_PAY_ID,REF_ID,TYPE,MAKER_ID,CREATE_DT,IS_CLOSED,REF_TYPE, DELIVERY_DT)
|
3766
|
VALUES(@REQ_PAYDTID_PERIOD,@p_REQ_PAY_ID,@CONTRACT_PERIOD_ID,'PAY',@p_MAKER_ID,GETDATE(),@IS_PERIOD_CLOSED,'C', CONVERT(DATE,@DELIVERY_DT,103))
|
3767
|
|
3768
|
IF @@error<>0 GOTO ABORT;
|
3769
|
FETCH NEXT FROM XmlDataRecurring INTO @CONTRACT_PERIOD_ID,@IS_PERIOD_CLOSED,@REF_TYPE, @DELIVERY_DT
|
3770
|
END
|
3771
|
CLOSE XmlDataRecurring;
|
3772
|
DEALLOCATE XmlDataRecurring;
|
3773
|
-- END CURSOR THONG TIN HOP DONG DINH KY
|
3774
|
|
3775
|
-- DECLARE
|
3776
|
DECLARE @INDEX_PERIOD INT
|
3777
|
--SET
|
3778
|
SET @INDEX_PERIOD = 0
|
3779
|
-- DELETE
|
3780
|
DELETE FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3781
|
-- DECLARE
|
3782
|
DECLARE @CONTRACT_ID varchar(15),@PAY_DT_REAL VARCHAR(20),@PAY_TYPE VARCHAR(5), @OLD_INDEX DECIMAL(18,0),@NEW_INDEX DECIMAL(18,0),@AMT_PAY_PERIOD DECIMAL(18,2), @FROM_DATE VARCHAR(20),
|
3783
|
@TO_DATE VARCHAR(20),@AD_PAY_ID VARCHAR(15), @_PROCESS VARCHAR(15),@PARENT_ID VARCHAR(15),@REASON_TTDK NVARCHAR(2000)
|
3784
|
-- DECLARE CURSOR
|
3785
|
DECLARE XmlDataPeriod CURSOR FOR SELECT * FROM OPENXML(@hdocPeriod, '/Root/XmlDataPeriod', 2)
|
3786
|
WITH(CONTRACT_ID varchar(15),PAY_DT_REAL VARCHAR(20),PAY_TYPE VARCHAR(5), OLD_INDEX DECIMAL(18,0),NEW_INDEX DECIMAL(18,0),AMT_PAY DECIMAL(18,2),CURRENCY VARCHAR(5),
|
3787
|
RATE DECIMAL(18,0),FROM_DATE VARCHAR(20), TO_DATE VARCHAR(20), AD_PAY_ID VARCHAR(15), PROCESS VARCHAR(5),PARENT_ID VARCHAR(15),PAY_PHASE NVARCHAR(250),REASON NVARCHAR(2000))
|
3788
|
-- BEGIN CURSOR THONG TIN THANH TOAN HOP DONG DINH KY
|
3789
|
OPEN XmlDataPeriod;
|
3790
|
FETCH NEXT FROM XmlDataPeriod INTO @CONTRACT_ID ,@PAY_DT_REAL ,@PAY_TYPE, @OLD_INDEX , @NEW_INDEX , @AMT_PAY_PERIOD, @CURRENCY, @RATE, @FROM_DATE, @TO_DATE, @AD_PAY_ID, @_PROCESS, @PARENT_ID,
|
3791
|
@PAY_PHASE, @REASON_TTDK
|
3792
|
WHILE @@fetch_status=0
|
3793
|
BEGIN
|
3794
|
-- SET
|
3795
|
SET @INDEX_PERIOD = @INDEX_PERIOD +1
|
3796
|
-- BEGIN VALIDATE
|
3797
|
IF(@p_TYPE_FUNCTION ='SEND')
|
3798
|
BEGIN
|
3799
|
IF(@NEW_INDEX <=@OLD_INDEX AND (@NEW_INDEX >0 AND @OLD_INDEX >0) )
|
3800
|
BEGIN
|
3801
|
ROLLBACK TRANSACTION
|
3802
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,'' AS REQ_PAY_CODE,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PERIOD)+ N' lưới thông tin thanh toán hợp đồng định kì: Chỉ số mới phải lớn hơn chỉ số cũ' ErrorDesc
|
3803
|
RETURN '-1'
|
3804
|
END
|
3805
|
-- NEU LÀ DINH KI THI HD PHAI KHAC NULL
|
3806
|
IF(@CONTRACT_ID IS NULL OR @CONTRACT_ID ='' )
|
3807
|
BEGIN
|
3808
|
ROLLBACK TRANSACTION
|
3809
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,'' AS REQ_PAY_CODE,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PERIOD)+ N' lưới thông tin thanh toán hợp đồng định kì: Cột Số hợp đồng không được phép để trống' ErrorDesc
|
3810
|
RETURN '-1'
|
3811
|
END
|
3812
|
-- KIEM TRA CHI TIET HOP DONG PHAI NAM TRONG DANH SACH CAC HOP DONG
|
3813
|
IF(@CONTRACT_ID IS NOT NULL AND @CONTRACT_ID <> '' )
|
3814
|
BEGIN
|
3815
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REF_ID =@CONTRACT_ID))
|
3816
|
BEGIN
|
3817
|
ROLLBACK TRANSACTION
|
3818
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,'' AS REQ_PAY_CODE,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PERIOD)+ N' lưới thông tin thanh toán hợp đồng định kì - Số hợp đồng phải nằm trong danh sách các hợp đồng được chọn trên lưới Hợp đồng định kì' ErrorDesc
|
3819
|
RETURN '-1'
|
3820
|
END
|
3821
|
END
|
3822
|
|
3823
|
IF(ISNULL(@PARENT_ID, '') = '' AND @_PROCESS = '2')
|
3824
|
BEGIN
|
3825
|
ROLLBACK TRANSACTION
|
3826
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,'' AS REQ_PAY_CODE,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PERIOD)+ N' lưới thông tin thanh toán hợp đồng định kì: Không được để trống cột số phiếu tạm ứng.'
|
3827
|
+ CHAR(10) +
|
3828
|
N'</br> Nếu hợp đồng định kỳ này có kỳ tạm ứng, vui lòng làm như sau để hoàn ứng: '
|
3829
|
+ CHAR(10) +
|
3830
|
N'</br> Bước 1: Tại lưới thông tin hợp đồng định kỳ, xóa dòng hợp động kịnh kỳ cần hoàn ứng( hợp đồng có ID hợp đồng(hệ thống): ' + @CONTRACT_ID +
|
3831
|
+ CHAR(10) +
|
3832
|
N'</br> Bước2: Tại lưới thông tin hợp đồng định kỳ, chọn lại hợp đồng cần hoàn ứng( hợp đồng có ID hợp đồng(hệ thống): ' + @CONTRACT_ID
|
3833
|
ErrorDesc
|
3834
|
RETURN '-1'
|
3835
|
END
|
3836
|
END
|
3837
|
-- END VALIDATE
|
3838
|
DECLARE @PERIOD_ID VARCHAR(15);
|
3839
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_PERIOD', @PERIOD_ID OUT;
|
3840
|
IF @PERIOD_ID='' OR @PERIOD_ID IS NULL GOTO ABORT;
|
3841
|
INSERT INTO TR_REQ_PAY_PERIOD(PERIOD_ID,REQ_PAY_ID,PAY_TYPE, CONTRACT_ID,PAY_DT_REAL,OLD_INDEX,NEW_INDEX,AMT_PAY,AUTH_STATUS_KT,CURRENCY,RATE,FROM_DATE,
|
3842
|
TO_DATE,AD_PAY_ID,PROCESS,PARENT_ID,PAY_PHASE,REASON)
|
3843
|
VALUES (@PERIOD_ID,@p_REQ_PAY_ID,'PAY',@CONTRACT_ID,CONVERT(DATE,@PAY_DT_REAL,103), @OLD_INDEX ,@NEW_INDEX ,@AMT_PAY_PERIOD,'U', @p_REQ_TYPE_CURRENCY , @p_RATE,
|
3844
|
CONVERT(DATE,@FROM_DATE,103),CONVERT(DATE,@TO_DATE,103),@AD_PAY_ID, @_PROCESS,@PARENT_ID,@PAY_PHASE,@REASON_TTDK)
|
3845
|
IF @@error<>0 GOTO ABORT;
|
3846
|
FETCH NEXT FROM XmlDataPeriod INTO @CONTRACT_ID ,@PAY_DT_REAL ,@PAY_TYPE, @OLD_INDEX , @NEW_INDEX , @AMT_PAY_PERIOD, @CURRENCY, @RATE, @FROM_DATE, @TO_DATE, @AD_PAY_ID, @_PROCESS, @PARENT_ID,
|
3847
|
@PAY_PHASE, @REASON_TTDK
|
3848
|
END
|
3849
|
CLOSE XmlDataPeriod;
|
3850
|
DEALLOCATE XmlDataPeriod;
|
3851
|
END
|
3852
|
-- END CURSOR THONG TIN THANH TOAN HOP DONG DINH KY
|
3853
|
|
3854
|
--doanptt 15/02/2022
|
3855
|
-- INSERT JOB
|
3856
|
-- DS PHIEU YEU CAU CONG TAC
|
3857
|
DELETE FROM TR_REQ_PAY_JOB WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3858
|
DECLARE @REQ_PAY_JOB_ID varchar(15) ,@REQ_PAY_ID varchar(15),@REQ_ID varchar(15), @REQ_CODE varchar(15), @MAKER_ID varchar(15),
|
3859
|
@CREATE_DT varchar(15), @PAY_TYPE_J VARCHAR(5), @PAY_PHASE_J NVARCHAR(250), @PAY_AMT DECIMAL(18,0), @PAY_DESC NVARCHAR(1000)
|
3860
|
, @AUTH_STATUS VARCHAR(1), @AUTH_STATUS_KT VARCHAR(1)
|
3861
|
DECLARE XmlDataJob CURSOR LOCAL FOR
|
3862
|
SELECT * FROM OPENXML(@hdocJob, 'Root/XmlDataJob',2)
|
3863
|
WITH(REQ_PAY_JOB_ID varchar(15) ,REQ_PAY_ID varchar(15),REQ_ID varchar(15), REQ_CODE varchar(15), MAKER_ID varchar(15),CREATE_DT varchar(15), PAY_TYPE VARCHAR(5),
|
3864
|
PAY_PHASE NVARCHAR(250), PAY_AMT DECIMAL(18,0), PAY_DESC NVARCHAR(1000), AUTH_STATUS VARCHAR(1), AUTH_STATUS_KT VARCHAR(1))
|
3865
|
OPEN XmlDataJob
|
3866
|
|
3867
|
--- INSERT PHIEU YEU CAU CONG TAC
|
3868
|
FETCH NEXT FROM XmlDataJob INTO @REQ_PAY_JOB_ID ,@REQ_PAY_ID ,@REQ_ID , @REQ_CODE, @MAKER_ID , @CREATE_DT , @PAY_TYPE_J , @PAY_PHASE_J ,
|
3869
|
@PAY_AMT , @PAY_DESC, @AUTH_STATUS , @AUTH_STATUS_KT
|
3870
|
WHILE @@fetch_status=0
|
3871
|
BEGIN
|
3872
|
/*--- KIEM TRA NEU NGAN SACH SU DUNG THUC THE LON HON NGAN SACH CON LAI
|
3873
|
SET @INDEX_NS = @INDEX_NS +1
|
3874
|
--KHI NAO BAM GUI PHE DUYET THI MOI CHECK VALIDATE
|
3875
|
IF(@p_TYPE_FUNCTION ='SEND')
|
3876
|
BEGIN
|
3877
|
IF(ISNULL(@AMT_EXE,0) =0)
|
3878
|
BEGIN
|
3879
|
ROLLBACK TRANSACTION
|
3880
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng thực tế phải lớn hơn không.' ErrorDesc
|
3881
|
RETURN '-1'
|
3882
|
END
|
3883
|
IF((@AMT_EXE > @AMT_REMAIN_GD) AND ((SELECT GD_TYPE_ID FROM CM_GOODS WHERE GD_ID =@GD_ID) ='NS'))
|
3884
|
BEGIN
|
3885
|
ROLLBACK TRANSACTION
|
3886
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng thực tế không được vượt quá ngân sách còn lại.' ErrorDesc
|
3887
|
RETURN '-1'
|
3888
|
END
|
3889
|
END
|
3890
|
IF(NOT EXISTS(SELECT * FROM PL_IMPORT_DT WHERE TRADE_ID =@TRADE_ID AND IMP_YEAR =YEAR(GETDATE()))
|
3891
|
AND NOT EXISTS (SELECT * FROM PL_MASTER WHERE PLAN_ID =(SELECT TOP 1 PLAN_ID FROM PL_TRADEDETAIL WHERE TRADE_ID =@TRADE_ID) AND YEAR =YEAR(GETDATE())))
|
3892
|
BEGIN
|
3893
|
ROLLBACK TRANSACTION
|
3894
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng phải chọn lại ngân sách của năm hiện tại. Không được phép sử dụng ngân sách năm cũ.' ErrorDesc
|
3895
|
RETURN '-1'
|
3896
|
END*/
|
3897
|
|
3898
|
DECLARE @p_REQ_JOB_ID VARCHAR(15);
|
3899
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_JOB', @p_REQ_JOB_ID OUT;
|
3900
|
IF @p_REQ_JOB_ID='' OR @p_REQ_JOB_ID IS NULL GOTO ABORT;
|
3901
|
INSERT INTO TR_REQ_PAY_JOB(REQ_PAY_JOB_ID ,REQ_PAY_ID ,REQ_ID , REQ_CODE, MAKER_ID, CREATE_DT , PAY_TYPE , PAY_PHASE , PAY_AMT , PAY_DESC, AUTH_STATUS , AUTH_STATUS_KT)
|
3902
|
VALUES (@p_REQ_JOB_ID ,@p_REQ_PAY_ID ,@REQ_ID , @REQ_CODE, @MAKER_ID , GETDATE() , @PAY_TYPE_J , @PAY_PHASE_J , @PAY_AMT , @PAY_DESC, @AUTH_STATUS , @AUTH_STATUS_KT)
|
3903
|
IF @@error<>0 GOTO ABORT;
|
3904
|
FETCH NEXT FROM XmlDataJob INTO @REQ_PAY_JOB_ID ,@REQ_PAY_ID ,@REQ_ID , @REQ_CODE, @MAKER_ID , @CREATE_DT , @PAY_TYPE_J , @PAY_PHASE_J, @PAY_AMT , @PAY_DESC, @AUTH_STATUS , @AUTH_STATUS_KT
|
3905
|
END;
|
3906
|
CLOSE XmlDataJob;
|
3907
|
DEALLOCATE XmlDataJob;
|
3908
|
--- END INSERT PHIEU YEU CAU CONG TAC
|
3909
|
|
3910
|
-- INSERT JOB DT
|
3911
|
-- DS CHI TIET PHIEU YEU CAU CONG TAC
|
3912
|
DELETE FROM TR_REQ_PAY_JOB_DT WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3913
|
DECLARE @REQ_PAY_JOB_DT_ID varchar(15) , @REQ_PAY_ID_DT varchar(15), @REQ_ID_DT varchar(15), @REQ_CODE_DT varchar(15), @MAKER_ID_DT varchar(15),
|
3914
|
@CREATE_DT_DT varchar(15), @FULLNAME_DT NVARCHAR(250), @TLNAME_DT VARCHAR(15), @JOB_PLACE_DT VARCHAR(15), @FRMDATE_DT VARCHAR(15), @TODATE_DT VARCHAR(15),
|
3915
|
@NUMBER_DAY_DT decimal(18,0), @DAY_RATE_DT decimal(18,0), @JOB_COST_DT decimal(18,0), @TYPE_TRANS_DT varchar(250), @COST_MOVE_DT decimal(18,0),
|
3916
|
@COST_RESIDENCE_DT decimal(18,0), @COST_OTHER_DT decimal(18,0), @COST_AMT_DT decimal(18,0), @AUTH_STATUS_DT VARCHAR(1), @AUTH_STATUS_KT_DT VARCHAR(1)
|
3917
|
DECLARE XmlDataJobDT CURSOR LOCAL FOR
|
3918
|
SELECT * FROM OPENXML(@hdocJobDT, 'Root/XmlDataJobDT',2)
|
3919
|
WITH(REQ_PAY_JOB_DT_ID varchar(15), REQ_PAY_ID varchar(15), REQ_ID varchar(15), REQ_CODE varchar(15), MAKER_ID varchar(15), CREATE_DT varchar(15),
|
3920
|
FULLNAME nvarchar(250), TLNAME_DT VARCHAR(15), JOB_PLACE varchar(15), FRMDATE varchar(15), TODATE varchar(15),NUMBER_DAY decimal(18,0), DAY_RATE decimal(18,0),
|
3921
|
JOB_COST decimal(18,0), TYPE_TRANS varchar(15), COST_MOVE decimal(18,0), COST_RESIDENCE decimal(18,0), COST_OTHER decimal(18,0), COST_AMT decimal(18,0) ,
|
3922
|
AUTH_STATUS varchar(1), AUTH_STATUS_KT varchar(1))
|
3923
|
OPEN XmlDataJobDT
|
3924
|
|
3925
|
--- INSERT CHI TIÊT PHIEU YEU CAU CONG TAC
|
3926
|
FETCH NEXT FROM XmlDataJobDT INTO @REQ_PAY_JOB_DT_ID , @REQ_PAY_ID_DT, @REQ_ID_DT, @REQ_CODE_DT, @MAKER_ID_DT,
|
3927
|
@CREATE_DT_DT , @FULLNAME_DT , @TLNAME_DT, @JOB_PLACE_DT , @FRMDATE_DT , @TODATE_DT ,
|
3928
|
@NUMBER_DAY_DT, @DAY_RATE_DT , @JOB_COST_DT , @TYPE_TRANS_DT , @COST_MOVE_DT,
|
3929
|
@COST_RESIDENCE_DT, @COST_OTHER_DT , @COST_AMT_DT , @AUTH_STATUS_DT, @AUTH_STATUS_KT_DT
|
3930
|
WHILE @@fetch_status=0
|
3931
|
BEGIN
|
3932
|
/*--- KIEM TRA NEU NGAN SACH SU DUNG THUC THE LON HON NGAN SACH CON LAI
|
3933
|
SET @INDEX_NS = @INDEX_NS +1
|
3934
|
--KHI NAO BAM GUI PHE DUYET THI MOI CHECK VALIDATE
|
3935
|
IF(@p_TYPE_FUNCTION ='SEND')
|
3936
|
BEGIN
|
3937
|
IF(ISNULL(@AMT_EXE,0) =0)
|
3938
|
BEGIN
|
3939
|
ROLLBACK TRANSACTION
|
3940
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng thực tế phải lớn hơn không.' ErrorDesc
|
3941
|
RETURN '-1'
|
3942
|
END
|
3943
|
IF((@AMT_EXE > @AMT_REMAIN_GD) AND ((SELECT GD_TYPE_ID FROM CM_GOODS WHERE GD_ID =@GD_ID) ='NS'))
|
3944
|
BEGIN
|
3945
|
ROLLBACK TRANSACTION
|
3946
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng thực tế không được vượt quá ngân sách còn lại.' ErrorDesc
|
3947
|
RETURN '-1'
|
3948
|
END
|
3949
|
END
|
3950
|
IF(NOT EXISTS(SELECT * FROM PL_IMPORT_DT WHERE TRADE_ID =@TRADE_ID AND IMP_YEAR =YEAR(GETDATE()))
|
3951
|
AND NOT EXISTS (SELECT * FROM PL_MASTER WHERE PLAN_ID =(SELECT TOP 1 PLAN_ID FROM PL_TRADEDETAIL WHERE TRADE_ID =@TRADE_ID) AND YEAR =YEAR(GETDATE())))
|
3952
|
BEGIN
|
3953
|
ROLLBACK TRANSACTION
|
3954
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng phải chọn lại ngân sách của năm hiện tại. Không được phép sử dụng ngân sách năm cũ.' ErrorDesc
|
3955
|
RETURN '-1'
|
3956
|
END*/
|
3957
|
|
3958
|
DECLARE @p_REQ_JOB_DT_ID VARCHAR(15);
|
3959
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_JOB_DT', @p_REQ_JOB_DT_ID OUT;
|
3960
|
IF @p_REQ_JOB_DT_ID='' OR @p_REQ_JOB_DT_ID IS NULL GOTO ABORT;
|
3961
|
INSERT INTO TR_REQ_PAY_JOB_DT(REQ_PAY_JOB_DT_ID , REQ_PAY_ID , REQ_ID , REQ_CODE, MAKER_ID , CREATE_DT , FULLNAME, TLNAME, JOB_PLACE , FRMDATE , TODATE ,NUMBER_DAY , DAY_RATE ,
|
3962
|
JOB_COST , TYPE_TRANS , COST_MOVE , COST_RESIDENCE , COST_OTHER , COST_AMT , AUTH_STATUS, AUTH_STATUS_KT)
|
3963
|
VALUES (@p_REQ_JOB_DT_ID , @p_REQ_PAY_ID, @REQ_ID_DT, @REQ_CODE_DT, @MAKER_ID_DT,
|
3964
|
GETDATE() , @FULLNAME_DT ,@TLNAME_DT, @JOB_PLACE_DT , CONVERT(DATE,@FRMDATE_DT,103) , CONVERT(DATE,@TODATE_DT,103) ,
|
3965
|
@NUMBER_DAY_DT, @DAY_RATE_DT , @JOB_COST_DT , @TYPE_TRANS_DT , @COST_MOVE_DT,
|
3966
|
@COST_RESIDENCE_DT, @COST_OTHER_DT , @COST_AMT_DT , @AUTH_STATUS_DT, @AUTH_STATUS_KT_DT)
|
3967
|
IF @@error<>0 GOTO ABORT;
|
3968
|
FETCH NEXT FROM XmlDataJobDT INTO @REQ_PAY_JOB_DT_ID , @REQ_PAY_ID_DT, @REQ_ID_DT, @REQ_CODE_DT, @MAKER_ID_DT,
|
3969
|
@CREATE_DT_DT , @FULLNAME_DT , @TLNAME_DT, @JOB_PLACE_DT , @FRMDATE_DT , @TODATE_DT ,
|
3970
|
@NUMBER_DAY_DT, @DAY_RATE_DT , @JOB_COST_DT , @TYPE_TRANS_DT , @COST_MOVE_DT,
|
3971
|
@COST_RESIDENCE_DT, @COST_OTHER_DT , @COST_AMT_DT , @AUTH_STATUS_DT, @AUTH_STATUS_KT_DT
|
3972
|
END;
|
3973
|
CLOSE XmlDataJobDT;
|
3974
|
DEALLOCATE XmlDataJobDT;
|
3975
|
--- END INSERT CHI TIET PHIEU YEU CAU CONG TAC
|
3976
|
|
3977
|
|
3978
|
--doanptt 17/02/2022
|
3979
|
-- INSERT DRIVE
|
3980
|
-- DS PHIEU YEU CAU CONG TAC
|
3981
|
DELETE FROM TR_REQ_PAY_DRIVE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3982
|
DECLARE @REQ_PAY_DRIVE_ID varchar(15), @CAR_ID varchar(15), @CAR_PLATE varchar(15), @RATE_GAS_100KM decimal(18,0), @CAR_TYPE VARCHAR(15)
|
3983
|
DECLARE XmlDataDrive CURSOR LOCAL FOR
|
3984
|
SELECT * FROM OPENXML(@hdocDrive, 'Root/XmlDataDrive',2)
|
3985
|
WITH(REQ_PAY_DRIVE_ID varchar(15) ,REQ_PAY_ID varchar(15), CAR_ID varchar(15), CAR_PLATE varchar(15), MAKER_ID varchar(15),CREATE_DT varchar(15), PAY_TYPE VARCHAR(5),
|
3986
|
PAY_PHASE NVARCHAR(250), PAY_AMT DECIMAL(18,0), PAY_DESC NVARCHAR(1000), AUTH_STATUS VARCHAR(1), AUTH_STATUS_KT VARCHAR(1),
|
3987
|
RATE_GAS_100KM decimal(18,0), CAR_TYPE VARCHAR(15))
|
3988
|
OPEN XmlDataDrive
|
3989
|
|
3990
|
--- INSERT PHIEU YEU CAU CONG TAC
|
3991
|
FETCH NEXT FROM XmlDataDrive INTO @REQ_PAY_DRIVE_ID ,@REQ_PAY_ID ,@CAR_ID , @CAR_PLATE, @MAKER_ID , @CREATE_DT , @PAY_TYPE , @PAY_PHASE,
|
3992
|
@PAY_AMT , @PAY_DESC, @AUTH_STATUS , @AUTH_STATUS_KT, @RATE_GAS_100KM, @CAR_TYPE
|
3993
|
WHILE @@fetch_status=0
|
3994
|
BEGIN
|
3995
|
/*--- KIEM TRA NEU NGAN SACH SU DUNG THUC THE LON HON NGAN SACH CON LAI
|
3996
|
SET @INDEX_NS = @INDEX_NS +1
|
3997
|
--KHI NAO BAM GUI PHE DUYET THI MOI CHECK VALIDATE
|
3998
|
IF(@p_TYPE_FUNCTION ='SEND')
|
3999
|
BEGIN
|
4000
|
IF(ISNULL(@AMT_EXE,0) =0)
|
4001
|
BEGIN
|
4002
|
ROLLBACK TRANSACTION
|
4003
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng thực tế phải lớn hơn không.' ErrorDesc
|
4004
|
RETURN '-1'
|
4005
|
END
|
4006
|
IF((@AMT_EXE > @AMT_REMAIN_GD) AND ((SELECT GD_TYPE_ID FROM CM_GOODS WHERE GD_ID =@GD_ID) ='NS'))
|
4007
|
BEGIN
|
4008
|
ROLLBACK TRANSACTION
|
4009
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng thực tế không được vượt quá ngân sách còn lại.' ErrorDesc
|
4010
|
RETURN '-1'
|
4011
|
END
|
4012
|
END
|
4013
|
IF(NOT EXISTS(SELECT * FROM PL_IMPORT_DT WHERE TRADE_ID =@TRADE_ID AND IMP_YEAR =YEAR(GETDATE()))
|
4014
|
AND NOT EXISTS (SELECT * FROM PL_MASTER WHERE PLAN_ID =(SELECT TOP 1 PLAN_ID FROM PL_TRADEDETAIL WHERE TRADE_ID =@TRADE_ID) AND YEAR =YEAR(GETDATE())))
|
4015
|
BEGIN
|
4016
|
ROLLBACK TRANSACTION
|
4017
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng phải chọn lại ngân sách của năm hiện tại. Không được phép sử dụng ngân sách năm cũ.' ErrorDesc
|
4018
|
RETURN '-1'
|
4019
|
END*/
|
4020
|
|
4021
|
DECLARE @p_REQ_DRIVE_ID VARCHAR(15);
|
4022
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_DRIVE', @p_REQ_DRIVE_ID OUT;
|
4023
|
IF @p_REQ_DRIVE_ID='' OR @p_REQ_DRIVE_ID IS NULL GOTO ABORT;
|
4024
|
INSERT INTO TR_REQ_PAY_DRIVE(REQ_PAY_DRIVE_ID ,REQ_PAY_ID ,CAR_ID , CAR_PLATE , MAKER_ID, CREATE_DT , PAY_TYPE , PAY_PHASE , PAY_AMT , PAY_DESC, AUTH_STATUS , AUTH_STATUS_KT, RATE_GAS_100KM, CAR_TYPE)
|
4025
|
VALUES (@p_REQ_DRIVE_ID ,@p_REQ_PAY_ID ,@CAR_ID , @CAR_PLATE, @MAKER_ID , GETDATE() , @PAY_TYPE , @PAY_PHASE , @PAY_AMT , @PAY_DESC, @AUTH_STATUS , @AUTH_STATUS_KT, @RATE_GAS_100KM, @CAR_TYPE)
|
4026
|
IF @@error<>0 GOTO ABORT;
|
4027
|
FETCH NEXT FROM XmlDataDrive INTO @REQ_PAY_DRIVE_ID ,@REQ_PAY_ID ,@CAR_ID , @CAR_PLATE, @MAKER_ID , @CREATE_DT , @PAY_TYPE , @PAY_PHASE,
|
4028
|
@PAY_AMT , @PAY_DESC, @AUTH_STATUS , @AUTH_STATUS_KT, @RATE_GAS_100KM, @CAR_TYPE
|
4029
|
END;
|
4030
|
CLOSE XmlDataDrive;
|
4031
|
DEALLOCATE XmlDataDrive;
|
4032
|
--- END INSERT PHIEU YEU CAU CONG TAC
|
4033
|
|
4034
|
-- INSERT DRIVE DT
|
4035
|
-- DS CHI TIET PHIEU YEU CAU CONG TAC
|
4036
|
DELETE FROM TR_REQ_PAY_DRIVE_DT WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4037
|
DECLARE @REQ_PAY_DRIVE_DT_ID varchar(15), @FULLNAME NVARCHAR(250), @BRANCH_REQ VARCHAR(15),
|
4038
|
@KM_START decimal(18,0), @KM_END varchar(250), @KM_USED decimal(18,0),
|
4039
|
@RATE_GAS decimal(18,0), @REAL_GAS decimal(18,0), @REDUNDANCY_GAS decimal(18,0), @INVENTORY_GAS decimal(18,0), @COST_INCURRED decimal(18,0),
|
4040
|
@CREATE_SCHEDULE NVARCHAR(250), @TRUONGDONVI VARCHAR(15)
|
4041
|
DECLARE XmlDataDriveDT CURSOR LOCAL FOR
|
4042
|
SELECT * FROM OPENXML(@hdocDriveDT, 'Root/XmlDataDriveDT',2)
|
4043
|
WITH(REQ_PAY_DRIVE_ID varchar(15), REQ_PAY_ID varchar(15), CAR_ID varchar(15), MAKER_ID varchar(15), CREATE_DT varchar(15),
|
4044
|
BRANCH_REQ varchar(15), PAY_PHASE NVARCHAR(250), CAR_TYPE Nvarchar(250), CAR_PLATE varchar(15),RATE_GAS_100KM decimal(18,0), KM_START decimal(18,0),
|
4045
|
KM_END decimal(18,0), KM_USED varchar(15), RATE_GAS decimal(18,0), REAL_GAS decimal(18,0), REDUNDANCY_GAS decimal(18,0), INVENTORY_GAS decimal(18,0),
|
4046
|
NOTES NVARCHAR(MAX), COST_INCURRED decimal(18,0), CREATE_SCHEDULE NVARCHAR(250), TRUONGDONVI VARCHAR(15) ,
|
4047
|
AUTH_STATUS varchar(1), AUTH_STATUS_KT varchar(1))
|
4048
|
OPEN XmlDataDriveDT
|
4049
|
|
4050
|
--- INSERT CHI TIÊT PHIEU YEU CAU CONG TAC
|
4051
|
FETCH NEXT FROM XmlDataDriveDT INTO @REQ_PAY_DRIVE_ID , @REQ_PAY_ID, @CAR_ID, @MAKER_ID, @CREATE_DT, @BRANCH_REQ, @PAY_PHASE, @CAR_TYPE, @CAR_PLATE,
|
4052
|
@RATE_GAS_100KM, @KM_START, @KM_END, @KM_USED, @RATE_GAS, @REAL_GAS, @REDUNDANCY_GAS, @INVENTORY_GAS, @NOTES, @COST_INCURRED, @CREATE_SCHEDULE,
|
4053
|
@TRUONGDONVI, @AUTH_STATUS, @AUTH_STATUS_KT
|
4054
|
WHILE @@fetch_status=0
|
4055
|
BEGIN
|
4056
|
/*--- KIEM TRA NEU NGAN SACH SU DUNG THUC THE LON HON NGAN SACH CON LAI
|
4057
|
SET @INDEX_NS = @INDEX_NS +1
|
4058
|
--KHI NAO BAM GUI PHE DUYET THI MOI CHECK VALIDATE
|
4059
|
IF(@p_TYPE_FUNCTION ='SEND')
|
4060
|
BEGIN
|
4061
|
IF(ISNULL(@AMT_EXE,0) =0)
|
4062
|
BEGIN
|
4063
|
ROLLBACK TRANSACTION
|
4064
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng thực tế phải lớn hơn không.' ErrorDesc
|
4065
|
RETURN '-1'
|
4066
|
END
|
4067
|
IF((@AMT_EXE > @AMT_REMAIN_GD) AND ((SELECT GD_TYPE_ID FROM CM_GOODS WHERE GD_ID =@GD_ID) ='NS'))
|
4068
|
BEGIN
|
4069
|
ROLLBACK TRANSACTION
|
4070
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng thực tế không được vượt quá ngân sách còn lại.' ErrorDesc
|
4071
|
RETURN '-1'
|
4072
|
END
|
4073
|
END
|
4074
|
IF(NOT EXISTS(SELECT * FROM PL_IMPORT WHERE TRADE_ID =@TRADE_ID AND IMP_YEAR =YEAR(GETDATE()))
|
4075
|
AND NOT EXISTS (SELECT * FROM PL_MASTER WHERE PLAN_ID =(SELECT TOP 1 PLAN_ID FROM PL_TRADEDETAIL WHERE TRADE_ID =@TRADE_ID) AND YEAR =YEAR(GETDATE())))
|
4076
|
BEGIN
|
4077
|
ROLLBACK TRANSACTION
|
4078
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng phải chọn lại ngân sách của năm hiện tại. Không được phép sử dụng ngân sách năm cũ.' ErrorDesc
|
4079
|
RETURN '-1'
|
4080
|
END*/
|
4081
|
|
4082
|
DECLARE @p_REQ_DRIVE_DT_ID VARCHAR(15);
|
4083
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_DRIVE_DT', @p_REQ_DRIVE_DT_ID OUT;
|
4084
|
IF @p_REQ_DRIVE_DT_ID='' OR @p_REQ_DRIVE_DT_ID IS NULL GOTO ABORT;
|
4085
|
INSERT INTO TR_REQ_PAY_DRIVE_DT(REQ_PAY_DRIVE_DT_ID, REQ_PAY_ID, CAR_ID, MAKER_ID, CREATE_DT, BRANCH_REQ, PAY_PHASE, CAR_TYPE, CAR_PLATE,
|
4086
|
RATE_GAS_100KM, KM_START, KM_END, KM_USED, RATE_GAS, REAL_GAS, REDUNDANCY_GAS, INVENTORY_GAS, COST_INCURRED, NOTES, CREATE_SCHEDULE, TRUONGDONVI,
|
4087
|
AUTH_STATUS, AUTH_STATUS_KT)
|
4088
|
VALUES (@p_REQ_DRIVE_DT_ID , @p_REQ_PAY_ID, @CAR_ID, @MAKER_ID, @CREATE_DT, @BRANCH_REQ, @PAY_PHASE, @CAR_TYPE, @CAR_PLATE,
|
4089
|
@RATE_GAS_100KM, @KM_START, @KM_END, @KM_USED, @RATE_GAS, @REAL_GAS, @REDUNDANCY_GAS, @INVENTORY_GAS, @COST_INCURRED, @NOTES,
|
4090
|
@CREATE_SCHEDULE, @TRUONGDONVI, @AUTH_STATUS, @AUTH_STATUS_KT)
|
4091
|
IF @@error<>0 GOTO ABORT;
|
4092
|
FETCH NEXT FROM XmlDataDriveDT INTO @REQ_PAY_DRIVE_ID , @REQ_PAY_ID, @CAR_ID, @MAKER_ID, @CREATE_DT, @BRANCH_REQ, @PAY_PHASE, @CAR_TYPE, @CAR_PLATE,
|
4093
|
@RATE_GAS_100KM, @KM_START, @KM_END, @KM_USED, @RATE_GAS, @REAL_GAS, @REDUNDANCY_GAS, @INVENTORY_GAS, @NOTES, @COST_INCURRED, @CREATE_SCHEDULE,
|
4094
|
@TRUONGDONVI, @AUTH_STATUS, @AUTH_STATUS_KT
|
4095
|
END;
|
4096
|
CLOSE XmlDataDriveDT;
|
4097
|
DEALLOCATE XmlDataDriveDT;
|
4098
|
--- END INSERT CHI TIET PHIEU YEU CAU CONG TAC
|
4099
|
COMMIT TRANSACTION
|
4100
|
-- BEIGN VALIDATE SEND APPROVE
|
4101
|
IF(@p_TYPE_FUNCTION ='SEND') -- KIEM TRA NEU 2 BIEN XML KHAC NULL TUC LA DANG TRONG QUA TRINH LUU NHAP
|
4102
|
BEGIN
|
4103
|
-- VALIDATE CAC LUOI THANH TOAN
|
4104
|
IF((SELECT COUNT(*) FROM TR_REQ_PAY_SERVICE WHERE REQ_PAY_ID = @p_REQ_PAY_ID) = 0 AND @p_REQ_TYPE = 'D')
|
4105
|
BEGIN
|
4106
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới thông tin các dịch vụ thanh toán không được để trống' ErrorDesc
|
4107
|
RETURN '-1'
|
4108
|
END
|
4109
|
/*
|
4110
|
ELSE IF((SELECT COUNT(*) FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = @p_REQ_PAY_ID) = 0 AND @p_REQ_TYPE = 'P' AND @p_IS_PERIOD <> 'Y')
|
4111
|
BEGIN
|
4112
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới thông tin PO/ hợp đồng không được để trống' ErrorDesc
|
4113
|
RETURN '-1'
|
4114
|
END
|
4115
|
ELSE IF((SELECT COUNT(*) FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = @p_REQ_PAY_ID) = 0 AND @p_REQ_TYPE = 'P' AND @p_IS_PERIOD = 'Y')
|
4116
|
BEGIN
|
4117
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới thông tin hợp đồng định kỳ không được để trống' ErrorDesc
|
4118
|
RETURN '-1'
|
4119
|
END
|
4120
|
*/
|
4121
|
|
4122
|
-- DECLARE
|
4123
|
DECLARE @BRANCH_TYPE_CR VARCHAR(15)
|
4124
|
DECLARE @SUM_THANH_TOAN DECIMAL(18,0) =0, @SUM_PHUONG_THUC DECIMAL(18,0) =0, @SUM_NGAN_SACH DECIMAL(18,2) =0, @SUM_USE_REAL DECIMAL(18,2), @SUM_SERVICE DECIMAL(18,0),
|
4125
|
@SUM_SCHEDULE DECIMAL(18,0), @SUM_PERIOD DECIMAL(18,0), @SUM_PAY_BACK DECIMAL(18,0) =0, @SUM_ADD DECIMAL(18,0)
|
4126
|
-- SET
|
4127
|
SET @BRANCH_TYPE_CR =(SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@p_BRANCH_CREATE)
|
4128
|
SET @SUM_THANH_TOAN =(SELECT ISNULL(SUM(REQ_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
4129
|
SET @SUM_PHUONG_THUC =ABS((SELECT ISNULL(SUM(TOTAL_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
4130
|
AND (TYPE_TRANSFER ='A' OR TYPE_TRANSFER IS NULL OR TYPE_TRANSFER ='')) - (SELECT ISNULL(SUM(TOTAL_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
4131
|
AND TYPE_TRANSFER ='R'))
|
4132
|
SET @SUM_NGAN_SACH =(SELECT ISNULL(SUM(AMT_EXE * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
4133
|
SET @SUM_SERVICE =(SELECT ISNULL(SUM(TOTAL_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_SERVICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
4134
|
SET @SUM_PERIOD =(SELECT ISNULL(SUM(AMT_PAY * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
4135
|
SET @SUM_SCHEDULE =(SELECT ISNULL(SUM(AMT_PAY_REAL * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
4136
|
|
4137
|
IF(@p_REQ_TYPE ='I')
|
4138
|
BEGIN
|
4139
|
SET @SUM_USE_REAL =(SELECT ISNULL(SUM(AMT_USE*ISNULL(RATE,1)),0) FROM TR_REQ_PAYMENT_DT WHERE PAY_ID =@p_REQ_PAY_ID)
|
4140
|
SET @SUM_PAY_BACK =(SELECT ISNULL(SUM(AMT_REVERT*ISNULL(RATE,1)),0) FROM TR_REQ_PAYMENT_DT WHERE PAY_ID =@p_REQ_PAY_ID)
|
4141
|
SET @SUM_ADD =(SELECT ISNULL(SUM(AMT_ADD*ISNULL(RATE,1)),0) FROM TR_REQ_PAYMENT_DT WHERE PAY_ID =@p_REQ_PAY_ID)
|
4142
|
SET @SUM_PHUONG_THUC =(SELECT ISNULL(SUM(TOTAL_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND TYPE_TRANSFER ='A') -
|
4143
|
(SELECT ISNULL(SUM(TOTAL_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND TYPE_TRANSFER ='R')
|
4144
|
END
|
4145
|
IF(@p_REQ_TYPE ='P' AND @p_IS_PERIOD ='Y' AND @p_IS_PERIOD <>'' AND @p_IS_PERIOD IS NOT NULL)
|
4146
|
BEGIN
|
4147
|
SET @SUM_USE_REAL =(SELECT ISNULL(SUM(AMT_PAY*ISNULL(RATE,1)),0) FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
4148
|
--SET @SUM_PAY_BACK =(SELECT ISNULL(SUM(AMT_PAY*ISNULL(RATE,1)),0) FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND PROCESS <> '0')
|
4149
|
|
4150
|
END
|
4151
|
IF(@p_REQ_TYPE ='P' AND (@p_IS_PERIOD ='N' OR (@p_IS_PERIOD ='' OR @p_IS_PERIOD IS NULL)))
|
4152
|
BEGIN
|
4153
|
SET @SUM_USE_REAL =(SELECT ISNULL(SUM(AMT_PAY_REAL*ISNULL(RATE,1)),0) FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
4154
|
SET @SUM_PAY_BACK =(SELECT ISNULL(SUM(AMT_ADVANCE*ISNULL(RATE,1)),0) FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
4155
|
END
|
4156
|
IF(@p_REQ_TYPE ='D')
|
4157
|
BEGIN
|
4158
|
SET @SUM_USE_REAL =(SELECT ISNULL(SUM(TOTAL_AMT*ISNULL(RATE,1)),0) FROM TR_REQ_PAY_SERVICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
4159
|
END
|
4160
|
IF(@p_REQ_TYPE = 'D' AND ROUND(@SUM_NGAN_SACH,0) <> ROUND(@SUM_THANH_TOAN,0))
|
4161
|
BEGIN
|
4162
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền sử dụng ngân sách và chi phí phải bằng số tiền bạn cần thanh toán là: ' + FORMAT(SUM(@SUM_THANH_TOAN),'#,#', 'vi-VN') ErrorDesc
|
4163
|
RETURN '-1'
|
4164
|
END
|
4165
|
IF(ROUND(@SUM_NGAN_SACH,0) <> ROUND(@SUM_USE_REAL,0))
|
4166
|
BEGIN
|
4167
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền sử dụng ngân sách và chi phí phải bằng số tiền bạn sử dụng thực tế là: ' + FORMAT(SUM(@SUM_USE_REAL),'#,#', 'vi-VN') ErrorDesc
|
4168
|
RETURN '-1'
|
4169
|
END
|
4170
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE TRASFER_USER_RECIVE <> '' AND TRASFER_USER_RECIVE IS NOT NULL AND REQ_PAY_ID =@p_REQ_PAY_ID) AND @BRANCH_TYPE_CR ='PGD')
|
4171
|
BEGIN
|
4172
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
4173
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4174
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4175
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Cấp độ phòng giao dịch vui lòng không được chọn cấp phê duyệt trung gian' ErrorDesc
|
4176
|
RETURN '-1'
|
4177
|
END
|
4178
|
IF(@p_REQ_TYPE <> 'I')
|
4179
|
BEGIN
|
4180
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
4181
|
BEGIN
|
4182
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
4183
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4184
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4185
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Thông tin hạng mục ngân sách và chi phí không được để trống. Vui lòng chọn ngân sách và chi phí' ErrorDesc
|
4186
|
RETURN '-1'
|
4187
|
END
|
4188
|
--IF(ISNULL(@SUM_USE_REAL,0) - ISNULL(@SUM_PAY_BACK,0) <> @SUM_PHUONG_THUC)
|
4189
|
--BEGIN
|
4190
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền phương thức thanh toán tương ứng với số tiền thanh toán trừ số tiền hoàn tạm ứng: ' + FORMAT((ISNULL(@SUM_USE_REAL,0) - ISNULL(@SUM_PAY_BACK,0)),'#,#', 'vi-VN') ErrorDesc
|
4191
|
-- RETURN '-1'
|
4192
|
--END
|
4193
|
IF(ROUND(@SUM_THANH_TOAN,0) <> ROUND(@SUM_PHUONG_THUC,0))
|
4194
|
BEGIN
|
4195
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
4196
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4197
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4198
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền phương thức thanh toán phải bằng số tiền bạn cần thanh toán là: ' + FORMAT(ISNULL(@SUM_THANH_TOAN, 0),'#,#', 'vi-VN') ErrorDesc
|
4199
|
RETURN '-1'
|
4200
|
END
|
4201
|
END
|
4202
|
ELSE
|
4203
|
BEGIN
|
4204
|
IF(ISNULL(@SUM_USE_REAL,0) >0)
|
4205
|
BEGIN
|
4206
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
4207
|
BEGIN
|
4208
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
4209
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4210
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4211
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Thông tin hạng mục ngân sách và chi phí không được để trống. Vui lòng chọn ngân sách và chi phí' ErrorDesc
|
4212
|
RETURN '-1'
|
4213
|
END
|
4214
|
IF(ROUND(@SUM_NGAN_SACH,0) <> ROUND(@SUM_USE_REAL,0))
|
4215
|
BEGIN
|
4216
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
4217
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4218
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4219
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền sử dụng ngân sách và chi phí phải bằng số tiền sử dụng thực tế trên lưới hoàn tạm ứng: ' + FORMAT(SUM(@SUM_USE_REAL),'#,#', 'vi-VN') ErrorDesc
|
4220
|
RETURN '-1'
|
4221
|
END
|
4222
|
IF(ISNULL(@SUM_USE_REAL,0) <> (ISNULL(@SUM_SERVICE,0) + ISNULL(@SUM_PERIOD,0) + ISNULL(@SUM_SCHEDULE,0)))
|
4223
|
BEGIN
|
4224
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
4225
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4226
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4227
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Tổng số tiền thanh toán dịch vụ, thanh toán nhà cung cấp, thanh toán định kì phải bằng số tiền sử dụng thực tế trên lưới hoàn tạm ứng: ' + FORMAT(SUM(@SUM_USE_REAL),'#,#', 'vi-VN') ErrorDesc
|
4228
|
RETURN '-1'
|
4229
|
END
|
4230
|
END
|
4231
|
--IF(ABS((ISNULL(@SUM_ADD,0) - ISNULL(@SUM_PAY_BACK,0))) <> @SUM_PHUONG_THUC)
|
4232
|
IF(((ISNULL(@SUM_ADD,0) - ISNULL(@SUM_PAY_BACK,0))) <> @SUM_PHUONG_THUC)
|
4233
|
BEGIN
|
4234
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
4235
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4236
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4237
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền phương thức thanh toán (hiệu số thanh toán và trích từ tai khoản) tương ứng với số tiền chi bổ sung trừ số tiền hoàn tạm ứng: ' + FORMAT(ABS((ISNULL(@SUM_ADD,0) - ISNULL(@SUM_PAY_BACK,0))),'#,#', 'vi-VN') + ' ' + CAST(@SUM_PHUONG_THUC as nvarchar) ErrorDesc
|
4238
|
RETURN '-1'
|
4239
|
END
|
4240
|
END
|
4241
|
-- CAP NHAT TINH TRANG DUYET KE TOAN LA DANG XU LY
|
4242
|
IF(ISNULL(@p_TRASFER_USER_RECIVE, '') <> '')
|
4243
|
BEGIN
|
4244
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='W', PROCESS = NULL WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
4245
|
END
|
4246
|
ELSE
|
4247
|
BEGIN
|
4248
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='U', PROCESS = NULL WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
4249
|
END
|
4250
|
|
4251
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
4252
|
|
4253
|
VALUES(@p_REQ_PAY_ID,'SEND',@p_MAKER_ID,GETDATE(), N'Đơn vị gửi phê duyệt',N'Đơn vị tạo phiếu thanh toán và gửi phê duyệt')
|
4254
|
--- Luu log chinh sua
|
4255
|
INSERT INTO TR_REQ_PAY_INVOICE_LOG SELECT * FROM TR_REQ_PAY_INVOICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
4256
|
-----
|
4257
|
UPDATE TR_REQ_PAY_SCHEDULE SET AMT_REMAIN =0.00 WHERE AMT_REMAIN <0
|
4258
|
UPDATE TR_REQ_PAY_BUDGET SET AMT_APP= ROUND(AMT_APP,0), AMT_REMAIN = ROUND(AMT_REMAIN,0)
|
4259
|
|
4260
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE (TRASFER_USER_RECIVE <> '' AND TRASFER_USER_RECIVE IS NOT NULL) AND REQ_PAY_ID =@p_REQ_PAY_ID))
|
4261
|
BEGIN
|
4262
|
SELECT '4' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Đơn vị gửi phiếu phê duyệt phiếu đề nghị thanh toán số: ' + ISNULL(@p_REQ_PAY_CODE,'') + N' thành công. Vui lòng đợi cấp phê duyệt trung gian xác nhận phiếu' ErrorDesc
|
4263
|
RETURN '4'
|
4264
|
END
|
4265
|
ELSE
|
4266
|
BEGIN
|
4267
|
SELECT '4' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Đơn vị gửi phiếu phê duyệt phiếu đề nghị thanh toán số: ' + ISNULL(@p_REQ_PAY_CODE,'') + N' thành công. Vui lòng đợi trưởng đơn vị phê duyệt phiếu' ErrorDesc
|
4268
|
RETURN '4'
|
4269
|
END
|
4270
|
END
|
4271
|
-- END VALIDATE SEND APPROVE
|
4272
|
|
4273
|
|
4274
|
SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID, '' ErrorDesc
|
4275
|
RETURN '0'
|
4276
|
ABORT:
|
4277
|
BEGIN
|
4278
|
ROLLBACK TRANSACTION
|
4279
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
|
4280
|
RETURN '-1'
|
4281
|
End
|
4282
|
|
4283
|
GO
|
4284
|
|
4285
|
ALTER PROC [dbo].[TR_BUDGET_YEAR_DETAIL_IMPORT] (
|
4286
|
@GD_ID VARCHAR(20),
|
4287
|
@BUDGET_TYPE VARCHAR(20),
|
4288
|
@BRANCH_TYPE VARCHAR(20),
|
4289
|
@p_MAKER_ID VARCHAR(20),
|
4290
|
@p_MONTH_IMPORT VARCHAR(20),
|
4291
|
@p_XMP_TR_BUDGET_LIMIT_YEAR_DETAIL XML = NULL
|
4292
|
)
|
4293
|
AS
|
4294
|
IF(@GD_ID IS NULL OR @GD_ID = '')
|
4295
|
BEGIN
|
4296
|
SELECT '-1' as Result, N'Mã ngân sách chi phí không được để trống' AS ErrorDesc
|
4297
|
RETURN '-1'
|
4298
|
END
|
4299
|
IF(@BUDGET_TYPE IS NULL OR @BUDGET_TYPE = '')
|
4300
|
BEGIN
|
4301
|
SELECT '-1' as Result, N'Loại ngân sách chi phí không được để trống' AS ErrorDesc
|
4302
|
RETURN '-1'
|
4303
|
END
|
4304
|
IF(@BRANCH_TYPE IS NULL OR @BRANCH_TYPE = '')
|
4305
|
BEGIN
|
4306
|
SELECT '-1' as Result, N'Loại đơn vị không được để trống' AS ErrorDesc
|
4307
|
RETURN '-1'
|
4308
|
END
|
4309
|
BEGIN TRANSACTION
|
4310
|
|
4311
|
DECLARE @hdoc INT
|
4312
|
EXEC sp_xml_preparedocument @hdoc OUTPUT, @p_XMP_TR_BUDGET_LIMIT_YEAR_DETAIL
|
4313
|
|
4314
|
DELETE FROM TR_GOODSTYPE WHERE GD_ID = @GD_ID AND BUDGET_TYPE = 'nam'
|
4315
|
INSERT INTO TR_GOODSTYPE(GD_ID, BUDGET_TYPE, CREATE_DT, MAKER_ID, APPROVE_DT, CHECKER_ID, RECORD_STATUS, AUTH_STATUS)
|
4316
|
VALUES (@GD_ID, 'nam', GETDATE(), @p_MAKER_ID, NULL, NULL, '1', 'A')
|
4317
|
|
4318
|
DECLARE XmlBudgetLimitYearhDT CURSOR FOR
|
4319
|
SELECT * FROM OPENXML(@hdoc, '/Root/XmlBudgetLimitYearhDT', 2)
|
4320
|
WITH (
|
4321
|
DEP_CODE VARCHAR(15),
|
4322
|
DEP_NAME NVARCHAR(250),
|
4323
|
ROLENAME NVARCHAR(20),
|
4324
|
BUDGET_YEAR VARCHAR(15),
|
4325
|
BUDGET_LIMIT_AMT DECIMAL(18,2),
|
4326
|
BUDGET_MONTH VARCHAR(50),
|
4327
|
M1 DECIMAL(18, 0),
|
4328
|
M2 DECIMAL(18, 0),
|
4329
|
M3 DECIMAL(18, 0),
|
4330
|
M4 DECIMAL(18, 0),
|
4331
|
M5 DECIMAL(18, 0),
|
4332
|
M6 DECIMAL(18, 0),
|
4333
|
M7 DECIMAL(18, 0),
|
4334
|
M8 DECIMAL(18, 0),
|
4335
|
M9 DECIMAL(18, 0),
|
4336
|
M10 DECIMAL(18, 0),
|
4337
|
M11 DECIMAL(18, 0),
|
4338
|
M12 DECIMAL(18, 0)
|
4339
|
)
|
4340
|
|
4341
|
DECLARE
|
4342
|
@DEP_CODE VARCHAR(15),
|
4343
|
@DEP_NAME NVARCHAR(250),
|
4344
|
@ROLENAME NVARCHAR(20),
|
4345
|
@BUDGET_YEAR VARCHAR(15),
|
4346
|
@BUDGET_LIMIT_AMT DECIMAL(18,2),
|
4347
|
@BUDGET_MONTH VARCHAR(50),
|
4348
|
@M1 DECIMAL(18, 0),
|
4349
|
@M2 DECIMAL(18, 0),
|
4350
|
@M3 DECIMAL(18, 0),
|
4351
|
@M4 DECIMAL(18, 0),
|
4352
|
@M5 DECIMAL(18, 0),
|
4353
|
@M6 DECIMAL(18, 0),
|
4354
|
@M7 DECIMAL(18, 0),
|
4355
|
@M8 DECIMAL(18, 0),
|
4356
|
@M9 DECIMAL(18, 0),
|
4357
|
@M10 DECIMAL(18, 0),
|
4358
|
@M11 DECIMAL(18, 0),
|
4359
|
@M12 DECIMAL(18, 0)
|
4360
|
------------------------------------------------ validate begin ------------------------------------------------
|
4361
|
|
4362
|
DECLARE @ERROR_MESSAGE nvarchar(MAX)
|
4363
|
DECLARE @INDEX INT
|
4364
|
SET @INDEX = 2
|
4365
|
|
4366
|
OPEN XmlBudgetLimitYearhDT;
|
4367
|
|
4368
|
FETCH NEXT FROM XmlBudgetLimitYearhDT
|
4369
|
INTO @DEP_CODE, @DEP_NAME , @ROLENAME, @BUDGET_YEAR , @BUDGET_LIMIT_AMT, @BUDGET_MONTH, @M1 , @M2 , @M3 , @M4 , @M5 , @M6 , @M7 , @M8 , @M9 , @M10, @M11, @M12
|
4370
|
WHILE @@fetch_status=0
|
4371
|
BEGIN
|
4372
|
SET @INDEX = @INDEX +1
|
4373
|
----------------------------------------- validate begin -----------------------------------------
|
4374
|
DECLARE @l_DEP_ID VARCHAR(20), @l_TLNAME VARCHAR(20);
|
4375
|
-- NẾU ĐƠN VỊ CHỊU CHI PHÍ LÀ ĐƠN VỊ
|
4376
|
SET @l_DEP_ID = (SELECT TOP 1 DEP_ID FROM CM_DEPARTMENT WHERE DEP_CODE = @DEP_CODE AND BRANCH_ID = 'DV0001')
|
4377
|
-- NẾU ĐƠN VỊ CHỊU CHI PHÍ LÀ USER
|
4378
|
SET @l_TLNAME = (SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName = @ROLENAME AND TLSUBBRID = 'DV0001' AND DEP_ID = @l_DEP_ID)
|
4379
|
DECLARE @l_KHOI_ID VARCHAR(20), @l_ROLENAME VARCHAR(20), @l_KHOI_NAME NVARCHAR(250);
|
4380
|
IF(ISNULL(@l_DEP_ID,'') <> '' AND ISNULL(@ROLENAME, '') <> '')
|
4381
|
BEGIN
|
4382
|
SET @l_KHOI_ID = ( SELECT TOP 1 A.KHOI_ID
|
4383
|
FROM CM_DEPARTMENT A
|
4384
|
WHERE A.DEP_ID = @l_DEP_ID
|
4385
|
)
|
4386
|
SET @l_KHOI_NAME = (SELECT TOP 1 C.DVDM_NAME
|
4387
|
FROM CM_DEPARTMENT B
|
4388
|
LEFT JOIN CM_DVDM C ON B.KHOI_ID = C.DVDM_ID
|
4389
|
WHERE B.DEP_ID = @l_DEP_ID
|
4390
|
)
|
4391
|
SET @l_ROLENAME = @ROLENAME
|
4392
|
END
|
4393
|
ELSE
|
4394
|
BEGIN
|
4395
|
SET @l_KHOI_ID = NULL
|
4396
|
SET @l_KHOI_NAME = NULL
|
4397
|
SET @l_ROLENAME = NULL
|
4398
|
END
|
4399
|
|
4400
|
IF(ISNULL(@l_DEP_ID,'') = '')
|
4401
|
BEGIN
|
4402
|
ROLLBACK TRANSACTION
|
4403
|
CLOSE XmlBudgetLimitYearhDT;
|
4404
|
DEALLOCATE XmlBudgetLimitYearhDT;
|
4405
|
SELECT '-1' as Result, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX)+ N': Phòng ban ' + @DEP_CODE + N' không có trong hệ thống' AS ErrorDesc
|
4406
|
RETURN '-1'
|
4407
|
END
|
4408
|
IF(ISNULL(@ROLENAME,'') <> '' AND ISNULL(@l_DEP_ID,'') = '')
|
4409
|
BEGIN
|
4410
|
ROLLBACK TRANSACTION
|
4411
|
CLOSE XmlBudgetLimitYearhDT;
|
4412
|
DEALLOCATE XmlBudgetLimitYearhDT;
|
4413
|
SELECT '-1' as Result, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX)+ N': Khối ' + @l_KHOI_NAME + ' hiện tại không có ' + @ROLENAME AS ErrorDesc
|
4414
|
RETURN '-1'
|
4415
|
END
|
4416
|
----------------------------------------- validate end -----------------------------------------
|
4417
|
-- NEU DA TON TAI NGAN SACH CHI PHI NAY THI CHI UPDATE
|
4418
|
-- NEU DON VI CHIU CHI PHI LA DON VI
|
4419
|
IF(EXISTS(SELECT TOP 1 * FROM TR_REQ_BUDGET_YEAR_LIMIT where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR) AND ISNULL(@l_DEP_ID,'') <> '' AND ISNULL(@l_KHOI_ID,'') = '')
|
4420
|
BEGIN
|
4421
|
print 'DON VI'
|
4422
|
print '@GD_ID: ' + @GD_ID;
|
4423
|
print '@l_DEP_ID: ' + @l_DEP_ID;
|
4424
|
print '@BUDGET_YEAR: ' + CONVERT(VARCHAR(20), @BUDGET_YEAR);
|
4425
|
print '@l_ROLENAME: ' + @l_ROLENAME;
|
4426
|
print '@l_KHOI_ID: ' + @l_KHOI_ID;
|
4427
|
print '@l_KHOI_NAME: ' + @l_KHOI_NAME;
|
4428
|
print '@l_TLNAME: ' + @l_TLNAME;
|
4429
|
IF(ISNULL(@M1, 0) > 0)
|
4430
|
BEGIN
|
4431
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M1 = @M1 where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR AND ISNULL(ROLENAME, '') = ''
|
4432
|
END
|
4433
|
IF(ISNULL(@M2, 0) > 0)
|
4434
|
BEGIN
|
4435
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M2 = @M2 where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR AND ISNULL(ROLENAME, '') = ''
|
4436
|
END
|
4437
|
IF(ISNULL(@M3, 0) > 0)
|
4438
|
BEGIN
|
4439
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M3 = @M3 where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR AND ISNULL(ROLENAME, '') = ''
|
4440
|
END
|
4441
|
IF(ISNULL(@M4, 0) > 0)
|
4442
|
BEGIN
|
4443
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M4 = @M4 where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR AND ISNULL(ROLENAME, '') = ''
|
4444
|
END
|
4445
|
IF(ISNULL(@M5, 0) > 0)
|
4446
|
BEGIN
|
4447
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M5 = @M5 where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR AND ISNULL(ROLENAME, '') = ''
|
4448
|
END
|
4449
|
IF(ISNULL(@M6, 0) > 0)
|
4450
|
BEGIN
|
4451
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M6 = @M6 where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR AND ISNULL(ROLENAME, '') = ''
|
4452
|
END
|
4453
|
IF(ISNULL(@M7, 0) > 0)
|
4454
|
BEGIN
|
4455
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M7 = @M7 where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR AND ISNULL(ROLENAME, '') = ''
|
4456
|
END
|
4457
|
IF(ISNULL(@M8, 0) > 0)
|
4458
|
BEGIN
|
4459
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M8 = @M8 where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR AND ISNULL(ROLENAME, '') = ''
|
4460
|
END
|
4461
|
IF(ISNULL(@M9, 0) > 0)
|
4462
|
BEGIN
|
4463
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M9 = @M9 where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR AND ISNULL(ROLENAME, '') = ''
|
4464
|
END
|
4465
|
IF(ISNULL(@M10, 0) > 0)
|
4466
|
BEGIN
|
4467
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M10 = @M10 where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR AND ISNULL(ROLENAME, '') = ''
|
4468
|
END
|
4469
|
IF(ISNULL(@M11, 0) > 0)
|
4470
|
BEGIN
|
4471
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M11 = @M11 where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR AND ISNULL(ROLENAME, '') = ''
|
4472
|
END
|
4473
|
IF(ISNULL(@M12, 0) > 0)
|
4474
|
BEGIN
|
4475
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M12 = @M12 where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR AND ISNULL(ROLENAME, '') = ''
|
4476
|
END
|
4477
|
IF(ISNULL(@BUDGET_LIMIT_AMT, 0) > 0)
|
4478
|
BEGIN
|
4479
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET BUDGET_LIMIT_AMT = @BUDGET_LIMIT_AMT where GD_ID = @GD_ID and DEP_ID = @l_DEP_ID AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR AND ISNULL(ROLENAME, '') = ''
|
4480
|
END
|
4481
|
|
4482
|
IF @@error<>0 GOTO ABORT;
|
4483
|
FETCH NEXT FROM XmlBudgetLimitYearhDT
|
4484
|
INTO @DEP_CODE, @DEP_NAME, @ROLENAME, @BUDGET_YEAR , @BUDGET_LIMIT_AMT, @BUDGET_MONTH, @M1 , @M2 , @M3 , @M4 , @M5 , @M6 , @M7 , @M8 , @M9 , @M10, @M11, @M12
|
4485
|
END
|
4486
|
ELSE IF(EXISTS(SELECT TOP 1 * FROM TR_REQ_BUDGET_YEAR_LIMIT where GD_ID = @GD_ID and ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND KHOI_ID = @l_KHOI_ID AND BUDGET_YEAR = @BUDGET_YEAR) AND ISNULL(@l_DEP_ID,'') <> '' AND ISNULL(@l_KHOI_ID,'') <> '')
|
4487
|
BEGIN
|
4488
|
print 'USER'
|
4489
|
print '@GD_ID: ' + @GD_ID;
|
4490
|
print '@l_DEP_ID: ' + @l_DEP_ID;
|
4491
|
print '@BUDGET_YEAR: ' + CONVERT(VARCHAR(20), @BUDGET_YEAR);
|
4492
|
print '@l_ROLENAME: ' + @l_ROLENAME;
|
4493
|
print '@l_KHOI_ID: ' + @l_KHOI_ID;
|
4494
|
print '@l_KHOI_NAME: ' + @l_KHOI_NAME;
|
4495
|
print '@l_TLNAME: ' + @l_TLNAME;
|
4496
|
IF(ISNULL(@M1, 0) > 0)
|
4497
|
BEGIN
|
4498
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M1 = @M1 WHERE GD_ID = @GD_ID AND KHOI_ID = @l_KHOI_ID AND ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR
|
4499
|
END
|
4500
|
IF(ISNULL(@M2, 0) > 0)
|
4501
|
BEGIN
|
4502
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M2 = @M2 WHERE GD_ID = @GD_ID AND KHOI_ID = @l_KHOI_ID AND ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR
|
4503
|
END
|
4504
|
IF(ISNULL(@M3, 0) > 0)
|
4505
|
BEGIN
|
4506
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M3 = @M3 WHERE GD_ID = @GD_ID AND KHOI_ID = @l_KHOI_ID AND ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR
|
4507
|
END
|
4508
|
IF(ISNULL(@M4, 0) > 0)
|
4509
|
BEGIN
|
4510
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M4 = @M4 WHERE GD_ID = @GD_ID AND KHOI_ID = @l_KHOI_ID AND ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR
|
4511
|
END
|
4512
|
IF(ISNULL(@M5, 0) > 0)
|
4513
|
BEGIN
|
4514
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M5 = @M5 WHERE GD_ID = @GD_ID AND KHOI_ID = @l_KHOI_ID AND ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR
|
4515
|
END
|
4516
|
IF(ISNULL(@M6, 0) > 0)
|
4517
|
BEGIN
|
4518
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M6 = @M6 WHERE GD_ID = @GD_ID AND KHOI_ID = @l_KHOI_ID AND ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR
|
4519
|
END
|
4520
|
IF(ISNULL(@M7, 0) > 0)
|
4521
|
BEGIN
|
4522
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M7 = @M7 WHERE GD_ID = @GD_ID AND KHOI_ID = @l_KHOI_ID AND ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR
|
4523
|
END
|
4524
|
IF(ISNULL(@M8, 0) > 0)
|
4525
|
BEGIN
|
4526
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M8 = @M8 WHERE GD_ID = @GD_ID AND KHOI_ID = @l_KHOI_ID AND ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR
|
4527
|
END
|
4528
|
IF(ISNULL(@M9, 0) > 0)
|
4529
|
BEGIN
|
4530
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M9 = @M9 WHERE GD_ID = @GD_ID AND KHOI_ID = @l_KHOI_ID AND ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR
|
4531
|
END
|
4532
|
IF(ISNULL(@M10, 0) > 0)
|
4533
|
BEGIN
|
4534
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M10 = @M10 WHERE GD_ID = @GD_ID AND KHOI_ID = @l_KHOI_ID AND ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR
|
4535
|
END
|
4536
|
IF(ISNULL(@M11, 0) > 0)
|
4537
|
BEGIN
|
4538
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M11 = @M11 WHERE GD_ID = @GD_ID AND KHOI_ID = @l_KHOI_ID AND ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR
|
4539
|
END
|
4540
|
IF(ISNULL(@M12, 0) > 0)
|
4541
|
BEGIN
|
4542
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M12 = @M12 WHERE GD_ID = @GD_ID AND KHOI_ID = @l_KHOI_ID AND ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR
|
4543
|
END
|
4544
|
IF(ISNULL(@BUDGET_LIMIT_AMT, 0) > 0)
|
4545
|
BEGIN
|
4546
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET TLNAME = @l_TLNAME, BUDGET_LIMIT_AMT = @BUDGET_LIMIT_AMT WHERE GD_ID = @GD_ID AND KHOI_ID = @l_KHOI_ID AND ROLENAME = @l_ROLENAME AND BRANCH_ID = 'DV0001' AND BUDGET_YEAR = @BUDGET_YEAR
|
4547
|
END
|
4548
|
|
4549
|
|
4550
|
IF @@error<>0 GOTO ABORT;
|
4551
|
FETCH NEXT FROM XmlBudgetLimitYearhDT
|
4552
|
INTO @DEP_CODE, @DEP_NAME, @ROLENAME, @BUDGET_YEAR , @BUDGET_LIMIT_AMT, @BUDGET_MONTH, @M1 , @M2 , @M3 , @M4 , @M5 , @M6 , @M7 , @M8 , @M9 , @M10, @M11, @M12
|
4553
|
END
|
4554
|
ELSE
|
4555
|
BEGIN
|
4556
|
print 'THEM MOI'
|
4557
|
print '@GD_ID: ' + @GD_ID;
|
4558
|
print '@l_DEP_ID: ' + @l_DEP_ID;
|
4559
|
print '@BUDGET_YEAR: ' + CONVERT(VARCHAR(20), @BUDGET_YEAR);
|
4560
|
print '@l_ROLENAME: ' + @l_ROLENAME;
|
4561
|
print '@l_KHOI_ID: ' + @l_KHOI_ID;
|
4562
|
print '@l_KHOI_NAME: ' + @l_KHOI_NAME;
|
4563
|
print '@l_TLNAME: ' + @l_TLNAME;
|
4564
|
-- Tự động sinh mã code
|
4565
|
DECLARE @BUDGET_YEAR_LIMIT_ID VARCHAR(15);
|
4566
|
EXEC SYS_CodeMasters_Gen 'BUDGET_LIMIT_YEAR', @BUDGET_YEAR_LIMIT_ID OUT;
|
4567
|
IF @BUDGET_YEAR_LIMIT_ID='' OR @BUDGET_YEAR_LIMIT_ID IS NULL GOTO ABORT;
|
4568
|
|
4569
|
-- NEU LA IMPORT USER CHIU CHI PHI
|
4570
|
IF(ISNULL(@l_TLNAME, '') <> '')
|
4571
|
BEGIN
|
4572
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT(BUDGET_YEAR_LIMIT_ID, GD_ID, BUDGET_TYPE, BRANCH_TYPE, BUDGET_YEAR, BRANCH_ID, DEP_ID, BUDGET_LIMIT_AMT, KHOI_ID, TLNAME, ROLENAME,
|
4573
|
M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID, APPROVE_DT)
|
4574
|
VALUES(@BUDGET_YEAR_LIMIT_ID, @GD_ID, 'nam', 'ho', @BUDGET_YEAR, 'DV0001', @l_DEP_ID, @BUDGET_LIMIT_AMT, @l_KHOI_ID, @l_TLNAME, @l_ROLENAME,
|
4575
|
@M1, @M2, @M3, @M4, @M5, @M6, @M7, @M8, @M9, @M10, @M11, @M12, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL)
|
4576
|
END
|
4577
|
ELSE
|
4578
|
BEGIN
|
4579
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT(BUDGET_YEAR_LIMIT_ID, GD_ID, BUDGET_TYPE, BRANCH_TYPE, BUDGET_YEAR, BRANCH_ID, DEP_ID, BUDGET_LIMIT_AMT,
|
4580
|
M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID, APPROVE_DT)
|
4581
|
VALUES(@BUDGET_YEAR_LIMIT_ID, @GD_ID, 'nam', 'ho', @BUDGET_YEAR, 'DV0001', @l_DEP_ID, @BUDGET_LIMIT_AMT,
|
4582
|
@M1, @M2, @M3, @M4, @M5, @M6, @M7, @M8, @M9, @M10, @M11, @M12, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL)
|
4583
|
END
|
4584
|
|
4585
|
|
4586
|
IF @@error<>0 GOTO ABORT;
|
4587
|
FETCH NEXT FROM XmlBudgetLimitYearhDT
|
4588
|
INTO @DEP_CODE, @DEP_NAME, @ROLENAME, @BUDGET_YEAR , @BUDGET_LIMIT_AMT, @BUDGET_MONTH, @M1 , @M2 , @M3 , @M4 , @M5 , @M6 , @M7 , @M8 , @M9 , @M10, @M11, @M12
|
4589
|
END
|
4590
|
|
4591
|
END
|
4592
|
CLOSE XmlBudgetLimitYearhDT;
|
4593
|
DEALLOCATE XmlBudgetLimitYearhDT
|
4594
|
COMMIT TRANSACTION
|
4595
|
|
4596
|
SELECT '0' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thêm mới thành công' ErrorDesc
|
4597
|
RETURN '0'
|
4598
|
|
4599
|
ABORT:
|
4600
|
BEGIN
|
4601
|
ROLLBACK TRANSACTION
|
4602
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, '' ErrorDesc
|
4603
|
RETURN '-1'
|
4604
|
End
|
4605
|
|
4606
|
GO
|
4607
|
|
4608
|
ALTER PROCEDURE [dbo].[TR_BUDGET_CHECK_LIMIT_YEAR_Byid]
|
4609
|
@p_GD_ID varchar(20) = NULL,
|
4610
|
@p_GD_CODE varchar(20) = NULL,
|
4611
|
@p_BRANCH_ID varchar(20) = NULL,
|
4612
|
@p_DEP_ID varchar(20) = NULL,
|
4613
|
@p_KHOI_ID varchar(20) = NULL,
|
4614
|
@p_TLNAME varchar(20) = NULL,
|
4615
|
@p_ROLENAME varchar(20) = NULL,
|
4616
|
@p_MONTH varchar(20) = NULL,
|
4617
|
@p_YEAR varchar(20) = NULL,
|
4618
|
@p_BUDGET_LIMIT_CURRENT decimal(18,0) OUT,
|
4619
|
@p_BUDGET_USED_CURRENT decimal(18,0) OUT
|
4620
|
AS
|
4621
|
-- validation
|
4622
|
DECLARE @l_BUDGET_LIMIT_CURRENT DECIMAL(18,0)
|
4623
|
-- Lấy hạn mức đã sử dụng đến hiện tại
|
4624
|
DECLARE @l_BUDGET_USED_CURRENT DECIMAL(18,0)
|
4625
|
DECLARE @l_BUDGET_USED_M1 DECIMAL(18,0), @l_BUDGET_USED_M2 DECIMAL(18,0), @l_BUDGET_USED_M3 DECIMAL(18,0), @l_BUDGET_USED_M4 DECIMAL(18,0), @l_BUDGET_USED_M5 DECIMAL(18,0),
|
4626
|
@l_BUDGET_USED_M6 DECIMAL(18,0), @l_BUDGET_USED_M7 DECIMAL(18,0), @l_BUDGET_USED_M8 DECIMAL(18,0), @l_BUDGET_USED_M9 DECIMAL(18,0), @l_BUDGET_USED_M10 DECIMAL(18,0),
|
4627
|
@l_BUDGET_USED_M11 DECIMAL(18,0), @l_BUDGET_USED_M12 DECIMAL(18,0)
|
4628
|
|
4629
|
IF(ISNULL(@p_ROLENAME, '') = '')
|
4630
|
BEGIN
|
4631
|
-- duyet moi kiem tra han muc
|
4632
|
IF(EXISTS(SELECT TOP 1 * FROM TR_REQ_BUDGET_YEAR_LIMIT where GD_ID = @p_GD_ID and DEP_ID = @p_DEP_ID AND BRANCH_ID = @p_BRANCH_ID AND AUTH_STATUS = 'A' AND BUDGET_YEAR = @p_YEAR))
|
4633
|
BEGIN
|
4634
|
--Validation is here
|
4635
|
/*
|
4636
|
NSCP theo định mức năm sẽ được tính bằng lũy kế.
|
4637
|
Ban đầu, sẽ có 1 ngân sách năm được cấp, nhưng chỉ là dự kiến(hứa sẽ cấp), còn ngân sách thật sự sẽ được chia từng tháng.
|
4638
|
VD: Ngân sách năm được cấp 1 tỷ. Nhưng 1 tỷ này sẽ chia ra cho 12 tháng.
|
4639
|
T1 được cấp 100tr, nếu dùng quá định mức sẽ báo.
|
4640
|
*/
|
4641
|
-- Lấy hạn mức lũy kế theo tháng hiện tại
|
4642
|
SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE WHEN MONTH(GETDATE()) = 1 then M1
|
4643
|
WHEN MONTH(GETDATE()) = 2 then M2
|
4644
|
WHEN MONTH(GETDATE()) = 3 then M3
|
4645
|
WHEN MONTH(GETDATE()) = 4 then M4
|
4646
|
WHEN MONTH(GETDATE()) = 5 then M5
|
4647
|
WHEN MONTH(GETDATE()) = 6 then M6
|
4648
|
WHEN MONTH(GETDATE()) = 7 then M7
|
4649
|
WHEN MONTH(GETDATE()) = 8 then M8
|
4650
|
WHEN MONTH(GETDATE()) = 9 then M9
|
4651
|
WHEN MONTH(GETDATE()) = 10 then M10
|
4652
|
WHEN MONTH(GETDATE()) = 11 then M11
|
4653
|
WHEN MONTH(GETDATE()) = 12 then M12
|
4654
|
ELSE M1
|
4655
|
END
|
4656
|
FROM TR_REQ_BUDGET_YEAR_LIMIT
|
4657
|
WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR),0)
|
4658
|
-- Lấy hạn mức đã sử dụng đến hiện tại
|
4659
|
SET @l_BUDGET_USED_M1 = ISNULL((SELECT SUM(M1) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND ISNULL(ROLENAME, '') = '' GROUP BY GD_ID),0)
|
4660
|
SET @l_BUDGET_USED_M2 = ISNULL((SELECT SUM(M2) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND ISNULL(ROLENAME, '') = '' GROUP BY GD_ID),0)
|
4661
|
SET @l_BUDGET_USED_M3 = ISNULL((SELECT SUM(M3) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND ISNULL(ROLENAME, '') = '' GROUP BY GD_ID),0)
|
4662
|
SET @l_BUDGET_USED_M4 = ISNULL((SELECT SUM(M4) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND ISNULL(ROLENAME, '') = '' GROUP BY GD_ID),0)
|
4663
|
SET @l_BUDGET_USED_M5 = ISNULL((SELECT SUM(M5) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND ISNULL(ROLENAME, '') = '' GROUP BY GD_ID),0)
|
4664
|
SET @l_BUDGET_USED_M6 = ISNULL((SELECT SUM(M6) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND ISNULL(ROLENAME, '') = '' GROUP BY GD_ID),0)
|
4665
|
SET @l_BUDGET_USED_M7 = ISNULL((SELECT SUM(M7) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND ISNULL(ROLENAME, '') = '' GROUP BY GD_ID),0)
|
4666
|
SET @l_BUDGET_USED_M8 = ISNULL((SELECT SUM(M8) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND ISNULL(ROLENAME, '') = '' GROUP BY GD_ID),0)
|
4667
|
SET @l_BUDGET_USED_M9 = ISNULL((SELECT SUM(M9) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND ISNULL(ROLENAME, '') = '' GROUP BY GD_ID),0)
|
4668
|
SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND ISNULL(ROLENAME, '') = '' GROUP BY GD_ID),0)
|
4669
|
SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND ISNULL(ROLENAME, '') = '' GROUP BY GD_ID),0)
|
4670
|
SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND ISNULL(ROLENAME, '') = '' GROUP BY GD_ID),0)
|
4671
|
|
4672
|
SET @l_BUDGET_USED_CURRENT = @l_BUDGET_USED_M1 + @l_BUDGET_USED_M2 + @l_BUDGET_USED_M3 + @l_BUDGET_USED_M4 + @l_BUDGET_USED_M5 + @l_BUDGET_USED_M6 + @l_BUDGET_USED_M7 + @l_BUDGET_USED_M8
|
4673
|
+ @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12
|
4674
|
|
4675
|
SET @p_BUDGET_LIMIT_CURRENT = @l_BUDGET_LIMIT_CURRENT;
|
4676
|
SET @p_BUDGET_USED_CURRENT = @l_BUDGET_USED_CURRENT;
|
4677
|
|
4678
|
-- CHECK NEU KHONG AP DUNG TINH HAN MUC THI BYPASS
|
4679
|
IF(ISNULL((SELECT BUDGET_LIMIT_AMT FROM TR_REQ_BUDGET_YEAR_LIMIT WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND DEP_ID = @p_DEP_ID AND BUDGET_YEAR = @p_YEAR AND ISNULL(ROLENAME, '') = '' ),0) > 0)
|
4680
|
BEGIN
|
4681
|
IF(@l_BUDGET_USED_CURRENT > @l_BUDGET_LIMIT_CURRENT)
|
4682
|
BEGIN
|
4683
|
RETURN '-1'
|
4684
|
END
|
4685
|
ELSE
|
4686
|
BEGIN
|
4687
|
RETURN '0'
|
4688
|
END
|
4689
|
END
|
4690
|
ELSE
|
4691
|
BEGIN
|
4692
|
RETURN '1'
|
4693
|
END
|
4694
|
|
4695
|
END
|
4696
|
ELSE
|
4697
|
BEGIN
|
4698
|
RETURN '1'
|
4699
|
END
|
4700
|
END
|
4701
|
ELSE
|
4702
|
BEGIN
|
4703
|
print 'tlname'
|
4704
|
-- duyet moi kiem tra han muc
|
4705
|
IF(EXISTS(SELECT TOP 1 * FROM TR_REQ_BUDGET_YEAR_LIMIT where GD_ID = @p_GD_ID AND KHOI_ID = @p_KHOI_ID AND BRANCH_ID = @p_BRANCH_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR AND AUTH_STATUS = 'A'))
|
4706
|
BEGIN
|
4707
|
print 'da duyet'
|
4708
|
--Validation is here
|
4709
|
/*
|
4710
|
NSCP theo định mức năm sẽ được tính bằng lũy kế.
|
4711
|
Ban đầu, sẽ có 1 ngân sách năm được cấp, nhưng chỉ là dự kiến(hứa sẽ cấp), còn ngân sách thật sự sẽ được chia từng tháng.
|
4712
|
VD: Ngân sách năm được cấp 1 tỷ. Nhưng 1 tỷ này sẽ chia ra cho 12 tháng.
|
4713
|
T1 được cấp 100tr, nếu dùng quá định mức sẽ báo.
|
4714
|
*/
|
4715
|
-- Lấy hạn mức lũy kế theo tháng hiện tại
|
4716
|
SET @l_BUDGET_LIMIT_CURRENT = ISNULL((SELECT BUDGET_LIMIT_CURRENT = CASE WHEN MONTH(GETDATE()) = 1 then M1
|
4717
|
WHEN MONTH(GETDATE()) = 2 then M2
|
4718
|
WHEN MONTH(GETDATE()) = 3 then M3
|
4719
|
WHEN MONTH(GETDATE()) = 4 then M4
|
4720
|
WHEN MONTH(GETDATE()) = 5 then M5
|
4721
|
WHEN MONTH(GETDATE()) = 6 then M6
|
4722
|
WHEN MONTH(GETDATE()) = 7 then M7
|
4723
|
WHEN MONTH(GETDATE()) = 8 then M8
|
4724
|
WHEN MONTH(GETDATE()) = 9 then M9
|
4725
|
WHEN MONTH(GETDATE()) = 10 then M10
|
4726
|
WHEN MONTH(GETDATE()) = 11 then M11
|
4727
|
WHEN MONTH(GETDATE()) = 12 then M12
|
4728
|
ELSE M1
|
4729
|
END
|
4730
|
FROM TR_REQ_BUDGET_YEAR_LIMIT
|
4731
|
WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND TLNAME = @p_TLNAME AND BUDGET_YEAR = @p_YEAR),0)
|
4732
|
-- Lấy hạn mức đã sử dụng đến hiện tại
|
4733
|
SET @l_BUDGET_USED_M1 = ISNULL((SELECT SUM(M1) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND KHOI_ID = @p_KHOI_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR GROUP BY GD_ID),0)
|
4734
|
SET @l_BUDGET_USED_M2 = ISNULL((SELECT SUM(M2) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND KHOI_ID = @p_KHOI_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR GROUP BY GD_ID),0)
|
4735
|
SET @l_BUDGET_USED_M3 = ISNULL((SELECT SUM(M3) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND KHOI_ID = @p_KHOI_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR GROUP BY GD_ID),0)
|
4736
|
SET @l_BUDGET_USED_M4 = ISNULL((SELECT SUM(M4) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND KHOI_ID = @p_KHOI_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR GROUP BY GD_ID),0)
|
4737
|
SET @l_BUDGET_USED_M5 = ISNULL((SELECT SUM(M5) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND KHOI_ID = @p_KHOI_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR GROUP BY GD_ID),0)
|
4738
|
SET @l_BUDGET_USED_M6 = ISNULL((SELECT SUM(M6) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND KHOI_ID = @p_KHOI_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR GROUP BY GD_ID),0)
|
4739
|
SET @l_BUDGET_USED_M7 = ISNULL((SELECT SUM(M7) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND KHOI_ID = @p_KHOI_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR GROUP BY GD_ID),0)
|
4740
|
SET @l_BUDGET_USED_M8 = ISNULL((SELECT SUM(M8) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND KHOI_ID = @p_KHOI_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR GROUP BY GD_ID),0)
|
4741
|
SET @l_BUDGET_USED_M9 = ISNULL((SELECT SUM(M9) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND KHOI_ID = @p_KHOI_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR GROUP BY GD_ID),0)
|
4742
|
SET @l_BUDGET_USED_M10 = ISNULL((SELECT SUM(M10) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND KHOI_ID = @p_KHOI_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR GROUP BY GD_ID),0)
|
4743
|
SET @l_BUDGET_USED_M11 = ISNULL((SELECT SUM(M11) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND KHOI_ID = @p_KHOI_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR GROUP BY GD_ID),0)
|
4744
|
SET @l_BUDGET_USED_M12 = ISNULL((SELECT SUM(M12) FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND KHOI_ID = @p_KHOI_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR GROUP BY GD_ID),0)
|
4745
|
|
4746
|
SET @l_BUDGET_USED_CURRENT = @l_BUDGET_USED_M1 + @l_BUDGET_USED_M2 + @l_BUDGET_USED_M3 + @l_BUDGET_USED_M4 + @l_BUDGET_USED_M5 + @l_BUDGET_USED_M6 + @l_BUDGET_USED_M7 + @l_BUDGET_USED_M8
|
4747
|
+ @l_BUDGET_USED_M9 + @l_BUDGET_USED_M10 + @l_BUDGET_USED_M11 + @l_BUDGET_USED_M12
|
4748
|
|
4749
|
SET @p_BUDGET_LIMIT_CURRENT = @l_BUDGET_LIMIT_CURRENT;
|
4750
|
SET @p_BUDGET_USED_CURRENT = @l_BUDGET_USED_CURRENT;
|
4751
|
|
4752
|
print @p_BUDGET_LIMIT_CURRENT
|
4753
|
print @p_BUDGET_USED_CURRENT
|
4754
|
|
4755
|
-- CHECK NEU KHONG AP DUNG TINH HAN MUC THI BYPASS
|
4756
|
IF(ISNULL((SELECT BUDGET_LIMIT_AMT FROM TR_REQ_BUDGET_YEAR_LIMIT WHERE 1=1 AND GD_ID = @p_GD_ID AND BRANCH_ID = @p_BRANCH_ID AND KHOI_ID = @p_KHOI_ID AND ROLENAME = @p_ROLENAME AND BUDGET_YEAR = @p_YEAR ),0) > 0)
|
4757
|
BEGIN
|
4758
|
IF(@l_BUDGET_USED_CURRENT > @l_BUDGET_LIMIT_CURRENT)
|
4759
|
BEGIN
|
4760
|
RETURN '-1'
|
4761
|
END
|
4762
|
ELSE
|
4763
|
BEGIN
|
4764
|
RETURN '0'
|
4765
|
END
|
4766
|
END
|
4767
|
ELSE
|
4768
|
BEGIN
|
4769
|
RETURN '1'
|
4770
|
END
|
4771
|
END
|
4772
|
ELSE
|
4773
|
BEGIN
|
4774
|
RETURN '1'
|
4775
|
END
|
4776
|
END
|
4777
|
|
4778
|
GO
|
4779
|
|
4780
|
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_KT_Upd]
|
4781
|
@p_REQ_PAY_ID varchar(15)= NULL,
|
4782
|
@p_REQ_PAY_CODE varchar(50) = NULL,
|
4783
|
@p_REQ_DT VARCHAR(20)= NULL,
|
4784
|
@p_BRANCH_ID varchar(15) = NULL,
|
4785
|
@p_DEP_ID varchar(15) = NULL,
|
4786
|
@p_REQ_REASON nvarchar(MAX) = NULL,
|
4787
|
@p_REQ_TYPE varchar(15) = NULL,
|
4788
|
@P_REQ_ENTRIES nvarchar(MAX) = NULL,
|
4789
|
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,
|
4790
|
@p_REF_ID varchar(15) = NULL,
|
4791
|
@p_RECEIVER_PO nvarchar(250) = NULL,
|
4792
|
@p_REQ_PAY_TYPE varchar(15) = NULL,
|
4793
|
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
|
4794
|
@p_RATE DECIMAL(18,2) = NULL,
|
4795
|
@p_REQ_AMT decimal(18, 0) = NULL,
|
4796
|
@p_REQ_TEMP_AMT decimal(18, 0) = NULL,
|
4797
|
@p_MAKER_ID varchar(15) = NULL,
|
4798
|
@p_CREATE_DT varchar(25) = NULL,
|
4799
|
@p_EDITOR_ID varchar(15) = NULL,
|
4800
|
@p_AUTH_STATUS varchar(1) = NULL,
|
4801
|
@p_CHECKER_ID varchar(15) = NULL,
|
4802
|
@p_APPROVE_DT varchar(25) = NULL,
|
4803
|
@p_CREATE_DT_KT varchar(25) = NULL,
|
4804
|
@p_MAKER_ID_KT varchar(15) = NULL,
|
4805
|
@p_AUTH_STATUS_KT varchar(1) = NULL,
|
4806
|
@p_CHECKER_ID_KT varchar(1) = NULL,
|
4807
|
@p_APPROVE_DT_KT varchar(25)= null,
|
4808
|
@p_CONFIRM_NOTE nvarchar(500) = NULL,
|
4809
|
@p_BRANCH_CREATE varchar(15) = NULL,
|
4810
|
@p_NOTES varchar(15) = NULL,
|
4811
|
@p_RECORD_STATUS varchar(1) = NULL,
|
4812
|
@p_TRANSFER_MAKER nvarchar(50) = NULL,
|
4813
|
@p_TRANSFER_DT varchar(25) = NULL,
|
4814
|
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
|
4815
|
@p_PROCESS varchar(15) = NULL,
|
4816
|
@p_PAY_PHASE VARCHAR(15) = NULL,
|
4817
|
@p_IS_SEND_APPR VARCHAR(15) = NULL,
|
4818
|
@p_XMP_TEMP_DATA_ENTRIES XML = NULL,
|
4819
|
@p_XMP_TEMP_INVOICE XML = NULL,
|
4820
|
@p_XMP_TEMP_VAT_INVOICE XML = NULL,
|
4821
|
--doanptt 14/03/2022
|
4822
|
@p_XMP_TEMP_DATA_TRANSFER_OUTSIDE_TRANS XML = NULL,
|
4823
|
@p_XMP_TEMP_DATA_TRANSFER_OUTSIDE_REC XML = NULL
|
4824
|
AS
|
4825
|
|
4826
|
-- BEGIN VALIDATE UPDATE
|
4827
|
IF (NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_ID AND TLNAME =@p_MAKER_ID_KT AND TYPE_JOB = 'XL'))
|
4828
|
BEGIN
|
4829
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép cập nhật phiếu đề nghị thanh toán này. Phiếu đề nghị thanh toán đang được điều phối cho giao dịch viên khác xử lý' ErrorDesc
|
4830
|
RETURN '-1'
|
4831
|
END
|
4832
|
IF ((SELECT AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID) ='R')
|
4833
|
BEGIN
|
4834
|
SELECT '-1' Result,'' REQ_PAY_ID,N'Phiếu đề nghị thanh toán đang được trả về đơn vị. Vui lòng chờ đơn vị cập nhật thông tin và duyệt lại!' ErrorDesc
|
4835
|
RETURN '-1'
|
4836
|
END
|
4837
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'A'))
|
4838
|
BEGIN
|
4839
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được phê duyệt thành công trước đó!' ErrorDesc
|
4840
|
RETURN '-1'
|
4841
|
END
|
4842
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'P'))
|
4843
|
BEGIN
|
4844
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được gửi phê duyệt kế toán thành công trước đó! Vui lòng đợi KSV xử lý phiếu' ErrorDesc
|
4845
|
RETURN '-1'
|
4846
|
END
|
4847
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'S'))
|
4848
|
BEGIN
|
4849
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đang được đề xuất từ chối! Vui lòng đợi KSV xử lý phiếu' ErrorDesc
|
4850
|
RETURN '-1'
|
4851
|
END
|
4852
|
-- END VALIDATE UPDATE
|
4853
|
|
4854
|
DECLARE @ENTRY_PAIR varchar(20),@DR_CR varchar(20),@ACCT VARCHAR(50), @ACCT_NAME VARCHAR(500), @AMT decimal(18,2),@CURRENCY VARCHAR(15), @EXC_RATE DECIMAL(18,0),
|
4855
|
@BRANCH_ID VARCHAR(15), @DEP_ID VARCHAR(15),@TRN_DESC nvarchar(255),@GL_CODE VARCHAR(100),@GL_CODE_ACCNO VARCHAR(20), @BRANCH_CODE VARCHAR(15), @DEP_CODE VARCHAR(15)
|
4856
|
DECLARE @VAT decimal(18, 0) =NULL, @TRANS_NO nvarchar(50)=NULL, @TRANS_DT VARCHAR(20)=NULL,@INVOICE_SIGN nvarchar(50) = NULL,@INVOICE_NO_SIGN nvarchar(50)=null,
|
4857
|
@INVOICE_NO nvarchar(50) = NULL,@INVOICE_DT VARCHAR(20) = NULL,@SELLER nvarchar(250) = NULL,@TAX_NO nvarchar(15) = NULL,@GOODS_NAME nvarchar(250) = NULL,
|
4858
|
@PRICE decimal(18, 0) = NULL,@TAX decimal(18, 0) = NULL,@NOTES NVARCHAR(MAX) = NULL,@VAT_RATE decimal(18,2),
|
4859
|
@ACC_NO VARCHAR(25),@ACC_NAME NVARCHAR(250),@ISSUED_BY NVARCHAR(250),@ISSUED_DT VARCHAR(20),@RATE DECIMAL(18,2),@PRICE_KT DECIMAL(18,2) =0,@TOTAL_AMT_KT DECIMAL(18,2) =0,@VAT_KT DECIMAL(18,2) =0,
|
4860
|
@TYPE_VAT VARCHAR(15),@TYPE_FUNC VARCHAR(15), @IS_TRANSFER_EXTERNAL VARCHAR(15)
|
4861
|
DECLARE @hdoc INT;
|
4862
|
DECLARE @hdocInvoice INT;
|
4863
|
DECLARE @hdocVATInvoice INT;
|
4864
|
EXEC sp_xml_preparedocument @hdoc OUTPUT, @p_XMP_TEMP_DATA_ENTRIES;
|
4865
|
EXEC sp_xml_preparedocument @hdocInvoice OUTPUT, @p_XMP_TEMP_INVOICE;
|
4866
|
EXEC sp_xml_preparedocument @hdocVATInvoice OUTPUT, @p_XMP_TEMP_VAT_INVOICE;
|
4867
|
|
4868
|
--hoa don khong co VAT
|
4869
|
DECLARE XmlData CURSOR FOR
|
4870
|
SELECT * FROM OPENXML(@hdocInvoice, '/Root/XmlData', 2)
|
4871
|
WITH(TRANS_NO nvarchar(50),TRANS_DT VARCHAR(20),INVOICE_SIGN nvarchar(50),INVOICE_NO_SIGN nvarchar(50), INVOICE_NO nvarchar(50),INVOICE_DT VARCHAR(20) ,SELLER nvarchar(250),TAX_NO nvarchar(15),
|
4872
|
GOODS_NAME nvarchar(250), PRICE decimal(18,0),TAX decimal(18, 0),VAT decimal(18,0),NOTE NVARCHAR(MAX),VAT_RATE decimal(18,2),CURRENCY VARCHAR(15), RATE DECIMAL(18,2),PRICE_KT DECIMAL(18,0),
|
4873
|
VAT_KT DECIMAL(18,2),TOTAL_AMT_KT DECIMAL(18,2),TYPE_VAT VARCHAR(15), TYPE_FUNC VARCHAR(15))
|
4874
|
|
4875
|
OPEN XmlData
|
4876
|
DECLARE @INDEX INT =0, @INDEX_IV INT =0, @INDEX_VAT INT =0, @INDEX_REC INT = 0;
|
4877
|
|
4878
|
BEGIN TRANSACTION
|
4879
|
-- KHAI BAO CAC BUOC DUYET- XAC NHAN
|
4880
|
DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT
|
4881
|
SET @LEVEL_JOB =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_PAY_ID AND TLNAME=@p_MAKER_ID_KT AND STATUS_JOB='C')
|
4882
|
SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1
|
4883
|
|
4884
|
UPDATE TR_REQ_PAYMENT
|
4885
|
SET AUTH_STATUS_KT ='U', CREATE_DT_KT = GETDATE(),MAKER_ID_KT =@p_MAKER_ID_KT,CHECKER_ID_KT=NULL,APPROVE_DT_KT = NULL, CONFIRM_NOTE=@p_CONFIRM_NOTE
|
4886
|
WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
4887
|
-- DOANPTT 291222: THEM LOG KPI
|
4888
|
UPDATE TR_REQ_KPI
|
4889
|
SET AUTH_STATUS_KT ='U', CREATE_DT_KT = GETDATE(),MAKER_ID_KT =@p_MAKER_ID_KT, CORE_NOTE = @p_CONFIRM_NOTE, REQ_REASON = @p_REQ_REASON
|
4890
|
WHERE REQ_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'U'
|
4891
|
|
4892
|
------------------------------------------------------------------------- BEGIN LUOI HACH TOAN -----------------------------------------------------------------------
|
4893
|
IF(@p_XMP_TEMP_DATA_ENTRIES IS NOT NULL)
|
4894
|
BEGIN
|
4895
|
-- hach toan
|
4896
|
DECLARE XmlDataEntries CURSOR FOR
|
4897
|
SELECT * FROM OPENXML(@hdoc, '/Root/XmlDataEntries', 2)
|
4898
|
WITH(ENTRY_PAIR varchar(20),DR_CR varchar(20),ACCT VARCHAR(50), ACCT_NAME VARCHAR(500), AMT decimal(18,2),CURRENCY VARCHAR(15), EXC_RATE DECIMAL(18,0),
|
4899
|
BRANCH_ID VARCHAR(15), DEP_ID VARCHAR(15),TRN_DESC nvarchar(1000),GL_CODE VARCHAR(100),GL_CODE_ACCNO VARCHAR(20), IS_TRANSFER_EXTERNAL VARCHAR(15))
|
4900
|
OPEN XmlDataEntries;
|
4901
|
|
4902
|
DELETE FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
4903
|
IF @@Error <> 0 GOTO ABORT
|
4904
|
DECLARE @DR_CR_NAME NVARCHAR(50),@ACC_NAME_FN NVARCHAR(500)
|
4905
|
FETCH NEXT FROM XmlDataEntries INTO @ENTRY_PAIR ,@DR_CR,@ACCT, @ACCT_NAME, @AMT ,@CURRENCY, @EXC_RATE,@BRANCH_ID, @DEP_ID,@TRN_DESC,@GL_CODE, @GL_CODE_ACCNO, @IS_TRANSFER_EXTERNAL
|
4906
|
WHILE @@fetch_status=0
|
4907
|
BEGIN
|
4908
|
|
4909
|
IF(@EXC_RATE IS NULL)
|
4910
|
BEGIN
|
4911
|
SET @EXC_RATE = 1
|
4912
|
END
|
4913
|
|
4914
|
SET @INDEX = @INDEX +1
|
4915
|
SET @ACC_NAME =UPPER(dbo.fChuyenCoDauThanhKhongDau(@ACCT_NAME))
|
4916
|
|
4917
|
-- NEU TEN TAI KHOAN RONG, THI LAY TEN TU CHECK CASA
|
4918
|
IF(ISNULL(@ACCT_NAME, '') = '' AND ISNULL(@GL_CODE, '') <> '')
|
4919
|
BEGIN
|
4920
|
SET @ACC_NAME = STUFF(@GL_CODE, LEN(@GL_CODE)-8, 9, '')
|
4921
|
SET @ACCT_NAME = STUFF(@GL_CODE, LEN(@GL_CODE)-8, 9, '')
|
4922
|
END
|
4923
|
-- NEU SO TAI KHOAN RONG, THI LAY SO TAI KHOAN TU CHECK CASA
|
4924
|
SET @GL_CODE = RIGHT(@GL_CODE,9)
|
4925
|
IF(ISNULL(@ACCT, '') = '' AND ISNULL(@GL_CODE_ACCNO, '') <> '')
|
4926
|
BEGIN
|
4927
|
SET @ACCT = @GL_CODE_ACCNO
|
4928
|
END
|
4929
|
|
4930
|
IF(@DR_CR='D')
|
4931
|
BEGIN
|
4932
|
SET @DR_CR_NAME =N'Nợ'
|
4933
|
END
|
4934
|
ELSE
|
4935
|
BEGIN
|
4936
|
SET @DR_CR_NAME =N'Có'
|
4937
|
END
|
4938
|
|
4939
|
SET @BRANCH_CODE =(SELECT TOP 1 BRANCH_CODE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_ID)
|
4940
|
SET @DEP_CODE =(SELECT TOP 1 DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID =@DEP_ID)
|
4941
|
|
4942
|
IF(@p_IS_SEND_APPR = 'Y')
|
4943
|
BEGIN
|
4944
|
|
4945
|
print '@ENTRY_PAIR: ' + @ENTRY_PAIR
|
4946
|
print 'req_pay_id: ' + @p_REQ_PAY_ID
|
4947
|
IF(@ENTRY_PAIR IS NULL OR @ENTRY_PAIR ='')
|
4948
|
BEGIN
|
4949
|
ROLLBACK TRANSACTION
|
4950
|
CLOSE XmlDataEntries;
|
4951
|
DEALLOCATE XmlDataEntries;
|
4952
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Mã bút toán không được phép để trống' ErrorDesc
|
4953
|
RETURN '-1'
|
4954
|
END
|
4955
|
|
4956
|
IF(@DR_CR IS NULL OR @DR_CR ='')
|
4957
|
BEGIN
|
4958
|
ROLLBACK TRANSACTION
|
4959
|
CLOSE XmlDataEntries;
|
4960
|
DEALLOCATE XmlDataEntries;
|
4961
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Nợ/có không được phép để trống' ErrorDesc
|
4962
|
RETURN '-1'
|
4963
|
END
|
4964
|
|
4965
|
IF(@ACCT IS NULL OR @ACCT ='')
|
4966
|
BEGIN
|
4967
|
ROLLBACK TRANSACTION
|
4968
|
CLOSE XmlDataEntries;
|
4969
|
DEALLOCATE XmlDataEntries;
|
4970
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Số tài khoản không được phép để trống' ErrorDesc
|
4971
|
RETURN '-1'
|
4972
|
END
|
4973
|
|
4974
|
IF(@ACCT_NAME IS NULL OR @ACCT_NAME ='')
|
4975
|
BEGIN
|
4976
|
ROLLBACK TRANSACTION
|
4977
|
CLOSE XmlDataEntries;
|
4978
|
DEALLOCATE XmlDataEntries;
|
4979
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tên tài khoản hạch toán chưa đúng. Vui lòng bấm vào nút Check GL & Check CASA để đồng bộ tài khoản từ Core' ErrorDesc
|
4980
|
RETURN '-1'
|
4981
|
END
|
4982
|
|
4983
|
IF(@AMT IS NULL OR @AMT < 0)
|
4984
|
BEGIN
|
4985
|
ROLLBACK TRANSACTION
|
4986
|
CLOSE XmlDataEntries;
|
4987
|
DEALLOCATE XmlDataEntries;
|
4988
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Số tiền hạch toán phải lớn hơn 0' ErrorDesc
|
4989
|
RETURN '-1'
|
4990
|
END
|
4991
|
|
4992
|
IF(@BRANCH_ID IS NULL OR @BRANCH_ID ='')
|
4993
|
BEGIN
|
4994
|
ROLLBACK TRANSACTION
|
4995
|
CLOSE XmlDataEntries;
|
4996
|
DEALLOCATE XmlDataEntries;
|
4997
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Đơn vị nhận không được phép để trống' ErrorDesc
|
4998
|
RETURN '-1'
|
4999
|
END
|
5000
|
|
5001
|
IF(@TRN_DESC IS NULL OR @TRN_DESC ='')
|
5002
|
BEGIN
|
5003
|
ROLLBACK TRANSACTION
|
5004
|
CLOSE XmlDataEntries;
|
5005
|
DEALLOCATE XmlDataEntries;
|
5006
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Diễn giải hạch toán không được phép để trống' ErrorDesc
|
5007
|
RETURN '-1'
|
5008
|
END
|
5009
|
|
5010
|
IF(@ACCT IS NOT NULL AND @ACCT <> '' AND LEFT(@ACCT,1) IN ('7','8') AND (@DEP_ID IS NULL OR @DEP_ID ='') AND LEN(@ACCT) < 13)
|
5011
|
BEGIN
|
5012
|
ROLLBACK TRANSACTION
|
5013
|
CLOSE XmlDataEntries;
|
5014
|
DEALLOCATE XmlDataEntries;
|
5015
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tài khoản hạch toán đầu số 7 & 8 vui lòng chọn mã phòng ban' ErrorDesc
|
5016
|
RETURN '-1'
|
5017
|
END
|
5018
|
|
5019
|
IF(@GL_CODE IS NULL OR @GL_CODE ='')
|
5020
|
BEGIN
|
5021
|
IF (LEN(@ACCT) >9 AND ((SELECT ISNULL(TK_GL,'') FROM CM_ACCOUNT WHERE ACC_NO =@ACCT) ='' OR (SELECT ISNULL(TK_GL_NAME,'') FROM CM_ACCOUNT WHERE ACC_NO =@ACCT) =''))
|
5022
|
BEGIN
|
5023
|
ROLLBACK TRANSACTION
|
5024
|
CLOSE XmlDataEntries;
|
5025
|
DEALLOCATE XmlDataEntries;
|
5026
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tài khoản CASA chưa có thông tin GL Mapping. Vui lòng bấm vào nút Kiểm tra tài khoản để đồng bộ tài khoản từ Core' ErrorDesc
|
5027
|
RETURN '-1'
|
5028
|
END
|
5029
|
END
|
5030
|
|
5031
|
IF(@ACCT IS NOT NULL AND @ACCT <> '' AND LEFT(@ACCT,1) IN ('7','8') AND (@DEP_ID IS NULL OR @DEP_ID ='') AND LEN(@ACCT) < 13)
|
5032
|
BEGIN
|
5033
|
ROLLBACK TRANSACTION
|
5034
|
CLOSE XmlDataEntries;
|
5035
|
DEALLOCATE XmlDataEntries;
|
5036
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tài khoản hạch toán đầu số 7 & 8 vui lòng chọn mã phòng ban' ErrorDesc
|
5037
|
RETURN '-1'
|
5038
|
END
|
5039
|
|
5040
|
IF(@DEP_ID IS NOT NULL AND @DEP_ID <> '' AND (LEFT(@DEP_CODE,3) <> @BRANCH_CODE))
|
5041
|
BEGIN
|
5042
|
ROLLBACK TRANSACTION
|
5043
|
CLOSE XmlDataEntries;
|
5044
|
DEALLOCATE XmlDataEntries;
|
5045
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Vui lòng chọn mã phòng ban khớp với mã đơn vị tương ứng với 3 kí tự đầu của tài khoản CASA' ErrorDesc
|
5046
|
RETURN '-1'
|
5047
|
END
|
5048
|
|
5049
|
-- NEU HACH TOAN CASA THI 3 KI TU DAU PHAI KHOP VOI BRANCH CODE CUA DON VI CHIU CHI PHI
|
5050
|
IF(LEN(@ACCT) >9 AND (SUBSTRING(@ACCT,1,3) <> (SELECT ISNULL(BRANCH_CODE,'') FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_ID)))
|
5051
|
BEGIN
|
5052
|
ROLLBACK TRANSACTION
|
5053
|
CLOSE XmlDataEntries;
|
5054
|
DEALLOCATE XmlDataEntries;
|
5055
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N'Nếu bạn đang hạch toán CASA trong hệ thống. Vui lòng chọn mã đơn vị khớp với mã đơn vị tương ứng với 3 kí tự đầu của tài khoản CASA' ErrorDesc
|
5056
|
RETURN '-1'
|
5057
|
END
|
5058
|
|
5059
|
--IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_INVOICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ISNULL(TAX,0) >0 AND ISNULL(VAT,0) >0 AND TYPE_FUNC ='KT'))
|
5060
|
--BEGIN
|
5061
|
-- IF(@ACCT ='353200002' OR @ACCT ='353200001')
|
5062
|
-- BEGIN
|
5063
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N'Bạn không được phép hạch toán tài khoản 353200002,353200001 giao dịch không chứa các hóa đơn có VAT do kế toán lưu trữ ' ErrorDesc
|
5064
|
-- RETURN '-1'
|
5065
|
-- END
|
5066
|
--END select * from TR_REQ_PAY_ENTRIES
|
5067
|
|
5068
|
--doanptt 20/04/2022
|
5069
|
IF(@ACCT = '353200002')
|
5070
|
BEGIN
|
5071
|
IF(NOT EXISTS(SELECT * FROM OPENXML(@hdocVATInvoice, '/Root/XmlVATInvoice', 2)))
|
5072
|
BEGIN
|
5073
|
ROLLBACK TRANSACTION
|
5074
|
CLOSE XmlDataEntries;
|
5075
|
DEALLOCATE XmlDataEntries;
|
5076
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Lưới hóa đơn đính kèm không có hóa đơn chứa VAT. Vui lòng xóa tài khoản nợ 353200002 trước khi gửi phê duyệt' ErrorDesc
|
5077
|
RETURN '-1'
|
5078
|
END
|
5079
|
END
|
5080
|
|
5081
|
/*
|
5082
|
-- DOANPTT 11/11/22: BỔ SUNG TRƯỜNG HỢP BỊ KHUẤT CHÂN NỢ HOẶC CHÂN CÓ
|
5083
|
IF((SELECT COUNT (*) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ENTRY_PAIR =@ENTRY_PAIR AND DR_CR ='D') >= 1 AND
|
5084
|
(SELECT COUNT (*) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ENTRY_PAIR =@ENTRY_PAIR AND DR_CR ='C') = 0)
|
5085
|
BEGIN
|
5086
|
ROLLBACK TRANSACTION
|
5087
|
CLOSE XmlDataEntries;
|
5088
|
DEALLOCATE XmlDataEntries;
|
5089
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Mã bút toán số '+ @ENTRY_PAIR+ N': Sai cấu trúc Nợ Có (1 Nợ nhiều Có hoặc 1 Có nhiều Nợ, không được phép Nhiều Nợ - 0 Có)' ErrorDesc
|
5090
|
RETURN '-1'
|
5091
|
END
|
5092
|
|
5093
|
IF((SELECT COUNT (*) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ENTRY_PAIR =@ENTRY_PAIR AND DR_CR ='D') = 0 AND
|
5094
|
(SELECT COUNT (*) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ENTRY_PAIR =@ENTRY_PAIR AND DR_CR ='C') >= 1)
|
5095
|
BEGIN
|
5096
|
ROLLBACK TRANSACTION
|
5097
|
CLOSE XmlDataEntries;
|
5098
|
DEALLOCATE XmlDataEntries;
|
5099
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Mã bút toán số '+ @ENTRY_PAIR+ N': Sai cấu trúc Nợ Có (1 Nợ nhiều Có hoặc 1 Có nhiều Nợ, không được phép Nhiều Có - 0 Nợ)' ErrorDesc
|
5100
|
RETURN '-1'
|
5101
|
END
|
5102
|
*/
|
5103
|
|
5104
|
|
5105
|
|
5106
|
END -- END IF VALIDATE
|
5107
|
/*
|
5108
|
IF(@ACCT = '353200002')
|
5109
|
BEGIN
|
5110
|
DECLARE @SUMVAT DECIMAL(18,0) = 0
|
5111
|
DECLARE @SUM3532 DECIMAL(18,0) = 0
|
5112
|
DECLARE @tmp3532 TABLE(
|
5113
|
AMT DECIMAL(18,0),
|
5114
|
ACCT VARCHAR(20)
|
5115
|
)
|
5116
|
INSERT INTO @tmp3532 SELECT * FROM OPENXML(@hdoc, '/Root/XmlDataEntries', 2) WITH(AMT DECIMAL(18, 0), ACCT VARCHAR(20))
|
5117
|
SET @SUM3532 = (SELECT SUM(AMT) FROM @tmp3532 WHERE ACCT = '353200002')
|
5118
|
SET @SUMVAT = (SELECT SUM(VAT) FROM OPENXML(@hdocVATInvoice, '/Root/XmlVATInvoice', 2) WITH(VAT DECIMAL(18, 0)))
|
5119
|
|
5120
|
IF(@SUM3532 <> @SUMVAT)
|
5121
|
BEGIN
|
5122
|
ROLLBACK TRANSACTION
|
5123
|
CLOSE XmlDataEntries;
|
5124
|
DEALLOCATE XmlDataEntries;
|
5125
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán dòng ' + CONVERT(VARCHAR(5),@INDEX) + N': Tổng số tiền thuế GTGT ở lưới hóa đơn đính kèm có VAT không bằng tổng số tiền tài khoản nợ 353200002 ở lưới hạch toán : Tổng tiền thuế GTGT: ' + FORMAT(@SUMVAT,'#,#', 'vi-VN') + N',Tổng tiền tài khoản 3532: ' + FORMAT(@SUM3532,'#,#', 'vi-VN') ErrorDesc
|
5126
|
RETURN '-1'
|
5127
|
END
|
5128
|
END
|
5129
|
*/
|
5130
|
|
5131
|
DECLARE @p_ET_ID VARCHAR(15);
|
5132
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ENTRIES', @p_ET_ID OUT;
|
5133
|
IF @p_ET_ID='' OR @p_ET_ID IS NULL GOTO ABORT;
|
5134
|
|
5135
|
INSERT INTO TR_REQ_PAY_ENTRIES (REQ_PAY_DT_ID,REQ_PAY_ID,ENTRY_PAIR,DR_CR,DR_CR_NAME,ACCT,ACCT_NAME,AMT,BRANCH_ID,DEP_ID,TRN_DESC,TRN_DATE,MAKER_ID_KT, TRN_TYPE, CURRENCY, EXC_RATE, IS_TRANSFER_EXTERNAL)
|
5136
|
VALUES (@p_ET_ID,@p_REQ_PAY_ID,@ENTRY_PAIR,@DR_CR,@DR_CR_NAME,@ACCT,@ACCT_NAME, @AMT, @BRANCH_ID, @DEP_ID,@TRN_DESC,GETDATE(),@p_MAKER_ID_KT, 'PAYMENT', 'VND', 1, @IS_TRANSFER_EXTERNAL)
|
5137
|
|
5138
|
-- NEU CHUA CO TAI KHOAN THI THEM VO CM_ACCOUNT
|
5139
|
IF(NOT EXISTS(SELECT * FROM CM_ACCOUNT WHERE ACC_NO =@ACCT))
|
5140
|
BEGIN
|
5141
|
INSERT INTO CM_ACCOUNT (ACC_NO, ACC_NAME, TK_GL, TK_GL_NAME, MAKER_ID, CHECKER_ID,CREATE_DT) VALUES
|
5142
|
(@ACCT,@ACCT_NAME,@GL_CODE,(SELECT TOP 1 ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO =@GL_CODE),'admin','admin',GETDATE())
|
5143
|
END
|
5144
|
ELSE
|
5145
|
BEGIN
|
5146
|
IF(@GL_CODE IS NOT NULL AND @GL_CODE <> '' AND @GL_CODE <> '0')
|
5147
|
BEGIN
|
5148
|
UPDATE CM_ACCOUNT SET ACC_NAME =@ACCT_NAME, TK_GL =@GL_CODE, TK_GL_NAME =(SELECT TOP 1 ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO =@GL_CODE), EDITOR_DT = GETDATE()
|
5149
|
WHERE ACC_NO=@ACCT
|
5150
|
END
|
5151
|
--UPDATE CM_ACCOUNT SET ACC_NAME =@ACCT_NAME, TK_GL =@GL_CODE, TK_GL_NAME =(SELECT TOP 1 ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO =@GL_CODE), CREATE_DT = GETDATE()
|
5152
|
--WHERE ACC_NO=@ACCT
|
5153
|
END
|
5154
|
IF @@error<>0 GOTO ABORT;
|
5155
|
FETCH NEXT FROM XmlDataEntries INTO @ENTRY_PAIR ,@DR_CR,@ACCT, @ACCT_NAME, @AMT ,@CURRENCY, @EXC_RATE,@BRANCH_ID, @DEP_ID,@TRN_DESC,@GL_CODE, @GL_CODE_ACCNO, @IS_TRANSFER_EXTERNAL
|
5156
|
END;--END WHILE
|
5157
|
CLOSE XmlDataEntries;
|
5158
|
DEALLOCATE XmlDataEntries;
|
5159
|
END--END LUOI HACH TOAN
|
5160
|
------------------------------------------------------------------------------------------ END LUOI HACH TOAN --------------------------------------------------------------------
|
5161
|
|
5162
|
--INSERT XMLDATAENTRIES
|
5163
|
-- CAP NHAT TAI KHOAN GL
|
5164
|
|
5165
|
--UPDATE TR_REQ_PAY_ENTRIES SET ACCT_NAME = UPPER(dbo.fChuyenCoDauThanhKhongDau(ACCT_NAME)) WHERE REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM PAY_ENTRIES_POST WHERE ISNULL(REF_NO,'') ='')
|
5166
|
-- CAP NHAT TAI KHOAN GL
|
5167
|
|
5168
|
-- INSERT LUOI HOA DON KHONG VAT
|
5169
|
|
5170
|
DECLARE @PDN_TT_LIST_INVOICE NVARCHAR(1000)
|
5171
|
DELETE FROM TR_REQ_PAY_INVOICE WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
5172
|
FETCH NEXT FROM XmlData INTO @TRANS_NO , @TRANS_DT ,@INVOICE_SIGN ,@INVOICE_NO_SIGN,@INVOICE_NO ,@INVOICE_DT ,@SELLER ,
|
5173
|
@TAX_NO ,@GOODS_NAME ,@PRICE ,@TAX,@VAT,@NOTES,@VAT_RATE,@CURRENCY,@RATE,@PRICE_KT ,@VAT_KT,@TOTAL_AMT_KT,@TYPE_VAT,@TYPE_FUNC
|
5174
|
WHILE @@FETCH_STATUS=0 BEGIN
|
5175
|
SET @INDEX_IV = @INDEX_IV+1
|
5176
|
IF(@TYPE_FUNC ='HC')
|
5177
|
BEGIN
|
5178
|
SET @PDN_TT_LIST_INVOICE = (select STUFF( (select '; ' + DTA.REQ_PAY_CODE FROM TR_REQ_PAYMENT DTA WHERE REQ_PAY_ID IN
|
5179
|
(SELECT REQ_PAY_ID FROM TR_REQ_PAY_INVOICE WHERE INVOICE_NO =@INVOICE_NO AND INVOICE_NO_SIGN = @INVOICE_NO_SIGN AND INVOICE_SIGN =@INVOICE_SIGN AND TAX_NO =@TAX_NO AND TAX =@TAX
|
5180
|
AND AUTH_STATUS <>'D' AND TYPE_FUNC ='HC'
|
5181
|
AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS NOT IN ('E','D') AND MAKER_ID NOT IN (SELECT TLNANME FROM TL_USER WHERE RoleName ='DISABLE' OR AUTH_STATUS ='U')))
|
5182
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
|
5183
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_INVOICE WHERE INVOICE_NO =@INVOICE_NO AND INVOICE_NO_SIGN = @INVOICE_NO_SIGN AND INVOICE_SIGN =@INVOICE_SIGN AND
|
5184
|
TAX_NO =@TAX_NO AND TAX =@TAX AND TYPE_FUNC ='HC' AND AUTH_STATUS <>'D' AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS NOT IN ('E','D') AND MAKER_ID NOT IN (SELECT TLNANME FROM TL_USER WHERE RoleName ='DISABLE' OR AUTH_STATUS ='U'))))
|
5185
|
|
5186
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_INVOICE WHERE INVOICE_NO =@INVOICE_NO AND INVOICE_NO_SIGN = @INVOICE_NO_SIGN AND INVOICE_SIGN =@INVOICE_SIGN AND
|
5187
|
TAX_NO =@TAX_NO AND TAX =@TAX AND TYPE_FUNC ='HC' AND AUTH_STATUS <>'D' AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS NOT IN ('E','D') AND MAKER_ID NOT IN (SELECT TLNANME FROM TL_USER WHERE RoleName ='DISABLE' OR AUTH_STATUS ='U'))))
|
5188
|
BEGIN
|
5189
|
ROLLBACK TRANSACTION
|
5190
|
CLOSE XmlData;
|
5191
|
DEALLOCATE XmlData;
|
5192
|
SELECT '-1' as Result, '' REQ_PAY_ID,N'Thông tin hóa đơn đính kèm, dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn '+ @INVOICE_NO +N' đã tồn tại trong hệ thống. Số phiếu: '+ISNULL(@PDN_TT_LIST_INVOICE,'') ErrorDesc
|
5193
|
RETURN '-1'
|
5194
|
END
|
5195
|
END
|
5196
|
DECLARE @p_REQ_INV_ID VARCHAR(15);
|
5197
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_INVOICE', @p_REQ_INV_ID OUT;
|
5198
|
IF @p_REQ_INV_ID='' OR @p_REQ_INV_ID IS NULL GOTO ABORT;
|
5199
|
|
5200
|
INSERT INTO TR_REQ_PAY_INVOICE(REQ_PAYDT_ID,REQ_PAY_ID,TRANS_NO,TRANS_DT,INVOICE_SIGN,INVOICE_NO,INVOICE_DT,SELLER,TAX_NO,GOODS_NAME,PRICE,TAX,VAT,NOTE, MAKER_ID,CREATE_DT,EDITOR_ID,
|
5201
|
AUTH_STATUS,CHECKER_ID,APPROVE_DT, CREATE_DT_KT,MAKER_ID_KT,AUTH_STATUS_KT,CHECKER_ID_KT,APPROVE_DT_KT,RECORD_STATUS,INVOICE_NO_SIGN, VAT_RATE,CURRENCY,RATE,PRICE_KT ,VAT_KT,TOTAL_AMT_KT,TYPE_VAT,TYPE_FUNC)
|
5202
|
VALUES (@p_REQ_INV_ID,@p_REQ_PAY_ID , @TRANS_NO , CONVERT(DATE,@TRANS_DT,103) ,@INVOICE_SIGN ,@INVOICE_NO ,CONVERT(DATE,@INVOICE_DT,103) ,@SELLER ,@TAX_NO ,@GOODS_NAME ,@PRICE ,@TAX,@VAT,@NOTES,
|
5203
|
@p_MAKER_ID,GETDATE(),NULL,'U',NULL,NULL,GETDATE(),@p_MAKER_ID_KT,'U',NULL,NULL,'1',@INVOICE_NO_SIGN,@VAT_RATE, @p_REQ_TYPE_CURRENCY, @p_RATE,@PRICE_KT ,@VAT_KT,@TOTAL_AMT_KT,@TYPE_VAT,'HC')
|
5204
|
|
5205
|
IF @@error<>0 GOTO ABORT;
|
5206
|
FETCH NEXT FROM XmlData
|
5207
|
INTO @TRANS_NO , @TRANS_DT,@INVOICE_SIGN,@INVOICE_NO_SIGN,@INVOICE_NO ,@INVOICE_DT ,@SELLER ,@TAX_NO ,@GOODS_NAME ,@PRICE ,
|
5208
|
@TAX,@VAT,@NOTES,@VAT_RATE,@CURRENCY,@RATE,@PRICE_KT ,@VAT_KT,@TOTAL_AMT_KT,@TYPE_VAT,@TYPE_FUNC
|
5209
|
END;
|
5210
|
CLOSE XmlData;
|
5211
|
DEALLOCATE XmlData;
|
5212
|
|
5213
|
-- BEGIN HOA DON CO VAT
|
5214
|
IF(@p_XMP_TEMP_VAT_INVOICE IS NOT NULL)
|
5215
|
BEGIN
|
5216
|
-- hoa don co VAT
|
5217
|
DECLARE XmlVATInvoice CURSOR FOR
|
5218
|
SELECT *
|
5219
|
FROM
|
5220
|
OPENXML(@hdocVATInvoice, '/Root/XmlVATInvoice', 2)
|
5221
|
WITH(TRANS_NO nvarchar(50),TRANS_DT VARCHAR(20),INVOICE_SIGN nvarchar(50),INVOICE_NO_SIGN nvarchar(50),
|
5222
|
INVOICE_NO nvarchar(50),INVOICE_DT VARCHAR(20) ,SELLER nvarchar(250),TAX_NO nvarchar(15),GOODS_NAME nvarchar(250) ,
|
5223
|
PRICE decimal(18,0),TAX decimal(18, 0),VAT decimal(18,0),NOTE NVARCHAR(MAX),VAT_RATE decimal(18,2),CURRENCY VARCHAR(15), RATE DECIMAL(18,2),PRICE_KT DECIMAL(18,0),VAT_KT DECIMAL(18,2),TOTAL_AMT_KT DECIMAL(18,2),TYPE_VAT VARCHAR(15), TYPE_FUNC VARCHAR(15))
|
5224
|
OPEN XmlVATInvoice
|
5225
|
|
5226
|
-- CAP NHAT HOA DON CO VAT
|
5227
|
FETCH NEXT FROM XmlVATInvoice INTO @TRANS_NO , @TRANS_DT ,@INVOICE_SIGN ,@INVOICE_NO_SIGN,@INVOICE_NO ,@INVOICE_DT ,@SELLER ,
|
5228
|
@TAX_NO ,@GOODS_NAME ,@PRICE ,@TAX,@VAT,@NOTES,@VAT_RATE,@CURRENCY,@RATE,@PRICE_KT ,@VAT_KT,@TOTAL_AMT_KT,@TYPE_VAT,@TYPE_FUNC
|
5229
|
WHILE @@fetch_status=0 BEGIN
|
5230
|
SET @INDEX_VAT = @INDEX_VAT+1
|
5231
|
|
5232
|
SET @PDN_TT_LIST_INVOICE = (select STUFF( (select '; ' + DTA.REQ_PAY_CODE FROM TR_REQ_PAYMENT DTA WHERE REQ_PAY_ID IN
|
5233
|
(SELECT REQ_PAY_ID FROM TR_REQ_PAY_INVOICE WHERE INVOICE_NO =@INVOICE_NO AND INVOICE_NO_SIGN = @INVOICE_NO_SIGN AND INVOICE_SIGN =@INVOICE_SIGN AND TAX_NO =@TAX_NO AND TAX =@TAX
|
5234
|
AND AUTH_STATUS <>'D' AND TYPE_FUNC ='KT'
|
5235
|
AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS NOT IN ('E','D') AND MAKER_ID NOT IN (SELECT TLNANME FROM TL_USER WHERE RoleName ='DISABLE' OR AUTH_STATUS ='U')))
|
5236
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
|
5237
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_INVOICE WHERE INVOICE_NO =@INVOICE_NO AND INVOICE_NO_SIGN = @INVOICE_NO_SIGN
|
5238
|
AND INVOICE_SIGN =@INVOICE_SIGN AND TAX_NO =@TAX_NO AND TAX =@TAX AND TYPE_FUNC ='KT' AND AUTH_STATUS <>'D' AND
|
5239
|
REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS NOT IN ('E','D') AND MAKER_ID NOT IN (SELECT TLNANME FROM TL_USER WHERE RoleName ='DISABLE' OR AUTH_STATUS ='U'))))
|
5240
|
|
5241
|
--IF(@TYPE_FUNC ='KT')
|
5242
|
--BEGIN
|
5243
|
IF(EXISTS(SELECT REQ_PAYDT_ID FROM TR_REQ_PAY_INVOICE
|
5244
|
WHERE INVOICE_NO =@INVOICE_NO
|
5245
|
AND INVOICE_NO_SIGN = @INVOICE_NO_SIGN
|
5246
|
AND INVOICE_SIGN =@INVOICE_SIGN
|
5247
|
AND TAX_NO =@TAX_NO
|
5248
|
AND TAX =@TAX
|
5249
|
AND TYPE_FUNC = 'KT'
|
5250
|
AND AUTH_STATUS <>'D'
|
5251
|
AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS NOT IN ('E','D') AND MAKER_ID NOT IN (SELECT TLNANME FROM TL_USER WHERE RoleName ='DISABLE' OR AUTH_STATUS ='U'))
|
5252
|
)
|
5253
|
)
|
5254
|
BEGIN
|
5255
|
ROLLBACK TRANSACTION
|
5256
|
CLOSE XmlVATInvoice;
|
5257
|
DEALLOCATE XmlVATInvoice;
|
5258
|
SELECT '-1' as Result, '' REQ_PAY_ID,N'Thông tin hóa đơn đính kèm có VAT, dòng ' + CONVERT(VARCHAR(5),@INDEX_VAT)+N': Số hóa đơn '+ @INVOICE_NO +N' đã tồn tại trong hệ thống. Số phiếu: '+ISNULL(@PDN_TT_LIST_INVOICE,'') ErrorDesc
|
5259
|
RETURN '-1'
|
5260
|
END
|
5261
|
--END
|
5262
|
--doanptt 20/04/2022
|
5263
|
/*
|
5264
|
IF(NOT EXISTS(SELECT * FROM OPENXML(@hdoc, '/Root/XmlDataEntries', 2) WITH(DR_CR varchar(20),ACCT VARCHAR(50), ACCT_NAME VARCHAR(500), AMT decimal(18,2)) WHERE ACCT = '353200002'))
|
5265
|
BEGIN
|
5266
|
ROLLBACK TRANSACTION
|
5267
|
CLOSE XmlVATInvoice;
|
5268
|
DEALLOCATE XmlVATInvoice;
|
5269
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hóa đơn đính kèm có VAT, nhưng lưới hạch toán không có tài khoản nợ 353200002. Vui lòng thêm tài khoản nợ 353200002 trước khi gửi phê duyệt' ErrorDesc
|
5270
|
RETURN '-1'
|
5271
|
END
|
5272
|
*/
|
5273
|
|
5274
|
DECLARE @p_REQ_INV_VAT_ID VARCHAR(15);
|
5275
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_INVOICE', @p_REQ_INV_VAT_ID OUT;
|
5276
|
IF @p_REQ_INV_VAT_ID='' OR @p_REQ_INV_VAT_ID IS NULL GOTO ABORT;
|
5277
|
INSERT INTO TR_REQ_PAY_INVOICE(REQ_PAYDT_ID,REQ_PAY_ID,TRANS_NO,TRANS_DT,INVOICE_SIGN,INVOICE_NO,INVOICE_DT,SELLER,TAX_NO,GOODS_NAME,PRICE,TAX,VAT,NOTE, MAKER_ID,CREATE_DT,EDITOR_ID,
|
5278
|
AUTH_STATUS,CHECKER_ID,APPROVE_DT, CREATE_DT_KT,MAKER_ID_KT,AUTH_STATUS_KT,CHECKER_ID_KT,APPROVE_DT_KT,RECORD_STATUS,INVOICE_NO_SIGN,VAT_RATE,CURRENCY,RATE,PRICE_KT ,VAT_KT,
|
5279
|
TOTAL_AMT_KT,TYPE_VAT,TYPE_FUNC)
|
5280
|
VALUES (@p_REQ_INV_VAT_ID,@p_REQ_PAY_ID , @TRANS_NO , CONVERT(DATE,@TRANS_DT,103) ,@INVOICE_SIGN ,@INVOICE_NO ,CONVERT(DATE,@INVOICE_DT,103) ,@SELLER ,@TAX_NO ,@GOODS_NAME ,@PRICE ,
|
5281
|
@TAX,@VAT,@NOTES, @p_MAKER_ID,GETDATE(),NULL,'U',NULL,NULL,GETDATE(),@p_MAKER_ID_KT,'U',NULL,NULL,'1',@INVOICE_NO_SIGN,@VAT_RATE, @p_REQ_TYPE_CURRENCY, @p_RATE,@PRICE_KT ,@VAT_KT,@TOTAL_AMT_KT,
|
5282
|
@TYPE_VAT,'KT')
|
5283
|
IF @@error<>0 GOTO ABORT;
|
5284
|
|
5285
|
FETCH NEXT FROM XmlVATInvoice
|
5286
|
INTO @TRANS_NO , @TRANS_DT,@INVOICE_SIGN,@INVOICE_NO_SIGN,@INVOICE_NO ,@INVOICE_DT ,@SELLER ,@TAX_NO ,@GOODS_NAME ,@PRICE ,
|
5287
|
@TAX,@VAT,@NOTES,@VAT_RATE,@CURRENCY,@RATE,@PRICE_KT ,@VAT_KT,@TOTAL_AMT_KT,@TYPE_VAT,@TYPE_FUNC
|
5288
|
END;
|
5289
|
CLOSE XmlVATInvoice;
|
5290
|
DEALLOCATE XmlVATInvoice;
|
5291
|
END
|
5292
|
-- END HOA DON CO VAT
|
5293
|
|
5294
|
|
5295
|
-- doanptt 12/03/2022 thêm lưới chuyển tiền ngoài hệ thống - đơn vị chuyển
|
5296
|
DECLARE @hdocOutsideTrans INT
|
5297
|
EXEC sp_xml_preparedocument @hdocOutsideTrans OUTPUT, @p_XMP_TEMP_DATA_TRANSFER_OUTSIDE_TRANS;
|
5298
|
|
5299
|
DECLARE @MAKER_ID_KT VARCHAR(15), @TYPE_TRANSFER_ID VARCHAR(15), @PRODUCT_ID VARCHAR(15), @OBJECT_TRANSFER_ID VARCHAR(15),
|
5300
|
@ACC_NO_TRANSFER VARCHAR(255), @BRANCH_TRANSFER_ID VARCHAR(15), @BRANCH_TRANFSER_NAME NVARCHAR(255)
|
5301
|
-- BEGIN INSERT đơn vị chuyển
|
5302
|
DELETE FROM TR_REQ_PAY_TRANS_OUTSIDE_TRANS WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
5303
|
DECLARE XmlDataOutsideTrans CURSOR LOCAL FOR
|
5304
|
SELECT * FROM OPENXML(@hdocOutsideTrans, 'Root/XmlDataTransferOutside',2)
|
5305
|
WITH(MAKER_ID VARCHAR(15), TYPE_TRANSFER_ID VARCHAR(15), PRODUCT_ID VARCHAR(15), OBJECT_TRANSFER_ID VARCHAR(15), BRANCH_ID VARCHAR(15),
|
5306
|
ACC_NO_TRANSFER VARCHAR(255), BRANCH_TRANSFER_ID VARCHAR(15), CURRENCY VARCHAR(15), BRANCH_TRANFSER_NAME NVARCHAR(255))
|
5307
|
OPEN XmlDataOutsideTrans
|
5308
|
|
5309
|
|
5310
|
FETCH NEXT FROM XmlDataOutsideTrans INTO @MAKER_ID_KT , @TYPE_TRANSFER_ID, @PRODUCT_ID, @OBJECT_TRANSFER_ID, @BRANCH_ID,
|
5311
|
@ACC_NO_TRANSFER, @BRANCH_TRANSFER_ID, @CURRENCY, @BRANCH_TRANFSER_NAME
|
5312
|
WHILE @@fetch_status=0
|
5313
|
BEGIN
|
5314
|
--IF(@p_REQ_PAY_ID <> NULL)
|
5315
|
--BEGIN
|
5316
|
DECLARE @p_TR_REQ_TRANS_OUTSIDE_ID VARCHAR(15);
|
5317
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_OUTSIDE_TRANS', @p_TR_REQ_TRANS_OUTSIDE_ID OUT;
|
5318
|
IF @p_TR_REQ_TRANS_OUTSIDE_ID='' OR @p_TR_REQ_TRANS_OUTSIDE_ID IS NULL GOTO ABORT;
|
5319
|
INSERT INTO TR_REQ_PAY_TRANS_OUTSIDE_TRANS(TR_REQ_TRANS_OUTSIDE_ID ,REQ_PAY_ID ,MAKER_ID , CREATE_DT , AUTH_STATUS, AUTH_STATUS_KT ,
|
5320
|
BRANCH_TRANFSER_NAME,TYPE_TRANSFER_ID , PRODUCT_ID , OBJECT_TRANSFER_ID , BRANCH_ID, ACC_NO_TRANSFER , BRANCH_TRANSFER_ID)
|
5321
|
VALUES (@p_TR_REQ_TRANS_OUTSIDE_ID ,@p_REQ_PAY_ID ,@p_MAKER_ID_KT , GETDATE(), NULL , NULL,
|
5322
|
@BRANCH_TRANFSER_NAME, @TYPE_TRANSFER_ID , @PRODUCT_ID , @OBJECT_TRANSFER_ID , @BRANCH_ID, @ACC_NO_TRANSFER , @BRANCH_TRANSFER_ID)
|
5323
|
--END
|
5324
|
|
5325
|
IF @@error<>0 GOTO ABORT;
|
5326
|
FETCH NEXT FROM XmlDataOutsideTrans INTO @MAKER_ID_KT , @TYPE_TRANSFER_ID, @PRODUCT_ID, @OBJECT_TRANSFER_ID, @BRANCH_ID,
|
5327
|
@ACC_NO_TRANSFER, @BRANCH_TRANSFER_ID, @CURRENCY, @BRANCH_TRANFSER_NAME
|
5328
|
END;
|
5329
|
CLOSE XmlDataOutsideTrans;
|
5330
|
DEALLOCATE XmlDataOutsideTrans;
|
5331
|
--- END INSERT đơn vị chuyển
|
5332
|
|
5333
|
-- doanptt 12/03/2022 thêm lưới chuyển tiền ngoài hệ thống - đơn vị nhận
|
5334
|
-- BEGIN INSERT đơn vị nhận
|
5335
|
DECLARE @hdocOutsideRec INT
|
5336
|
EXEC sp_xml_preparedocument @hdocOutsideRec OUTPUT, @p_XMP_TEMP_DATA_TRANSFER_OUTSIDE_REC;
|
5337
|
|
5338
|
DECLARE @CHANEL_PAYMENT_ID VARCHAR(15), @CITAD1_ID VARCHAR(15), @BANK_RECEIVE_ID VARCHAR(250), @OBJECT_RECEIVE_ID VARCHAR(15),
|
5339
|
@BRANCH_RECEIVE_ID VARCHAR(15), @BRANCH_RECEIVE_NAME NVARCHAR(255), @ACC_NO_RECEIVE VARCHAR(255), @TRADE_AMT DECIMAL(18, 0), @TRADE_DESC NVARCHAR(120), @SUB_BANK_RECEIVE_NAME nvarchar(MAX), @REF_NO VARCHAR(50)
|
5340
|
-- INSERT đơn vị nhận
|
5341
|
DELETE FROM TR_REQ_PAY_TRANS_OUTSIDE_REC WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
5342
|
|
5343
|
DECLARE XmlDataOutsideRec CURSOR LOCAL FOR
|
5344
|
SELECT * FROM OPENXML(@hdocOutsideRec, 'Root/XmlDataTransferOutside',2)
|
5345
|
WITH(MAKER_ID VARCHAR(15), CHANEL_PAYMENT_ID VARCHAR(15), CITAD1_ID VARCHAR(15), BANK_RECEIVE_ID VARCHAR(250), OBJECT_RECEIVE_ID VARCHAR(15),
|
5346
|
BRANCH_RECEIVE_ID VARCHAR(15), BRANCH_RECEIVE_NAME NVARCHAR(255), ACC_NO_RECEIVE VARCHAR(255), TRADE_AMT DECIMAL(18, 0), TRADE_DESC NVARCHAR(120), SUB_BANK_RECEIVE_NAME nvarchar(MAX),
|
5347
|
ENTRY_PAIR varchar(20), REF_NO varchar(20))
|
5348
|
OPEN XmlDataOutsideRec
|
5349
|
|
5350
|
FETCH NEXT FROM XmlDataOutsideRec INTO @MAKER_ID_KT, @CHANEL_PAYMENT_ID, @CITAD1_ID, @BANK_RECEIVE_ID, @OBJECT_RECEIVE_ID,
|
5351
|
@BRANCH_RECEIVE_ID, @BRANCH_RECEIVE_NAME, @ACC_NO_RECEIVE, @TRADE_AMT, @TRADE_DESC, @SUB_BANK_RECEIVE_NAME, @ENTRY_PAIR, @REF_NO
|
5352
|
WHILE @@fetch_status=0
|
5353
|
BEGIN
|
5354
|
SET @INDEX_REC = @INDEX_REC+1
|
5355
|
|
5356
|
IF(@p_IS_SEND_APPR = 'Y')
|
5357
|
BEGIN
|
5358
|
IF(ISNULL(@ACC_NO_RECEIVE, '') = '')
|
5359
|
BEGIN
|
5360
|
ROLLBACK TRANSACTION
|
5361
|
CLOSE XmlDataOutsideRec;
|
5362
|
DEALLOCATE XmlDataOutsideRec;
|
5363
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới đơn vị nhận, dòng: '+ CONVERT(VARCHAR(5),@INDEX_REC) + N' Số tài khoản không được để trống' ErrorDesc
|
5364
|
RETURN '-1'
|
5365
|
END
|
5366
|
IF(ISNULL(@BRANCH_RECEIVE_NAME, '') = '')
|
5367
|
BEGIN
|
5368
|
ROLLBACK TRANSACTION
|
5369
|
CLOSE XmlDataOutsideRec;
|
5370
|
DEALLOCATE XmlDataOutsideRec;
|
5371
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới đơn vị nhận, dòng: '+ CONVERT(VARCHAR(5),@INDEX_REC) + N' Tên đơn vị nhận không được để trống' ErrorDesc
|
5372
|
RETURN '-1'
|
5373
|
END
|
5374
|
IF(ISNULL(@OBJECT_RECEIVE_ID, '') = '')
|
5375
|
BEGIN
|
5376
|
ROLLBACK TRANSACTION
|
5377
|
CLOSE XmlDataOutsideRec;
|
5378
|
DEALLOCATE XmlDataOutsideRec;
|
5379
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới đơn vị nhận, dòng: '+ CONVERT(VARCHAR(5),@INDEX_REC) + N' Đối tượng nhận không được để trống' ErrorDesc
|
5380
|
RETURN '-1'
|
5381
|
END
|
5382
|
IF(ISNULL(@BANK_RECEIVE_ID, '') = '' OR ISNULL(@BRANCH_RECEIVE_NAME, '') = '')
|
5383
|
BEGIN
|
5384
|
ROLLBACK TRANSACTION
|
5385
|
CLOSE XmlDataOutsideRec;
|
5386
|
DEALLOCATE XmlDataOutsideRec;
|
5387
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới đơn vị nhận, dòng: '+ CONVERT(VARCHAR(5),@INDEX_REC) + N' Tên ngân hàng hưởng trực tiếp không được để trống' ErrorDesc
|
5388
|
RETURN '-1'
|
5389
|
END
|
5390
|
IF(ISNULL(@CITAD1_ID, '') = '')
|
5391
|
BEGIN
|
5392
|
ROLLBACK TRANSACTION
|
5393
|
CLOSE XmlDataOutsideRec;
|
5394
|
DEALLOCATE XmlDataOutsideRec;
|
5395
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới đơn vị nhận, dòng: '+ CONVERT(VARCHAR(5),@INDEX_REC) + N' Mã CITAD không được để trống' ErrorDesc
|
5396
|
RETURN '-1'
|
5397
|
END
|
5398
|
IF(ISNULL(@CHANEL_PAYMENT_ID, '') = '')
|
5399
|
BEGIN
|
5400
|
ROLLBACK TRANSACTION
|
5401
|
CLOSE XmlDataOutsideRec;
|
5402
|
DEALLOCATE XmlDataOutsideRec;
|
5403
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới đơn vị nhận, dòng: '+ CONVERT(VARCHAR(5),@INDEX_REC) + N' Kênh thanh toán không được để trống' ErrorDesc
|
5404
|
RETURN '-1'
|
5405
|
END
|
5406
|
END
|
5407
|
|
5408
|
DECLARE @p_REQ_TRANS_OUTSIDE_REC_ID VARCHAR(15);
|
5409
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_OUTSIDE_REC', @p_REQ_TRANS_OUTSIDE_REC_ID OUT;
|
5410
|
IF @p_REQ_TRANS_OUTSIDE_REC_ID='' OR @p_REQ_TRANS_OUTSIDE_REC_ID IS NULL GOTO ABORT;
|
5411
|
|
5412
|
INSERT INTO TR_REQ_PAY_TRANS_OUTSIDE_REC(REQ_TRANS_OUTSIDE_REC_ID, REQ_PAY_ID, MAKER_ID, CREATE_DT, AUTH_STATUS, AUTH_STATUS_KT,
|
5413
|
CHANEL_PAYMENT_ID, CITAD1_ID, BANK_RECEIVE_ID, OBJECT_RECEIVE_ID, BRANCH_RECEIVE_ID, BRANCH_RECEIVE_NAME, ACC_NO_RECEIVE, TRADE_AMT, TRADE_DESC, SUB_BANK_RECEIVE_NAME, ENTRY_PAIR, REF_NO)
|
5414
|
VALUES (@p_REQ_TRANS_OUTSIDE_REC_ID, @p_REQ_PAY_ID, @p_MAKER_ID_KT, GETDATE(), NULL, NULL,
|
5415
|
@CHANEL_PAYMENT_ID, @CITAD1_ID, @BANK_RECEIVE_ID, @OBJECT_RECEIVE_ID, @BRANCH_RECEIVE_ID, @BRANCH_RECEIVE_NAME, @ACC_NO_RECEIVE, @TRADE_AMT, @TRADE_DESC, @SUB_BANK_RECEIVE_NAME, @ENTRY_PAIR, @REF_NO)
|
5416
|
IF @@error<>0 GOTO ABORT;
|
5417
|
FETCH NEXT FROM XmlDataOutsideRec INTO @MAKER_ID_KT, @CHANEL_PAYMENT_ID, @CITAD1_ID, @BANK_RECEIVE_ID, @OBJECT_RECEIVE_ID,
|
5418
|
@BRANCH_RECEIVE_ID, @BRANCH_RECEIVE_NAME, @ACC_NO_RECEIVE, @TRADE_AMT, @TRADE_DESC, @SUB_BANK_RECEIVE_NAME, @ENTRY_PAIR, @REF_NO
|
5419
|
END;
|
5420
|
CLOSE XmlDataOutsideRec;
|
5421
|
DEALLOCATE XmlDataOutsideRec;
|
5422
|
--- END INSERT đơn vị nhận
|
5423
|
|
5424
|
--- Luu log chinh sua select * from TR_REQ_PAY_INVOICE
|
5425
|
INSERT INTO TR_REQ_PAY_INVOICE_LOG SELECT * FROM TR_REQ_PAY_INVOICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
5426
|
-----
|
5427
|
--- BAT DAU CAP NHAT XAC DINH CAC BUOC DUYET SAU KHI KE TOAN CAP NHAT THONG TIN
|
5428
|
|
5429
|
COMMIT TRANSACTION
|
5430
|
|
5431
|
-- BEGIN VALIDATE SEND APRROVE
|
5432
|
IF(@p_IS_SEND_APPR = 'Y')
|
5433
|
BEGIN
|
5434
|
-- BEGIN VALIDATE RIGHT
|
5435
|
IF (NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_ID AND TLNAME =@p_MAKER_ID_KT AND TYPE_JOB = 'XL'))
|
5436
|
BEGIN
|
5437
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép gửi phê duyêt phiếu đề nghị thanh toán này. Phiếu đề nghị thanh toán đang được điều phối cho giao dịch viên khác xử lý' ErrorDesc
|
5438
|
RETURN '-1'
|
5439
|
END
|
5440
|
IF ((SELECT AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID) ='R')
|
5441
|
BEGIN
|
5442
|
SELECT '-1' Result,'' REQ_PAY_ID,N'Phiếu đề nghị thanh toán đang được trả về đơn vị. Vui lòng chờ đơn vị cập nhật thông tin và duyệt lại!' ErrorDesc
|
5443
|
RETURN '-1'
|
5444
|
END
|
5445
|
IF ( EXISTS (SELECT AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID AND AUTH_STATUS <> 'A'))
|
5446
|
BEGIN
|
5447
|
SELECT '-1' Result,'' REQ_PAY_ID,N'Phiếu đề nghị tạm ứng đang ở cấp độ đơn vị. Vui lòng chờ đơn vị cập nhật thông tin và duyệt lại!' ErrorDesc
|
5448
|
RETURN '-1'
|
5449
|
END
|
5450
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'A'))
|
5451
|
BEGIN
|
5452
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được phê duyệt thành công trước đó!' ErrorDesc
|
5453
|
RETURN '-1'
|
5454
|
END
|
5455
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'P'))
|
5456
|
BEGIN
|
5457
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được gửi phê duyệt kế toán thành công trước đó! Vui lòng đợi KSV xử lý phiếu' ErrorDesc
|
5458
|
RETURN '-1'
|
5459
|
END
|
5460
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'S'))
|
5461
|
BEGIN
|
5462
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đang được đề xuất từ chối! Vui lòng đợi KSV xử lý phiếu' ErrorDesc
|
5463
|
RETURN '-1'
|
5464
|
END
|
5465
|
-- END VALIDATE RIGHT
|
5466
|
|
5467
|
DECLARE @SUMVAT DECIMAL(18,0) = 0
|
5468
|
DECLARE @SUM3532 DECIMAL(18,0) = 0
|
5469
|
DECLARE @tmp3532 TABLE(
|
5470
|
AMT DECIMAL(18,0),
|
5471
|
ACCT VARCHAR(20)
|
5472
|
)
|
5473
|
INSERT INTO @tmp3532 SELECT * FROM OPENXML(@hdoc, '/Root/XmlDataEntries', 2) WITH(AMT DECIMAL(18, 0), ACCT VARCHAR(20))
|
5474
|
IF(EXISTS(SELECT * FROM @tmp3532 WHERE ACCT = '353200002'))
|
5475
|
BEGIN
|
5476
|
SET @SUM3532 = (SELECT SUM(AMT) FROM @tmp3532 WHERE ACCT = '353200002')
|
5477
|
SET @SUMVAT = (SELECT SUM(VAT) FROM OPENXML(@hdocVATInvoice, '/Root/XmlVATInvoice', 2) WITH(VAT DECIMAL(18, 0)))
|
5478
|
|
5479
|
IF(@SUM3532 <> @SUMVAT)
|
5480
|
BEGIN
|
5481
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán dòng ' + CONVERT(VARCHAR(5),@INDEX) + N': Tổng số tiền thuế GTGT ở lưới hóa đơn đính kèm có VAT không bằng tổng số tiền tài khoản nợ 353200002 ở lưới hạch toán : Tổng tiền thuế GTGT: ' + FORMAT(@SUMVAT,'#,#', 'vi-VN') + N',Tổng tiền tài khoản 3532: ' + FORMAT(@SUM3532,'#,#', 'vi-VN') ErrorDesc
|
5482
|
RETURN '-1'
|
5483
|
END
|
5484
|
END
|
5485
|
|
5486
|
|
5487
|
DECLARE @REQ_PAY_ID varchar(15), @ET_ID varchar(15), @AMT_ET DECIMAL(18,0), @ACC_ET varchar(25), @DRCR_ET varchar(25), @SUM_ET DECIMAL(18,0) = 0
|
5488
|
DECLARE cursorProduct CURSOR LOCAL FOR SELECT REQ_PAY_ID,ENTRY_PAIR,AMT,ACCT,DR_CR FROM TR_REQ_PAY_ENTRIES A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
5489
|
Open cursorProduct
|
5490
|
|
5491
|
FETCH NEXT FROM cursorProduct INTO @REQ_PAY_ID , @ET_ID, @AMT_ET, @ACC_ET , @DRCR_ET
|
5492
|
WHILE @@FETCH_STATUS = 0
|
5493
|
BEGIN
|
5494
|
--LUCTV 19-07-2021: MỖI MÃ BÚT TOÁN PHẢI THEO NGUYÊN TẮC 1 NỢ NHIỀU CÓ HOẶC 1 CÓ NHIỀU NỢ
|
5495
|
IF ( (SELECT COUNT (*) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ENTRY_PAIR =@ET_ID AND DR_CR ='D') > 1 AND
|
5496
|
(SELECT COUNT (*) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ENTRY_PAIR =@ET_ID AND DR_CR ='C')> 1
|
5497
|
)
|
5498
|
BEGIN
|
5499
|
CLOSE cursorProduct;
|
5500
|
DEALLOCATE cursorProduct;
|
5501
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Mã bút toán số '+ @ET_ID+ N': Sai cấu trúc Nợ Có (1 Nợ nhiều Có hoặc 1 Có nhiều Nợ, không được phép Nhiều Có - Nhiều Nợ)' ErrorDesc
|
5502
|
RETURN '-1'
|
5503
|
END
|
5504
|
ELSE
|
5505
|
BEGIN
|
5506
|
print 'sai'+@ENTRY_PAIR
|
5507
|
END
|
5508
|
IF(@DRCR_ET='C' AND EXISTS(SELECT * FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ACC_NO =@ACC_ET))
|
5509
|
BEGIN
|
5510
|
SET @SUM_ET =(SELECT SUM(AMT) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='C' AND ACCT =@ACC_ET)
|
5511
|
IF(ISNULL(@SUM_ET,0) <> (SELECT SUM(TOTAL_AMT) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ACC_NO =@ACC_ET))
|
5512
|
BEGIN
|
5513
|
SELECT '-1' as Result, '' REQ_PAY_ID, N' Số tiền hạch toán có của tài khoản: '+@ACC_ET + N' phải bằng với số tiền trên phương thức thanh toán của tài khoản đó là: '+FORMAT((SELECT ISNULL(SUM(TOTAL_AMT),0) FROM TR_REQ_PAY_METHOD WHERE ACC_NO =@ACC_ET AND REQ_PAY_ID =@p_REQ_PAY_ID),'#,###') ErrorDesc
|
5514
|
RETURN '-1'
|
5515
|
END
|
5516
|
END
|
5517
|
-- KIEM TRA SO TIEN NO CO
|
5518
|
IF (ISNULL((SELECT SUM(AMT) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='C' AND ENTRY_PAIR =@ET_ID),0) <> ISNULL((SELECT SUM(AMT) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='D' AND ENTRY_PAIR =@ET_ID),0))
|
5519
|
BEGIN
|
5520
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Mã bút toán: ' + @ET_ID + N' Số tiền bút toán Nợ phải bằng với số tiền bút toán Có' ErrorDesc
|
5521
|
RETURN '-1'
|
5522
|
END
|
5523
|
|
5524
|
FETCH NEXT FROM cursorProduct INTO @REQ_PAY_ID , @ET_ID, @AMT_ET, @ACC_ET , @DRCR_ET
|
5525
|
END
|
5526
|
|
5527
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'S'))
|
5528
|
BEGIN
|
5529
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đang được được đề xuất từ chối! Vui lòng đợi KSV xử lý phiếu' ErrorDesc
|
5530
|
RETURN '-1'
|
5531
|
END
|
5532
|
|
5533
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'P'))
|
5534
|
BEGIN
|
5535
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được gửi phê duyệt thành công trước đó! Vui lòng đợi KSV xử lý phiếu' ErrorDesc
|
5536
|
RETURN '-1'
|
5537
|
END
|
5538
|
|
5539
|
-- CHAN NEU CHI CO 1 BUT NO 1 BUT CO THI KHONG DUOC DI TIEP
|
5540
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
5541
|
BEGIN
|
5542
|
DECLARE @SUM_CR DECIMAL(18,2), @SUM_DR DECIMAL(18,2)
|
5543
|
SET @SUM_CR =ISNULL((SELECT SUM(AMT*ISNULL(EXC_RATE,1)) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='C'),0)
|
5544
|
SET @SUM_DR =ISNULL((SELECT SUM(AMT*ISNULL(EXC_RATE,1)) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='D'),0)
|
5545
|
IF(@SUM_CR <> @SUM_DR)
|
5546
|
BEGIN
|
5547
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Tổng hạch toán nợ phải bằng tổng hạch toán có' ErrorDesc
|
5548
|
RETURN '-1'
|
5549
|
END
|
5550
|
END
|
5551
|
|
5552
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_REQ_PAY_ID AND TLNAME=@p_MAKER_ID_KT
|
5553
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_REQ_PAY_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV)
|
5554
|
-- CAP NHAT TINH TRANG DUYET KE TOAN LA DANG XU LY
|
5555
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS_KT='P',CREATE_DT_KT = GETDATE() WHERE REQ_PAY_ID=@p_REQ_PAY_ID
|
5556
|
-- DOANPTT 291222: THEM LOG KPI
|
5557
|
UPDATE TR_REQ_KPI
|
5558
|
SET AUTH_STATUS_KT ='P', CREATE_DT_KT = GETDATE(),MAKER_ID_KT =@p_MAKER_ID_KT, CORE_NOTE = @p_CONFIRM_NOTE, REQ_REASON = @p_REQ_REASON
|
5559
|
WHERE REQ_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'U'
|
5560
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
5561
|
VALUES(@p_REQ_PAY_ID,'SEND',@p_MAKER_ID_KT,GETDATE(), N'Giao dịch viên gửi phê duyệt',N'Giao dịch viên cập nhật thông tin')
|
5562
|
SELECT '4' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đã được gửi phê duyệt thành công! Vui lòng đợi kiểm soát viên phê duyệt phiếu' ErrorDesc
|
5563
|
RETURN '4'
|
5564
|
END
|
5565
|
-- END VALIDATE SEND APPROVE
|
5566
|
|
5567
|
SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID, '' ErrorDesc
|
5568
|
RETURN '0'
|
5569
|
ABORT:
|
5570
|
BEGIN
|
5571
|
ROLLBACK TRANSACTION
|
5572
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
|
5573
|
RETURN '-1'
|
5574
|
End
|
5575
|
|
5576
|
GO
|
5577
|
|
5578
|
ALTER PROCEDURE [dbo].[TR_REQ_ADVANCE_PAYMENT_KT_Upd]
|
5579
|
@p_REQ_PAY_ID varchar(15)= NULL,
|
5580
|
@p_REQ_PAY_CODE varchar(50) = NULL,
|
5581
|
@p_REQ_DT VARCHAR(20)= NULL,
|
5582
|
@p_BRANCH_ID varchar(15) = NULL,
|
5583
|
@p_DEP_ID varchar(15) = NULL,
|
5584
|
@p_REQ_REASON nvarchar(MAX) = NULL,
|
5585
|
@p_REQ_TYPE varchar(15) = NULL,
|
5586
|
@P_REQ_ENTRIES nvarchar(MAX) = NULL,
|
5587
|
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,
|
5588
|
@p_REF_ID varchar(15) = NULL,
|
5589
|
@p_RECEIVER_PO nvarchar(250) = NULL,
|
5590
|
@p_RECEIVER_DEBIT nvarchar(250) = NULL,
|
5591
|
@p_REQ_PAY_TYPE varchar(15) = NULL,
|
5592
|
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
|
5593
|
@p_REQ_AMT decimal(18, 0) = NULL,
|
5594
|
@p_REQ_TEMP_AMT decimal(18, 0) = NULL,
|
5595
|
@p_MAKER_ID varchar(15) = NULL,
|
5596
|
@p_CREATE_DT varchar(25) = NULL,
|
5597
|
@p_EDITOR_ID varchar(15) = NULL,
|
5598
|
@p_AUTH_STATUS varchar(1) = NULL,
|
5599
|
@p_CHECKER_ID varchar(15) = NULL,
|
5600
|
@p_APPROVE_DT varchar(25) = NULL,
|
5601
|
@p_CREATE_DT_KT varchar(25) = NULL,
|
5602
|
@p_MAKER_ID_KT varchar(15) = NULL,
|
5603
|
@p_AUTH_STATUS_KT varchar(1) = NULL,
|
5604
|
@p_CHECKER_ID_KT varchar(1) = NULL,
|
5605
|
@p_APPROVE_DT_KT varchar(25)= null,
|
5606
|
@p_CONFIRM_NOTES nvarchar(500) = NULL,
|
5607
|
@p_BRANCH_CREATE varchar(15) = NULL,
|
5608
|
@p_NOTES varchar(15) = NULL,
|
5609
|
@p_RECORD_STATUS varchar(1) = NULL,
|
5610
|
@p_TRANSFER_MAKER nvarchar(50) = NULL,
|
5611
|
@p_TRANSFER_DT varchar(25) = NULL,
|
5612
|
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
|
5613
|
@p_PROCESS varchar(15) = NULL,
|
5614
|
@p_PAY_PHASE VARCHAR(15)= NULL,
|
5615
|
@p_DVDM_ID VARCHAR(15) = NULL,
|
5616
|
@p_TYPE_FUNCTION VARCHAR(15) = NULL,
|
5617
|
@p_RATE DECIMAL(18,0)= 0,
|
5618
|
@p_XMP_TEMP_DATA_ENTRIES XML = NULL,
|
5619
|
--doanptt 17/02/2022
|
5620
|
@p_XMP_TEMP_DATA_TRANSFER_OUTSIDE_TRANS XML = NULL,
|
5621
|
@p_XMP_TEMP_DATA_TRANSFER_OUTSIDE_REC XML = NULL
|
5622
|
AS
|
5623
|
-- BEGIN VALIDATE UPDATE
|
5624
|
IF (NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_ID AND TLNAME =@p_MAKER_ID_KT AND TYPE_JOB = 'XL'))
|
5625
|
BEGIN
|
5626
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép cập nhật phiếu đề nghị tạm ứng này. Phiếu đề nghị tạm ứng đang được điều phối cho giao dịch viên khác xử lý' ErrorDesc
|
5627
|
RETURN '-1'
|
5628
|
END
|
5629
|
IF ((SELECT AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID) ='R')
|
5630
|
BEGIN
|
5631
|
SELECT '-1' Result,'' REQ_PAY_ID,N'Phiếu đề nghị tạm ứng đang được trả về đơn vị. Vui lòng chờ đơn vị cập nhật thông tin và duyệt lại!' ErrorDesc
|
5632
|
RETURN '-1'
|
5633
|
END
|
5634
|
IF ( EXISTS (SELECT AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID AND AUTH_STATUS <> 'A'))
|
5635
|
BEGIN
|
5636
|
SELECT '-1' Result,'' REQ_PAY_ID,N'Phiếu đề nghị tạm ứng đang được ở cấp độ đơn vị. Vui lòng chờ đơn vị cập nhật thông tin và duyệt lại!' ErrorDesc
|
5637
|
RETURN '-1'
|
5638
|
END
|
5639
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'A'))
|
5640
|
BEGIN
|
5641
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng đã được phê duyệt kế toán thành công trước đó!' ErrorDesc
|
5642
|
RETURN '-1'
|
5643
|
END
|
5644
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'P'))
|
5645
|
BEGIN
|
5646
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng đã được gửi phê duyệt thành công trước đó! Vui lòng đợi KSV xử lý phiếu' ErrorDesc
|
5647
|
RETURN '-1'
|
5648
|
END
|
5649
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'S'))
|
5650
|
BEGIN
|
5651
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng đang được đề xuất từ chối! Vui lòng đợi KSV xử lý phiếu' ErrorDesc
|
5652
|
RETURN '-1'
|
5653
|
END
|
5654
|
-- END VALIDATE UPDATE
|
5655
|
|
5656
|
|
5657
|
|
5658
|
DECLARE @ENTRY_PAIR varchar(20),@DR_CR varchar(20),@ACCT VARCHAR(50), @ACCT_NAME VARCHAR(500), @AMT decimal(18,2),@CURRENCY VARCHAR(15), @EXC_RATE DECIMAL(18,0),
|
5659
|
@BRANCH_ID VARCHAR(15), @DEP_ID VARCHAR(15),@TRN_DESC nvarchar(1000),@GL_CODE VARCHAR(100),@GL_CODE_ACCNO VARCHAR(20),@BRANCH_CODE VARCHAR(15), @DEP_CODE VARCHAR(15)
|
5660
|
|
5661
|
DECLARE @INDEX_REC INT = 0
|
5662
|
|
5663
|
|
5664
|
BEGIN TRANSACTION
|
5665
|
-- KHAI BAO CAC BUOC DUYET- XAC NHAN
|
5666
|
DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT
|
5667
|
SET @LEVEL_JOB =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_PAY_ID AND TLNAME=@p_MAKER_ID_KT AND TYPE_JOB ='XL')
|
5668
|
SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1
|
5669
|
----
|
5670
|
--IF(EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID AND MAKER_ID_KT IS NULL))
|
5671
|
-- INSERT HACH TOAN
|
5672
|
IF(@p_XMP_TEMP_DATA_ENTRIES IS NOT NULL)
|
5673
|
BEGIN
|
5674
|
-- khai báo cursor
|
5675
|
DECLARE @hdocEntries INT;
|
5676
|
EXEC sp_xml_preparedocument @hdocEntries OUTPUT, @p_XMP_TEMP_DATA_ENTRIES;
|
5677
|
|
5678
|
DECLARE XmlDataEntries CURSOR FOR
|
5679
|
SELECT * FROM OPENXML(@hdocEntries, '/Root/XmlDataEntries', 2)
|
5680
|
WITH(ENTRY_PAIR varchar(20),DR_CR varchar(20),ACCT VARCHAR(50), ACCT_NAME VARCHAR(500), AMT decimal(18,2),CURRENCY VARCHAR(15),
|
5681
|
EXC_RATE DECIMAL(18,0), BRANCH_ID VARCHAR(15), DEP_ID VARCHAR(15),TRN_DESC nvarchar(1000), GL_CODE VARCHAR(100),GL_CODE_ACCNO VARCHAR(20))
|
5682
|
|
5683
|
OPEN XmlDataEntries;
|
5684
|
DECLARE @INDEX INT = 0
|
5685
|
|
5686
|
UPDATE TR_REQ_ADVANCE_PAYMENT
|
5687
|
SET AUTH_STATUS_KT ='U', CREATE_DT_KT = GETDATE(),MAKER_ID_KT =@p_MAKER_ID_KT,CHECKER_ID_KT=NULL,APPROVE_DT_KT = NULL, CONFIRM_NOTES=@p_CONFIRM_NOTES
|
5688
|
WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
5689
|
-- DOANPTT 291222: THEM LOG KPI
|
5690
|
UPDATE TR_REQ_KPI
|
5691
|
SET AUTH_STATUS_KT ='U', CREATE_DT_KT = GETDATE(),MAKER_ID_KT =@p_MAKER_ID_KT, CORE_NOTE = @p_CONFIRM_NOTES, REQ_REASON = @p_REQ_REASON
|
5692
|
WHERE REQ_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'U'
|
5693
|
|
5694
|
DELETE FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
5695
|
IF @@Error <> 0 GOTO ABORT
|
5696
|
|
5697
|
DECLARE @DR_CR_NAME NVARCHAR(50)
|
5698
|
FETCH NEXT FROM XmlDataEntries INTO @ENTRY_PAIR ,@DR_CR,@ACCT, @ACCT_NAME, @AMT ,@CURRENCY, @EXC_RATE,@BRANCH_ID, @DEP_ID,@TRN_DESC,@GL_CODE, @GL_CODE_ACCNO
|
5699
|
WHILE @@fetch_status=0 BEGIN
|
5700
|
IF(@EXC_RATE IS NULL)
|
5701
|
BEGIN
|
5702
|
SET @EXC_RATE = 1
|
5703
|
END
|
5704
|
|
5705
|
SET @INDEX = @INDEX +1
|
5706
|
|
5707
|
IF(@GL_CODE IS NOT NULL AND @GL_CODE <> '')
|
5708
|
BEGIN
|
5709
|
SET @GL_CODE = RIGHT(@GL_CODE,9)
|
5710
|
END-- LUCTV BO SUNG 20211117
|
5711
|
|
5712
|
SET @ACCT_NAME =UPPER(dbo.fChuyenCoDauThanhKhongDau(@ACCT_NAME))
|
5713
|
-- NEU TEN TAI KHOAN RONG, THI LAY TEN TU CHECK CASA
|
5714
|
IF(ISNULL(@GL_CODE, '') <> '')
|
5715
|
BEGIN
|
5716
|
SET @ACCT_NAME = STUFF(@GL_CODE, LEN(@GL_CODE)-8, 9, '')
|
5717
|
END
|
5718
|
-- NEU SO TAI KHOAN RONG, THI LAY SO TAI KHOAN TU CHECK CASA
|
5719
|
SET @GL_CODE = RIGHT(@GL_CODE,9)
|
5720
|
IF(ISNULL(@ACCT, '') = '' AND ISNULL(@GL_CODE_ACCNO, '') <> '')
|
5721
|
BEGIN
|
5722
|
SET @ACCT = @GL_CODE_ACCNO
|
5723
|
END
|
5724
|
|
5725
|
IF(@DR_CR='D')
|
5726
|
BEGIN
|
5727
|
SET @DR_CR_NAME =N'Nợ'
|
5728
|
END
|
5729
|
ELSE
|
5730
|
BEGIN
|
5731
|
SET @DR_CR_NAME =N'Có'
|
5732
|
END
|
5733
|
|
5734
|
SET @BRANCH_CODE =(SELECT TOP 1 BRANCH_CODE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_ID)
|
5735
|
SET @DEP_CODE =(SELECT TOP 1 DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID =@DEP_ID)
|
5736
|
|
5737
|
IF(@p_TYPE_FUNCTION ='SEND')
|
5738
|
BEGIN
|
5739
|
IF(@ENTRY_PAIR IS NULL OR @ENTRY_PAIR ='')
|
5740
|
BEGIN
|
5741
|
ROLLBACK TRANSACTION
|
5742
|
CLOSE XmlDataEntries;
|
5743
|
DEALLOCATE XmlDataEntries;
|
5744
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Mã bút toán không được phép để trống' ErrorDesc
|
5745
|
RETURN '-1'
|
5746
|
END
|
5747
|
|
5748
|
IF(@DR_CR IS NULL OR @DR_CR ='')
|
5749
|
BEGIN
|
5750
|
ROLLBACK TRANSACTION
|
5751
|
CLOSE XmlDataEntries;
|
5752
|
DEALLOCATE XmlDataEntries;
|
5753
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Nợ/có không được phép để trống' ErrorDesc
|
5754
|
RETURN '-1'
|
5755
|
END
|
5756
|
|
5757
|
IF(@ACCT IS NULL OR @ACCT ='')
|
5758
|
BEGIN
|
5759
|
ROLLBACK TRANSACTION
|
5760
|
CLOSE XmlDataEntries;
|
5761
|
DEALLOCATE XmlDataEntries;
|
5762
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Số tài khoản không được phép để trống' ErrorDesc
|
5763
|
RETURN '-1'
|
5764
|
END
|
5765
|
|
5766
|
IF(@ACCT_NAME IS NULL OR @ACCT_NAME ='')
|
5767
|
BEGIN
|
5768
|
ROLLBACK TRANSACTION
|
5769
|
CLOSE XmlDataEntries;
|
5770
|
DEALLOCATE XmlDataEntries;
|
5771
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tên tài khoản hạch toán chưa đúng. Vui lòng bấm vào nút Check GL & Check CASA để đồng bộ tài khoản từ Core' ErrorDesc
|
5772
|
RETURN '-1'
|
5773
|
END
|
5774
|
|
5775
|
IF(@AMT IS NULL OR @AMT < 0)
|
5776
|
BEGIN
|
5777
|
ROLLBACK TRANSACTION
|
5778
|
CLOSE XmlDataEntries;
|
5779
|
DEALLOCATE XmlDataEntries;
|
5780
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Số tiền hạch toán phải lớn hơn 0' ErrorDesc
|
5781
|
RETURN '-1'
|
5782
|
END
|
5783
|
|
5784
|
IF(@BRANCH_ID IS NULL OR @BRANCH_ID ='')
|
5785
|
BEGIN
|
5786
|
ROLLBACK TRANSACTION
|
5787
|
CLOSE XmlDataEntries;
|
5788
|
DEALLOCATE XmlDataEntries;
|
5789
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Đơn vị nhận không được phép để trống' ErrorDesc
|
5790
|
RETURN '-1'
|
5791
|
END
|
5792
|
|
5793
|
IF(@TRN_DESC IS NULL OR @TRN_DESC ='')
|
5794
|
BEGIN
|
5795
|
ROLLBACK TRANSACTION
|
5796
|
CLOSE XmlDataEntries;
|
5797
|
DEALLOCATE XmlDataEntries;
|
5798
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Diễn giải hạch toán không được phép để trống' ErrorDesc
|
5799
|
RETURN '-1'
|
5800
|
END
|
5801
|
|
5802
|
IF(@GL_CODE IS NULL OR @GL_CODE ='')
|
5803
|
BEGIN
|
5804
|
IF (LEN(@ACCT) >9 AND ((SELECT TOP 1 ISNULL(TK_GL,'') FROM CM_ACCOUNT WHERE ACC_NO =@ACCT) ='' OR (SELECT TOP 1 ISNULL(TK_GL_NAME,'') FROM CM_ACCOUNT WHERE ACC_NO =@ACCT) =''))
|
5805
|
BEGIN
|
5806
|
ROLLBACK TRANSACTION
|
5807
|
CLOSE XmlDataEntries;
|
5808
|
DEALLOCATE XmlDataEntries;
|
5809
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tài khoản CASA chưa có thông tin GL Mapping. Vui lòng bấm vào nút Kiểm tra tài khoản để đồng bộ tài khoản từ Core' ErrorDesc
|
5810
|
RETURN '-1'
|
5811
|
END
|
5812
|
END
|
5813
|
|
5814
|
IF(@ACCT IS NOT NULL AND @ACCT <> '' AND LEFT(@ACCT,1) IN ('7','8') AND (@DEP_ID IS NULL OR @DEP_ID ='') AND LEN(@ACCT) < 13)
|
5815
|
BEGIN
|
5816
|
ROLLBACK TRANSACTION
|
5817
|
CLOSE XmlDataEntries;
|
5818
|
DEALLOCATE XmlDataEntries;
|
5819
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Tài khoản hạch toán đầu số 7 & 8 vui lòng chọn mã phòng ban' ErrorDesc
|
5820
|
RETURN '-1'
|
5821
|
END
|
5822
|
|
5823
|
IF(@DEP_ID IS NOT NULL AND @DEP_ID <> '' AND (LEFT(@DEP_CODE,3) <> @BRANCH_CODE))
|
5824
|
BEGIN
|
5825
|
ROLLBACK TRANSACTION
|
5826
|
CLOSE XmlDataEntries;
|
5827
|
DEALLOCATE XmlDataEntries;
|
5828
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Vui lòng chọn mã phòng ban khớp với mã đơn vị tương ứng với 3 kí tự đầu của tài khoản CASA' ErrorDesc
|
5829
|
RETURN '-1'
|
5830
|
END
|
5831
|
|
5832
|
-- NEU HACH TOAN CASA THI 3 KI TU DAU PHAI KHOP VOI BRANCH CODE CUA DON VI CHIU CHI PHI
|
5833
|
PRINT @BRANCH_ID
|
5834
|
IF(LEN(@ACCT) >9 AND (SUBSTRING(@ACCT,1,3) <> (SELECT TOP 1 ISNULL(BRANCH_CODE,'') FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_ID)))
|
5835
|
BEGIN
|
5836
|
ROLLBACK TRANSACTION
|
5837
|
CLOSE XmlDataEntries;
|
5838
|
DEALLOCATE XmlDataEntries;
|
5839
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N'Nếu bạn đang hạch toán CASA trong hệ thống. Vui lòng chọn mã đơn vị khớp với mã đơn vị tương ứng với 3 kí tự đầu của tài khoản CASA' ErrorDesc
|
5840
|
RETURN '-1'
|
5841
|
END
|
5842
|
|
5843
|
/*
|
5844
|
-- DOANPTT 11/11/22: BỔ SUNG TRƯỜNG HỢP BỊ KHUẤT CHÂN NỢ HOẶC CHÂN CÓ
|
5845
|
IF((SELECT COUNT (*) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ENTRY_PAIR =@ENTRY_PAIR AND DR_CR ='D') >= 1 AND
|
5846
|
(SELECT COUNT (*) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ENTRY_PAIR =@ENTRY_PAIR AND DR_CR ='C') = 0)
|
5847
|
BEGIN
|
5848
|
ROLLBACK TRANSACTION
|
5849
|
CLOSE XmlDataEntries;
|
5850
|
DEALLOCATE XmlDataEntries;
|
5851
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Mã bút toán số '+ @ENTRY_PAIR+ N': Sai cấu trúc Nợ Có (1 Nợ nhiều Có hoặc 1 Có nhiều Nợ, không được phép Nhiều Nợ - 0 Có)' ErrorDesc
|
5852
|
RETURN '-1'
|
5853
|
END
|
5854
|
|
5855
|
IF((SELECT COUNT (*) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ENTRY_PAIR =@ENTRY_PAIR AND DR_CR ='D') = 0 AND
|
5856
|
(SELECT COUNT (*) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ENTRY_PAIR =@ENTRY_PAIR AND DR_CR ='C') >= 1)
|
5857
|
BEGIN
|
5858
|
ROLLBACK TRANSACTION
|
5859
|
CLOSE XmlDataEntries;
|
5860
|
DEALLOCATE XmlDataEntries;
|
5861
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Mã bút toán số '+ @ENTRY_PAIR+ N': Sai cấu trúc Nợ Có (1 Nợ nhiều Có hoặc 1 Có nhiều Nợ, không được phép Nhiều Có - 0 Nợ)' ErrorDesc
|
5862
|
RETURN '-1'
|
5863
|
END
|
5864
|
*/
|
5865
|
|
5866
|
END
|
5867
|
|
5868
|
/*IF(@DEP_ID IS NOT NULL AND @DEP_ID <> '' AND NOT EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_ID =@DEP_ID AND BRANCH_ID =@BRANCH_ID))
|
5869
|
BEGIN
|
5870
|
ROLLBACK TRANSACTION
|
5871
|
CLOSE XmlDataEntries;
|
5872
|
DEALLOCATE XmlDataEntries;
|
5873
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới hạch toán, dòng: '+ CONVERT(VARCHAR(5),@INDEX) + N' Vui lòng chọn mã phòng ban khớp với mã đơn vị tương ứng với 3 kí tự đầu của tài khoản CASA' ErrorDesc
|
5874
|
RETURN '-1'
|
5875
|
END*/
|
5876
|
|
5877
|
|
5878
|
DECLARE @p_ET_ID VARCHAR(15);
|
5879
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ENTRIES', @p_ET_ID OUT;
|
5880
|
IF @p_ET_ID='' OR @p_ET_ID IS NULL GOTO ABORT;
|
5881
|
|
5882
|
INSERT INTO TR_REQ_PAY_ENTRIES (REQ_PAY_DT_ID,REQ_PAY_ID,ENTRY_PAIR,DR_CR, DR_CR_NAME,ACCT,ACCT_NAME,AMT,CURRENCY,EXC_RATE,BRANCH_ID,DEP_ID,TRN_DESC,TRN_DATE,MAKER_ID_KT, TRN_TYPE)
|
5883
|
VALUES (@p_ET_ID,@p_REQ_PAY_ID,@ENTRY_PAIR,@DR_CR,@DR_CR_NAME,@ACCT,@ACCT_NAME, @AMT ,'VND', 1, @BRANCH_ID, @DEP_ID,@TRN_DESC,GETDATE(),@p_MAKER_ID_KT, 'ADVANCE')
|
5884
|
|
5885
|
-- NEU CHUA CO TAI KHOAN THI THEM VO CM_ACCOUNT
|
5886
|
IF(NOT EXISTS(SELECT * FROM CM_ACCOUNT WHERE ACC_NO =@ACCT))
|
5887
|
BEGIN
|
5888
|
INSERT INTO CM_ACCOUNT (ACC_NO, ACC_NAME, TK_GL, TK_GL_NAME, MAKER_ID, CHECKER_ID) VALUES
|
5889
|
(@ACCT,@ACCT_NAME,@GL_CODE,(SELECT TOP 1 ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO =@GL_CODE),'admin','admin')
|
5890
|
END
|
5891
|
ELSE
|
5892
|
BEGIN
|
5893
|
IF(@GL_CODE IS NOT NULL AND @GL_CODE <> '' AND @GL_CODE <> '0')
|
5894
|
BEGIN
|
5895
|
UPDATE CM_ACCOUNT SET ACC_NAME =@ACCT_NAME, TK_GL =@GL_CODE, TK_GL_NAME =(SELECT TOP 1 ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO =@GL_CODE), EDITOR_DT = GETDATE()
|
5896
|
WHERE ACC_NO=@ACCT
|
5897
|
END
|
5898
|
END
|
5899
|
|
5900
|
|
5901
|
FETCH NEXT FROM XmlDataEntries INTO @ENTRY_PAIR ,@DR_CR,@ACCT, @ACCT_NAME, @AMT ,@CURRENCY, @EXC_RATE,@BRANCH_ID, @DEP_ID,@TRN_DESC,@GL_CODE, @GL_CODE_ACCNO
|
5902
|
END;
|
5903
|
CLOSE XmlDataEntries;
|
5904
|
DEALLOCATE XmlDataEntries;
|
5905
|
-- UPDATE GL THEO RULE
|
5906
|
----UPDATE CM_ACCOUNT
|
5907
|
----SET TK_GL ='361200001', TK_GL_NAME =(SELECT ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO ='361200001')
|
5908
|
----WHERE LEN (ACC_NO) >9 AND ISNULL(TK_GL,'')=''
|
5909
|
----AND SUBSTRING(ACC_NO,4,4) ='7048'
|
5910
|
|
5911
|
----UPDATE CM_ACCOUNT
|
5912
|
----SET TK_GL ='519200002', TK_GL_NAME =(SELECT ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO ='519200002')
|
5913
|
----WHERE LEN (ACC_NO) >9 AND ISNULL(TK_GL,'')=''
|
5914
|
----AND SUBSTRING(ACC_NO,4,4) ='7044' AND SUBSTRING(ACC_NO,12,2) ='19'
|
5915
|
|
5916
|
----UPDATE CM_ACCOUNT
|
5917
|
----SET TK_GL ='421100001', TK_GL_NAME =(SELECT ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO ='421100001')
|
5918
|
----WHERE LEN (ACC_NO) >9 AND ISNULL(TK_GL,'')=''
|
5919
|
----AND SUBSTRING(ACC_NO,4,4) ='7041'
|
5920
|
|
5921
|
--UPDATE TR_REQ_PAY_ENTRIES SET ACCT_NAME = UPPER(dbo.fChuyenCoDauThanhKhongDau(ACCT_NAME)) WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
5922
|
|
5923
|
IF @@error<>0 GOTO ABORT;
|
5924
|
END
|
5925
|
|
5926
|
-- doanptt 12/03/2022 thêm lưới chuyển tiền ngoài hệ thống - đơn vị chuyển
|
5927
|
DECLARE @hdocOutsideTrans INT
|
5928
|
EXEC sp_xml_preparedocument @hdocOutsideTrans OUTPUT, @p_XMP_TEMP_DATA_TRANSFER_OUTSIDE_TRANS;
|
5929
|
|
5930
|
DECLARE @MAKER_ID_KT VARCHAR(15), @TYPE_TRANSFER_ID VARCHAR(15), @PRODUCT_ID VARCHAR(15), @OBJECT_TRANSFER_ID VARCHAR(15),
|
5931
|
@ACC_NO_TRANSFER VARCHAR(255), @BRANCH_TRANSFER_ID VARCHAR(15), @BRANCH_TRANFSER_NAME NVARCHAR(255)
|
5932
|
-- INSERT đơn vị chuyển
|
5933
|
DELETE FROM TR_REQ_PAY_TRANS_OUTSIDE_TRANS WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
5934
|
DECLARE XmlDataOutsideTrans CURSOR LOCAL FOR
|
5935
|
SELECT * FROM OPENXML(@hdocOutsideTrans, 'Root/XmlDataTransferOutside',2)
|
5936
|
WITH(MAKER_ID VARCHAR(15), TYPE_TRANSFER_ID VARCHAR(15), PRODUCT_ID VARCHAR(15), OBJECT_TRANSFER_ID VARCHAR(15), BRANCH_ID VARCHAR(15),
|
5937
|
ACC_NO_TRANSFER VARCHAR(255), BRANCH_TRANSFER_ID VARCHAR(15), CURRENCY VARCHAR(15), BRANCH_TRANFSER_NAME NVARCHAR(255))
|
5938
|
OPEN XmlDataOutsideTrans
|
5939
|
|
5940
|
|
5941
|
FETCH NEXT FROM XmlDataOutsideTrans INTO @MAKER_ID_KT , @TYPE_TRANSFER_ID, @PRODUCT_ID, @OBJECT_TRANSFER_ID, @BRANCH_ID,
|
5942
|
@ACC_NO_TRANSFER, @BRANCH_TRANSFER_ID, @CURRENCY, @BRANCH_TRANFSER_NAME
|
5943
|
WHILE @@fetch_status=0
|
5944
|
BEGIN
|
5945
|
|
5946
|
--IF(@p_REQ_PAY_ID <> NULL)
|
5947
|
--BEGIN
|
5948
|
DECLARE @p_TR_REQ_TRANS_OUTSIDE_ID VARCHAR(15);
|
5949
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_OUTSIDE_TRANS', @p_TR_REQ_TRANS_OUTSIDE_ID OUT;
|
5950
|
IF @p_TR_REQ_TRANS_OUTSIDE_ID='' OR @p_TR_REQ_TRANS_OUTSIDE_ID IS NULL GOTO ABORT;
|
5951
|
INSERT INTO TR_REQ_PAY_TRANS_OUTSIDE_TRANS(TR_REQ_TRANS_OUTSIDE_ID ,REQ_PAY_ID ,MAKER_ID , CREATE_DT , AUTH_STATUS, AUTH_STATUS_KT ,
|
5952
|
BRANCH_TRANFSER_NAME,TYPE_TRANSFER_ID , PRODUCT_ID , OBJECT_TRANSFER_ID , BRANCH_ID, ACC_NO_TRANSFER , BRANCH_TRANSFER_ID, CURRENCY)
|
5953
|
VALUES (@p_TR_REQ_TRANS_OUTSIDE_ID ,@p_REQ_PAY_ID ,@p_MAKER_ID_KT , GETDATE(), NULL , NULL,
|
5954
|
@BRANCH_TRANFSER_NAME, @TYPE_TRANSFER_ID , @PRODUCT_ID , @OBJECT_TRANSFER_ID , @BRANCH_ID, @ACC_NO_TRANSFER , @BRANCH_TRANSFER_ID, @CURRENCY)
|
5955
|
--END
|
5956
|
|
5957
|
IF @@error<>0 GOTO ABORT;
|
5958
|
FETCH NEXT FROM XmlDataOutsideTrans INTO @MAKER_ID_KT , @TYPE_TRANSFER_ID, @PRODUCT_ID, @OBJECT_TRANSFER_ID, @BRANCH_ID,
|
5959
|
@ACC_NO_TRANSFER, @BRANCH_TRANSFER_ID, @CURRENCY, @BRANCH_TRANFSER_NAME
|
5960
|
END;
|
5961
|
CLOSE XmlDataOutsideTrans;
|
5962
|
DEALLOCATE XmlDataOutsideTrans;
|
5963
|
--- END INSERT đơn vị chuyển
|
5964
|
|
5965
|
-- doanptt 12/03/2022 thêm lưới chuyển tiền ngoài hệ thống - đơn vị nhận
|
5966
|
-- START INSERT đơn vị nhận
|
5967
|
DECLARE @hdocOutsideRec INT
|
5968
|
EXEC sp_xml_preparedocument @hdocOutsideRec OUTPUT, @p_XMP_TEMP_DATA_TRANSFER_OUTSIDE_REC;
|
5969
|
|
5970
|
DECLARE @CHANEL_PAYMENT_ID VARCHAR(20), @CITAD1_ID VARCHAR(20), @BANK_RECEIVE_ID VARCHAR(255), @OBJECT_RECEIVE_ID VARCHAR(20), @REF_NO VARCHAR(50),
|
5971
|
@BRANCH_RECEIVE_ID VARCHAR(255), @BRANCH_RECEIVE_NAME NVARCHAR(MAX), @ACC_NO_RECEIVE VARCHAR(255), @TRADE_AMT DECIMAL(18, 0), @TRADE_DESC NVARCHAR(120), @SUB_BANK_RECEIVE_NAME nvarchar(MAX)
|
5972
|
-- INSERT đơn vị nhận
|
5973
|
DELETE FROM TR_REQ_PAY_TRANS_OUTSIDE_REC WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
5974
|
|
5975
|
DECLARE XmlDataOutsideRec CURSOR LOCAL FOR
|
5976
|
SELECT * FROM OPENXML(@hdocOutsideRec, 'Root/XmlDataTransferOutside',2)
|
5977
|
WITH(MAKER_ID VARCHAR(15), CHANEL_PAYMENT_ID VARCHAR(15), CITAD1_ID VARCHAR(15), BANK_RECEIVE_ID VARCHAR(255), OBJECT_RECEIVE_ID VARCHAR(15),
|
5978
|
BRANCH_RECEIVE_ID VARCHAR(15), BRANCH_RECEIVE_NAME VARCHAR(MAX), ACC_NO_RECEIVE VARCHAR(255), TRADE_AMT DECIMAL(18, 0), TRADE_DESC NVARCHAR(120), SUB_BANK_RECEIVE_NAME nvarchar(MAX),
|
5979
|
ENTRY_PAIR varchar(20), REF_NO varchar(20))
|
5980
|
OPEN XmlDataOutsideRec
|
5981
|
|
5982
|
FETCH NEXT FROM XmlDataOutsideRec INTO @MAKER_ID_KT, @CHANEL_PAYMENT_ID, @CITAD1_ID, @BANK_RECEIVE_ID, @OBJECT_RECEIVE_ID,
|
5983
|
@BRANCH_RECEIVE_ID, @BRANCH_RECEIVE_NAME, @ACC_NO_RECEIVE, @TRADE_AMT, @TRADE_DESC, @SUB_BANK_RECEIVE_NAME, @ENTRY_PAIR, @REF_NO
|
5984
|
WHILE @@fetch_status=0
|
5985
|
BEGIN
|
5986
|
SET @INDEX_REC = @INDEX_REC+1
|
5987
|
IF(@p_TYPE_FUNCTION ='SEND')
|
5988
|
BEGIN
|
5989
|
IF(ISNULL(@ACC_NO_RECEIVE, '') = '')
|
5990
|
BEGIN
|
5991
|
ROLLBACK TRANSACTION
|
5992
|
CLOSE XmlDataOutsideRec;
|
5993
|
DEALLOCATE XmlDataOutsideRec;
|
5994
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới đơn vị nhận, dòng: '+ CONVERT(VARCHAR(5),@INDEX_REC) + N' Số tài khoản không được để trống' ErrorDesc
|
5995
|
RETURN '-1'
|
5996
|
END
|
5997
|
IF(ISNULL(@BRANCH_RECEIVE_NAME, '') = '')
|
5998
|
BEGIN
|
5999
|
ROLLBACK TRANSACTION
|
6000
|
CLOSE XmlDataOutsideRec;
|
6001
|
DEALLOCATE XmlDataOutsideRec;
|
6002
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới đơn vị nhận, dòng: '+ CONVERT(VARCHAR(5),@INDEX_REC) + N' Tên đơn vị nhận không được để trống' ErrorDesc
|
6003
|
RETURN '-1'
|
6004
|
END
|
6005
|
IF(ISNULL(@OBJECT_RECEIVE_ID, '') = '')
|
6006
|
BEGIN
|
6007
|
ROLLBACK TRANSACTION
|
6008
|
CLOSE XmlDataOutsideRec;
|
6009
|
DEALLOCATE XmlDataOutsideRec;
|
6010
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới đơn vị nhận, dòng: '+ CONVERT(VARCHAR(5),@INDEX_REC) + N' Đối tượng nhận không được để trống' ErrorDesc
|
6011
|
RETURN '-1'
|
6012
|
END
|
6013
|
IF(ISNULL(@BANK_RECEIVE_ID, '') = '' OR ISNULL(@BRANCH_RECEIVE_NAME, '') = '')
|
6014
|
BEGIN
|
6015
|
ROLLBACK TRANSACTION
|
6016
|
CLOSE XmlDataOutsideRec;
|
6017
|
DEALLOCATE XmlDataOutsideRec;
|
6018
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới đơn vị nhận, dòng: '+ CONVERT(VARCHAR(5),@INDEX_REC) + N' Tên ngân hàng hưởng trực tiếp không được để trống' ErrorDesc
|
6019
|
RETURN '-1'
|
6020
|
END
|
6021
|
IF(ISNULL(@CITAD1_ID, '') = '')
|
6022
|
BEGIN
|
6023
|
ROLLBACK TRANSACTION
|
6024
|
CLOSE XmlDataOutsideRec;
|
6025
|
DEALLOCATE XmlDataOutsideRec;
|
6026
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới đơn vị nhận, dòng: '+ CONVERT(VARCHAR(5),@INDEX_REC) + N' Mã CITAD không được để trống' ErrorDesc
|
6027
|
RETURN '-1'
|
6028
|
END
|
6029
|
IF(ISNULL(@CHANEL_PAYMENT_ID, '') = '')
|
6030
|
BEGIN
|
6031
|
ROLLBACK TRANSACTION
|
6032
|
CLOSE XmlDataOutsideRec;
|
6033
|
DEALLOCATE XmlDataOutsideRec;
|
6034
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Lưới đơn vị nhận, dòng: '+ CONVERT(VARCHAR(5),@INDEX_REC) + N' Kênh thanh toán không được để trống' ErrorDesc
|
6035
|
RETURN '-1'
|
6036
|
END
|
6037
|
END
|
6038
|
|
6039
|
DECLARE @p_REQ_TRANS_OUTSIDE_REC_ID VARCHAR(15);
|
6040
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_OUTSIDE_REC', @p_REQ_TRANS_OUTSIDE_REC_ID OUT;
|
6041
|
IF @p_REQ_TRANS_OUTSIDE_REC_ID='' OR @p_REQ_TRANS_OUTSIDE_REC_ID IS NULL GOTO ABORT;
|
6042
|
INSERT INTO TR_REQ_PAY_TRANS_OUTSIDE_REC(REQ_TRANS_OUTSIDE_REC_ID, REQ_PAY_ID, MAKER_ID, CREATE_DT, AUTH_STATUS, AUTH_STATUS_KT,
|
6043
|
CHANEL_PAYMENT_ID, CITAD1_ID, BANK_RECEIVE_ID, OBJECT_RECEIVE_ID, BRANCH_RECEIVE_ID, BRANCH_RECEIVE_NAME, ACC_NO_RECEIVE, TRADE_AMT, TRADE_DESC, SUB_BANK_RECEIVE_NAME, ENTRY_PAIR, REF_NO)
|
6044
|
VALUES (@p_REQ_TRANS_OUTSIDE_REC_ID, @p_REQ_PAY_ID, @p_MAKER_ID_KT, GETDATE(), NULL, NULL,
|
6045
|
@CHANEL_PAYMENT_ID, @CITAD1_ID, @BANK_RECEIVE_ID, @OBJECT_RECEIVE_ID, @BRANCH_RECEIVE_ID, @BRANCH_RECEIVE_NAME, @ACC_NO_RECEIVE, @TRADE_AMT, @TRADE_DESC, @SUB_BANK_RECEIVE_NAME, @ENTRY_PAIR, @REF_NO)
|
6046
|
IF @@error<>0 GOTO ABORT;
|
6047
|
FETCH NEXT FROM XmlDataOutsideRec INTO @MAKER_ID_KT, @CHANEL_PAYMENT_ID, @CITAD1_ID, @BANK_RECEIVE_ID, @OBJECT_RECEIVE_ID,
|
6048
|
@BRANCH_RECEIVE_ID, @BRANCH_RECEIVE_NAME, @ACC_NO_RECEIVE, @TRADE_AMT, @TRADE_DESC, @SUB_BANK_RECEIVE_NAME, @ENTRY_PAIR, @REF_NO
|
6049
|
END;
|
6050
|
CLOSE XmlDataOutsideRec;
|
6051
|
DEALLOCATE XmlDataOutsideRec;
|
6052
|
--- END INSERT đơn vị nhận
|
6053
|
|
6054
|
|
6055
|
COMMIT TRANSACTION
|
6056
|
-- BEGIN VALIDATE SEND APPROVE
|
6057
|
IF(@p_TYPE_FUNCTION ='SEND')-- BAT DAU GUI PHE DUYET
|
6058
|
BEGIN
|
6059
|
IF (NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_ID AND TLNAME =@p_MAKER_ID_KT AND TYPE_JOB = 'XL'))
|
6060
|
BEGIN
|
6061
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép gửi phê duyệt phiếu đề nghị tạm ứng này. Phiếu đề nghị tạm ứng đang được điều phối cho giao dịch viên khác xử lý' ErrorDesc
|
6062
|
RETURN '-1'
|
6063
|
END
|
6064
|
IF ((SELECT AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID) ='R')
|
6065
|
BEGIN
|
6066
|
SELECT '-1' Result,'' REQ_PAY_ID,N'Phiếu đề nghị tạm ứng đang được trả về đơn vị. Vui lòng chờ đơn vị cập nhật thông tin và duyệt lại!' ErrorDesc
|
6067
|
RETURN '-1'
|
6068
|
END
|
6069
|
IF ( EXISTS (SELECT AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID AND AUTH_STATUS <> 'A'))
|
6070
|
BEGIN
|
6071
|
SELECT '-1' Result,'' REQ_PAY_ID,N'Phiếu đề nghị tạm ứng đang ở cấp độ đơn vị. Vui lòng chờ đơn vị cập nhật thông tin và duyệt lại!' ErrorDesc
|
6072
|
RETURN '-1'
|
6073
|
END
|
6074
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'A'))
|
6075
|
BEGIN
|
6076
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng đã được phê duyệt kế toán thành công trước đó!' ErrorDesc
|
6077
|
RETURN '-1'
|
6078
|
END
|
6079
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'P'))
|
6080
|
BEGIN
|
6081
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng đã được gửi phê duyệt thành công trước đó! Vui lòng đợi KSV xử lý phiếu' ErrorDesc
|
6082
|
RETURN '-1'
|
6083
|
END
|
6084
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'S'))
|
6085
|
BEGIN
|
6086
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng đang được đề xuất từ chối! Vui lòng đợi KSV xử lý phiếu' ErrorDesc
|
6087
|
RETURN '-1'
|
6088
|
END
|
6089
|
|
6090
|
-- BEGIN VALIDATE LUOI HACH TOAN
|
6091
|
IF(@p_XMP_TEMP_DATA_ENTRIES IS NOT NULL)
|
6092
|
BEGIN
|
6093
|
-- CHAN NEU CHI CO 1 BUT NO 1 BUT CO THI KHONG DUOC DI TIEP
|
6094
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
6095
|
BEGIN
|
6096
|
DECLARE @SUM_CR DECIMAL(18,2), @SUM_DR DECIMAL(18,2)
|
6097
|
SET @SUM_CR =ISNULL((SELECT SUM(AMT*ISNULL(EXC_RATE,1)) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='C'),0)
|
6098
|
SET @SUM_DR =ISNULL((SELECT SUM(AMT*ISNULL(EXC_RATE,1)) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='D'),0)
|
6099
|
IF(@SUM_CR<>@SUM_DR)
|
6100
|
BEGIN
|
6101
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Tổng hạch toán nợ phải bằng tổng hạch toán có' ErrorDesc
|
6102
|
RETURN '-1'
|
6103
|
END
|
6104
|
END
|
6105
|
|
6106
|
DECLARE @REQ_PAY_ID VARCHAR(15), @ET_ID varchar(15), @AMT_ET DECIMAL(18,0), @ACC_ET varchar(25), @DRCR_ET varchar(25), @SUM_ET DECIMAL(18,0) =0
|
6107
|
DECLARE cursorProduct CURSOR LOCAL FOR SELECT REQ_PAY_ID,ENTRY_PAIR,AMT,ACCT,DR_CR FROM TR_REQ_PAY_ENTRIES A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
6108
|
|
6109
|
Open cursorProduct
|
6110
|
FETCH NEXT FROM cursorProduct INTO @REQ_PAY_ID , @ET_ID, @AMT_ET, @ACC_ET , @DRCR_ET
|
6111
|
WHILE @@FETCH_STATUS = 0
|
6112
|
BEGIN
|
6113
|
--LUCTV 19-07-2021: MỖI MÃ BÚT TOÁN PHẢI THEO NGUYÊN TẮC 1 NỢ NHIỀU CÓ HOẶC 1 CÓ NHIỀU NỢ
|
6114
|
IF((SELECT COUNT (*) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ENTRY_PAIR =@ET_ID AND DR_CR ='D') >1 AND
|
6115
|
(SELECT COUNT (*) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ENTRY_PAIR =@ET_ID AND DR_CR ='C') >1)
|
6116
|
BEGIN
|
6117
|
CLOSE cursorProduct;
|
6118
|
DEALLOCATE cursorProduct;
|
6119
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Mã bút toán số '+ @ET_ID+ N': Sai cấu trúc Nợ Có (1 Nợ nhiều Có hoặc 1 Có nhiều Nợ, không được phép Nhiều Có - Nhiều Nợ)' ErrorDesc
|
6120
|
RETURN '-1'
|
6121
|
END
|
6122
|
IF(@DRCR_ET='C' AND EXISTS(SELECT * FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ACC_NO =@ACC_ET))
|
6123
|
BEGIN
|
6124
|
SET @SUM_ET =(SELECT SUM(AMT) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='C' AND ACCT =@ACC_ET)
|
6125
|
IF(ISNULL(@SUM_ET,0) <> (SELECT SUM(TOTAL_AMT) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ACC_NO =@ACC_ET))
|
6126
|
BEGIN
|
6127
|
SELECT '-1' as Result, '' REQ_PAY_ID, N' Số tiền hạch toán có của tài khoản: '+@ACC_ET + N' phải bằng với số tiền trên phương thức thanh toán của tài khoản đó là: '+FORMAT((SELECT ISNULL(SUM(TOTAL_AMT),0) FROM TR_REQ_PAY_METHOD WHERE ACC_NO =@ACC_ET AND REQ_PAY_ID =@p_REQ_PAY_ID),'#,###') ErrorDesc
|
6128
|
RETURN '-1'
|
6129
|
END
|
6130
|
END
|
6131
|
-- KIEM TRA SO TIEN NO CO
|
6132
|
IF (ISNULL((SELECT SUM(AMT) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='C' AND ENTRY_PAIR =@ET_ID),0) <> ISNULL((SELECT SUM(AMT) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='D' AND ENTRY_PAIR =@ET_ID),0))
|
6133
|
BEGIN
|
6134
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Mã bút toán: ' + @ET_ID + N' Số tiền bút toán Nợ phải bằng với số tiền bút toán Có' ErrorDesc
|
6135
|
RETURN '-1'
|
6136
|
END
|
6137
|
FETCH NEXT FROM cursorProduct INTO @REQ_PAY_ID , @ET_ID, @AMT_ET, @ACC_ET , @DRCR_ET
|
6138
|
END -- END WHILE
|
6139
|
END
|
6140
|
-- END VALIDATE LUOI HACH TOAN
|
6141
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_REQ_PAY_ID AND TLNAME=@p_MAKER_ID_KT
|
6142
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_REQ_PAY_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV)
|
6143
|
-- CAP NHAT TINH TRANG VE DANG XU LY
|
6144
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS_KT='P',CREATE_DT_KT =GETDATE() WHERE REQ_PAY_ID=@p_REQ_PAY_ID
|
6145
|
-- DOANPTT 291222: THEM LOG KPI
|
6146
|
UPDATE TR_REQ_KPI
|
6147
|
SET AUTH_STATUS_KT ='P', CREATE_DT_KT = GETDATE(),MAKER_ID_KT =@p_MAKER_ID_KT, CORE_NOTE = @p_CONFIRM_NOTES, REQ_REASON = @p_REQ_REASON
|
6148
|
WHERE REQ_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'U'
|
6149
|
|
6150
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
6151
|
VALUES(@p_REQ_PAY_ID,'SEND',@p_MAKER_ID_KT,GETDATE(), N'Giao dịch viên gửi phê duyệt phiếu',N'Giao dịch viên cập nhật thông tin')
|
6152
|
|
6153
|
SELECT '4' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đã được gửi phê duyệt thành công! Vui lòng đợi kiểm soát viên phê duyệt phiếu' ErrorDesc
|
6154
|
RETURN '4'
|
6155
|
END -- END TYPE_FUNCTION
|
6156
|
-- END VALIDATE SEND APPROVE
|
6157
|
|
6158
|
SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID, '' ErrorDesc
|
6159
|
RETURN '0'
|
6160
|
ABORT:
|
6161
|
BEGIN
|
6162
|
ROLLBACK TRANSACTION
|
6163
|
CLOSE XmlDataEntries;
|
6164
|
DEALLOCATE XmlDataEntries;
|
6165
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
|
6166
|
RETURN '-1'
|
6167
|
End
|
6168
|
|
6169
|
GO
|
6170
|
|
6171
|
ALTER PROC [dbo].[TR_BUDGET_YEAR_DVKD_DETAIL_IMPORT] (
|
6172
|
@p_GD_ID VARCHAR(20),
|
6173
|
@p_BRANCH_ID VARCHAR(20),
|
6174
|
@p_BUDGET_TYPE VARCHAR(20),
|
6175
|
@p_BRANCH_TYPE VARCHAR(20),
|
6176
|
@p_MAKER_ID VARCHAR(20),
|
6177
|
@p_XMP_TR_BUDGET_LIMIT_YEAR_DETAIL XML = NULL
|
6178
|
)
|
6179
|
AS
|
6180
|
|
6181
|
IF(@p_GD_ID IS NULL OR @p_GD_ID = '')
|
6182
|
BEGIN
|
6183
|
SELECT '-1' as Result, N'Mã ngân sách chi phí không được để trống' AS ErrorDesc
|
6184
|
RETURN '-1'
|
6185
|
END
|
6186
|
IF(@p_BUDGET_TYPE IS NULL OR @p_BUDGET_TYPE = '')
|
6187
|
BEGIN
|
6188
|
SELECT '-1' as Result, N'Loại ngân sách chi phí không được để trống' AS ErrorDesc
|
6189
|
RETURN '-1'
|
6190
|
END
|
6191
|
IF(@p_BRANCH_TYPE IS NULL OR @p_BRANCH_TYPE = '')
|
6192
|
BEGIN
|
6193
|
SELECT '-1' as Result, N'Loại đơn vị không được để trống' AS ErrorDesc
|
6194
|
RETURN '-1'
|
6195
|
END
|
6196
|
|
6197
|
BEGIN TRANSACTION
|
6198
|
DECLARE @hdoc INT
|
6199
|
EXEC sp_xml_preparedocument @hdoc OUTPUT, @p_XMP_TR_BUDGET_LIMIT_YEAR_DETAIL
|
6200
|
|
6201
|
DELETE FROM TR_GOODSTYPE WHERE GD_ID = @p_GD_ID AND BUDGET_TYPE = 'nam'
|
6202
|
INSERT INTO TR_GOODSTYPE(GD_ID, BUDGET_TYPE, CREATE_DT, MAKER_ID, APPROVE_DT, CHECKER_ID, RECORD_STATUS, AUTH_STATUS)
|
6203
|
VALUES (@p_GD_ID, 'nam', GETDATE(), @p_MAKER_ID, NULL, NULL, '1', 'A')
|
6204
|
|
6205
|
DECLARE XmlBudgetLimitYearhDT CURSOR FOR
|
6206
|
SELECT * FROM OPENXML(@hdoc, '/Root/XmlBudgetLimitYearhDT', 2)
|
6207
|
WITH (
|
6208
|
BRANCH_CODE VARCHAR(15),
|
6209
|
BRANCH_NAME NVARCHAR(250),
|
6210
|
BUDGET_YEAR VARCHAR(15),
|
6211
|
BUDGET_LIMIT_AMT DECIMAL(18,2),
|
6212
|
M1 DECIMAL(18, 0),
|
6213
|
M2 DECIMAL(18, 0),
|
6214
|
M3 DECIMAL(18, 0),
|
6215
|
M4 DECIMAL(18, 0),
|
6216
|
M5 DECIMAL(18, 0),
|
6217
|
M6 DECIMAL(18, 0),
|
6218
|
M7 DECIMAL(18, 0),
|
6219
|
M8 DECIMAL(18, 0),
|
6220
|
M9 DECIMAL(18, 0),
|
6221
|
M10 DECIMAL(18, 0),
|
6222
|
M11 DECIMAL(18, 0),
|
6223
|
M12 DECIMAL(18, 0)
|
6224
|
)
|
6225
|
|
6226
|
DECLARE @BRANCH_CODE VARCHAR(15),
|
6227
|
@BRANCH_NAME NVARCHAR(250),
|
6228
|
@BUDGET_YEAR VARCHAR(15),
|
6229
|
@BUDGET_LIMIT_AMT DECIMAL(18,2),
|
6230
|
@M1 DECIMAL(18, 0),
|
6231
|
@M2 DECIMAL(18, 0),
|
6232
|
@M3 DECIMAL(18, 0),
|
6233
|
@M4 DECIMAL(18, 0),
|
6234
|
@M5 DECIMAL(18, 0),
|
6235
|
@M6 DECIMAL(18, 0),
|
6236
|
@M7 DECIMAL(18, 0),
|
6237
|
@M8 DECIMAL(18, 0),
|
6238
|
@M9 DECIMAL(18, 0),
|
6239
|
@M10 DECIMAL(18, 0),
|
6240
|
@M11 DECIMAL(18, 0),
|
6241
|
@M12 DECIMAL(18, 0)
|
6242
|
|
6243
|
------------------------------------------------ validate begin ------------------------------------------------
|
6244
|
|
6245
|
DECLARE @ERROR_MESSAGE nvarchar(MAX)
|
6246
|
DECLARE @INDEX INT
|
6247
|
SET @INDEX = 2
|
6248
|
|
6249
|
OPEN XmlBudgetLimitYearhDT;
|
6250
|
|
6251
|
FETCH NEXT FROM XmlBudgetLimitYearhDT
|
6252
|
INTO @BRANCH_CODE, @BRANCH_NAME , @BUDGET_YEAR , @BUDGET_LIMIT_AMT , @M1 , @M2 , @M3 , @M4 , @M5 , @M6 , @M7 , @M8 , @M9 , @M10, @M11, @M12
|
6253
|
WHILE @@fetch_status=0
|
6254
|
BEGIN
|
6255
|
SET @INDEX = @INDEX +1
|
6256
|
DECLARE @l_BRANCH_ID VARCHAR(20);
|
6257
|
DECLARE @l_DEP_ID VARCHAR(20);
|
6258
|
|
6259
|
SET @l_BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM CM_BRANCH WHERE BRANCH_CODE = @BRANCH_CODE)
|
6260
|
IF(ISNULL(@l_BRANCH_ID,'') = '')
|
6261
|
BEGIN
|
6262
|
ROLLBACK TRANSACTION
|
6263
|
CLOSE XmlBudgetLimitYearhDT;
|
6264
|
DEALLOCATE XmlBudgetLimitYearhDT;
|
6265
|
SELECT '-1' as Result, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX)+ N': Đơn vị ' + @BRANCH_CODE + N' không có trong hệ thống' AS ErrorDesc
|
6266
|
RETURN '-1'
|
6267
|
END
|
6268
|
-- NEU DA TON TAI NGAN SACH THI CHI UPDATE
|
6269
|
IF(EXISTS(SELECT TOP 1 * FROM TR_REQ_BUDGET_YEAR_LIMIT WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR))
|
6270
|
BEGIN
|
6271
|
IF(ISNULL(@M1, 0) > 0)
|
6272
|
BEGIN
|
6273
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M1 = @M1 WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR
|
6274
|
END
|
6275
|
IF(ISNULL(@M2, 0) > 0)
|
6276
|
BEGIN
|
6277
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M2 = @M2 WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR
|
6278
|
END
|
6279
|
IF(ISNULL(@M3, 0) > 0)
|
6280
|
BEGIN
|
6281
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M3 = @M3 WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR
|
6282
|
END
|
6283
|
IF(ISNULL(@M4, 0) > 0)
|
6284
|
BEGIN
|
6285
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M4 = @M4 WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR
|
6286
|
END
|
6287
|
IF(ISNULL(@M5, 0) > 0)
|
6288
|
BEGIN
|
6289
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M5 = @M5 WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR
|
6290
|
END
|
6291
|
IF(ISNULL(@M6, 0) > 0)
|
6292
|
BEGIN
|
6293
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M6 = @M6 WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR
|
6294
|
END
|
6295
|
IF(ISNULL(@M7, 0) > 0)
|
6296
|
BEGIN
|
6297
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M7 = @M7 WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR
|
6298
|
END
|
6299
|
IF(ISNULL(@M8, 0) > 0)
|
6300
|
BEGIN
|
6301
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M8 = @M8 WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR
|
6302
|
END
|
6303
|
IF(ISNULL(@M9, 0) > 0)
|
6304
|
BEGIN
|
6305
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M9 = @M9 WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR
|
6306
|
END
|
6307
|
IF(ISNULL(@M10, 0) > 0)
|
6308
|
BEGIN
|
6309
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M10 = @M10 WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR
|
6310
|
END
|
6311
|
IF(ISNULL(@M11, 0) > 0)
|
6312
|
BEGIN
|
6313
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M11 = @M11 WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR
|
6314
|
END
|
6315
|
IF(ISNULL(@M12, 0) > 0)
|
6316
|
BEGIN
|
6317
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET M12 = @M12 WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR
|
6318
|
END
|
6319
|
IF(ISNULL(@BUDGET_LIMIT_AMT, 0) > 0)
|
6320
|
BEGIN
|
6321
|
UPDATE TR_REQ_BUDGET_YEAR_LIMIT SET BUDGET_LIMIT_AMT = ISNULL(@BUDGET_LIMIT_AMT, 0) WHERE GD_ID = @p_GD_ID AND BRANCH_ID = @l_BRANCH_ID AND BUDGET_YEAR = @BUDGET_YEAR
|
6322
|
END
|
6323
|
IF @@error<>0 GOTO ABORT;
|
6324
|
FETCH NEXT FROM XmlBudgetLimitYearhDT
|
6325
|
INTO @BRANCH_CODE, @BRANCH_NAME , @BUDGET_YEAR, @BUDGET_LIMIT_AMT , @M1 , @M2 , @M3 , @M4 , @M5 , @M6 , @M7 , @M8 , @M9 , @M10, @M11, @M12
|
6326
|
END
|
6327
|
ELSE
|
6328
|
BEGIN
|
6329
|
-- Tự động sinh mã code
|
6330
|
DECLARE @BUDGET_YEAR_LIMIT_ID VARCHAR(15);
|
6331
|
EXEC SYS_CodeMasters_Gen 'BUDGET_LIMIT_YEAR', @BUDGET_YEAR_LIMIT_ID OUT;
|
6332
|
IF @BUDGET_YEAR_LIMIT_ID='' OR @BUDGET_YEAR_LIMIT_ID IS NULL GOTO ABORT;
|
6333
|
|
6334
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT(BUDGET_YEAR_LIMIT_ID, GD_ID, BUDGET_TYPE, BRANCH_TYPE, BUDGET_YEAR, BRANCH_ID, DEP_ID, BUDGET_LIMIT_AMT,
|
6335
|
M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID, APPROVE_DT)
|
6336
|
VALUES(@BUDGET_YEAR_LIMIT_ID, @p_GD_ID, 'nam', @p_BRANCH_TYPE, @BUDGET_YEAR, @l_BRANCH_ID, NULL, ISNULL(@BUDGET_LIMIT_AMT, 0),
|
6337
|
@M1, @M2, @M3, @M4, @M5, @M6, @M7, @M8, @M9, @M10, @M11, @M12, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL)
|
6338
|
|
6339
|
IF @@error<>0 GOTO ABORT;
|
6340
|
FETCH NEXT FROM XmlBudgetLimitYearhDT
|
6341
|
INTO @BRANCH_CODE, @BRANCH_NAME , @BUDGET_YEAR, @BUDGET_LIMIT_AMT , @M1 , @M2 , @M3 , @M4 , @M5 , @M6 , @M7 , @M8 , @M9 , @M10, @M11, @M12
|
6342
|
END
|
6343
|
END
|
6344
|
CLOSE XmlBudgetLimitYearhDT;
|
6345
|
DEALLOCATE XmlBudgetLimitYearhDT
|
6346
|
COMMIT TRANSACTION
|
6347
|
|
6348
|
SELECT '0' AS Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thêm mới thành công' ErrorDesc
|
6349
|
RETURN '0'
|
6350
|
|
6351
|
ABORT:
|
6352
|
BEGIN
|
6353
|
ROLLBACK TRANSACTION
|
6354
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, '' ErrorDesc
|
6355
|
RETURN '-1'
|
6356
|
END
|
6357
|
|
6358
|
GO
|
6359
|
|
6360
|
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_KT_Appr]
|
6361
|
--Luanlt 2019/17/10 - Sửa params
|
6362
|
@p_REQ_PAY_ID varchar(15)= NULL,
|
6363
|
@p_CHECKER_ID_KT varchar(15) = NULL
|
6364
|
AS
|
6365
|
--Luanlt 2019/10/17 Validate CORE NOTE không được rỗng
|
6366
|
--IF ((SELECT CORE_NOTE FROM TR_REQUEST_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID) IS NULL OR (SELECT CORE_NOTE FROM TR_REQUEST_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID) = '')
|
6367
|
--Luanlt 2019/10/29 Sửa lại validate tồn tại diễn giải hạch toán từ REQUEST_ENTRIES_POST
|
6368
|
--IF (NOT EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID = @p_REQ_PAY_ID))
|
6369
|
--BEGIN
|
6370
|
-- SELECT '-1' Result,'' REQ_PAY_ID,N'Chưa cập nhật thông tin hạch toán' ErrorDesc
|
6371
|
-- RETURN '-1'
|
6372
|
--END
|
6373
|
|
6374
|
-- BEGIN VALIDATE
|
6375
|
IF EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE MAKER_ID_KT = @p_CHECKER_ID_KT AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
6376
|
BEGIN
|
6377
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép duyệt phiếu đề nghị thanh toán này! Giao dịch viên không có quyền duyệt phiếu đề nghị thanh toán' ErrorDesc
|
6378
|
RETURN '-1'
|
6379
|
END
|
6380
|
IF (NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_ID AND TLNAME =@p_CHECKER_ID_KT AND TYPE_JOB = 'KS'))
|
6381
|
BEGIN
|
6382
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép duyệt phiếu đề nghị thanh toán này. Phiếu đề nghị thanh toán đang được kiểm soát viên khác xử lý' ErrorDesc
|
6383
|
RETURN '-1'
|
6384
|
END
|
6385
|
IF EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE AUTH_STATUS ='R' AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
6386
|
BEGIN
|
6387
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đang được trả về bộ phận yêu cầu. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc
|
6388
|
RETURN '-1'
|
6389
|
END
|
6390
|
IF EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE AUTH_STATUS_KT ='A' AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
6391
|
BEGIN
|
6392
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đã được kiểm soát viên phê duyệt trước đó' ErrorDesc
|
6393
|
RETURN '-1'
|
6394
|
END
|
6395
|
IF EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE AUTH_STATUS_KT ='R' AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
6396
|
BEGIN
|
6397
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đang được trả về giao dịch viên. Vui lòng kiểm tra lại thông tin' ErrorDesc
|
6398
|
RETURN '-1'
|
6399
|
END
|
6400
|
-- CHAN CUOI
|
6401
|
IF (EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE AUTH_STATUS_KT <> 'P' AND AUTH_STATUS_KT <> 'S' AND REQ_PAY_ID =@p_REQ_PAY_ID))
|
6402
|
BEGIN
|
6403
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' chưa được gửi phê duyệt. Vui lòng đợi người tạo gửi phê duyệt trước khi phê duyệt phiếu' ErrorDesc
|
6404
|
RETURN '-1'
|
6405
|
END
|
6406
|
|
6407
|
-- VALIDATE LUOI HACH TOAN
|
6408
|
|
6409
|
|
6410
|
DECLARE @REQ_PAY_ID varchar(15), @ET_ID varchar(15), @AMT_ET DECIMAL(18,0), @ACC_ET varchar(25), @DRCR_ET varchar(25), @SUM_ET DECIMAL(18,0) = 0
|
6411
|
DECLARE cursorProduct CURSOR LOCAL FOR SELECT REQ_PAY_ID,ENTRY_PAIR,AMT,ACCT,DR_CR FROM TR_REQ_PAY_ENTRIES A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
6412
|
Open cursorProduct
|
6413
|
|
6414
|
FETCH NEXT FROM cursorProduct INTO @REQ_PAY_ID , @ET_ID, @AMT_ET, @ACC_ET , @DRCR_ET
|
6415
|
WHILE @@FETCH_STATUS = 0
|
6416
|
BEGIN
|
6417
|
IF(@DRCR_ET='C' AND EXISTS(SELECT * FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ACC_NO =@ACC_ET))
|
6418
|
BEGIN
|
6419
|
SET @SUM_ET =(SELECT SUM(AMT) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='C' AND ACCT =@ACC_ET)
|
6420
|
IF(ISNULL(@SUM_ET,0) <> (SELECT SUM(TOTAL_AMT) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND ACC_NO =@ACC_ET))
|
6421
|
BEGIN
|
6422
|
SELECT '-1' as Result, '' REQ_PAY_ID, N' Số tiền hạch toán có của tài khoản: '+@ACC_ET + N' phải bằng với số tiền trên phương thức thanh toán của tài khoản đó là: '+FORMAT((SELECT ISNULL(SUM(TOTAL_AMT),0) FROM TR_REQ_PAY_METHOD WHERE ACC_NO =@ACC_ET AND REQ_PAY_ID =@p_REQ_PAY_ID),'#,###') ErrorDesc
|
6423
|
RETURN '-1'
|
6424
|
END
|
6425
|
END
|
6426
|
-- KIEM TRA SO TIEN NO CO
|
6427
|
IF (ISNULL((SELECT SUM(AMT) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='C' AND ENTRY_PAIR =@ET_ID),0) <> ISNULL((SELECT SUM(AMT) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='D' AND ENTRY_PAIR =@ET_ID),0))
|
6428
|
BEGIN
|
6429
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Mã bút toán: ' + @ET_ID + N' Số tiền bút toán Nợ phải bằng với số tiền bút toán Có' ErrorDesc
|
6430
|
RETURN '-1'
|
6431
|
END
|
6432
|
|
6433
|
FETCH NEXT FROM cursorProduct INTO @REQ_PAY_ID , @ET_ID, @AMT_ET, @ACC_ET , @DRCR_ET
|
6434
|
END
|
6435
|
|
6436
|
-- CHAN NEU CHI CO 1 BUT NO 1 BUT CO THI KHONG DUOC DI TIEP
|
6437
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
6438
|
BEGIN
|
6439
|
DECLARE @SUM_CR DECIMAL(18,2), @SUM_DR DECIMAL(18,2)
|
6440
|
SET @SUM_CR =ISNULL((SELECT SUM(AMT*ISNULL(EXC_RATE,1)) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='C'),0)
|
6441
|
SET @SUM_DR =ISNULL((SELECT SUM(AMT*ISNULL(EXC_RATE,1)) FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND DR_CR ='D'),0)
|
6442
|
IF(@SUM_CR <> @SUM_DR)
|
6443
|
BEGIN
|
6444
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Tổng hạch toán nợ phải bằng tổng hạch toán có' ErrorDesc
|
6445
|
RETURN '-1'
|
6446
|
END
|
6447
|
END
|
6448
|
|
6449
|
-- END VALIDATE
|
6450
|
|
6451
|
BEGIN TRANSACTION
|
6452
|
DECLARE @p_MAKER_ID VARCHAR(15)
|
6453
|
SET @p_MAKER_ID=(SELECT MAKER_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID=@p_REQ_PAY_ID)
|
6454
|
-- CAC BUOC DUYET
|
6455
|
DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT
|
6456
|
SET @LEVEL_JOB =(SELECT TOP 1 LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_PAY_ID AND TYPE_JOB='KS')
|
6457
|
SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1
|
6458
|
---
|
6459
|
DECLARE @INDEX1 INT =0, @INDEX INT =0, @INDEX_AD INT =0
|
6460
|
DECLARE @REQ_TYPE VARCHAR(15),@PAY_ADVANCE_ID VARCHAR(15),@AMT_PAY DECIMAL(18,0)
|
6461
|
DECLARE @PAY_ID VARCHAR(15),@PAY_PHASE VARCHAR(15), @AMT_ADVANCE DECIMAL(18,0),@SCHEDULE_ID VARCHAR(15),@AMT_PAY_REAL DECIMAL(18,2), @AMT_REMAIN DECIMAL(18,2),@REF_ID VARCHAR(15),
|
6462
|
@TRADED_ID VARCHAR(15), @AMT_EXE DECIMAL(18,2), @AMT_EXE_REMAIN DECIMAL(18,2), @AMT_ADD DECIMAL(18,2), @AMT_REVERT DECIMAL(18,2), @AD_PAY_ID VARCHAR(15),@PARENT_ID VARCHAR(15),
|
6463
|
@REASON_TTDK NVARCHAR(2000), @GD_ID VARCHAR(15)
|
6464
|
SET @REQ_TYPE =(SELECT REQ_TYPE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID=@p_REQ_PAY_ID)
|
6465
|
--- KIEM TRA XEM CO PHAI BUOC DUYET CUOI CUNG CHUA
|
6466
|
IF(@LEVEL_JOB='1')
|
6467
|
BEGIN
|
6468
|
---TRU NGAN SACH
|
6469
|
DECLARE CURS_TRADE CURSOR FOR SELECT A.TRADE_ID, A.AMT_EXE,A.GD_ID FROM TR_REQ_PAY_BUDGET A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
6470
|
OPEN CURS_TRADE
|
6471
|
FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE,@GD_ID
|
6472
|
WHILE @@FETCH_STATUS = 0
|
6473
|
BEGIN
|
6474
|
IF(@REQ_TYPE <> 'P')
|
6475
|
BEGIN
|
6476
|
SET @INDEX = @INDEX +1
|
6477
|
--IF(EXISTS(SELECT * FROM CM_GOODS WHERE GD_ID =@GD_ID AND GD_TYPE_ID ='NS'))
|
6478
|
--BEGIN
|
6479
|
-- SET @AMT_EXE_REMAIN =(SELECT A.AMT_APP - A.AMT_EXE FROM PL_TRADEDETAIL A WHERE A.TRADE_ID = @TRADED_ID)
|
6480
|
-- --KIEM TRA NEU SO PHIEU TAM UNG NAY DA THANH TOAN XONG THI KHONG CHO PHEP DUYET
|
6481
|
-- IF((@AMT_EXE_REMAIN -@AMT_EXE)<0)
|
6482
|
-- BEGIN
|
6483
|
-- ROLLBACK TRANSACTION
|
6484
|
-- SELECT '-1' Result,'' REQ_PAY_ID,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX)+ N': Ngân sách sử dụng thực tế đã vượt mức ngân sách sử dụng còn lại: '+ FORMAT(@AMT_EXE_REMAIN,'#,#', 'vi-VN') ErrorDesc
|
6485
|
-- RETURN '-1'
|
6486
|
-- END
|
6487
|
--END
|
6488
|
END
|
6489
|
UPDATE PL_TRADEDETAIL SET AMT_EXE = ISNULL(AMT_EXE,0) + @AMT_EXE*(SELECT TOP 1 RATE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID)
|
6490
|
WHERE TRADE_ID =@TRADED_ID
|
6491
|
FETCH NEXT FROM CURS_TRADE INTO @TRADED_ID,@AMT_EXE,@GD_ID
|
6492
|
END
|
6493
|
CLOSE CURS_TRADE
|
6494
|
DEALLOCATE CURS_TRADE
|
6495
|
----
|
6496
|
IF(@REQ_TYPE ='I')
|
6497
|
BEGIN
|
6498
|
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_REQ_PAY_ID
|
6499
|
OPEN CURS
|
6500
|
FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
|
6501
|
WHILE @@FETCH_STATUS = 0
|
6502
|
BEGIN
|
6503
|
SET @INDEX_AD = @INDEX_AD +1
|
6504
|
--KIEM TRA NEU SO PHIEU TAM UNG NAY DA THANH TOAN XONG THI KHONG CHO PHEP DUYET
|
6505
|
IF((SELECT A.REQ_AMT - A.PAY_AMT FROM TR_REQ_ADVANCE_PAYMENT A WHERE A.REQ_PAY_ID = @PAY_ADVANCE_ID)<=0)
|
6506
|
BEGIN
|
6507
|
ROLLBACK TRANSACTION
|
6508
|
SELECT '-1' Result,'' REQ_PAY_ID,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_AD)+ N': Phiếu tạm ứng này đã được hoàn tạm ứng xong. Vui lòng xóa khỏi danh sách hoàn tạm ứng' ErrorDesc
|
6509
|
RETURN '-1'
|
6510
|
END
|
6511
|
UPDATE TR_REQ_ADVANCE_PAYMENT
|
6512
|
SET PAY_AMT = ISNULL(PAY_AMT,0)+@AMT_PAY +@AMT_REVERT-@AMT_ADD WHERE REQ_PAY_ID=@PAY_ADVANCE_ID
|
6513
|
-- NEU HOAN UNG PDN TAM UNG HD DINH KI THI CUNG PHAI UPDATE
|
6514
|
--UPDATE TR_REQ_PAY_PERIOD SET PROCESS ='2' WHERE REQ_PAY_ID =@PAY_ADVANCE_ID
|
6515
|
UPDATE TR_REQ_PAY_SCHEDULE SET PROCESS ='2' WHERE REQ_PAY_ID =@PAY_ADVANCE_ID
|
6516
|
|
6517
|
-- UPDATE PDN TAM UNG THANH PROCESS = 2 ==> DA HOAN UNG
|
6518
|
DECLARE @PAY_AMOUNT_I DECIMAL(18,0),@PAY_DT_I DATETIME,@l_CONTRACT_ID_I VARCHAR(15), @OLD_INDEX_I DECIMAL(18, 0), @NEW_INDEX_I DECIMAL(18, 0), @PARENT_ID_I VARCHAR(15),
|
6519
|
@PAY_PHASE_I VARCHAR(15), @AD_PAY_ID_I VARCHAR(15), @PROCESS_I VARCHAR(15), @REASON_TTDK_I VARCHAR(15)
|
6520
|
DECLARE CURS_PERIOD_I CURSOR FOR SELECT A.AMT_PAY,A.PAY_DT_REAL,A.CONTRACT_ID,A.PAY_PHASE,A.AD_PAY_ID,A.PROCESS,A.PARENT_ID,A.REASON, A.OLD_INDEX, A.NEW_INDEX FROM TR_REQ_PAY_PERIOD A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID ORDER BY A.CONTRACT_ID
|
6521
|
OPEN CURS_PERIOD_I
|
6522
|
FETCH NEXT FROM CURS_PERIOD_I INTO @PAY_AMOUNT_I ,@PAY_DT_I ,@l_CONTRACT_ID_I,@PAY_PHASE_I,@AD_PAY_ID_I, @PROCESS_I,@PARENT_ID_I,@REASON_TTDK_I, @OLD_INDEX_I, @NEW_INDEX_I
|
6523
|
WHILE @@FETCH_STATUS = 0
|
6524
|
BEGIN
|
6525
|
UPDATE TR_REQ_PAY_PERIOD SET PROCESS ='2' WHERE (PERIOD_ID =@PARENT_ID_I OR AD_PAY_ID =@PARENT_ID_I) AND PAY_TYPE ='ADV_PAY'
|
6526
|
AND PAY_PHASE = @PAY_PHASE_I AND CONTRACT_ID = @l_CONTRACT_ID_I AND OLD_INDEX = @OLD_INDEX_I AND NEW_INDEX = @NEW_INDEX_I
|
6527
|
IF @@Error <> 0 GOTO ABORT
|
6528
|
FETCH NEXT FROM CURS_PERIOD_I INTO @PAY_AMOUNT_I ,@PAY_DT_I ,@l_CONTRACT_ID_I,@PAY_PHASE_I,@AD_PAY_ID_I, @PROCESS_I,@PARENT_ID_I,@REASON_TTDK_I, @OLD_INDEX_I, @NEW_INDEX_I
|
6529
|
END
|
6530
|
CLOSE CURS_PERIOD_I
|
6531
|
DEALLOCATE CURS_PERIOD_I
|
6532
|
|
6533
|
FETCH NEXT FROM CURS INTO @PAY_ADVANCE_ID,@AMT_PAY,@AMT_ADD , @AMT_REVERT
|
6534
|
END
|
6535
|
CLOSE CURS
|
6536
|
DEALLOCATE CURS
|
6537
|
END
|
6538
|
-- KIEM TRA NEU LA THANH TOAN PO
|
6539
|
ELSE IF((@REQ_TYPE ='P' AND ((SELECT IS_PERIOD FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) <>'Y' OR (SELECT IS_PERIOD FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) IS NULL )) OR (@REQ_TYPE ='I'))
|
6540
|
BEGIN
|
6541
|
DECLARE @PROCESS VARCHAR(15), @PDN_TAM_UNG VARCHAR(15), @SO_TIEN_TAM_UNG DECIMAL(18,0)
|
6542
|
DECLARE CURS_AD CURSOR FOR SELECT A.SCHEDULE_ID,A.AMT_PAY_DO,A.PAY_ID,A.PAY_PHASE,A.AMT_ADVANCE,A.AMT_PAY_REAL, A.AMT_REMAIN,A.REF_ID,A.PROCESS
|
6543
|
FROM TR_REQ_PAY_SCHEDULE A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
6544
|
OPEN CURS_AD
|
6545
|
FETCH NEXT FROM CURS_AD INTO @SCHEDULE_ID,@AMT_PAY,@PAY_ID,@PAY_PHASE,@AMT_ADVANCE,@AMT_PAY_REAL, @AMT_REMAIN,@REF_ID,@PROCESS
|
6546
|
WHILE @@FETCH_STATUS = 0
|
6547
|
BEGIN
|
6548
|
SET @INDEX1 = @INDEX1 +1
|
6549
|
-- KIEM TRA NEU SO PHIEU TAM UNG NAY DA THANH TOAN XONG THI KHONG CHO PHEP DUYET
|
6550
|
--IF((SELECT MIN(A.AMT_REMAIN) FROM TR_REQ_PAY_SCHEDULE A WHERE A.PAY_ID = @PAY_ID GROUP BY A.PAY_ID )=0)
|
6551
|
--BEGIN
|
6552
|
-- ROLLBACK TRANSACTION
|
6553
|
-- SELECT '-1' Result,'' REQ_PAY_ID,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX1)+ N':Kì '+ @PAY_PHASE+N' đã thanh toán xong' ErrorDesc
|
6554
|
-- RETURN '-1'
|
6555
|
--END
|
6556
|
IF(@AMT_ADVANCE >0 AND @AMT_PAY=0)
|
6557
|
BEGIN
|
6558
|
UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='DTU' WHERE SCHEDULE_ID=@SCHEDULE_ID
|
6559
|
END
|
6560
|
ELSE IF(@AMT_PAY_REAL>0)
|
6561
|
BEGIN
|
6562
|
UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='DTT' WHERE SCHEDULE_ID=@SCHEDULE_ID
|
6563
|
END
|
6564
|
ELSE IF(@AMT_PAY=0 AND @AMT_ADVANCE =0 AND @AMT_PAY_REAL =0)
|
6565
|
BEGIN
|
6566
|
UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='CTT' WHERE SCHEDULE_ID=@SCHEDULE_ID
|
6567
|
END
|
6568
|
ELSE IF(@AMT_REMAIN =0)
|
6569
|
BEGIN
|
6570
|
UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='TTX' WHERE SCHEDULE_ID=@SCHEDULE_ID
|
6571
|
END
|
6572
|
-- HOAN TAM UNG 100% CHO 1 DOT THANH TOAN PO NAO DO
|
6573
|
IF(@PROCESS ='2')
|
6574
|
BEGIN
|
6575
|
SET @PDN_TAM_UNG = (SELECT TOP 1 REQ_PAY_ID FROM TR_REQ_PAY_SCHEDULE WHERE PAY_ID =@PAY_ID AND TRN_TYPE ='ADV_PAY' ORDER BY SCHEDULE_ID)
|
6576
|
SET @SO_TIEN_TAM_UNG =(SELECT TOP 1 AMT_PAY_REAL FROM TR_REQ_PAY_SCHEDULE WHERE PAY_ID =@PAY_ID AND TRN_TYPE ='ADV_PAY' ORDER BY SCHEDULE_ID)
|
6577
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET PAY_AMT =ISNULL(PAY_AMT,0) + @SO_TIEN_TAM_UNG WHERE REQ_PAY_ID =@PDN_TAM_UNG
|
6578
|
-- CAP NHAT DOT TAM UNG VE TINH TRANG LA DA HOAN TAM UNG
|
6579
|
UPDATE TR_REQ_PAY_SCHEDULE SET PROCESS ='2' WHERE PAY_ID =@PAY_ID AND TRN_TYPE ='ADV_PAY' AND REQ_PAY_ID=@PDN_TAM_UNG
|
6580
|
END
|
6581
|
IF(@PROCESS ='0')
|
6582
|
BEGIN
|
6583
|
SET @PDN_TAM_UNG = (SELECT TOP 1 REQ_PAY_ID FROM TR_REQ_PAY_SCHEDULE WHERE PAY_ID =@PAY_ID AND TRN_TYPE ='ADV_PAY' ORDER BY SCHEDULE_ID)
|
6584
|
SET @SO_TIEN_TAM_UNG =(SELECT TOP 1 AMT_PAY_REAL FROM TR_REQ_PAY_SCHEDULE WHERE PAY_ID =@PAY_ID AND TRN_TYPE ='ADV_PAY' ORDER BY SCHEDULE_ID)
|
6585
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET PAY_AMT =ISNULL(PAY_AMT,0) + @SO_TIEN_TAM_UNG WHERE REQ_PAY_ID =@PDN_TAM_UNG
|
6586
|
-- CAP NHAT DOT TAM UNG VE TINH TRANG LA DA HOAN TAM UNG
|
6587
|
UPDATE TR_REQ_PAY_SCHEDULE SET PROCESS ='2' WHERE PAY_ID =@PAY_ID AND TRN_TYPE ='ADV_PAY' AND REQ_PAY_ID=@PDN_TAM_UNG
|
6588
|
END
|
6589
|
--UPDATE TR_REQ_ADVANCE_PAYMENT
|
6590
|
--SET PAY_AMT = ISNULL(PAY_AMT,0)+@AMT_PAY
|
6591
|
|
6592
|
FETCH NEXT FROM CURS_AD INTO @SCHEDULE_ID,@AMT_PAY,@PAY_ID,@PAY_PHASE,@AMT_ADVANCE,@AMT_PAY_REAL, @AMT_REMAIN,@REF_ID,@PROCESS
|
6593
|
END
|
6594
|
CLOSE CURS_AD
|
6595
|
DEALLOCATE CURS_AD
|
6596
|
|
6597
|
DECLARE @IS_CLOSED VARCHAR(1)
|
6598
|
DECLARE CURS_PO CURSOR FOR SELECT A.REF_ID, A.IS_CLOSED FROM TR_REQ_ADVANCE_DT A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
6599
|
OPEN CURS_PO
|
6600
|
FETCH NEXT FROM CURS_PO INTO @REF_ID , @IS_CLOSED
|
6601
|
WHILE @@FETCH_STATUS = 0
|
6602
|
BEGIN -- BAT DAU KIEM TRA DONG PO
|
6603
|
IF(@IS_CLOSED ='Y')
|
6604
|
BEGIN
|
6605
|
IF(EXISTS (SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@REF_ID))
|
6606
|
BEGIN
|
6607
|
UPDATE TR_CONTRACT SET IS_CLOSED='Y' WHERE CONTRACT_ID =@REF_ID
|
6608
|
END
|
6609
|
ELSE
|
6610
|
BEGIN
|
6611
|
UPDATE TR_PO_MASTER SET IS_CLOSED='Y' WHERE PO_ID =@REF_ID
|
6612
|
END
|
6613
|
END
|
6614
|
ELSE
|
6615
|
BEGIN
|
6616
|
DECLARE @TOAL_PAY_REAL DECIMAL(18,2) =0,@TOAL_PAY_DK DECIMAL(18,2) =0, @TOTAL_AMT_BACK DECIMAL(18,2)
|
6617
|
-- TONG SO TIEN THANH TOAN VA HOAN UNG
|
6618
|
SET @TOAL_PAY_REAL =(SELECT SUM(AMT_PAY_REAL) FROM TR_REQ_PAY_SCHEDULE WHERE REF_ID=@REF_ID)
|
6619
|
-- @TOTAL_AMT_BACK: TONG SO TIEN CON LAI CAN THANH TOAN
|
6620
|
SET @TOTAL_AMT_BACK =(SELECT SUM(AMT_REMAIN) FROM TR_REQ_PAY_SCHEDULE WHERE REF_ID=@REF_ID AND REQ_ADV_ID IS NOT NULL)
|
6621
|
IF(EXISTS (SELECT * FROM TR_CONTRACT WHERE CONTRACT_ID =@REF_ID))
|
6622
|
BEGIN
|
6623
|
-- @TOAL_PAY_DK: TONG SO TIEN TAT CA KY THANH TOAN
|
6624
|
SET @TOAL_PAY_DK =(SELECT SUM(AMOUNT) FROM TR_CONTRACT_PAYMENT WHERE CONTRACT_ID=@REF_ID)
|
6625
|
IF((@TOAL_PAY_DK-@TOAL_PAY_REAL-@TOTAL_AMT_BACK)=0)
|
6626
|
BEGIN
|
6627
|
UPDATE TR_CONTRACT SET IS_CLOSED='Y' WHERE CONTRACT_ID =@REF_ID
|
6628
|
END
|
6629
|
END
|
6630
|
BEGIN
|
6631
|
SET @TOAL_PAY_DK =(SELECT SUM(AMOUNT) FROM TR_PO_PAYMENT WHERE PO_ID=@REF_ID)
|
6632
|
IF((@TOAL_PAY_DK- @TOAL_PAY_REAL-@TOTAL_AMT_BACK)=0)
|
6633
|
BEGIN
|
6634
|
UPDATE TR_PO_MASTER SET IS_CLOSED='Y' WHERE PO_ID =@REF_ID
|
6635
|
END
|
6636
|
END
|
6637
|
END
|
6638
|
FETCH NEXT FROM CURS_PO INTO @REF_ID , @IS_CLOSED
|
6639
|
END -- KET THUC KIEM TRA DONG PO
|
6640
|
CLOSE CURS_PO
|
6641
|
DEALLOCATE CURS_PO
|
6642
|
|
6643
|
END -- KET THUC KIEM TRA NEU LA THANH TOAN PO
|
6644
|
|
6645
|
--- KIEM TRA NEU LA THANH TOAN CAC HOP DONG DINH KI
|
6646
|
ELSE IF((@REQ_TYPE ='P' AND (SELECT IS_PERIOD FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) ='Y') OR (@REQ_TYPE ='I'))
|
6647
|
BEGIN
|
6648
|
UPDATE TR_REQ_PAY_PERIOD SET PAY_DT_REAL = GETDATE() WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
6649
|
DECLARE @PAY_AMOUNT DECIMAL(18,0),@PAY_DT DATETIME,@l_CONTRACT_ID VARCHAR(15), @OLD_INDEX DECIMAL(18, 0), @NEW_INDEX DECIMAL(18, 0)
|
6650
|
DECLARE CURS_PERIOD CURSOR FOR SELECT A.AMT_PAY,A.PAY_DT_REAL,A.CONTRACT_ID,A.PAY_PHASE,A.AD_PAY_ID,A.PROCESS,A.PARENT_ID,A.REASON, A.OLD_INDEX, A.NEW_INDEX FROM TR_REQ_PAY_PERIOD A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID ORDER BY A.CONTRACT_ID
|
6651
|
OPEN CURS_PERIOD
|
6652
|
FETCH NEXT FROM CURS_PERIOD INTO @PAY_AMOUNT ,@PAY_DT ,@l_CONTRACT_ID,@PAY_PHASE,@AD_PAY_ID, @PROCESS,@PARENT_ID,@REASON_TTDK, @OLD_INDEX, @NEW_INDEX
|
6653
|
WHILE @@FETCH_STATUS = 0
|
6654
|
BEGIN
|
6655
|
IF(@PROCESS ='1')
|
6656
|
BEGIN
|
6657
|
DECLARE @l_PAY_ID VARCHAR(15)
|
6658
|
EXEC SYS_CodeMasters_Gen 'TR_CONTRACT_PAYMENT', @l_PAY_ID out
|
6659
|
IF @l_PAY_ID='' OR @l_PAY_ID IS NULL GOTO ABORT
|
6660
|
INSERT INTO TR_CONTRACT_PAYMENT([PAY_AMOUNT],[PAY_DT], [PAY_ID],[CONTRACT_ID],[PAY_PHASE],[EXPECTED_DT],[PERCENT],[AMOUNT],[PAY_STATUS],[NOTES],[RECORD_STATUS],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT])
|
6661
|
VALUES(@PAY_AMOUNT,CONVERT(DATE,@PAY_DT,103),
|
6662
|
@l_PAY_ID ,@l_CONTRACT_ID ,@PAY_PHASE ,CONVERT(DATE,@PAY_DT,103),100,@PAY_AMOUNT,'1',@REASON_TTDK ,'1' ,@p_MAKER_ID ,GETDATE() ,'A' ,@p_CHECKER_ID_KT,GETDATE())
|
6663
|
END
|
6664
|
ELSE
|
6665
|
BEGIN
|
6666
|
IF(@PROCESS ='2' AND (@AD_PAY_ID IS NULL OR @AD_PAY_ID =''))
|
6667
|
BEGIN
|
6668
|
ROLLBACK TRANSACTION
|
6669
|
SELECT '-1' Result,'' REQ_PAY_ID,N'Lưới chi tiết thanh toán định kì: Tại hình thức thanh toán Hoàn ứng, số phiếu tạm ứng không được phép để trống' ErrorDesc
|
6670
|
RETURN '-1'
|
6671
|
END
|
6672
|
UPDATE TR_REQ_PAY_PERIOD SET PROCESS ='2' WHERE (PERIOD_ID =@PARENT_ID OR AD_PAY_ID =@PARENT_ID) AND PAY_TYPE ='ADV_PAY' AND PAY_PHASE = @PAY_PHASE AND CONTRACT_ID = @l_CONTRACT_ID AND OLD_INDEX = @OLD_INDEX AND NEW_INDEX = @NEW_INDEX
|
6673
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET PAY_AMT = ISNULL(PAY_AMT, 0) + @PAY_AMOUNT WHERE REQ_PAY_ID =@AD_PAY_ID
|
6674
|
END
|
6675
|
IF @@Error <> 0 GOTO ABORT
|
6676
|
FETCH NEXT FROM CURS_PERIOD INTO @PAY_AMOUNT ,@PAY_DT ,@l_CONTRACT_ID,@PAY_PHASE,@AD_PAY_ID, @PROCESS,@PARENT_ID,@REASON_TTDK, @OLD_INDEX, @NEW_INDEX
|
6677
|
END
|
6678
|
CLOSE CURS_PERIOD
|
6679
|
DEALLOCATE CURS_PERIOD
|
6680
|
END
|
6681
|
---END
|
6682
|
UPDATE TR_REQ_PAYMENT
|
6683
|
SET AUTH_STATUS_KT='A', CHECKER_ID_KT = @p_CHECKER_ID_KT, APPROVE_DT_KT = GETDATE()
|
6684
|
WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
6685
|
-- DOANPTT 291222: THEM LOG KPI
|
6686
|
UPDATE TR_REQ_KPI
|
6687
|
SET AUTH_STATUS_KT ='A', APPROVE_DT_KT = GETDATE(),CHECKER_ID_KT = @p_CHECKER_ID_KT, REQ_STATUS = 'APP'
|
6688
|
WHERE REQ_ID = @p_REQ_PAY_ID AND AUTH_STATUS_KT = 'P'
|
6689
|
|
6690
|
---UPDATE DETAIL
|
6691
|
UPDATE TR_REQ_PAYMENT_DT SET AUTH_STATUS_KT='A',CHECKER_ID_KT =@p_CHECKER_ID_KT,APPROVE_DT_KT = GETDATE()
|
6692
|
WHERE PAY_ID =@p_REQ_PAY_ID
|
6693
|
-- UPDATE SCHEDULE
|
6694
|
UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='A' WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
6695
|
-- UPDATE PERIOD
|
6696
|
UPDATE TR_REQ_PAY_PERIOD SET AUTH_STATUS_KT='A' WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
6697
|
-- INSERT VAO PL_PROCESS
|
6698
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
6699
|
VALUES(@p_REQ_PAY_ID,'APP',@p_CHECKER_ID_KT,GETDATE(), N'Kiểm soát viên phê duyệt phiếu',N'Kế toán duyệt phiếu')
|
6700
|
IF @@Error <> 0 GOTO ABORT
|
6701
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_REQ_PAY_ID AND TYPE_JOB ='KS' AND LEVEL_JOB =@LEVEL_JOB
|
6702
|
--thieuvq ban vao core - 171219 BEGIN
|
6703
|
DECLARE @MAKER VARCHAR(15) = (SELECT MAKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID)
|
6704
|
DECLARE @RES VARCHAR(10)
|
6705
|
--- BAN BUT TOAN VAO CORE
|
6706
|
EXEC [dbo].[PAY_ENTRIES_POST_SetApp] @p_REQ_PAY_ID,@MAKER,@p_CHECKER_ID_KT, @RES OUT
|
6707
|
--END
|
6708
|
END
|
6709
|
ELSE
|
6710
|
BEGIN
|
6711
|
-- CAP NHAT C CHO CAP CHA
|
6712
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_REQ_PAY_ID AND TLNAME=@p_CHECKER_ID_KT
|
6713
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_REQ_PAY_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV)
|
6714
|
SELECT '2' as Result, @p_REQ_PAY_ID REQ_PAY_ID ,N'Xác nhận phiếu thành công' ErrorDesc
|
6715
|
RETURN '2'
|
6716
|
|
6717
|
END
|
6718
|
|
6719
|
COMMIT TRANSACTION
|
6720
|
SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID ,N'Phiếu đề nghị thanh toán số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đã được phê duyệt thành công!' ErrorDesc
|
6721
|
RETURN '0'
|
6722
|
ABORT:
|
6723
|
BEGIN
|
6724
|
ROLLBACK TRANSACTION
|
6725
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
|
6726
|
RETURN '-1'
|
6727
|
END
|
6728
|
GO
|
6729
|
|
6730
|
ALTER PROCEDURE [dbo].[TR_REQ_ADVANCE_PAYMENT_KT_Appr]
|
6731
|
--Luanlt 2019/17/10 - Sửa params
|
6732
|
@p_REQ_PAY_ID varchar(15)= NULL,
|
6733
|
@p_CHECKER_ID_KT varchar(15) = NULL,
|
6734
|
@p_AUTH_STATUS_KT VARCHAR(10) = NULL
|
6735
|
AS
|
6736
|
|
6737
|
-- BEGIN VALIDATE
|
6738
|
IF EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE MAKER_ID_KT = @p_CHECKER_ID_KT AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
6739
|
BEGIN
|
6740
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép duyệt phiếu đề nghị tạm ứng này! Giao dịch viên không có quyền duyệt phiếu đề nghị tạm ứng' ErrorDesc
|
6741
|
RETURN '-1'
|
6742
|
END
|
6743
|
IF (NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_ID AND TLNAME =@p_CHECKER_ID_KT AND TYPE_JOB = 'KS'))
|
6744
|
BEGIN
|
6745
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép duyệt phiếu đề nghị tạm ứng này. Phiếu đề nghị tạm ứng đang được kiểm soát viên khác xử lý' ErrorDesc
|
6746
|
RETURN '-1'
|
6747
|
END
|
6748
|
IF EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS ='R' AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
6749
|
BEGIN
|
6750
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đang được trả về bộ phận yêu cầu. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc
|
6751
|
RETURN '-1'
|
6752
|
END
|
6753
|
IF EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT ='A' AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
6754
|
BEGIN
|
6755
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đã được kiểm soát viên phê duyệt trước đó' ErrorDesc
|
6756
|
RETURN '-1'
|
6757
|
END
|
6758
|
IF EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT ='R' AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
6759
|
BEGIN
|
6760
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đang được trả về giao dịch viên. Vui lòng kiểm tra lại thông tin' ErrorDesc
|
6761
|
RETURN '-1'
|
6762
|
END
|
6763
|
-- CHAN CUOI
|
6764
|
IF (EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT <> 'P' AND AUTH_STATUS_KT <> 'S' AND REQ_PAY_ID =@p_REQ_PAY_ID))
|
6765
|
BEGIN
|
6766
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' chưa được gửi phê duyệt. Vui lòng đợi người tạo gửi phê duyệt trước khi phê duyệt phiếu' ErrorDesc
|
6767
|
RETURN '-1'
|
6768
|
END
|
6769
|
-- END VALIDATE
|
6770
|
|
6771
|
DECLARE @LEVEL_JOB VARCHAR(5), @LEVEL_JOB_PREV INT
|
6772
|
SET @LEVEL_JOB =(SELECT LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_PAY_ID AND TYPE_JOB='KS')
|
6773
|
SET @LEVEL_JOB_PREV = CONVERT(INT,@LEVEL_JOB) -1
|
6774
|
BEGIN TRANSACTION
|
6775
|
IF(@LEVEL_JOB='1')
|
6776
|
BEGIN
|
6777
|
UPDATE TR_REQ_ADVANCE_PAYMENT
|
6778
|
SET AUTH_STATUS_KT='A', CHECKER_ID_KT = @p_CHECKER_ID_KT, APPROVE_DT_KT = GETDATE()
|
6779
|
WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
6780
|
-- DOANPTT 291222: THEM LOG KPI
|
6781
|
UPDATE TR_REQ_KPI
|
6782
|
SET AUTH_STATUS_KT ='A', APPROVE_DT_KT = GETDATE(),CHECKER_ID_KT = @p_CHECKER_ID_KT, REQ_STATUS = 'APP'
|
6783
|
WHERE REQ_ID = @p_REQ_PAY_ID AND AUTH_STATUS_KT = 'P'
|
6784
|
-- UPDATE LICH THANH TOAN
|
6785
|
UPDATE TR_REQ_PAY_SCHEDULE SET AUTH_STATUS_KT='A' WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
6786
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_REQ_PAY_ID AND (TLNAME=@p_CHECKER_ID_KT OR TYPE_JOB ='KS')
|
6787
|
-- INSERT VAO PL_PROCESS
|
6788
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
6789
|
VALUES(@p_REQ_PAY_ID,'APP',@p_CHECKER_ID_KT,GETDATE(), N'Kiểm soát viên duyệt phiếu',N'Kế toán duyệt phiếu')
|
6790
|
--thieuvq ban vao core - 171219 BEGIN
|
6791
|
DECLARE @MAKER VARCHAR(15) = (SELECT MAKER_ID_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID)
|
6792
|
DECLARE @RES VARCHAR(10)
|
6793
|
--- BAN BUT TOAN VAO CORE
|
6794
|
EXEC [dbo].[PAY_ENTRIES_POST_SetApp] @p_REQ_PAY_ID,@MAKER,@p_CHECKER_ID_KT, @RES OUT
|
6795
|
--END
|
6796
|
--- NEU LA TAM UNG DINH KI THI BO SUNG 1 KI THANHH TOAN
|
6797
|
--- KIEM TRA NEU LA THANH TOAN CAC HOP DONG DINH KI
|
6798
|
IF(((SELECT TOP 1 REQ_TYPE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID) ='P') AND (SELECT IS_PERIOD FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) ='Y')
|
6799
|
BEGIN
|
6800
|
DECLARE @PAY_AMOUNT DECIMAL(18,0),@PAY_DT DATETIME,@l_CONTRACT_ID VARCHAR(15),@p_PAY_PHASE NVARCHAR(100),@REASON_TTDK NVARCHAR(2000)
|
6801
|
DECLARE CURS_PERIOD CURSOR FOR SELECT A.AMT_PAY,A.PAY_DT_REAL,A.CONTRACT_ID,A.PAY_PHASE,A.REASON FROM TR_REQ_PAY_PERIOD A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID ORDER BY A.CONTRACT_ID
|
6802
|
OPEN CURS_PERIOD
|
6803
|
FETCH NEXT FROM CURS_PERIOD INTO @PAY_AMOUNT ,@PAY_DT ,@l_CONTRACT_ID,@p_PAY_PHASE,@REASON_TTDK
|
6804
|
WHILE @@FETCH_STATUS = 0
|
6805
|
BEGIN
|
6806
|
DECLARE @l_PAY_ID VARCHAR(15)
|
6807
|
EXEC SYS_CodeMasters_Gen 'TR_CONTRACT_PAYMENT', @l_PAY_ID out
|
6808
|
IF @l_PAY_ID='' OR @l_PAY_ID IS NULL GOTO ABORT
|
6809
|
INSERT INTO TR_CONTRACT_PAYMENT([PAY_AMOUNT],[PAY_DT], [PAY_ID],[CONTRACT_ID],[PAY_PHASE],[EXPECTED_DT],[PERCENT],[AMOUNT],[PAY_STATUS],[NOTES],[RECORD_STATUS],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT])
|
6810
|
VALUES(@PAY_AMOUNT,GETDATE(),
|
6811
|
@l_PAY_ID ,@l_CONTRACT_ID ,@p_PAY_PHASE ,GETDATE(),100,@PAY_AMOUNT,'2' ,@REASON_TTDK ,'1' ,@p_CHECKER_ID_KT ,GETDATE() ,'A' ,@p_CHECKER_ID_KT,GETDATE())
|
6812
|
IF @@Error <> 0 GOTO ABORT
|
6813
|
FETCH NEXT FROM CURS_PERIOD INTO @PAY_AMOUNT ,@PAY_DT ,@l_CONTRACT_ID,@p_PAY_PHASE,@REASON_TTDK
|
6814
|
END
|
6815
|
CLOSE CURS_PERIOD
|
6816
|
DEALLOCATE CURS_PERIOD
|
6817
|
-- CAP NHAT DETAIL
|
6818
|
UPDATE TR_REQ_PAY_PERIOD SET AUTH_STATUS_KT ='A' WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
6819
|
END
|
6820
|
END
|
6821
|
ELSE
|
6822
|
BEGIN
|
6823
|
-- CAP NHAT C CHO CAP CHA
|
6824
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P' WHERE REQ_ID=@p_REQ_PAY_ID AND TLNAME=@p_CHECKER_ID_KT
|
6825
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C' WHERE REQ_ID=@p_REQ_PAY_ID AND LEVEL_JOB = CONVERT(VARCHAR(5),@LEVEL_JOB_PREV)
|
6826
|
COMMIT TRANSACTION
|
6827
|
SELECT '2' as Result, @p_REQ_PAY_ID REQ_PAY_ID ,N'Xác nhận phiếu thành công' ErrorDesc
|
6828
|
RETURN '2'
|
6829
|
|
6830
|
END
|
6831
|
IF @@Error <> 0 GOTO ABORT
|
6832
|
COMMIT TRANSACTION
|
6833
|
SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID ,N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đã được phê duyệt thành công!' ErrorDesc
|
6834
|
RETURN '0'
|
6835
|
ABORT:
|
6836
|
BEGIN
|
6837
|
ROLLBACK TRANSACTION
|
6838
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
|
6839
|
RETURN '-1'
|
6840
|
END
|
6841
|
GO
|
6842
|
|
6843
|
ALTER PROCEDURE [dbo].[TR_REQ_PAY_TRANSFER_Upd]
|
6844
|
@p_TRANSFER_MAKER nvarchar(50) = NULL,
|
6845
|
@p_TRANSFER_DT varchar(25) = NULL,
|
6846
|
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
|
6847
|
@p_TRANSFER_TYPE varchar(15) = NULL,
|
6848
|
@p_XMP_TEMP XML = NULL
|
6849
|
AS
|
6850
|
--Validation is here
|
6851
|
/*
|
6852
|
*/
|
6853
|
DECLARE @LIST_REQ_PAY_ID VARCHAR(500) ='', @PROCESS_ID VARCHAR(15)
|
6854
|
Declare @hdoc INT
|
6855
|
Exec sp_xml_preparedocument @hdoc Output,@p_XMP_TEMP
|
6856
|
DECLARE TransferData CURSOR FOR
|
6857
|
SELECT *
|
6858
|
FROM OPENXML(@hDoc,'/Root/XmlData',2)
|
6859
|
WITH
|
6860
|
(
|
6861
|
REQ_PAY_ID varchar(15) ,
|
6862
|
TRANSFER_MAKER nvarchar(15) ,
|
6863
|
TRASFER_USER_RECIVE varchar(15),
|
6864
|
TRANSFER_ACTION VARCHAR(15)
|
6865
|
)
|
6866
|
OPEN TransferData
|
6867
|
BEGIN TRANSACTION
|
6868
|
DECLARE @ROLE_USER VARCHAR(20)
|
6869
|
SET @ROLE_USER =(SELECT RoleName FROM TL_USER WHERE TLNANME =@p_TRANSFER_MAKER)
|
6870
|
DECLARE @REQ_PAY_ID VARCHAR(15), @TRANSFER_MAKER VARCHAR(15),@TRASFER_USER_RECIVE VARCHAR(15),@TRANSFER_ACTION VARCHAR(15)
|
6871
|
DECLARE @INDEX INT =0
|
6872
|
FETCH NEXT FROM TransferData INTO @REQ_PAY_ID, @TRANSFER_MAKER, @TRASFER_USER_RECIVE,@TRANSFER_ACTION
|
6873
|
WHILE @@FETCH_STATUS = 0
|
6874
|
BEGIN
|
6875
|
SET @PROCESS_ID ='3'
|
6876
|
SET @INDEX = @INDEX+1
|
6877
|
-- BO SUNG NEU TO PDN TẠM ỨNG NẾU ĐÃ ĐƯỢC TRƯỞNG VĂN PHÒNG ĐIỀU PHỐI
|
6878
|
IF(EXISTS(SELECT AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@REQ_PAY_ID AND ISNULL(AUTH_STATUS, '') <> 'A'))
|
6879
|
BEGIN
|
6880
|
IF EXISTS (SELECT * FROM PL_REQUEST_PROCESS WHERE ROLE_USER ='TKTGD' AND REQ_ID =@REQ_PAY_ID AND STATUS ='C')
|
6881
|
BEGIN
|
6882
|
SET @PROCESS_ID ='1'
|
6883
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET TK_TGD_XL_TLNAME =@TRASFER_USER_RECIVE WHERE REQ_PAY_ID =@REQ_PAY_ID
|
6884
|
END
|
6885
|
IF EXISTS (SELECT * FROM PL_REQUEST_PROCESS WHERE ROLE_USER ='TKHDQT' AND REQ_ID =@REQ_PAY_ID AND STATUS ='C')
|
6886
|
BEGIN
|
6887
|
SET @PROCESS_ID ='2'
|
6888
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET TK_HDQT_XL_TLNAME =@TRASFER_USER_RECIVE WHERE REQ_PAY_ID =@REQ_PAY_ID
|
6889
|
END
|
6890
|
----
|
6891
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@REQ_PAY_ID AND STATUS ='P' AND ROLE_USER IN ('TKTGD') AND @ROLE_USER ='TKTGD'))
|
6892
|
BEGIN
|
6893
|
ROLLBACK TRANSACTION
|
6894
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Phiếu đề nghị tạm ứng đã được trưởng văn phòng phê duyệt. Vui lòng không thực hiện điều phối' ErrorDesc
|
6895
|
RETURN '-1'
|
6896
|
END
|
6897
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@REQ_PAY_ID AND STATUS ='P' AND ROLE_USER IN ('TKHDQT') AND @ROLE_USER ='TKHDQT'))
|
6898
|
BEGIN
|
6899
|
ROLLBACK TRANSACTION
|
6900
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Phiếu đề nghị tạm ứng đã được trưởng văn phòng phê duyệt. Vui lòng không thực hiện điều phối' ErrorDesc
|
6901
|
RETURN '-1'
|
6902
|
END
|
6903
|
END
|
6904
|
IF(EXISTS(SELECT AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@REQ_PAY_ID AND AUTH_STATUS = 'A'))
|
6905
|
BEGIN
|
6906
|
IF (EXISTS(SELECT * FROM TL_USER WHERE TLNANME =@p_TRANSFER_MAKER AND RoleName IN ('TKTGD','TKHDQT')))
|
6907
|
BEGIN
|
6908
|
ROLLBACK TRANSACTION
|
6909
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Phiếu đề nghị tạm ứng đã được các cấp phê duyệt hạn mức hoàn tất. Phiếu đang chờ bộ phận kế toán xử lý, vui lòng không thực hiện điều phối' ErrorDesc
|
6910
|
RETURN '-1'
|
6911
|
END
|
6912
|
END
|
6913
|
|
6914
|
-- doanptt 12/04/2022
|
6915
|
IF(@TRANSFER_MAKER = @TRASFER_USER_RECIVE)
|
6916
|
BEGIN
|
6917
|
ROLLBACK TRANSACTION
|
6918
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Người điều phối không được điều phối cho chính mình. Vui lòng không thực hiện điều phối' ErrorDesc
|
6919
|
RETURN '-1'
|
6920
|
END
|
6921
|
------
|
6922
|
DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@REQ_PAY_ID
|
6923
|
-- DOANPTT 291222: THEM LOG KPI
|
6924
|
DELETE FROM TR_REQ_KPI WHERE REQ_ID = @REQ_PAY_ID AND ISNULL(MAKER_ID_KT, '') = ''
|
6925
|
-- KIEM TRA NEU CHUA CHON NHAN VIEN XU LY SE BAO LOI
|
6926
|
IF(@TRASFER_USER_RECIVE ='' OR @TRASFER_USER_RECIVE IS NULL)
|
6927
|
BEGIN
|
6928
|
ROLLBACK TRANSACTION
|
6929
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Nhân viên được giao xử lý không được phép để trống' ErrorDesc
|
6930
|
RETURN '-1'
|
6931
|
END
|
6932
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@REQ_PAY_ID AND AUTH_STATUS_KT='A'))
|
6933
|
BEGIN
|
6934
|
ROLLBACK TRANSACTION
|
6935
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Phiếu đề nghị tạm ứng đã được kế toán duyệt' ErrorDesc
|
6936
|
RETURN '-1'
|
6937
|
END
|
6938
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@REQ_PAY_ID AND AUTH_STATUS_KT='S'))
|
6939
|
BEGIN
|
6940
|
ROLLBACK TRANSACTION
|
6941
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Phiếu đề nghị tạm ứng đang được đề xuất từ chối và KSV đang xem xét' ErrorDesc
|
6942
|
RETURN '-1'
|
6943
|
END
|
6944
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID=@REQ_PAY_ID AND AUTH_STATUS_KT='S'))
|
6945
|
BEGIN
|
6946
|
ROLLBACK TRANSACTION
|
6947
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Phiếu đề nghị thanh toán đang được đề xuất từ chối và KSV đang xem xét' ErrorDesc
|
6948
|
RETURN '-1'
|
6949
|
END
|
6950
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID=@REQ_PAY_ID AND AUTH_STATUS_KT='A'))
|
6951
|
BEGIN
|
6952
|
ROLLBACK TRANSACTION
|
6953
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Phiếu đề nghị thanh toán đã được kế toán duyệt' ErrorDesc
|
6954
|
RETURN '-1'
|
6955
|
END
|
6956
|
IF(EXISTS(SELECT * FROM TL_USER WHERE TLNANME =@TRASFER_USER_RECIVE AND RoleName ='KSV') AND @TRANSFER_ACTION <>'KS')
|
6957
|
BEGIN
|
6958
|
ROLLBACK TRANSACTION
|
6959
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Bạn không được phép điều phối KSV với vai trò xử lý phiếu' ErrorDesc
|
6960
|
RETURN '-1'
|
6961
|
END
|
6962
|
IF(EXISTS(SELECT * FROM TL_USER WHERE TLNANME =@TRASFER_USER_RECIVE AND RoleName ='GDV') AND @TRANSFER_ACTION <>'XL')
|
6963
|
BEGIN
|
6964
|
ROLLBACK TRANSACTION
|
6965
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Bạn không được phép điều phối GDV với vai trò kiểm soát phiếu' ErrorDesc
|
6966
|
RETURN '-1'
|
6967
|
END
|
6968
|
IF(EXISTS(SELECT * FROM TL_USER_V2 WHERE TLNANME =@TRASFER_USER_RECIVE AND RoleName ='KSV') AND @TRANSFER_ACTION <>'KS')
|
6969
|
BEGIN
|
6970
|
ROLLBACK TRANSACTION
|
6971
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Bạn không được phép điều phối KSV với vai trò xử lý phiếu' ErrorDesc
|
6972
|
RETURN '-1'
|
6973
|
END
|
6974
|
IF(EXISTS(SELECT * FROM TL_USER_V2 WHERE TLNANME =@TRASFER_USER_RECIVE AND RoleName ='GDV') AND @TRANSFER_ACTION <>'XL')
|
6975
|
BEGIN
|
6976
|
ROLLBACK TRANSACTION
|
6977
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Bạn không được phép điều phối GDV với vai trò kiểm soát phiếu' ErrorDesc
|
6978
|
RETURN '-1'
|
6979
|
END
|
6980
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@REQ_PAY_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
|
6981
|
--BEGIN
|
6982
|
-- ROLLBACK TRANSACTION
|
6983
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Phiếu đề nghị tạm ứng đã được kế toán cập nhật thông tin' ErrorDesc
|
6984
|
-- RETURN '-1'
|
6985
|
--END
|
6986
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@REQ_PAY_ID AND MAKER_ID_KT IS NOT NULL AND MAKER_ID_KT <>''))
|
6987
|
--BEGIN
|
6988
|
-- ROLLBACK TRANSACTION
|
6989
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Phiếu đề nghị tạm ứng đã được kế toán cập nhật thông tin' ErrorDesc
|
6990
|
-- RETURN '-1'
|
6991
|
--END
|
6992
|
--IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID=@REQ_PAY_ID AND MAKER_ID_KT IS NOT NULL))
|
6993
|
--BEGIN
|
6994
|
-- ROLLBACK TRANSACTION
|
6995
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX) + N': Phiếu đề nghị thanh toán đã được kế toán cập nhật thông tin' ErrorDesc
|
6996
|
-- RETURN '-1'
|
6997
|
--END
|
6998
|
IF(NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@REQ_PAY_ID AND TLNAME =@TRANSFER_MAKER))
|
6999
|
BEGIN
|
7000
|
INSERT INTO PL_REQUEST_PROCESS_CHILD(REQ_ID,PROCESS_ID,TLNAME,TYPE_JOB,LEVEL_JOB,STATUS_JOB,RECORD_STATUS,TRANFER_DT)
|
7001
|
VALUES (@REQ_PAY_ID,@PROCESS_ID,@TRANSFER_MAKER,'KS',CONVERT(VARCHAR(5),'1'),'P','1', GETDATE())
|
7002
|
END
|
7003
|
-- KHAI BAO MAX LEVEL
|
7004
|
DECLARE @MAX_LEVEL VARCHAR(5), @NEXT_LEVEL INT, @PREV_LEVEL INT
|
7005
|
SET @MAX_LEVEL= (SELECT MAX(LEVEL_JOB) FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID=@REQ_PAY_ID)
|
7006
|
SET @NEXT_LEVEL = (SELECT CONVERT(INT,@MAX_LEVEL)) +1
|
7007
|
SET @PREV_LEVEL = (SELECT CONVERT(INT,@MAX_LEVEL)) -1
|
7008
|
IF(@TRANSFER_ACTION ='XL')
|
7009
|
BEGIN
|
7010
|
--UPDATE TR_REQ_ADVANCE_PAYMENT SET
|
7011
|
--AUTH_STATUS_KT ='U',
|
7012
|
--TRANSFER_DT = CONVERT(DATE,GETDATE(),103),
|
7013
|
--TRANSFER_MAKER = @TRANSFER_MAKER,
|
7014
|
--TRASFER_USER_RECIVE = @TRASFER_USER_RECIVE
|
7015
|
--WHERE REQ_PAY_ID =@REQ_PAY_ID
|
7016
|
IF(NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@REQ_PAY_ID AND TYPE_JOB =@TRANSFER_ACTION))
|
7017
|
BEGIN
|
7018
|
INSERT INTO PL_REQUEST_PROCESS_CHILD(REQ_ID,PROCESS_ID,TLNAME,TYPE_JOB,LEVEL_JOB,STATUS_JOB,RECORD_STATUS,TRANFER_DT)
|
7019
|
VALUES (@REQ_PAY_ID,@PROCESS_ID,@TRASFER_USER_RECIVE,'XL',CONVERT(VARCHAR(5),@NEXT_LEVEL),'C','1',GETDATE())
|
7020
|
INSERT INTO PL_PROCESS VALUES (@REQ_PAY_ID,'TRANSF',@p_TRANSFER_MAKER, GETDATE(),N'Điều phối về nhân viên ' +@TRASFER_USER_RECIVE,N'Điều phối thanh toán/ tạm ứng')
|
7021
|
|
7022
|
-- DOANPTT 291222: THEM LOG KPI
|
7023
|
INSERT INTO TR_REQ_KPI(KPI_TYPE, REQ_TYPE, REQ_STATUS, REQ_ID, REQ_REASON, CORE_NOTE, AUTH_STATUS_KT, TRANSFER_DT, MAKER_ID_KT, CREATE_DT_KT, CHECKER_ID_KT, APPROVE_DT_KT)
|
7024
|
VALUES ('PAY', 'TR_REQ_PAYMENT', NULL, @REQ_PAY_ID, NULL, NULL, 'U', GETDATE(), NULL, NULL, NULL, NULL )
|
7025
|
END
|
7026
|
ELSE
|
7027
|
BEGIN
|
7028
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C',TYPE_JOB=@TRANSFER_ACTION,TLNAME = @TRASFER_USER_RECIVE WHERE REQ_ID =@REQ_PAY_ID AND TYPE_JOB =@TRANSFER_ACTION
|
7029
|
END
|
7030
|
-- UPDATE BUOC TRUOC DO VE P
|
7031
|
--UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P',TYPE_JOB='KS' WHERE REQ_ID =@REQ_PAY_ID AND LEVEL_JOB =@MAX_LEVEL
|
7032
|
END
|
7033
|
ELSE
|
7034
|
BEGIN
|
7035
|
IF(NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@REQ_PAY_ID AND TYPE_JOB =@TRANSFER_ACTION))
|
7036
|
BEGIN
|
7037
|
INSERT INTO PL_REQUEST_PROCESS_CHILD(REQ_ID,PROCESS_ID,TLNAME,TYPE_JOB,LEVEL_JOB,STATUS_JOB,RECORD_STATUS,TRANFER_DT)
|
7038
|
VALUES (@REQ_PAY_ID,@PROCESS_ID,@TRASFER_USER_RECIVE,'KS',CONVERT(VARCHAR(5),@NEXT_LEVEL),'C','1',GETDATE())
|
7039
|
END
|
7040
|
ELSE
|
7041
|
BEGIN
|
7042
|
UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='C',TYPE_JOB='KS' WHERE REQ_ID =@REQ_PAY_ID AND TLNAME =@TRASFER_USER_RECIVE
|
7043
|
END
|
7044
|
-- UPDATE BUOC TRUOC DO VE P
|
7045
|
--UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB ='P',TYPE_JOB='KS' WHERE REQ_ID =@REQ_PAY_ID AND LEVEL_JOB =@MAX_LEVEL
|
7046
|
END
|
7047
|
--LUCTV - 06042021 BO SUNG KHI DIEU PHOI XONG CAP NHAT NGAY DIEU PHOI VAO BANG MASTER THANH TOAN / TAM UNG
|
7048
|
IF(@p_TRANSFER_TYPE='A')
|
7049
|
BEGIN
|
7050
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET
|
7051
|
AUTH_STATUS_KT ='U',TRANSFER_DT = GETDATE()
|
7052
|
WHERE REQ_PAY_ID =@REQ_PAY_ID
|
7053
|
END
|
7054
|
ELSE
|
7055
|
BEGIN
|
7056
|
UPDATE TR_REQ_PAYMENT SET
|
7057
|
AUTH_STATUS_KT ='U',TRANSFER_DT = GETDATE()
|
7058
|
WHERE REQ_PAY_ID =@REQ_PAY_ID
|
7059
|
END
|
7060
|
SET @LIST_REQ_PAY_ID = @LIST_REQ_PAY_ID+','+@REQ_PAY_ID
|
7061
|
IF @@ERROR <> 0 GOTO ABORT
|
7062
|
FETCH NEXT FROM TransferData INTO @REQ_PAY_ID, @TRANSFER_MAKER, @TRASFER_USER_RECIVE,@TRANSFER_ACTION
|
7063
|
END
|
7064
|
CLOSE TransferData
|
7065
|
DEALLOCATE TransferData
|
7066
|
IF @@Error <> 0 GOTO ABORT
|
7067
|
COMMIT TRANSACTION
|
7068
|
SELECT '0' as Result, @LIST_REQ_PAY_ID REQ_PAY_ID, '' ErrorDesc
|
7069
|
RETURN '0'
|
7070
|
ABORT:
|
7071
|
BEGIN
|
7072
|
ROLLBACK TRANSACTION
|
7073
|
CLOSE TransferData
|
7074
|
DEALLOCATE TransferData
|
7075
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
|
7076
|
RETURN '-1'
|
7077
|
End
|
7078
|
GO
|
7079
|
|
7080
|
ALTER PROC [dbo].[rpt_TR_REQ_PAY_KPI_Report]
|
7081
|
@p_TYPE_REPORT VARCHAR(250) = NULL,
|
7082
|
@p_ROLE VARCHAR(20) = NULL,
|
7083
|
@p_MAKER_ID VARCHAR(20) = NULL,
|
7084
|
@p_USER_LOGIN VARCHAR(50) = NULL,
|
7085
|
@p_FRM_DATE VARCHAR(20) = NULL,
|
7086
|
@p_TO_DATE VARCHAR(20) = NULL
|
7087
|
AS
|
7088
|
BEGIN
|
7089
|
|
7090
|
-- Get Role
|
7091
|
DECLARE @tbl_GDV TABLE(TLNAME VARCHAR(15))
|
7092
|
DECLARE @tbl_KSV TABLE(TLNAME VARCHAR(15))
|
7093
|
DECLARE @tbl_ALL TABLE(TLNAME VARCHAR(15))
|
7094
|
insert into @tbl_GDV SELECT TLNANME FROM TL_USER WHERE RoleName = 'GDV'
|
7095
|
insert into @tbl_KSV SELECT TLNANME FROM TL_USER WHERE RoleName = 'KSV'
|
7096
|
insert into @tbl_ALL SELECT TLNANME FROM TL_USER WHERE RoleName = 'GDV' OR RoleName = 'KSV'
|
7097
|
|
7098
|
DECLARE @p_FROM_DT DATE, @p_TO_DT DATE
|
7099
|
SET @p_FROM_DT =ISNULL(CONVERT(DATE,@p_FRM_DATE,103),'')
|
7100
|
SET @p_TO_DT =CONVERT(DATE,@p_TO_DATE,103)
|
7101
|
print '@p_FROM_DT: ' + CONVERT(VARCHAR(50),@p_FROM_DT)
|
7102
|
print '@p_TO_DT: ' + CONVERT(VARCHAR(50),@p_TO_DT)
|
7103
|
|
7104
|
IF(@p_ROLE = 'GDV')
|
7105
|
BEGIN
|
7106
|
IF (@p_TYPE_REPORT='ASS')
|
7107
|
BEGIN
|
7108
|
SELECT ADDNEW_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7109
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7110
|
MAKER_ID_KT AS GDV,
|
7111
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7112
|
CHECKER_ID_KT AS KSV,
|
7113
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7114
|
FROM ASS_ADDNEW A
|
7115
|
WHERE 1=1
|
7116
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7117
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7118
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7119
|
UNION
|
7120
|
SELECT USER_MASTER_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7121
|
CONVERT(VARCHAR,MONTH(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7122
|
MAKER_ID_KT AS GDV,
|
7123
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7124
|
CHECKER_ID_KT AS KSV,
|
7125
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7126
|
FROM dbo.ASS_USE_MULTI_MASTER A
|
7127
|
WHERE 1=1
|
7128
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7129
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7130
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7131
|
UNION
|
7132
|
SELECT TRANS_MULTI_MASTER_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7133
|
CONVERT(VARCHAR,MONTH(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7134
|
MAKER_ID_KT AS GDV,
|
7135
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7136
|
CHECKER_ID_KT AS KSV,
|
7137
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7138
|
FROM dbo.ASS_TRANSFER_MULTI_MASTER A
|
7139
|
WHERE 1=1
|
7140
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7141
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7142
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7143
|
UNION
|
7144
|
SELECT COL_MULTI_MASTER_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7145
|
CONVERT(VARCHAR,MONTH(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7146
|
MAKER_ID_KT AS GDV,
|
7147
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7148
|
CHECKER_ID_KT AS KSV,
|
7149
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7150
|
FROM dbo.ASS_COLLECT_MULTI_MASTER A
|
7151
|
WHERE 1=1
|
7152
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7153
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7154
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7155
|
UNION
|
7156
|
SELECT LIQ_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7157
|
CONVERT(VARCHAR,MONTH(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7158
|
MAKER_ID_KT AS GDV,
|
7159
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7160
|
CHECKER_ID_KT AS KSV,
|
7161
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7162
|
FROM dbo.ASS_LIQUIDATION A
|
7163
|
WHERE 1=1
|
7164
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7165
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7166
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7167
|
END
|
7168
|
ELSE IF (@p_TYPE_REPORT='MW')
|
7169
|
BEGIN
|
7170
|
SELECT A.IN_CODE AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7171
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7172
|
A.MAKER_ID_KT AS GDV,
|
7173
|
CONVERT(VARCHAR,MONTH(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7174
|
CHECKER_ID_KT AS KSV,
|
7175
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7176
|
FROM MW_IN_MASTER A
|
7177
|
WHERE 1=1
|
7178
|
AND A.AUTH_STATUS ='A'
|
7179
|
AND ( ((ISNULL(@p_FROM_DT, '') = '' OR A.CREATE_DT_KT >=@p_FROM_DT ) AND A.CREATE_DT_KT <=@p_TO_DT)
|
7180
|
OR (( ISNULL(@p_FROM_DT, '') = '' OR A.APPROVE_DT_KT >=@p_FROM_DT) AND A.APPROVE_DT_KT <=@p_TO_DT)
|
7181
|
)
|
7182
|
--AND (ISNULL(A.CREATE_DT_KT,'') <> '' AND A.CREATE_DT_KT >= CONVERT(DATE, @p_FRM_DATE, 103)) OR (ISNULL(A.APPROVE_DT_KT,'') <> '' AND A.APPROVE_DT_KT >= CONVERT(DATE, @p_FRM_DATE, 103))
|
7183
|
--AND (ISNULL(A.CREATE_DT_KT,'') <> '' AND A.CREATE_DT_KT <= CONVERT(DATE, @p_TO_DATE, 103)) OR (ISNULL(A.APPROVE_DT_KT,'') <> '' AND A.APPROVE_DT_KT <= CONVERT(DATE, @p_TO_DATE, 103))
|
7184
|
AND A.MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7185
|
AND (ISNULL(A.MAKER_ID_KT, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7186
|
AND ( (@p_ROLE = 'GDV' AND A.AUTH_STATUS_KT IN('A', 'U') AND ISNULL(A.CREATE_DT_KT, '') <> '')
|
7187
|
OR (@p_ROLE = 'KSV' AND A.AUTH_STATUS_KT IN ('A'))
|
7188
|
OR (ISNULL(@p_ROLE, '') = '' AND A.AUTH_STATUS_KT IN('A', 'U') AND ISNULL(A.CREATE_DT_KT, '') <> '')
|
7189
|
)
|
7190
|
UNION
|
7191
|
SELECT OUT_CODE AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7192
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7193
|
A.KT_MAKER_ID AS GDV,
|
7194
|
CONVERT(VARCHAR,MONTH(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_CREATE_DT),2) AS NGAY_GDV_GUI_DUYET,
|
7195
|
KT_CHECKER_ID AS KSV,
|
7196
|
CONVERT(VARCHAR,MONTH(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_APPROVE_DT),2) AS NGAY_KSV_DUYET
|
7197
|
FROM MW_OUT A
|
7198
|
WHERE 1=1
|
7199
|
AND A.AUTH_STATUS ='A'
|
7200
|
AND ( ((ISNULL(@p_FROM_DT, '') = '' OR A.KT_CREATE_DT >=@p_FROM_DT) AND A.KT_CREATE_DT <=@p_TO_DT)
|
7201
|
OR ((ISNULL(@p_FROM_DT, '') = '' OR A.KT_APPROVE_DT >=@p_FROM_DT) AND A.KT_APPROVE_DT <=@p_TO_DT)
|
7202
|
)
|
7203
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT >= CONVERT(DATE, @p_FRM_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT >= CONVERT(DATE, @p_FRM_DATE, 103))
|
7204
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT <= CONVERT(DATE, @p_TO_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT <= CONVERT(DATE, @p_TO_DATE, 103))
|
7205
|
AND A.KT_MAKER_ID IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7206
|
AND (ISNULL(A.KT_MAKER_ID, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7207
|
AND ( (@p_ROLE = 'GDV' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7208
|
OR (@p_ROLE = 'KSV' AND A.KT_AUTH_STATUS IN ('A'))
|
7209
|
OR (ISNULL(@p_ROLE, '') = '' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7210
|
)
|
7211
|
UNION
|
7212
|
SELECT A.TRANSFER_CODE AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7213
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7214
|
A.KT_MAKER_ID AS GDV,
|
7215
|
CONVERT(VARCHAR,MONTH(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_CREATE_DT),2) AS NGAY_GDV_GUI_DUYET,
|
7216
|
A.KT_CHECKER_ID AS KSV,
|
7217
|
CONVERT(VARCHAR,MONTH(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_APPROVE_DT),2) AS NGAY_KSV_DUYET
|
7218
|
FROM MW_TRANSFER A
|
7219
|
WHERE 1=1
|
7220
|
AND A.AUTH_STATUS ='A'
|
7221
|
AND ( ((A.KT_CREATE_DT >=@p_FROM_DT OR ISNULL(@p_FROM_DT, '') = '') AND A.KT_CREATE_DT <=@p_TO_DT)
|
7222
|
OR ((A.KT_APPROVE_DT >=@p_FROM_DT OR ISNULL(@p_FROM_DT, '') = '') AND A.KT_APPROVE_DT <=@p_TO_DT)
|
7223
|
)
|
7224
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT >= CONVERT(DATE, @p_FRM_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT >= CONVERT(DATE, @p_FRM_DATE, 103))
|
7225
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT <= CONVERT(DATE, @p_TO_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT <= CONVERT(DATE, @p_TO_DATE, 103))
|
7226
|
AND A.KT_MAKER_ID IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7227
|
AND (ISNULL(A.KT_MAKER_ID, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7228
|
AND ( (@p_ROLE = 'GDV' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7229
|
OR (@p_ROLE = 'KSV' AND A.KT_AUTH_STATUS IN ('A'))
|
7230
|
OR (ISNULL(@p_ROLE, '') = '' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7231
|
)
|
7232
|
UNION
|
7233
|
SELECT A.LIQ_CODE AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7234
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7235
|
A.KT_MAKER_ID AS GDV,
|
7236
|
CONVERT(VARCHAR,MONTH(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_CREATE_DT),2) AS NGAY_GDV_GUI_DUYET,
|
7237
|
A.KT_CHECKER_ID AS KSV,
|
7238
|
CONVERT(VARCHAR,MONTH(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_APPROVE_DT),2) AS NGAY_KSV_DUYET
|
7239
|
FROM MW_LIQ_MASTER A
|
7240
|
WHERE 1=1
|
7241
|
AND A.AUTH_STATUS ='A'
|
7242
|
AND ( ((A.KT_CREATE_DT >=@p_FROM_DT OR ISNULL(@p_FROM_DT, '') = '') AND A.KT_CREATE_DT <=@p_TO_DT)
|
7243
|
OR ((A.KT_APPROVE_DT >=@p_FROM_DT OR ISNULL(@p_FROM_DT, '') = '') AND A.KT_APPROVE_DT <=@p_TO_DT)
|
7244
|
)
|
7245
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT >= CONVERT(DATE, @p_FRM_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT >= CONVERT(DATE, @p_FRM_DATE, 103))
|
7246
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT <= CONVERT(DATE, @p_TO_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT <= CONVERT(DATE, @p_TO_DATE, 103))
|
7247
|
AND A.KT_MAKER_ID IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7248
|
AND (ISNULL(A.KT_MAKER_ID, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7249
|
AND ( (@p_ROLE = 'GDV' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7250
|
OR (@p_ROLE = 'KSV' AND A.KT_AUTH_STATUS IN ('A'))
|
7251
|
OR (ISNULL(@p_ROLE, '') = '' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7252
|
)
|
7253
|
END
|
7254
|
ELSE IF (@p_TYPE_REPORT='PAY')
|
7255
|
BEGIN
|
7256
|
SELECT H.* FROM
|
7257
|
(
|
7258
|
SELECT A.REQ_PAY_CODE AS MA_SO_PHIEU,A.REQ_REASON AS NOI_DUNG, A.REQ_AMT AS SO_TIEN_THANH_TOAN_TAM_UNG,
|
7259
|
CONVERT(VARCHAR,MONTH(A.TRANSFER_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.TRANSFER_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.TRANSFER_DT),2) AS NGAY_NHAN_PHIEU,
|
7260
|
A.MAKER_ID_KT AS GDV,
|
7261
|
CONVERT(VARCHAR,MONTH(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7262
|
A.CHECKER_ID_KT AS KSV,
|
7263
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT_KT),2) AS NGAY_KSV_DUYET, A.AUTH_STATUS_KT,
|
7264
|
PR.ID
|
7265
|
FROM TR_REQ_PAYMENT A
|
7266
|
LEFT JOIN PL_PROCESS PR ON A.REQ_PAY_ID = PR.REQ_ID AND (PR.PROCESS_ID = 'SUG' OR PR.PROCESS_ID = 'SEND') AND PR.CHECKER_ID IN (SELECT TLNAME FROM @tbl_GDV)
|
7267
|
WHERE 1=1
|
7268
|
AND (PR.APPROVE_DT >= @p_FROM_DT AND PR.APPROVE_DT <=@p_TO_DT)
|
7269
|
AND (PR.CHECKER_ID = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7270
|
|
7271
|
UNION
|
7272
|
|
7273
|
SELECT A.REQ_PAY_CODE AS MA_SO_PHIEU,A.REQ_REASON AS NOI_DUNG, A.REQ_AMT AS SO_TIEN_THANH_TOAN_TAM_UNG,
|
7274
|
CONVERT(VARCHAR,MONTH(A.TRANSFER_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.TRANSFER_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.TRANSFER_DT),2) AS NGAY_NHAN_PHIEU,
|
7275
|
A.MAKER_ID_KT AS GDV,
|
7276
|
CONVERT(VARCHAR,MONTH(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7277
|
A.CHECKER_ID_KT AS KSV,
|
7278
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT_KT),2) AS NGAY_KSV_DUYET, A.AUTH_STATUS_KT ,
|
7279
|
PR.ID
|
7280
|
FROM TR_REQ_ADVANCE_PAYMENT A
|
7281
|
LEFT JOIN PL_PROCESS PR ON A.REQ_PAY_ID = PR.REQ_ID AND (PR.PROCESS_ID = 'SUG' OR PR.PROCESS_ID = 'SEND') AND PR.CHECKER_ID IN (SELECT TLNAME FROM @tbl_GDV)
|
7282
|
WHERE 1=1
|
7283
|
AND (PR.APPROVE_DT >= @p_FROM_DT AND PR.APPROVE_DT <=@p_TO_DT)
|
7284
|
AND (PR.CHECKER_ID = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7285
|
) H
|
7286
|
ORDER BY H.MA_SO_PHIEU
|
7287
|
END
|
7288
|
END
|
7289
|
ELSE IF(@p_ROLE = 'KSV')
|
7290
|
BEGIN
|
7291
|
IF (@p_TYPE_REPORT='ASS')
|
7292
|
BEGIN
|
7293
|
SELECT ADDNEW_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7294
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7295
|
MAKER_ID_KT AS GDV,
|
7296
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7297
|
CHECKER_ID_KT AS KSV,
|
7298
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7299
|
FROM ASS_ADDNEW A
|
7300
|
WHERE 1=1
|
7301
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7302
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7303
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7304
|
UNION
|
7305
|
SELECT USER_MASTER_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7306
|
CONVERT(VARCHAR,MONTH(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7307
|
MAKER_ID_KT AS GDV,
|
7308
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7309
|
CHECKER_ID_KT AS KSV,
|
7310
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7311
|
FROM dbo.ASS_USE_MULTI_MASTER A
|
7312
|
WHERE 1=1
|
7313
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7314
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7315
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7316
|
UNION
|
7317
|
SELECT TRANS_MULTI_MASTER_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7318
|
CONVERT(VARCHAR,MONTH(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7319
|
MAKER_ID_KT AS GDV,
|
7320
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7321
|
CHECKER_ID_KT AS KSV,
|
7322
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7323
|
FROM dbo.ASS_TRANSFER_MULTI_MASTER A
|
7324
|
WHERE 1=1
|
7325
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7326
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7327
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7328
|
UNION
|
7329
|
SELECT COL_MULTI_MASTER_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7330
|
CONVERT(VARCHAR,MONTH(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7331
|
MAKER_ID_KT AS GDV,
|
7332
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7333
|
CHECKER_ID_KT AS KSV,
|
7334
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7335
|
FROM dbo.ASS_COLLECT_MULTI_MASTER A
|
7336
|
WHERE 1=1
|
7337
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7338
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7339
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7340
|
UNION
|
7341
|
SELECT LIQ_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7342
|
CONVERT(VARCHAR,MONTH(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7343
|
MAKER_ID_KT AS GDV,
|
7344
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7345
|
CHECKER_ID_KT AS KSV,
|
7346
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7347
|
FROM dbo.ASS_LIQUIDATION A
|
7348
|
WHERE 1=1
|
7349
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7350
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7351
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7352
|
END
|
7353
|
ELSE IF (@p_TYPE_REPORT='MW')
|
7354
|
BEGIN
|
7355
|
SELECT A.IN_CODE AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7356
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7357
|
A.MAKER_ID_KT AS GDV,
|
7358
|
CONVERT(VARCHAR,MONTH(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7359
|
CHECKER_ID_KT AS KSV,
|
7360
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7361
|
FROM MW_IN_MASTER A
|
7362
|
WHERE 1=1
|
7363
|
AND A.AUTH_STATUS ='A'
|
7364
|
AND ( ((ISNULL(@p_FROM_DT, '') = '' OR A.CREATE_DT_KT >=@p_FROM_DT ) AND A.CREATE_DT_KT <=@p_TO_DT)
|
7365
|
OR (( ISNULL(@p_FROM_DT, '') = '' OR A.APPROVE_DT_KT >=@p_FROM_DT) AND A.APPROVE_DT_KT <=@p_TO_DT)
|
7366
|
)
|
7367
|
--AND (ISNULL(A.CREATE_DT_KT,'') <> '' AND A.CREATE_DT_KT >= CONVERT(DATE, @p_FRM_DATE, 103)) OR (ISNULL(A.APPROVE_DT_KT,'') <> '' AND A.APPROVE_DT_KT >= CONVERT(DATE, @p_FRM_DATE, 103))
|
7368
|
--AND (ISNULL(A.CREATE_DT_KT,'') <> '' AND A.CREATE_DT_KT <= CONVERT(DATE, @p_TO_DATE, 103)) OR (ISNULL(A.APPROVE_DT_KT,'') <> '' AND A.APPROVE_DT_KT <= CONVERT(DATE, @p_TO_DATE, 103))
|
7369
|
AND A.MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7370
|
AND (ISNULL(A.MAKER_ID_KT, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7371
|
AND ( (@p_ROLE = 'GDV' AND A.AUTH_STATUS_KT IN('A', 'U') AND ISNULL(A.CREATE_DT_KT, '') <> '')
|
7372
|
OR (@p_ROLE = 'KSV' AND A.AUTH_STATUS_KT IN ('A'))
|
7373
|
OR (ISNULL(@p_ROLE, '') = '' AND A.AUTH_STATUS_KT IN('A', 'U') AND ISNULL(A.CREATE_DT_KT, '') <> '')
|
7374
|
)
|
7375
|
UNION
|
7376
|
SELECT OUT_CODE AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7377
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7378
|
A.KT_MAKER_ID AS GDV,
|
7379
|
CONVERT(VARCHAR,MONTH(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_CREATE_DT),2) AS NGAY_GDV_GUI_DUYET,
|
7380
|
KT_CHECKER_ID AS KSV,
|
7381
|
CONVERT(VARCHAR,MONTH(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_APPROVE_DT),2) AS NGAY_KSV_DUYET
|
7382
|
FROM MW_OUT A
|
7383
|
WHERE 1=1
|
7384
|
AND A.AUTH_STATUS ='A'
|
7385
|
AND ( ((ISNULL(@p_FROM_DT, '') = '' OR A.KT_CREATE_DT >=@p_FROM_DT) AND A.KT_CREATE_DT <=@p_TO_DT)
|
7386
|
OR ((ISNULL(@p_FROM_DT, '') = '' OR A.KT_APPROVE_DT >=@p_FROM_DT) AND A.KT_APPROVE_DT <=@p_TO_DT)
|
7387
|
)
|
7388
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT >= CONVERT(DATE, @p_FRM_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT >= CONVERT(DATE, @p_FRM_DATE, 103))
|
7389
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT <= CONVERT(DATE, @p_TO_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT <= CONVERT(DATE, @p_TO_DATE, 103))
|
7390
|
AND A.KT_MAKER_ID IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7391
|
AND (ISNULL(A.KT_MAKER_ID, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7392
|
AND ( (@p_ROLE = 'GDV' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7393
|
OR (@p_ROLE = 'KSV' AND A.KT_AUTH_STATUS IN ('A'))
|
7394
|
OR (ISNULL(@p_ROLE, '') = '' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7395
|
)
|
7396
|
UNION
|
7397
|
SELECT A.TRANSFER_CODE AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7398
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7399
|
A.KT_MAKER_ID AS GDV,
|
7400
|
CONVERT(VARCHAR,MONTH(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_CREATE_DT),2) AS NGAY_GDV_GUI_DUYET,
|
7401
|
A.KT_CHECKER_ID AS KSV,
|
7402
|
CONVERT(VARCHAR,MONTH(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_APPROVE_DT),2) AS NGAY_KSV_DUYET
|
7403
|
FROM MW_TRANSFER A
|
7404
|
WHERE 1=1
|
7405
|
AND A.AUTH_STATUS ='A'
|
7406
|
AND ( ((A.KT_CREATE_DT >=@p_FROM_DT OR ISNULL(@p_FROM_DT, '') = '') AND A.KT_CREATE_DT <=@p_TO_DT)
|
7407
|
OR ((A.KT_APPROVE_DT >=@p_FROM_DT OR ISNULL(@p_FROM_DT, '') = '') AND A.KT_APPROVE_DT <=@p_TO_DT)
|
7408
|
)
|
7409
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT >= CONVERT(DATE, @p_FRM_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT >= CONVERT(DATE, @p_FRM_DATE, 103))
|
7410
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT <= CONVERT(DATE, @p_TO_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT <= CONVERT(DATE, @p_TO_DATE, 103))
|
7411
|
AND A.KT_MAKER_ID IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7412
|
AND (ISNULL(A.KT_MAKER_ID, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7413
|
AND ( (@p_ROLE = 'GDV' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7414
|
OR (@p_ROLE = 'KSV' AND A.KT_AUTH_STATUS IN ('A'))
|
7415
|
OR (ISNULL(@p_ROLE, '') = '' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7416
|
)
|
7417
|
UNION
|
7418
|
SELECT A.LIQ_CODE AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7419
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7420
|
A.KT_MAKER_ID AS GDV,
|
7421
|
CONVERT(VARCHAR,MONTH(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_CREATE_DT),2) AS NGAY_GDV_GUI_DUYET,
|
7422
|
A.KT_CHECKER_ID AS KSV,
|
7423
|
CONVERT(VARCHAR,MONTH(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_APPROVE_DT),2) AS NGAY_KSV_DUYET
|
7424
|
FROM MW_LIQ_MASTER A
|
7425
|
WHERE 1=1
|
7426
|
AND A.AUTH_STATUS ='A'
|
7427
|
AND ( ((A.KT_CREATE_DT >=@p_FROM_DT OR ISNULL(@p_FROM_DT, '') = '') AND A.KT_CREATE_DT <=@p_TO_DT)
|
7428
|
OR ((A.KT_APPROVE_DT >=@p_FROM_DT OR ISNULL(@p_FROM_DT, '') = '') AND A.KT_APPROVE_DT <=@p_TO_DT)
|
7429
|
)
|
7430
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT >= CONVERT(DATE, @p_FRM_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT >= CONVERT(DATE, @p_FRM_DATE, 103))
|
7431
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT <= CONVERT(DATE, @p_TO_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT <= CONVERT(DATE, @p_TO_DATE, 103))
|
7432
|
AND A.KT_MAKER_ID IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7433
|
AND (ISNULL(A.KT_MAKER_ID, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7434
|
AND ( (@p_ROLE = 'GDV' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7435
|
OR (@p_ROLE = 'KSV' AND A.KT_AUTH_STATUS IN ('A'))
|
7436
|
OR (ISNULL(@p_ROLE, '') = '' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7437
|
)
|
7438
|
END
|
7439
|
ELSE IF (@p_TYPE_REPORT='PAY')
|
7440
|
BEGIN
|
7441
|
SELECT H.* FROM
|
7442
|
(
|
7443
|
SELECT A.REQ_PAY_CODE AS MA_SO_PHIEU,A.REQ_REASON AS NOI_DUNG, A.REQ_AMT AS SO_TIEN_THANH_TOAN_TAM_UNG,
|
7444
|
CONVERT(VARCHAR,MONTH(A.TRANSFER_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.TRANSFER_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.TRANSFER_DT),2) AS NGAY_NHAN_PHIEU,
|
7445
|
A.MAKER_ID_KT AS GDV,
|
7446
|
CONVERT(VARCHAR,MONTH(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7447
|
A.CHECKER_ID_KT AS KSV,
|
7448
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT_KT),2) AS NGAY_KSV_DUYET, A.AUTH_STATUS_KT,
|
7449
|
PR.ID
|
7450
|
FROM TR_REQ_PAYMENT A
|
7451
|
LEFT JOIN PL_PROCESS PR ON A.REQ_PAY_ID = PR.REQ_ID AND (PR.NOTES =N'Trả về cho người tạo phiếu' OR PR.NOTES =N'Trả về' OR PR.PROCESS_ID = 'APP') AND PR.CHECKER_ID IN (SELECT TLNAME FROM @tbl_KSV)
|
7452
|
WHERE 1=1
|
7453
|
AND (PR.APPROVE_DT >= @p_FROM_DT AND PR.APPROVE_DT <=@p_TO_DT)
|
7454
|
AND (PR.CHECKER_ID = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7455
|
|
7456
|
UNION
|
7457
|
|
7458
|
SELECT A.REQ_PAY_CODE AS MA_SO_PHIEU,A.REQ_REASON AS NOI_DUNG, A.REQ_AMT AS SO_TIEN_THANH_TOAN_TAM_UNG,
|
7459
|
CONVERT(VARCHAR,MONTH(A.TRANSFER_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.TRANSFER_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.TRANSFER_DT),2) AS NGAY_NHAN_PHIEU,
|
7460
|
A.MAKER_ID_KT AS GDV,
|
7461
|
CONVERT(VARCHAR,MONTH(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7462
|
A.CHECKER_ID_KT AS KSV,
|
7463
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT_KT),2) AS NGAY_KSV_DUYET, A.AUTH_STATUS_KT ,
|
7464
|
PR.ID
|
7465
|
FROM TR_REQ_ADVANCE_PAYMENT A
|
7466
|
LEFT JOIN PL_PROCESS PR ON A.REQ_PAY_ID = PR.REQ_ID AND (PR.NOTES =N'Trả về cho người tạo phiếu' OR PR.NOTES =N'Trả về' OR PR.PROCESS_ID = 'APP') AND PR.CHECKER_ID IN (SELECT TLNAME FROM @tbl_KSV)
|
7467
|
WHERE 1=1
|
7468
|
AND (PR.APPROVE_DT >= @p_FROM_DT AND PR.APPROVE_DT <=@p_TO_DT)
|
7469
|
AND (PR.CHECKER_ID = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7470
|
) H
|
7471
|
ORDER BY H.MA_SO_PHIEU
|
7472
|
END
|
7473
|
END
|
7474
|
ELSE
|
7475
|
BEGIN
|
7476
|
IF (@p_TYPE_REPORT='ASS')
|
7477
|
BEGIN
|
7478
|
SELECT ADDNEW_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7479
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7480
|
MAKER_ID_KT AS GDV,
|
7481
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7482
|
CHECKER_ID_KT AS KSV,
|
7483
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7484
|
FROM ASS_ADDNEW A
|
7485
|
WHERE 1=1
|
7486
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7487
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7488
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7489
|
UNION
|
7490
|
SELECT USER_MASTER_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7491
|
CONVERT(VARCHAR,MONTH(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7492
|
MAKER_ID_KT AS GDV,
|
7493
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7494
|
CHECKER_ID_KT AS KSV,
|
7495
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7496
|
FROM dbo.ASS_USE_MULTI_MASTER A
|
7497
|
WHERE 1=1
|
7498
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7499
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7500
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7501
|
UNION
|
7502
|
SELECT TRANS_MULTI_MASTER_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7503
|
CONVERT(VARCHAR,MONTH(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7504
|
MAKER_ID_KT AS GDV,
|
7505
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7506
|
CHECKER_ID_KT AS KSV,
|
7507
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7508
|
FROM dbo.ASS_TRANSFER_MULTI_MASTER A
|
7509
|
WHERE 1=1
|
7510
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7511
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7512
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7513
|
UNION
|
7514
|
SELECT COL_MULTI_MASTER_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7515
|
CONVERT(VARCHAR,MONTH(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7516
|
MAKER_ID_KT AS GDV,
|
7517
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7518
|
CHECKER_ID_KT AS KSV,
|
7519
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7520
|
FROM dbo.ASS_COLLECT_MULTI_MASTER A
|
7521
|
WHERE 1=1
|
7522
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7523
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7524
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7525
|
UNION
|
7526
|
SELECT LIQ_ID AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7527
|
CONVERT(VARCHAR,MONTH(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7528
|
MAKER_ID_KT AS GDV,
|
7529
|
CONVERT(VARCHAR,MONTH(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7530
|
CHECKER_ID_KT AS KSV,
|
7531
|
CONVERT(VARCHAR,MONTH(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7532
|
FROM dbo.ASS_LIQUIDATION A
|
7533
|
WHERE 1=1
|
7534
|
AND (CREATE_DT_KT >=@p_FROM_DT OR APPROVE_DT_KT >=@p_FROM_DT OR @p_FRM_DATE IS NULL OR @p_FRM_DATE ='')
|
7535
|
AND (CREATE_DT_KT <=@p_TO_DT OR APPROVE_DT_KT <=@p_TO_DT OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
|
7536
|
AND MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7537
|
END
|
7538
|
ELSE IF (@p_TYPE_REPORT='MW')
|
7539
|
BEGIN
|
7540
|
SELECT A.IN_CODE AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7541
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7542
|
A.MAKER_ID_KT AS GDV,
|
7543
|
CONVERT(VARCHAR,MONTH(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7544
|
CHECKER_ID_KT AS KSV,
|
7545
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT_KT),2) AS NGAY_KSV_DUYET
|
7546
|
FROM MW_IN_MASTER A
|
7547
|
WHERE 1=1
|
7548
|
AND A.AUTH_STATUS ='A'
|
7549
|
AND ( ((ISNULL(@p_FROM_DT, '') = '' OR A.CREATE_DT_KT >=@p_FROM_DT ) AND A.CREATE_DT_KT <=@p_TO_DT)
|
7550
|
OR (( ISNULL(@p_FROM_DT, '') = '' OR A.APPROVE_DT_KT >=@p_FROM_DT) AND A.APPROVE_DT_KT <=@p_TO_DT)
|
7551
|
)
|
7552
|
--AND (ISNULL(A.CREATE_DT_KT,'') <> '' AND A.CREATE_DT_KT >= CONVERT(DATE, @p_FRM_DATE, 103)) OR (ISNULL(A.APPROVE_DT_KT,'') <> '' AND A.APPROVE_DT_KT >= CONVERT(DATE, @p_FRM_DATE, 103))
|
7553
|
--AND (ISNULL(A.CREATE_DT_KT,'') <> '' AND A.CREATE_DT_KT <= CONVERT(DATE, @p_TO_DATE, 103)) OR (ISNULL(A.APPROVE_DT_KT,'') <> '' AND A.APPROVE_DT_KT <= CONVERT(DATE, @p_TO_DATE, 103))
|
7554
|
AND A.MAKER_ID_KT IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7555
|
AND (ISNULL(A.MAKER_ID_KT, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7556
|
AND ( (@p_ROLE = 'GDV' AND A.AUTH_STATUS_KT IN('A', 'U') AND ISNULL(A.CREATE_DT_KT, '') <> '')
|
7557
|
OR (@p_ROLE = 'KSV' AND A.AUTH_STATUS_KT IN ('A'))
|
7558
|
OR (ISNULL(@p_ROLE, '') = '' AND A.AUTH_STATUS_KT IN('A', 'U') AND ISNULL(A.CREATE_DT_KT, '') <> '')
|
7559
|
)
|
7560
|
UNION
|
7561
|
SELECT OUT_CODE AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7562
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7563
|
A.KT_MAKER_ID AS GDV,
|
7564
|
CONVERT(VARCHAR,MONTH(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_CREATE_DT),2) AS NGAY_GDV_GUI_DUYET,
|
7565
|
KT_CHECKER_ID AS KSV,
|
7566
|
CONVERT(VARCHAR,MONTH(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_APPROVE_DT),2) AS NGAY_KSV_DUYET
|
7567
|
FROM MW_OUT A
|
7568
|
WHERE 1=1
|
7569
|
AND A.AUTH_STATUS ='A'
|
7570
|
AND ( ((ISNULL(@p_FROM_DT, '') = '' OR A.KT_CREATE_DT >=@p_FROM_DT) AND A.KT_CREATE_DT <=@p_TO_DT)
|
7571
|
OR ((ISNULL(@p_FROM_DT, '') = '' OR A.KT_APPROVE_DT >=@p_FROM_DT) AND A.KT_APPROVE_DT <=@p_TO_DT)
|
7572
|
)
|
7573
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT >= CONVERT(DATE, @p_FRM_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT >= CONVERT(DATE, @p_FRM_DATE, 103))
|
7574
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT <= CONVERT(DATE, @p_TO_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT <= CONVERT(DATE, @p_TO_DATE, 103))
|
7575
|
AND A.KT_MAKER_ID IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7576
|
AND (ISNULL(A.KT_MAKER_ID, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7577
|
AND ( (@p_ROLE = 'GDV' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7578
|
OR (@p_ROLE = 'KSV' AND A.KT_AUTH_STATUS IN ('A'))
|
7579
|
OR (ISNULL(@p_ROLE, '') = '' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7580
|
)
|
7581
|
UNION
|
7582
|
SELECT A.TRANSFER_CODE AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7583
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7584
|
A.KT_MAKER_ID AS GDV,
|
7585
|
CONVERT(VARCHAR,MONTH(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_CREATE_DT),2) AS NGAY_GDV_GUI_DUYET,
|
7586
|
A.KT_CHECKER_ID AS KSV,
|
7587
|
CONVERT(VARCHAR,MONTH(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_APPROVE_DT),2) AS NGAY_KSV_DUYET
|
7588
|
FROM MW_TRANSFER A
|
7589
|
WHERE 1=1
|
7590
|
AND A.AUTH_STATUS ='A'
|
7591
|
AND ( ((A.KT_CREATE_DT >=@p_FROM_DT OR ISNULL(@p_FROM_DT, '') = '') AND A.KT_CREATE_DT <=@p_TO_DT)
|
7592
|
OR ((A.KT_APPROVE_DT >=@p_FROM_DT OR ISNULL(@p_FROM_DT, '') = '') AND A.KT_APPROVE_DT <=@p_TO_DT)
|
7593
|
)
|
7594
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT >= CONVERT(DATE, @p_FRM_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT >= CONVERT(DATE, @p_FRM_DATE, 103))
|
7595
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT <= CONVERT(DATE, @p_TO_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT <= CONVERT(DATE, @p_TO_DATE, 103))
|
7596
|
AND A.KT_MAKER_ID IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7597
|
AND (ISNULL(A.KT_MAKER_ID, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7598
|
AND ( (@p_ROLE = 'GDV' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7599
|
OR (@p_ROLE = 'KSV' AND A.KT_AUTH_STATUS IN ('A'))
|
7600
|
OR (ISNULL(@p_ROLE, '') = '' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7601
|
)
|
7602
|
UNION
|
7603
|
SELECT A.LIQ_CODE AS MA_SO_PHIEU, A.CORE_NOTE AS NOI_DUNG,
|
7604
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT),2) AS NGAY_NHAN_PHIEU,
|
7605
|
A.KT_MAKER_ID AS GDV,
|
7606
|
CONVERT(VARCHAR,MONTH(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_CREATE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_CREATE_DT),2) AS NGAY_GDV_GUI_DUYET,
|
7607
|
A.KT_CHECKER_ID AS KSV,
|
7608
|
CONVERT(VARCHAR,MONTH(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.KT_APPROVE_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.KT_APPROVE_DT),2) AS NGAY_KSV_DUYET
|
7609
|
FROM MW_LIQ_MASTER A
|
7610
|
WHERE 1=1
|
7611
|
AND A.AUTH_STATUS ='A'
|
7612
|
AND ( ((A.KT_CREATE_DT >=@p_FROM_DT OR ISNULL(@p_FROM_DT, '') = '') AND A.KT_CREATE_DT <=@p_TO_DT)
|
7613
|
OR ((A.KT_APPROVE_DT >=@p_FROM_DT OR ISNULL(@p_FROM_DT, '') = '') AND A.KT_APPROVE_DT <=@p_TO_DT)
|
7614
|
)
|
7615
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT >= CONVERT(DATE, @p_FRM_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT >= CONVERT(DATE, @p_FRM_DATE, 103))
|
7616
|
--AND (ISNULL(A.KT_CREATE_DT,'') <> '' AND A.KT_CREATE_DT <= CONVERT(DATE, @p_TO_DATE, 103)) OR (ISNULL(A.KT_APPROVE_DT,'') <> '' AND A.KT_APPROVE_DT <= CONVERT(DATE, @p_TO_DATE, 103))
|
7617
|
AND A.KT_MAKER_ID IN (SELECT TLNANME FROM TL_USER WHERE SECUR_CODE ='DEP000000000022')
|
7618
|
AND (ISNULL(A.KT_MAKER_ID, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7619
|
AND ( (@p_ROLE = 'GDV' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7620
|
OR (@p_ROLE = 'KSV' AND A.KT_AUTH_STATUS IN ('A'))
|
7621
|
OR (ISNULL(@p_ROLE, '') = '' AND A.KT_AUTH_STATUS IN('A', 'U') AND ISNULL(A.KT_CREATE_DT, '') <> '')
|
7622
|
)
|
7623
|
END
|
7624
|
ELSE IF (@p_TYPE_REPORT='PAY')
|
7625
|
BEGIN
|
7626
|
SELECT H.*
|
7627
|
FROM
|
7628
|
(
|
7629
|
SELECT A.REQ_PAY_CODE AS MA_SO_PHIEU,A.REQ_REASON AS NOI_DUNG, A.REQ_AMT AS SO_TIEN_THANH_TOAN_TAM_UNG,
|
7630
|
CONVERT(VARCHAR,MONTH(B.TRANSFER_DT),2) +'/'+CONVERT(VARCHAR,DAY(B.TRANSFER_DT),2) +'/'+CONVERT(VARCHAR,YEAR(B.TRANSFER_DT),2) AS NGAY_NHAN_PHIEU,
|
7631
|
B.MAKER_ID_KT AS GDV,
|
7632
|
CONVERT(VARCHAR,MONTH(B.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(B.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(B.CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7633
|
B.CHECKER_ID_KT AS KSV,
|
7634
|
CONVERT(VARCHAR,MONTH(B.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(B.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(B.APPROVE_DT_KT),2) AS NGAY_KSV_DUYET, B.AUTH_STATUS_KT,
|
7635
|
B.ID
|
7636
|
FROM TR_REQ_PAYMENT A
|
7637
|
JOIN TR_REQ_KPI B ON A.REQ_PAY_ID = B.REQ_ID
|
7638
|
WHERE 1=1
|
7639
|
AND (CONVERT(DATE,B.TRANSFER_DT,103) >= @p_FROM_DT AND CONVERT(DATE,B.TRANSFER_DT,103) <= @p_TO_DT)
|
7640
|
AND (ISNULL(B.MAKER_ID_KT, '') = @p_MAKER_ID OR ISNULL(B.CHECKER_ID_KT, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7641
|
|
7642
|
UNION
|
7643
|
|
7644
|
SELECT A.REQ_PAY_CODE AS MA_SO_PHIEU,A.REQ_REASON AS NOI_DUNG, A.REQ_AMT AS SO_TIEN_THANH_TOAN_TAM_UNG,
|
7645
|
CONVERT(VARCHAR,MONTH(A.TRANSFER_DT),2) +'/'+CONVERT(VARCHAR,DAY(A.TRANSFER_DT),2) +'/'+CONVERT(VARCHAR,YEAR(A.TRANSFER_DT),2) AS NGAY_NHAN_PHIEU,
|
7646
|
A.MAKER_ID_KT AS GDV,
|
7647
|
CONVERT(VARCHAR,MONTH(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.CREATE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.CREATE_DT_KT),2) AS NGAY_GDV_GUI_DUYET,
|
7648
|
A.CHECKER_ID_KT AS KSV,
|
7649
|
CONVERT(VARCHAR,MONTH(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,DAY(A.APPROVE_DT_KT),2) +'/'+CONVERT(VARCHAR,YEAR(A.APPROVE_DT_KT),2) AS NGAY_KSV_DUYET, A.AUTH_STATUS_KT ,
|
7650
|
B.ID
|
7651
|
FROM TR_REQ_ADVANCE_PAYMENT A
|
7652
|
JOIN TR_REQ_KPI B ON A.REQ_PAY_ID = B.REQ_ID
|
7653
|
WHERE 1=1
|
7654
|
AND (CONVERT(DATE,B.TRANSFER_DT,103) >= @p_FROM_DT AND CONVERT(DATE,B.TRANSFER_DT,103) <= @p_TO_DT)
|
7655
|
AND (ISNULL(B.MAKER_ID_KT, '') = @p_MAKER_ID OR ISNULL(B.CHECKER_ID_KT, '') = @p_MAKER_ID OR @p_MAKER_ID = '' OR @p_MAKER_ID IS NULL)
|
7656
|
) H
|
7657
|
ORDER BY H.MA_SO_PHIEU
|
7658
|
END
|
7659
|
END
|
7660
|
|
7661
|
END
|