1
|
|
2
|
ALTER PROCEDURE [dbo].[TR_REQ_PAY_INVOICE_DRAFT_Ins]
|
3
|
@p_REQ_PAY_ID VARCHAR(15) = NULL,
|
4
|
@p_REQ_PAY_CODE VARCHAR(50) = NULL,
|
5
|
@p_MAKER_ID VARCHAR(15) = NULL,
|
6
|
@p_BRANCH_LOGIN VARCHAR(15) = NULL,
|
7
|
@p_DEP_LOGIN VARCHAR(15) = NULL,
|
8
|
@p_XMP_TEMP XML = NULL
|
9
|
AS
|
10
|
IF(ISNULL((SELECT TOP 1 REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_CODE = @p_REQ_PAY_CODE), '') <> @p_REQ_PAY_ID)
|
11
|
BEGIN
|
12
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Thêm mới PYC xóa hóa đơn đính kèm lưu nháp/ từ chối thất bại! Mã số phiếu đề nghị thanh toán không hợp lệ. Vui lòng kiểm tra lại mã số phiếu đề nghị thanh toán và bấm tra cứu hóa đơn trước khi tạo PYC' ErrorDesc
|
13
|
RETURN '-1'
|
14
|
END
|
15
|
|
16
|
/* Bỏ điều kiện này vì đã bỏ quy trình gửi duyệt và duyệt
|
17
|
IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID AND AUTH_STATUS <> '' AND AUTH_STATUS IS NOT NULL AND AUTH_STATUS <> 'E' AND AUTH_STATUS <> 'R'))
|
18
|
BEGIN
|
19
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Thêm mới PYC xóa hóa đơn đính kèm lưu nháp/ từ chối thất bại! Phiếu đề nghị thanh toán có mã ' + @p_REQ_PAY_CODE + N' đang không ở trạng thái lưu nháp hoặc từ chối' ErrorDesc
|
20
|
RETURN '-1'
|
21
|
END
|
22
|
*/
|
23
|
|
24
|
BEGIN TRANSACTION
|
25
|
--VALIDATION
|
26
|
/* Bỏ điều kiện này vì đã bỏ quy trình gửi duyệt và duyệt
|
27
|
IF(EXISTS (SELECT * FROM TR_REQ_PAY_INVOICE_DRAFT WHERE REQ_PAY_ID = @p_REQ_PAY_ID AND AUTH_STATUS <> 'A'))
|
28
|
BEGIN
|
29
|
ROLLBACK TRANSACTION
|
30
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Đang tồn tại PYC xóa hóa đơn đính kèm lưu nháp/ từ chối của phiếu đề nghị thanh toán có mã ' + @p_REQ_PAY_CODE + N' đang chờ duyệt' ErrorDesc
|
31
|
RETURN '-1'
|
32
|
END
|
33
|
*/
|
34
|
-- INSERT MASTER
|
35
|
DECLARE @l_UPD_ID VARCHAR(15);
|
36
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_INVOICE_DRAFT', @l_UPD_ID OUT;
|
37
|
IF @l_UPD_ID='' OR @l_UPD_ID IS NULL GOTO ABORT;
|
38
|
INSERT INTO TR_REQ_PAY_INVOICE_DRAFT (UP_ID, REQ_PAY_ID, MAKER_ID, CREATE_DT, CHECKER_ID, APPROVE_DT, AUTH_STATUS, BRANCH_LOGIN, DEP_LOGIN)
|
39
|
VALUES (@l_UPD_ID, @p_REQ_PAY_ID, @p_MAKER_ID, GETDATE(), NULL, NULL, 'E', @p_BRANCH_LOGIN, @p_DEP_LOGIN)
|
40
|
|
41
|
-- INSERT LUOI HOA DON
|
42
|
DECLARE @UP_ID VARCHAR(15), @REQ_PAY_ID VARCHAR(15), @REQ_PAYDT_ID VARCHAR(15)
|
43
|
DECLARE @hdoc INT
|
44
|
|
45
|
EXEC sp_xml_preparedocument @hdoc OUTPUT, @p_XMP_TEMP;
|
46
|
DECLARE XmlInvoice CURSOR FOR SELECT * FROM OPENXML(@hdoc, '/Root/XmlData', 2)
|
47
|
WITH(UP_ID VARCHAR(15), REQ_PAY_ID VARCHAR(15), REQ_PAYDT_ID VARCHAR(15))
|
48
|
OPEN XmlInvoice;
|
49
|
|
50
|
|
51
|
FETCH NEXT FROM XmlInvoice INTO @UP_ID, @REQ_PAY_ID, @REQ_PAYDT_ID
|
52
|
WHILE @@fetch_status=0
|
53
|
BEGIN
|
54
|
|
55
|
--INSERT INTO TR_REQ_PAY_INVOICE_DRAFT_DT(UP_ID, REQ_PAY_ID, REQ_PAYDT_ID)
|
56
|
--VALUES (@l_UPD_ID, @p_REQ_PAY_ID, @REQ_PAYDT_ID)
|
57
|
|
58
|
INSERT INTO TR_REQ_PAY_INVOICE_DRAFT_DT
|
59
|
( UP_ID, REQ_PAY_ID, REQ_PAYDT_ID, TRANS_NO , TRANS_DT , INVOICE_SIGN , INVOICE_NO , INVOICE_DT ,
|
60
|
SELLER , TAX_NO , GOODS_NAME , PRICE , TAX , VAT , MAKER_ID , CREATE_DT ,
|
61
|
EDITOR_ID , EDITTOR_DT , AUTH_STATUS , CHECKER_ID , APPROVE_DT , CREATE_DT_KT ,
|
62
|
MAKER_ID_KT , AUTH_STATUS_KT , CHECKER_ID_KT , APPROVE_DT_KT , CORE_NOTE ,
|
63
|
BRANCH_CREATE , NOTE , RECORD_STATUS , INVOICE_NO_SIGN , VAT_RATE , CURRENCY ,
|
64
|
RATE , PRICE_KT , VAT_KT , TOTAL_AMT_KT , TYPE_VAT, TYPE_FUNC
|
65
|
)
|
66
|
SELECT @l_UPD_ID, @p_REQ_PAY_ID, @REQ_PAYDT_ID, TRANS_NO , TRANS_DT , INVOICE_SIGN , INVOICE_NO , INVOICE_DT ,
|
67
|
SELLER , TAX_NO , GOODS_NAME , PRICE , TAX , VAT , MAKER_ID , CREATE_DT ,
|
68
|
EDITOR_ID , EDITTOR_DT , AUTH_STATUS , CHECKER_ID , APPROVE_DT , CREATE_DT_KT ,
|
69
|
MAKER_ID_KT , AUTH_STATUS_KT , CHECKER_ID_KT , APPROVE_DT_KT , CORE_NOTE ,
|
70
|
BRANCH_CREATE , NOTE , RECORD_STATUS , INVOICE_NO_SIGN , VAT_RATE , CURRENCY ,
|
71
|
RATE , PRICE_KT , VAT_KT , TOTAL_AMT_KT , TYPE_VAT, TYPE_FUNC
|
72
|
FROM TR_REQ_PAY_INVOICE
|
73
|
WHERE REQ_PAYDT_ID = @REQ_PAYDT_ID
|
74
|
IF @@error<>0 GOTO ABORT;
|
75
|
FETCH NEXT FROM XmlInvoice INTO @UP_ID, @REQ_PAY_ID, @REQ_PAYDT_ID
|
76
|
END;
|
77
|
CLOSE XmlInvoice;
|
78
|
DEALLOCATE XmlInvoice;
|
79
|
|
80
|
-- Duyệt ngay sau khi thêm mới: Bỏ qua quy trình gửi duyệt và duyệt được áp dụng trước đó
|
81
|
UPDATE TR_REQ_PAY_INVOICE_DRAFT SET AUTH_STATUS ='A', APPROVE_DT= GETDATE(), CHECKER_ID= @p_MAKER_ID WHERE UP_ID = @l_UPD_ID
|
82
|
-- ĐIỀU KIỆN NÀY ĐỂ CHẮC CHẮN SẼ KHÔNG XÓA HẾT HÓA ĐƠN CÓ TRONG DATABASE
|
83
|
IF (
|
84
|
( SELECT COUNT(*)
|
85
|
FROM TR_REQ_PAY_INVOICE
|
86
|
WHERE 1 = 1
|
87
|
AND REQ_PAY_ID = (SELECT TOP 1 REQ_PAY_ID FROM TR_REQ_PAY_INVOICE_DRAFT WHERE UP_ID = @l_UPD_ID)
|
88
|
AND REQ_PAYDT_ID NOT IN (SELECT REQ_PAYDT_ID FROM TR_REQ_PAY_INVOICE_DRAFT_DT)
|
89
|
) > 10
|
90
|
)
|
91
|
BEGIN
|
92
|
ROLLBACK TRANSACTION
|
93
|
SELECT '-1' as Result, N'Duyệt PYC xóa hóa đơn đính kèm lưu nháp/ từ chối thất bại! Mỗi lần bạn chỉ được phép xóa tối đa 10 hóa đơn' ErrorDesc
|
94
|
RETURN '-1'
|
95
|
END
|
96
|
|
97
|
DELETE FROM TR_REQ_PAY_INVOICE
|
98
|
WHERE 1 = 1
|
99
|
AND REQ_PAY_ID = (SELECT TOP 1 REQ_PAY_ID FROM TR_REQ_PAY_INVOICE_DRAFT WHERE UP_ID = @l_UPD_ID)
|
100
|
AND REQ_PAYDT_ID NOT IN (SELECT REQ_PAYDT_ID FROM TR_REQ_PAY_INVOICE_DRAFT_DT WHERE UP_ID = @l_UPD_ID)
|
101
|
|
102
|
COMMIT TRANSACTION
|
103
|
|
104
|
SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID, @l_UPD_ID UP_ID, 'Thêm mới PYC xóa hóa đơn đính kèm lưu nháp/ từ chối thành công' ErrorDesc
|
105
|
RETURN '0'
|
106
|
|
107
|
ABORT:
|
108
|
BEGIN
|
109
|
ROLLBACK TRANSACTION
|
110
|
CLOSE XmlInvoice;
|
111
|
DEALLOCATE XmlInvoice;
|
112
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' UP_ID, '' ErrorDesc
|
113
|
RETURN '-1'
|
114
|
END
|
115
|
|
116
|
GO
|
117
|
|
118
|
ALTER PROC [dbo].[CM_ACCOUNT_Edit]
|
119
|
@p_REF_ID VARCHAR(15) = NULL
|
120
|
AS
|
121
|
BEGIN TRANSACTION
|
122
|
-- VALIDATE
|
123
|
DECLARE @TOTAL_AMT DECIMAL(18,0) = ( SELECT SUM(ISNULL(REQ_AMT, 0) - ISNULL(PAY_AMT, 0))
|
124
|
FROM TR_REQ_ADVANCE_PAYMENT
|
125
|
WHERE 1=1
|
126
|
AND REQ_TYPE = 'I'
|
127
|
AND AUTH_STATUS IN ('U', 'A')
|
128
|
AND REF_ID = @p_REF_ID
|
129
|
)
|
130
|
IF(@TOTAL_AMT > 0)
|
131
|
BEGIN
|
132
|
DECLARE @REQ_PAYMENT_LIST_STRING NVARCHAR(MAX)
|
133
|
SELECT @REQ_PAYMENT_LIST_STRING = STUFF (
|
134
|
( SELECT ', ' + REQ_PAY_CODE
|
135
|
FROM TR_REQ_ADVANCE_PAYMENT
|
136
|
WHERE 1=1
|
137
|
AND REQ_TYPE = 'I'
|
138
|
AND AUTH_STATUS IN ('U', 'A')
|
139
|
AND REF_ID = @p_REF_ID
|
140
|
AND ISNULL(REQ_AMT, 0) - ISNULL(PAY_AMT, 0) > 0
|
141
|
FOR XML PATH(''), TYPE
|
142
|
).value('.[1]', 'nvarchar(max)'), 1, 1, ''
|
143
|
)
|
144
|
ROLLBACK TRANSACTION
|
145
|
SELECT '-1' as Result, '' REF_ID, N'Chỉnh sửa tài khoản tạm ứng thất bại! user ' + @p_REF_ID + N' vẫn chưa hoàn tất hoàn ứng nội bộ.'
|
146
|
+ CHAR(10) +
|
147
|
N'</br>* Số tiền còn lại cần hoàn ứng: ' + FORMAT(ISNULL(@TOTAL_AMT,0),'#,#', 'vi-VN') +' VND' +
|
148
|
+ CHAR(10) +
|
149
|
N'</br>* Danh sách số phiếu tạm ứng nội bộ chưa hoàn tất hoàn ứng: ' + @REQ_PAYMENT_LIST_STRING
|
150
|
ErrorDesc
|
151
|
RETURN '-1'
|
152
|
END
|
153
|
|
154
|
-- LUU LOG
|
155
|
INSERT INTO CM_ACCOUNT_PAY_LOG
|
156
|
SELECT * FROM CM_ACCOUNT_PAY WHERE REF_ID = @p_REF_ID
|
157
|
|
158
|
UPDATE CM_ACCOUNT_PAY SET AUTH_STATUS = 'U', CHECKER_ID = NULL, APPROVE_DT = NULL WHERE REF_ID = @p_REF_ID
|
159
|
|
160
|
COMMIT TRANSACTION
|
161
|
|
162
|
SELECT '0' as Result, @p_REF_ID REF_ID, N'Cập nhật thành công. Bây giờ bạn có thể chỉnh sửa tài khoản tạm ứng này' ErrorDesc
|
163
|
RETURN '0'
|
164
|
|
165
|
ABORT:
|
166
|
BEGIN
|
167
|
ROLLBACK TRANSACTION
|
168
|
SELECT '-1' as Result, '' REF_ID, 'ERROR ABORT!' ErrorDesc
|
169
|
RETURN '-1'
|
170
|
END
|
171
|
|
172
|
GO
|
173
|
|
174
|
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES_Ins]
|
175
|
@p_REQ_PAY_AUTO_ID VARCHAR(15) = NULL,
|
176
|
@p_REQ_PAY_AUTO_CODE VARCHAR(50) = NULL,
|
177
|
@p_MAKER_ID VARCHAR(15) = NULL,
|
178
|
@p_XMP_ENTRIES XML = NULL
|
179
|
AS
|
180
|
IF(ISNULL((SELECT TOP 1 REQ_PAY_AUTO_ID FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_CODE = @p_REQ_PAY_AUTO_CODE), '') <> @p_REQ_PAY_AUTO_ID)
|
181
|
BEGIN
|
182
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Thêm mới chỉnh sửa hạch toán PYC TTTĐ thất bại! Mã PYC TTTĐ không hợp lệ. Vui lòng kiểm tra lại mã PYC TTTĐ và bấm tra cứu' ErrorDesc
|
183
|
RETURN '-1'
|
184
|
END
|
185
|
|
186
|
BEGIN TRANSACTION
|
187
|
--VALIDATION
|
188
|
IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID AND AUTH_STATUS <> 'A'))
|
189
|
BEGIN
|
190
|
ROLLBACK TRANSACTION
|
191
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Đang tồn tại PYC chỉnh sửa hạch toán PYC TTTĐ của PYC TTTĐ có mã ' + @p_REQ_PAY_AUTO_CODE + N' đang chờ duyệt' ErrorDesc
|
192
|
RETURN '-1'
|
193
|
END
|
194
|
-- INSERT MASTER
|
195
|
DECLARE @l_ENTRY_AUTO_ID VARCHAR(15);
|
196
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES', @l_ENTRY_AUTO_ID OUT;
|
197
|
IF @l_ENTRY_AUTO_ID='' OR @l_ENTRY_AUTO_ID IS NULL GOTO ABORT;
|
198
|
INSERT INTO TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES (ENTRY_AUTO_ID, REQ_PAY_AUTO_ID, MAKER_ID, CREATE_DT, CHECKER_ID, APPROVE_DT, AUTH_STATUS)
|
199
|
VALUES (@l_ENTRY_AUTO_ID, @p_REQ_PAY_AUTO_ID, @p_MAKER_ID, GETDATE(), NULL, NULL, 'E')
|
200
|
|
201
|
-- BBEGIN INSERT LUOI HACH TOAN
|
202
|
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),
|
203
|
@BRANCH_ID VARCHAR(15), @DEP_ID VARCHAR(15),@TRN_DESC NVARCHAR(255),@GL_CODE VARCHAR(100),@GL_CODE_ACCNO VARCHAR(20), @REQ_PAY_AUTO_DT_ID VARCHAR(15)
|
204
|
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,
|
205
|
@INVOICE_NO NVARCHAR(50) = NULL,@INVOICE_DT VARCHAR(20) = NULL,@SELLER nvarchar(250) = NULL,@TAX_NO NVARCHAR(15) = NULL,@GOODS_NAME NVARCHAR(250) = NULL,
|
206
|
@PRICE DECIMAL(18, 0) = NULL,@TAX DECIMAL(18, 0) = NULL,@NOTES NVARCHAR(MAX) = NULL,@VAT_RATE DECIMAL(18,2),
|
207
|
@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,
|
208
|
@TYPE_VAT VARCHAR(15),@TYPE_FUNC VARCHAR(15), @IS_TRANSFER_EXTERNAL VARCHAR(15)
|
209
|
DECLARE @TYPE_BUDGET_ALLOCAITON_ENTRIES VARCHAR(20), @PERCENT_BUDGET_ALLOCAITON_ENTRIES DECIMAL(18,2), @AMT_BUDGET_ALLOCAITON_ENTRIES DECIMAL(18,2)
|
210
|
DECLARE @DR_CR_NAME NVARCHAR(50),@ACC_NAME_FN NVARCHAR(500)
|
211
|
|
212
|
DECLARE @hdocEntries INT;
|
213
|
EXEC sp_xml_preparedocument @hdocEntries OUTPUT, @p_XMP_ENTRIES;
|
214
|
DECLARE XmlDataEntries CURSOR FOR SELECT * FROM OPENXML(@hdocEntries, '/Root/XmlDataEntries', 2)
|
215
|
WITH(REQ_PAY_AUTO_DT_ID VARCHAR(20), 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),
|
216
|
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),
|
217
|
TYPE_BUDGET_ALLOCAITON VARCHAR(20), PERCENT_BUDGET_ALLOCAITON DECIMAL(18,2), AMT_BUDGET_ALLOCAITON DECIMAL(18,2))
|
218
|
OPEN XmlDataEntries;
|
219
|
|
220
|
IF @@Error <> 0 GOTO ABORT
|
221
|
FETCH NEXT FROM XmlDataEntries INTO @REQ_PAY_AUTO_DT_ID, @ENTRY_PAIR ,@DR_CR,@ACCT, @ACCT_NAME, @AMT ,@CURRENCY, @EXC_RATE,@BRANCH_ID, @DEP_ID,@TRN_DESC,@GL_CODE, @GL_CODE_ACCNO,
|
222
|
@IS_TRANSFER_EXTERNAL, @TYPE_BUDGET_ALLOCAITON_ENTRIES, @PERCENT_BUDGET_ALLOCAITON_ENTRIES, @AMT_BUDGET_ALLOCAITON_ENTRIES
|
223
|
WHILE @@fetch_status=0
|
224
|
BEGIN
|
225
|
IF(@EXC_RATE IS NULL)
|
226
|
BEGIN
|
227
|
SET @EXC_RATE = 1
|
228
|
END
|
229
|
|
230
|
SET @ACC_NAME =UPPER(dbo.fChuyenCoDauThanhKhongDau(@ACCT_NAME))
|
231
|
|
232
|
-- NEU TEN TAI KHOAN RONG, THI LAY TEN TU CHECK CASA
|
233
|
IF(ISNULL(@GL_CODE, '') <> '')
|
234
|
BEGIN
|
235
|
SET @ACC_NAME = STUFF(@GL_CODE, LEN(@GL_CODE)-8, 9, '')
|
236
|
SET @ACCT_NAME = STUFF(@GL_CODE, LEN(@GL_CODE)-8, 9, '')
|
237
|
END
|
238
|
-- NEU SO TAI KHOAN RONG, THI LAY SO TAI KHOAN TU CHECK CASA
|
239
|
SET @GL_CODE = RIGHT(@GL_CODE,9)
|
240
|
IF(ISNULL(@ACCT, '') = '' AND ISNULL(@GL_CODE_ACCNO, '') <> '')
|
241
|
BEGIN
|
242
|
SET @ACCT = @GL_CODE_ACCNO
|
243
|
END
|
244
|
|
245
|
IF(@DR_CR='D')
|
246
|
BEGIN
|
247
|
SET @DR_CR_NAME =N'Nợ'
|
248
|
END
|
249
|
ELSE
|
250
|
BEGIN
|
251
|
SET @DR_CR_NAME =N'Có'
|
252
|
END
|
253
|
|
254
|
DECLARE @p_ET_ID VARCHAR(15);
|
255
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES_ENTRIEs', @p_ET_ID OUT;
|
256
|
IF @p_ET_ID='' OR @p_ET_ID IS NULL GOTO ABORT;
|
257
|
|
258
|
INSERT INTO TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES_ENTRIEs (REQ_PAY_AUTO_DT_ID, ENTRY_AUTO_ID, REQ_PAY_AUTO_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, TYPE_BUDGET_ALLOCAITON, PERCENT_BUDGET_ALLOCAITON, AMT_BUDGET_ALLOCAITON)
|
259
|
VALUES (@p_ET_ID, @l_ENTRY_AUTO_ID, @p_REQ_PAY_AUTO_ID,@ENTRY_PAIR,@DR_CR,@DR_CR_NAME,@ACCT,@ACCT_NAME, @AMT, @BRANCH_ID, @DEP_ID,@TRN_DESC,GETDATE(), @p_MAKER_ID, 'PAYMENT', 'VND', 1, @IS_TRANSFER_EXTERNAL, @TYPE_BUDGET_ALLOCAITON_ENTRIES, @PERCENT_BUDGET_ALLOCAITON_ENTRIES, @AMT_BUDGET_ALLOCAITON_ENTRIES)
|
260
|
|
261
|
-- NEU CHUA CO TAI KHOAN THI THEM VO CM_ACCOUNT
|
262
|
IF(NOT EXISTS(SELECT * FROM CM_ACCOUNT WHERE ACC_NO =@ACCT))
|
263
|
BEGIN
|
264
|
INSERT INTO CM_ACCOUNT (ACC_NO, ACC_NAME, TK_GL, TK_GL_NAME, MAKER_ID, CHECKER_ID,CREATE_DT) VALUES
|
265
|
(@ACCT,@ACCT_NAME,@GL_CODE,(SELECT TOP 1 ACC_NAME FROM CM_ACCOUNT WHERE ACC_NO =@GL_CODE),'admin','admin',GETDATE())
|
266
|
END
|
267
|
ELSE
|
268
|
BEGIN
|
269
|
IF(@GL_CODE IS NOT NULL AND @GL_CODE <> '' AND @GL_CODE <> '0')
|
270
|
BEGIN
|
271
|
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()
|
272
|
WHERE ACC_NO=@ACCT
|
273
|
END
|
274
|
END
|
275
|
IF @@error<>0 GOTO ABORT;
|
276
|
FETCH NEXT FROM XmlDataEntries INTO @REQ_PAY_AUTO_DT_ID, @ENTRY_PAIR ,@DR_CR,@ACCT, @ACCT_NAME, @AMT ,@CURRENCY, @EXC_RATE,@BRANCH_ID, @DEP_ID,@TRN_DESC,@GL_CODE, @GL_CODE_ACCNO,
|
277
|
@IS_TRANSFER_EXTERNAL, @TYPE_BUDGET_ALLOCAITON_ENTRIES, @PERCENT_BUDGET_ALLOCAITON_ENTRIES, @AMT_BUDGET_ALLOCAITON_ENTRIES
|
278
|
END;--END WHILE
|
279
|
CLOSE XmlDataEntries;
|
280
|
DEALLOCATE XmlDataEntries;
|
281
|
-- END INSERT LUOI HACH TOAN
|
282
|
/*
|
283
|
IF(1=1)
|
284
|
BEGIN
|
285
|
ROLLBACK TRANSACTION
|
286
|
SELECT '-1' as Result, '' ENTRY_AUTO_ID, '' ID, 'Check data' ErrorDesc
|
287
|
RETURN '-1'
|
288
|
END
|
289
|
*/
|
290
|
|
291
|
COMMIT TRANSACTION
|
292
|
|
293
|
SELECT '0' as Result, @p_REQ_PAY_AUTO_ID REQ_PAY_ID, @l_ENTRY_AUTO_ID ID, N'Thêm mới chỉnh sửa hạch toán PYC TTTĐ thành công' ErrorDesc
|
294
|
RETURN '0'
|
295
|
|
296
|
ABORT:
|
297
|
BEGIN
|
298
|
ROLLBACK TRANSACTION
|
299
|
CLOSE XmlDataEntries;
|
300
|
DEALLOCATE XmlDataEntries;
|
301
|
SELECT '-1' as Result, '' ENTRY_AUTO_ID, '' ID, 'ERROR ABORT' ErrorDesc
|
302
|
RETURN '-1'
|
303
|
END
|
304
|
|
305
|
--INSERT INTO [dbo].[SYS_PREFIX](ID,Prefix,Description) VALUES('TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES','PAEE',N'Chỉnh sửa hạch toán PYC TTTĐ')
|
306
|
--INSERT INTO [dbo].[SYS_PREFIX](ID,Prefix,Description) VALUES('TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES_ENTRIEs','PAEEE',N'Chi tiết chỉnh sửa hạch toán PYC TTTĐ')
|
307
|
|
308
|
GO
|
309
|
|
310
|
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES_App]
|
311
|
@p_ENTRY_AUTO_ID VARCHAR(15) = NULL,
|
312
|
@p_CHECKER_ID VARCHAR(15) = NULL
|
313
|
AS
|
314
|
-- VALIDATION
|
315
|
IF(ISNULL((SELECT TOP 1 ENTRY_AUTO_ID FROM TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES WHERE ENTRY_AUTO_ID = @p_ENTRY_AUTO_ID), '') <> @p_ENTRY_AUTO_ID)
|
316
|
BEGIN
|
317
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Chỉnh sửa PYC chỉnh sửa hạch toán PYC TTTĐ thất bại! Mã PYC TTTĐ không hợp lệ. Vui lòng kiểm tra lại mã PYC TTTĐ và bấm tra cứu trước khi tạo PYC' ErrorDesc
|
318
|
RETURN '-1'
|
319
|
END
|
320
|
|
321
|
BEGIN TRANSACTION
|
322
|
-- UPDATE MASTER
|
323
|
UPDATE TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES SET CHECKER_ID = @p_CHECKER_ID, APPROVE_DT= GETDATE(), AUTH_STATUS = 'A' WHERE ENTRY_AUTO_ID = @p_ENTRY_AUTO_ID
|
324
|
|
325
|
-- CHINH SUA LUOI HACH TOAN
|
326
|
DELETE FROM TR_REQ_PAY_AUTO_ENTRIES WHERE REQ_PAY_AUTO_ID = (SELECT TOP 1 ISNULL(REQ_PAY_AUTO_ID, '') FROM TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES WHERE ENTRY_AUTO_ID = @p_ENTRY_AUTO_ID )
|
327
|
|
328
|
INSERT INTO TR_REQ_PAY_AUTO_ENTRIES(REQ_PAY_AUTO_DT_ID, REQ_PAY_AUTO_ID, FUNCTION_TYPE, REF_ID, ENTRY_PAIR, DR_CR, DR_CR_NAME, ACCT, ACCT_NAME, BRANCH_ID, DEP_ID, AMT, CURRENCY, EXC_RATE, TRN_DATE, TRN_DESC,
|
329
|
MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, MAKER_ID_KT, CREATE_DT_KT, AUTH_STATUS_KT, CHECKER_ID_KT, APPROVE_DT_KT, RECORD_STATUS, IS_TRANSFER_EXTERNAL, TYPE_BUDGET_ALLOCAITON, PERCENT_BUDGET_ALLOCAITON, AMT_BUDGET_ALLOCAITON)
|
330
|
SELECT REQ_PAY_AUTO_DT_ID, REQ_PAY_AUTO_ID, FUNCTION_TYPE, REF_ID, ENTRY_PAIR, DR_CR, DR_CR_NAME, ACCT, ACCT_NAME, BRANCH_ID, DEP_ID, AMT, CURRENCY, EXC_RATE, TRN_DATE, TRN_DESC,
|
331
|
MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, MAKER_ID_KT, CREATE_DT_KT, AUTH_STATUS_KT, CHECKER_ID_KT, APPROVE_DT_KT, RECORD_STATUS, IS_TRANSFER_EXTERNAL, TYPE_BUDGET_ALLOCAITON, PERCENT_BUDGET_ALLOCAITON, AMT_BUDGET_ALLOCAITON
|
332
|
FROM TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES_ENTRIES
|
333
|
WHERE ENTRY_AUTO_ID = @p_ENTRY_AUTO_ID
|
334
|
|
335
|
-- INSERT LICH SU XU LY
|
336
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
337
|
VALUES(@p_ENTRY_AUTO_ID,'APPR',@p_CHECKER_ID,GETDATE(), N'Kiểm sát viên phê duyệt phiếu',N'Kiểm sát viên phê duyệt chỉnh sửa PYC chỉnh sửa hạch toán PYC TTTĐ')
|
338
|
|
339
|
COMMIT TRANSACTION
|
340
|
|
341
|
SELECT '0' as Result, @p_ENTRY_AUTO_ID REQ_PAY_AUTO_ID, @p_ENTRY_AUTO_ID ID, N'Duyệt chỉnh sửa hạch toán PYC TTTĐ thành công' ErrorDesc
|
342
|
RETURN '0'
|
343
|
|
344
|
ABORT:
|
345
|
BEGIN
|
346
|
ROLLBACK TRANSACTION
|
347
|
SELECT '-1' as Result, '' ENTRY_AUTO_ID, '' ID, 'ERROR ABORT. Vui lòng liên hệ IT ' ErrorDesc
|
348
|
RETURN '-1'
|
349
|
END
|
350
|
|
351
|
GO
|
352
|
|
353
|
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_AUTO_Search]
|
354
|
@p_REQ_PAY_AUTO_ID VARCHAR(20)= NULL,
|
355
|
@p_REQ_PAY_AUTO_CODE VARCHAR(20)= NULL,
|
356
|
@p_REQ_PAY_AUTO_NAME VARCHAR(20)= NULL,
|
357
|
@p_REQ_PAY_AUTO_DT VARCHAR(20)= NULL,
|
358
|
@p_REQ_PAY_AUTO_TYPE VARCHAR(20)= NULL,
|
359
|
@p_REQ_PAY_AUTO_SERVICE_TYPE VARCHAR(20)= NULL,
|
360
|
@p_REQ_PAY_AUTO_STATUS VARCHAR(20)= NULL,
|
361
|
@p_REQ_PAY_AUTO_EFFECTIVE_DT VARCHAR(20)= NULL,
|
362
|
@p_BRANCH_ID VARCHAR(20)= NULL,
|
363
|
@p_BRANCH_CODE VARCHAR(20)= NULL,
|
364
|
@p_BRANCH_NAME VARCHAR(20)= NULL,
|
365
|
@p_DEP_ID VARCHAR(20)= NULL,
|
366
|
@p_DEP_CODE VARCHAR(20)= NULL,
|
367
|
@p_DEP_NAME VARCHAR(20)= NULL,
|
368
|
@p_BRANCH_CREATE VARCHAR(20)= NULL,
|
369
|
@p_BRANCH_CREATE_CODE VARCHAR(20)= NULL,
|
370
|
@p_BRANCH_CREATE_NAME VARCHAR(20)= NULL,
|
371
|
@p_TRANSFER_USER_RECEIVE VARCHAR(20)= NULL,
|
372
|
@p_TRANSFER_USER_RECEIVE_NAME VARCHAR(20)= NULL,
|
373
|
@p_CONFIRM_NOTE VARCHAR(20)= NULL,
|
374
|
@p_CONTRACT_ID VARCHAR(20)= NULL,
|
375
|
@p_CONTRACT_CODE VARCHAR(20)= NULL,
|
376
|
@p_CONTRACT_NAME VARCHAR(20)= NULL,
|
377
|
@p_PROCESS VARCHAR(20)= NULL,
|
378
|
@p_TRANSFER_MAKER VARCHAR(20)= NULL,
|
379
|
@p_TRANSFER_DT VARCHAR(20)= NULL,
|
380
|
@p_MAKER_ID VARCHAR(20)= NULL,
|
381
|
@p_MAKER_NAME VARCHAR(20)= NULL,
|
382
|
@p_CREATE_DT VARCHAR(20)= NULL,
|
383
|
@p_EDITOR_ID VARCHAR(20)= NULL,
|
384
|
@p_EDITOR_NAME VARCHAR(20)= NULL,
|
385
|
@p_EDIT_DT VARCHAR(20)= NULL,
|
386
|
@p_CHECKER_ID VARCHAR(20)= NULL,
|
387
|
@p_CHECKER_NAME VARCHAR(20)= NULL,
|
388
|
@p_APPROVE_DT VARCHAR(20)= NULL,
|
389
|
@p_AUTH_STATUS VARCHAR(20)= NULL,
|
390
|
@p_MAKER_ID_KT VARCHAR(20)= NULL,
|
391
|
@p_MAKER_KT_NAME VARCHAR(20)= NULL,
|
392
|
@p_CREATE_DT_KT VARCHAR(20)= NULL,
|
393
|
@p_CHECKER_ID_KT VARCHAR(20)= NULL,
|
394
|
@p_CHECKER_KT_NAME VARCHAR(20)= NULL,
|
395
|
@p_APPROVE_DT_KT VARCHAR(20)= NULL,
|
396
|
@p_AUTH_STATUS_KT VARCHAR(20)= NULL,
|
397
|
@p_AUTH_STATUS_KT_DESC VARCHAR(20)= NULL,
|
398
|
@p_RECORD_STATUS VARCHAR(20)= NULL,
|
399
|
@p_FRMDATE VARCHAR(20)= NULL,
|
400
|
@p_TODATE VARCHAR(20)= NULL,
|
401
|
@p_LEVEL VARCHAR(20)= NULL,
|
402
|
@p_USER_LOGIN VARCHAR(20)= NULL,
|
403
|
@p_IS_SEND_APPR VARCHAR(20)= NULL,
|
404
|
@p_TYPE_SEARCH VARCHAR(20)= NULL,
|
405
|
@p_BRANCH_LOGIN VARCHAR(20)= NULL,
|
406
|
@p_EXEC_USER_KT nvarchar(20) = NULL,
|
407
|
@p_IS_UPDATE_KT VARCHAR(15) = NULL,
|
408
|
@p_BRANCH_MANAGE_ID VARCHAR(20)= NULL,
|
409
|
@p_TOP INT = NULL
|
410
|
AS
|
411
|
/*
|
412
|
1. Trạng thái chờ duyệt ở DVKD: Sẽ kiếm thấy các phiếu chờ người đó xử lý, hoặc do người đó gửi phê duyệt
|
413
|
- Do người này gửi duyệt(U-0)
|
414
|
- Do người này đề nghị tạm dừng(A-6)
|
415
|
- Do người này đề nghị khôi phục(A-9)
|
416
|
- Do người này đề nghị hủy phiếu(A-15)
|
417
|
|
418
|
*/
|
419
|
BEGIN -- PAGING
|
420
|
-- BEGIN KHAI BÁO
|
421
|
IF(@p_TYPE_SEARCH = 'HC')
|
422
|
BEGIN
|
423
|
SET @p_LEVEL = 'UNIT'
|
424
|
END
|
425
|
IF(ISNULL(@p_BRANCH_ID, '') = '')
|
426
|
BEGIN
|
427
|
SET @p_BRANCH_ID = @p_BRANCH_CREATE
|
428
|
END
|
429
|
IF(@p_BRANCH_LOGIN <> 'DV0001')
|
430
|
BEGIN
|
431
|
SET @p_DEP_ID = NULL
|
432
|
END
|
433
|
-- ĐƠN VỊ YÊU CẦU
|
434
|
DECLARE @tmp_branch TABLE(BRANCH_ID VARCHAR(15))
|
435
|
DECLARE @tmp_dep TABLE(DEP_ID VARCHAR(15))
|
436
|
DECLARE @DEP_ID VARCHAR(15) = NULL
|
437
|
INSERT INTO @tmp_branch SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
|
438
|
DECLARE @BRANCH_TYPE VARCHAR(15)
|
439
|
SET @BRANCH_TYPE =(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=(SELECT BRANCH_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_AUTO_ID))
|
440
|
|
441
|
-- ĐƠN VỊ ĐĂNG NHẬP
|
442
|
DECLARE @tmp_branch_login TABLE(BRANCH_ID VARCHAR(15))
|
443
|
DECLARE @tmp_dep_login TABLE(DEP_ID VARCHAR(15))
|
444
|
INSERT INTO @tmp_branch_login SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
|
445
|
INSERT INTO @tmp_branch_login VALUES (@p_BRANCH_LOGIN)
|
446
|
INSERT INTO @tmp_branch_login SELECT BRANCH_ID
|
447
|
FROM TL_SYS_ROLE_MAPPING
|
448
|
WHERE TLNAME =@P_USER_LOGIN
|
449
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
450
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')
|
451
|
AND RECORD_STATUS = '1'
|
452
|
DECLARE @BRANCH_TYPE_LG VARCHAR(15)
|
453
|
SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
|
454
|
-- PHÒNG BAN ĐĂNG NHẬP
|
455
|
DECLARE @DEP_ID_LG VARCHAR(15) = NULL
|
456
|
SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
|
457
|
INSERT INTO @tmp_dep_login VALUES (@DEP_ID_LG)
|
458
|
INSERT INTO @tmp_dep_login SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@DEP_ID_LG
|
459
|
INSERT INTO @tmp_dep_login SELECT DEP_ID
|
460
|
FROM TL_SYS_ROLE_MAPPING
|
461
|
WHERE TLNAME =@P_USER_LOGIN
|
462
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
463
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')
|
464
|
AND RECORD_STATUS = '1'
|
465
|
-- ĐƠN VỊ ỦY QUYỀN KIÊM NHIỆM
|
466
|
DECLARE @tmp_branch_auth TABLE (BRANCH_ID VARCHAR(15))
|
467
|
INSERT INTO @tmp_branch_auth VALUES (@p_BRANCH_LOGIN)
|
468
|
INSERT INTO @tmp_branch_auth SELECT BRANCH_ID
|
469
|
FROM TL_SYS_ROLE_MAPPING
|
470
|
WHERE TLNAME =@P_USER_LOGIN
|
471
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
472
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')
|
473
|
AND RECORD_STATUS = '1'
|
474
|
-- PHÒNG BAN ỦY QUYỀN KIÊM NHIỆM
|
475
|
DECLARE @tmp_dep_auth TABLE (DEP_ID VARCHAR(15))
|
476
|
INSERT INTO @tmp_dep_auth VALUES (@DEP_ID_LG)
|
477
|
INSERT INTO @tmp_dep_auth SELECT DEP_ID
|
478
|
FROM TL_SYS_ROLE_MAPPING
|
479
|
WHERE TLNAME =@P_USER_LOGIN
|
480
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
481
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')
|
482
|
AND RECORD_STATUS = '1'
|
483
|
INSERT INTO @tmp_dep_auth SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@DEP_ID_LG
|
484
|
|
485
|
-- ROLE
|
486
|
DECLARE @ROLE_ID VARCHAR(20)
|
487
|
SET @ROLE_ID = (SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
|
488
|
DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))
|
489
|
INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)
|
490
|
INSERT INTO @TABLE_ROLE SELECT ROLE_NEW
|
491
|
FROM TL_SYS_ROLE_MAPPING
|
492
|
WHERE ROLE_OLD =@ROLE_ID AND TLNAME =@P_USER_LOGIN
|
493
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
494
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')
|
495
|
AND RECORD_STATUS = '1'
|
496
|
|
497
|
-- NEU USER KHONG CHON TU NGAY THI TU NGAY BANG NGAY 1 1 HANG THANG 20211116
|
498
|
DECLARE @DATE DATE
|
499
|
IF ((@p_FRMDATE IS NULL OR @p_FRMDATE ='') AND ISNULL(@p_REQ_PAY_AUTO_ID,'')='' AND @p_AUTH_STATUS ='') -- MỤC ĐÍCH NẾU NHƯ XEM CHI TIẾT 1 PĐN THANH TOÁN DẠNG POPUP THÌ BỎ QUA ĐIỀU KIỆN NÀY, TỪ NGÀY VẪN LÀ NULL
|
500
|
BEGIN
|
501
|
SET @DATE = CONVERT(DATE,GETDATE(),103)
|
502
|
SET @DATE = DATEADD(MONTH,-2,@DATE)
|
503
|
END
|
504
|
ELSE
|
505
|
BEGIN
|
506
|
SET @DATE = CONVERT(DATE,@p_FRMDATE,103)
|
507
|
END
|
508
|
-- CHECK NGUOI DUYET
|
509
|
DECLARE @IS_TDV VARCHAR(1) = 'N'
|
510
|
IF (
|
511
|
( SELECT COUNT(*)
|
512
|
FROM @TABLE_ROLE A
|
513
|
WHERE A.ROLE_AUTH IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD')
|
514
|
) = 0
|
515
|
)
|
516
|
BEGIN
|
517
|
SET @IS_TDV = 'N'
|
518
|
END
|
519
|
ELSE
|
520
|
BEGIN
|
521
|
SET @IS_TDV = 'Y'
|
522
|
END
|
523
|
-- END KHAI BÁO
|
524
|
IF(@p_TYPE_SEARCH = 'HC')
|
525
|
BEGIN
|
526
|
IF(@p_TOP IS NULL OR @p_TOP=0)
|
527
|
BEGIN
|
528
|
IF(@DEP_ID_LG = 'DEP000000000022')
|
529
|
BEGIN
|
530
|
-- PAGING BEGIN
|
531
|
SELECT A.*,
|
532
|
--B.BRANCH_CODE, B.BRANCH_NAME,
|
533
|
CASE WHEN ( SELECT TOP 1 BRANCH_ID
|
534
|
FROM TR_CONTRACT
|
535
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
536
|
) <> 'DV0001'
|
537
|
THEN B.BRANCH_NAME + ISNULL ( ' - ' + ( SELECT TOP 1 BRANCH_NAME
|
538
|
FROM CM_BRANCH
|
539
|
WHERE BRANCH_ID = ( SELECT TOP 1 BRANCH_ID
|
540
|
FROM TR_CONTRACT
|
541
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
542
|
)
|
543
|
),''
|
544
|
)
|
545
|
ELSE B.BRANCH_NAME
|
546
|
END BRANCH_NAME,
|
547
|
C.DEP_CODE, C.DEP_NAME,
|
548
|
D.CONTRACT_CODE, D.[CONTRACT_NAME],
|
549
|
E.TLFullName AS MAKER_NAME,
|
550
|
F.TLFullName AS MAKER_NAME_KT,
|
551
|
G.TLFullName AS CHECKER_NAME_KT,
|
552
|
H.CONTENT AS REQ_PAY_AUTO_STATUS_NAME,
|
553
|
--I.CONTENT AS REQ_PAY_AUTO_TYPE_NAME,
|
554
|
CASE
|
555
|
WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN N.CONTENT
|
556
|
ELSE O.CONTENT
|
557
|
END REQ_PAY_AUTO_TYPE_NAME,
|
558
|
J.CONTENT AS AUTH_STATUS_NAME,
|
559
|
K.CONTENT AS AUTH_STATUS_KT_NAME,
|
560
|
L.TLFullName AS TRANSFER_USER_RECEIVE_NAME,
|
561
|
M.BRANCH_CODE AS BRANCH_MANAGE_CODE, M.BRANCH_NAME AS BRANCH_MANAGE_NAME
|
562
|
-- SELECT END
|
563
|
FROM TR_REQ_PAYMENT_AUTO A
|
564
|
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
|
565
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
566
|
LEFT JOIN TR_CONTRACT D ON A.CONTRACT_ID = D.CONTRACT_ID
|
567
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
568
|
LEFT JOIN TL_USER F ON A.MAKER_ID_KT = F.TLNANME
|
569
|
LEFT JOIN TL_USER G ON A.CHECKER_ID_KT = G.TLNANME
|
570
|
LEFT JOIN CM_ALLCODE H ON A.REQ_PAY_AUTO_STATUS = H.CDVAL AND H.CDNAME = 'PAY_AUTO_STATUS' AND H.CDTYPE = 'REQ_AUTO'
|
571
|
LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_TYPE = I.CDVAL AND I.CDNAME = 'PAY_TYPE_AUTO' AND I.CDTYPE = 'REQ_AUTO'
|
572
|
LEFT JOIN CM_ALLCODE J ON A.AUTH_STATUS = J.CDVAL AND J.CDNAME = 'AUTH_STATUS' AND J.CDTYPE = 'TR_REQ_PAYMENT'
|
573
|
LEFT JOIN CM_ALLCODE K ON A.AUTH_STATUS_KT = K.CDVAL AND K.CDNAME = 'AUTH_STATUS_KT' AND K.CDTYPE = 'TR_REQ_PAYMENT'
|
574
|
LEFT JOIN TL_USER L ON A.TRANSFER_USER_RECEIVE = L.TLNANME
|
575
|
LEFT JOIN CM_BRANCH M ON A.BRANCH_MANAGE_ID = M.BRANCH_ID
|
576
|
LEFT JOIN CM_ALLCODE N ON A.REQ_PAY_AUTO_SERVICE_TYPE = N.CDVAL AND N.CDNAME = 'PAY_SER_AUTO_TS' AND N.CDTYPE = 'REQ_AUTO'
|
577
|
LEFT JOIN CM_ALLCODE O ON A.REQ_PAY_AUTO_SERVICE_TYPE = O.CDVAL AND O.CDNAME = 'PAY_SER_AUTO' AND O.CDTYPE = 'REQ_AUTO'
|
578
|
WHERE 1=1
|
579
|
-- BEGIN FILTER
|
580
|
AND ( A.REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID OR ISNULL(@p_REQ_PAY_AUTO_ID, '') = '')
|
581
|
AND ( A.REQ_PAY_AUTO_CODE = @p_REQ_PAY_AUTO_CODE OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
|
582
|
--AND ( A.AUTH_STATUS = @p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS, '') = '')
|
583
|
AND ( (@p_AUTH_STATUS = A.AUTH_STATUS) -- dùng cho: lưu nháp, phiếu bị hủy
|
584
|
OR (@p_AUTH_STATUS = 'W' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ cấp trung gian xác nhận
|
585
|
OR (@p_AUTH_STATUS = 'G' AND A.PROCESS IN ('1', '7', '10', '16')) -- cấp trung gian xác nhận
|
586
|
OR (@p_AUTH_STATUS = 'U' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ duyệt CTG
|
587
|
OR (@p_AUTH_STATUS = 'U' AND A.PROCESS IN ('0', '1', '6', '7', '9', '10', '15', '16')) -- chờ duyệt TDV
|
588
|
OR (@p_AUTH_STATUS = 'A' AND A.PROCESS IN ('1', '2', '7', '8', '10', '11', '16', '17')) -- đã duyệt
|
589
|
OR (@p_AUTH_STATUS = 'R' AND ISNULL(A.PROCESS, '') IN ('', '7.1', '8.1', '10.1', '11.1', '14.1', '16.1', '17.1', '20.1') AND ISNULL(A.AUTH_STATUS, '') <> 'E') -- từ chối
|
590
|
OR (ISNULL(@p_AUTH_STATUS, '') = '')
|
591
|
)
|
592
|
AND ( A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
|
593
|
AND ( A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
|
594
|
AND ( M.BRANCH_ID = @p_BRANCH_MANAGE_ID OR ISNULL(@p_BRANCH_MANAGE_ID, '') = '')
|
595
|
AND ( A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
|
596
|
AND ( A.REQ_PAY_AUTO_STATUS = @p_REQ_PAY_AUTO_STATUS OR ISNULL(@p_REQ_PAY_AUTO_STATUS, '') = '')
|
597
|
AND ( CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
|
598
|
AND ( CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
|
599
|
AND ( A.BRANCH_ID = @p_BRANCH_ID
|
600
|
OR ISNULL(@p_BRANCH_ID, '') = ''
|
601
|
OR A.BRANCH_ID IN ( SELECT BRANCH_ID
|
602
|
FROM @tmp_branch
|
603
|
)
|
604
|
)
|
605
|
AND ( A.DEP_ID = @p_DEP_ID
|
606
|
OR ISNULL(@p_DEP_ID, '') = ''
|
607
|
)
|
608
|
AND ( A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
|
609
|
AND ( A.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
|
610
|
-- END FILTER
|
611
|
ORDER BY A.CREATE_DT DESC
|
612
|
-- PAGING END
|
613
|
END
|
614
|
ELSE
|
615
|
BEGIN-- DVKD Search
|
616
|
-- PAGING BEGIN
|
617
|
SELECT A.*,
|
618
|
--B.BRANCH_CODE, B.BRANCH_NAME,
|
619
|
CASE WHEN ( SELECT TOP 1 BRANCH_ID
|
620
|
FROM TR_CONTRACT
|
621
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
622
|
) <> 'DV0001'
|
623
|
THEN B.BRANCH_NAME + ISNULL ( ' - ' + ( SELECT TOP 1 BRANCH_NAME
|
624
|
FROM CM_BRANCH
|
625
|
WHERE BRANCH_ID = ( SELECT TOP 1 BRANCH_ID
|
626
|
FROM TR_CONTRACT
|
627
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
628
|
)
|
629
|
),''
|
630
|
)
|
631
|
ELSE B.BRANCH_NAME
|
632
|
END BRANCH_NAME,
|
633
|
C.DEP_CODE, C.DEP_NAME,
|
634
|
D.CONTRACT_CODE, D.[CONTRACT_NAME],
|
635
|
E.TLFullName AS MAKER_NAME,
|
636
|
F.TLFullName AS MAKER_NAME_KT,
|
637
|
G.TLFullName AS CHECKER_NAME_KT,
|
638
|
H.CONTENT AS REQ_PAY_AUTO_STATUS_NAME,
|
639
|
--I.CONTENT AS REQ_PAY_AUTO_TYPE_NAME,
|
640
|
CASE
|
641
|
WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN N.CONTENT
|
642
|
ELSE O.CONTENT
|
643
|
END REQ_PAY_AUTO_TYPE_NAME,
|
644
|
J.CONTENT AS AUTH_STATUS_NAME,
|
645
|
K.CONTENT AS AUTH_STATUS_KT_NAME,
|
646
|
L.TLFullName AS TRANSFER_USER_RECEIVE_NAME,
|
647
|
M.BRANCH_CODE AS BRANCH_MANAGE_CODE, M.BRANCH_NAME AS BRANCH_MANAGE_NAME
|
648
|
-- SELECT END
|
649
|
FROM TR_REQ_PAYMENT_AUTO A
|
650
|
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
|
651
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
652
|
LEFT JOIN TR_CONTRACT D ON A.CONTRACT_ID = D.CONTRACT_ID
|
653
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
654
|
LEFT JOIN TL_USER F ON A.MAKER_ID_KT = F.TLNANME
|
655
|
LEFT JOIN TL_USER G ON A.CHECKER_ID_KT = G.TLNANME
|
656
|
LEFT JOIN CM_ALLCODE H ON A.REQ_PAY_AUTO_STATUS = H.CDVAL AND H.CDNAME = 'PAY_AUTO_STATUS' AND H.CDTYPE = 'REQ_AUTO'
|
657
|
LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_TYPE = I.CDVAL AND I.CDNAME = 'PAY_TYPE_AUTO' AND I.CDTYPE = 'REQ_AUTO'
|
658
|
LEFT JOIN CM_ALLCODE J ON A.AUTH_STATUS = J.CDVAL AND J.CDNAME = 'AUTH_STATUS' AND J.CDTYPE = 'TR_REQ_PAYMENT'
|
659
|
LEFT JOIN CM_ALLCODE K ON A.AUTH_STATUS_KT = K.CDVAL AND K.CDNAME = 'AUTH_STATUS_KT' AND K.CDTYPE = 'TR_REQ_PAYMENT'
|
660
|
LEFT JOIN TL_USER L ON A.TRANSFER_USER_RECEIVE = L.TLNANME
|
661
|
LEFT JOIN CM_BRANCH M ON A.BRANCH_MANAGE_ID = M.BRANCH_ID
|
662
|
LEFT JOIN CM_ALLCODE N ON A.REQ_PAY_AUTO_SERVICE_TYPE = N.CDVAL AND N.CDNAME = 'PAY_SER_AUTO_TS' AND N.CDTYPE = 'REQ_AUTO'
|
663
|
LEFT JOIN CM_ALLCODE O ON A.REQ_PAY_AUTO_SERVICE_TYPE = O.CDVAL AND O.CDNAME = 'PAY_SER_AUTO' AND O.CDTYPE = 'REQ_AUTO'
|
664
|
WHERE 1=1
|
665
|
-- BEGIN FILTER
|
666
|
AND ( A.REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID OR ISNULL(@p_REQ_PAY_AUTO_ID, '') = '')
|
667
|
AND ( A.REQ_PAY_AUTO_CODE = @p_REQ_PAY_AUTO_CODE OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
|
668
|
--AND ( A.AUTH_STATUS = @p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS, '') = '')
|
669
|
AND ( (@p_AUTH_STATUS = A.AUTH_STATUS) -- dùng cho: lưu nháp, phiếu bị hủy
|
670
|
OR (@p_AUTH_STATUS = 'W' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ cấp trung gian xác nhận
|
671
|
OR (@p_AUTH_STATUS = 'G' AND A.PROCESS IN ('1', '7', '10', '16')) -- cấp trung gian xác nhận
|
672
|
OR (@p_AUTH_STATUS = 'U' AND @IS_TDV = 'N' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ duyệt CTG
|
673
|
OR (@p_AUTH_STATUS = 'U' AND @IS_TDV = 'Y' AND A.PROCESS IN ('0', '1', '6', '7', '9', '10', '15', '16')) -- chờ duyệt TDV
|
674
|
OR (@p_AUTH_STATUS = 'A' AND A.PROCESS IN ('1', '2', '7', '8', '10', '11', '16', '17')) -- đã duyệt
|
675
|
OR (@p_AUTH_STATUS = 'R' AND ISNULL(A.PROCESS, '') IN ('', '7.1', '8.1', '10.1', '11.1', '14.1', '16.1', '17.1', '20.1') AND ISNULL(A.AUTH_STATUS, '') <> 'E') -- từ chối
|
676
|
OR (ISNULL(@p_AUTH_STATUS, '') = '')
|
677
|
)
|
678
|
AND ( A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
|
679
|
AND ( A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
|
680
|
AND ( M.BRANCH_ID = @p_BRANCH_MANAGE_ID OR ISNULL(@p_BRANCH_MANAGE_ID, '') = '')
|
681
|
AND ( A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
|
682
|
AND ( A.REQ_PAY_AUTO_STATUS = @p_REQ_PAY_AUTO_STATUS OR ISNULL(@p_REQ_PAY_AUTO_STATUS, '') = '')
|
683
|
AND( CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
|
684
|
AND( CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
|
685
|
AND ( A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
|
686
|
AND ( A.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
|
687
|
-- END FILTER
|
688
|
-- BEGIN VALIDATE FLOW
|
689
|
AND (
|
690
|
(
|
691
|
( A.MAKER_ID = @p_USER_LOGIN)
|
692
|
)-- NGUOI TAO
|
693
|
OR (
|
694
|
( A.TRANSFER_USER_RECEIVE = @p_USER_LOGIN AND A.AUTH_STATUS IN ('U', 'R', 'A', 'N') AND PROCESS IN ('0', '6', '9', '15') )
|
695
|
)-- NGUOI DUYET TRUNG GIAN
|
696
|
OR (
|
697
|
( A.AUTH_STATUS IN ('R', 'A', 'N') AND @IS_TDV = 'Y')
|
698
|
OR ( A.AUTH_STATUS = 'U' AND ISNULL(A.TRANSFER_USER_RECEIVE, '') = '' AND @IS_TDV = 'Y')
|
699
|
OR ( A.AUTH_STATUS = 'U' AND ISNULL(A.TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(A.PROCESS, '') = '1' AND @IS_TDV = 'Y')
|
700
|
)-- TRUONG DON VI
|
701
|
OR (
|
702
|
A.AUTH_STATUS = 'A'
|
703
|
|
704
|
)-- VA NHUNG PHIEU DA DUYET
|
705
|
)
|
706
|
AND ( ( @p_LEVEL='ALL'
|
707
|
AND ( A.BRANCH_ID IN ( SELECT BRANCH_ID
|
708
|
FROM @tmp_branch
|
709
|
) -- PYC cua don vi minh va cac don vi con
|
710
|
OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PYC cua don vi kiem nhiem
|
711
|
)
|
712
|
)
|
713
|
OR ( @p_LEVEL='UNIT'
|
714
|
AND ( A.BRANCH_ID = @p_BRANCH_ID -- PYC cua don vi minh
|
715
|
OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PYC cua don vi kiem nhiem
|
716
|
)
|
717
|
)
|
718
|
)
|
719
|
AND ( A.DEP_ID = @p_DEP_ID
|
720
|
OR ISNULL(@p_DEP_ID, '') = ''
|
721
|
)
|
722
|
|
723
|
AND (
|
724
|
A.DEP_ID IN (
|
725
|
SELECT *
|
726
|
FROM @tmp_dep_auth
|
727
|
)
|
728
|
OR A.BRANCH_ID <> 'DV0001'
|
729
|
)
|
730
|
-- END VALIDATE FLOW
|
731
|
ORDER BY A.CREATE_DT DESC
|
732
|
-- PAGING END
|
733
|
END
|
734
|
END;
|
735
|
ELSE -- TOP IS NOT NULL
|
736
|
BEGIN
|
737
|
IF(@DEP_ID_LG = 'DEP000000000022')
|
738
|
BEGIN
|
739
|
-- PAGING BEGIN
|
740
|
SELECT A.*,
|
741
|
--B.BRANCH_CODE, B.BRANCH_NAME,
|
742
|
CASE WHEN ( SELECT TOP 1 BRANCH_ID
|
743
|
FROM TR_CONTRACT
|
744
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
745
|
) <> 'DV0001'
|
746
|
THEN B.BRANCH_NAME + ISNULL ( ' - ' + ( SELECT TOP 1 BRANCH_NAME
|
747
|
FROM CM_BRANCH
|
748
|
WHERE BRANCH_ID = ( SELECT TOP 1 BRANCH_ID
|
749
|
FROM TR_CONTRACT
|
750
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
751
|
)
|
752
|
),''
|
753
|
)
|
754
|
ELSE B.BRANCH_NAME
|
755
|
END BRANCH_NAME,
|
756
|
C.DEP_CODE, C.DEP_NAME,
|
757
|
D.CONTRACT_CODE, D.[CONTRACT_NAME],
|
758
|
E.TLFullName AS MAKER_NAME,
|
759
|
F.TLFullName AS MAKER_NAME_KT,
|
760
|
G.TLFullName AS CHECKER_NAME_KT,
|
761
|
H.CONTENT AS REQ_PAY_AUTO_STATUS_NAME,
|
762
|
--I.CONTENT AS REQ_PAY_AUTO_TYPE_NAME,
|
763
|
CASE
|
764
|
WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN N.CONTENT
|
765
|
ELSE O.CONTENT
|
766
|
END REQ_PAY_AUTO_TYPE_NAME,
|
767
|
J.CONTENT AS AUTH_STATUS_NAME,
|
768
|
K.CONTENT AS AUTH_STATUS_KT_NAME,
|
769
|
L.TLFullName AS TRANSFER_USER_RECEIVE_NAME,
|
770
|
M.BRANCH_CODE AS BRANCH_MANAGE_CODE, M.BRANCH_NAME AS BRANCH_MANAGE_NAME
|
771
|
-- SELECT END
|
772
|
FROM TR_REQ_PAYMENT_AUTO A
|
773
|
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
|
774
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
775
|
LEFT JOIN TR_CONTRACT D ON A.CONTRACT_ID = D.CONTRACT_ID
|
776
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
777
|
LEFT JOIN TL_USER F ON A.MAKER_ID_KT = F.TLNANME
|
778
|
LEFT JOIN TL_USER G ON A.CHECKER_ID_KT = G.TLNANME
|
779
|
LEFT JOIN CM_ALLCODE H ON A.REQ_PAY_AUTO_STATUS = H.CDVAL AND H.CDNAME = 'PAY_AUTO_STATUS' AND H.CDTYPE = 'REQ_AUTO'
|
780
|
LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_TYPE = I.CDVAL AND I.CDNAME = 'PAY_TYPE_AUTO' AND I.CDTYPE = 'REQ_AUTO'
|
781
|
LEFT JOIN CM_ALLCODE J ON A.AUTH_STATUS = J.CDVAL AND J.CDNAME = 'AUTH_STATUS' AND J.CDTYPE = 'TR_REQ_PAYMENT'
|
782
|
LEFT JOIN CM_ALLCODE K ON A.AUTH_STATUS_KT = K.CDVAL AND K.CDNAME = 'AUTH_STATUS_KT' AND K.CDTYPE = 'TR_REQ_PAYMENT'
|
783
|
LEFT JOIN TL_USER L ON A.TRANSFER_USER_RECEIVE = L.TLNANME
|
784
|
LEFT JOIN CM_BRANCH M ON A.BRANCH_MANAGE_ID = M.BRANCH_ID
|
785
|
LEFT JOIN CM_ALLCODE N ON A.REQ_PAY_AUTO_SERVICE_TYPE = N.CDVAL AND N.CDNAME = 'PAY_SER_AUTO_TS' AND N.CDTYPE = 'REQ_AUTO'
|
786
|
LEFT JOIN CM_ALLCODE O ON A.REQ_PAY_AUTO_SERVICE_TYPE = O.CDVAL AND O.CDNAME = 'PAY_SER_AUTO' AND O.CDTYPE = 'REQ_AUTO'
|
787
|
WHERE 1=1
|
788
|
-- BEGIN FILTER
|
789
|
AND ( A.REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID OR ISNULL(@p_REQ_PAY_AUTO_ID, '') = '')
|
790
|
AND ( A.REQ_PAY_AUTO_CODE = @p_REQ_PAY_AUTO_CODE OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
|
791
|
--AND ( A.AUTH_STATUS = @p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS, '') = '')
|
792
|
AND ( (@p_AUTH_STATUS = A.AUTH_STATUS) -- dùng cho: lưu nháp, phiếu bị hủy
|
793
|
OR (@p_AUTH_STATUS = 'W' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ cấp trung gian xác nhận
|
794
|
OR (@p_AUTH_STATUS = 'G' AND A.PROCESS IN ('1', '7', '10', '16')) -- cấp trung gian xác nhận
|
795
|
OR (@p_AUTH_STATUS = 'U' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ duyệt CTG
|
796
|
OR (@p_AUTH_STATUS = 'U' AND A.PROCESS IN ('0', '1', '6', '7', '9', '10', '15', '16')) -- chờ duyệt TDV
|
797
|
OR (@p_AUTH_STATUS = 'A' AND A.PROCESS IN ('1', '2', '7', '8', '10', '11', '16', '17')) -- đã duyệt
|
798
|
OR (@p_AUTH_STATUS = 'R' AND ISNULL(A.PROCESS, '') IN ('', '7.1', '8.1', '10.1', '11.1', '14.1', '16.1', '17.1', '20.1') AND ISNULL(A.AUTH_STATUS, '') <> 'E') -- từ chối
|
799
|
OR (ISNULL(@p_AUTH_STATUS, '') = '')
|
800
|
)
|
801
|
AND ( A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
|
802
|
AND ( A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
|
803
|
AND ( M.BRANCH_ID = @p_BRANCH_MANAGE_ID OR ISNULL(@p_BRANCH_MANAGE_ID, '') = '')
|
804
|
AND ( A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
|
805
|
AND ( A.REQ_PAY_AUTO_STATUS = @p_REQ_PAY_AUTO_STATUS OR ISNULL(@p_REQ_PAY_AUTO_STATUS, '') = '')
|
806
|
AND ( CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
|
807
|
AND ( CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
|
808
|
AND ( A.BRANCH_ID = @p_BRANCH_ID
|
809
|
OR ISNULL(@p_BRANCH_ID, '') = ''
|
810
|
OR A.BRANCH_ID IN ( SELECT BRANCH_ID
|
811
|
FROM @tmp_branch
|
812
|
)
|
813
|
)
|
814
|
AND ( A.DEP_ID = @p_DEP_ID
|
815
|
OR ISNULL(@p_DEP_ID, '') = ''
|
816
|
)
|
817
|
AND ( A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
|
818
|
AND ( A.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
|
819
|
-- END FILTER
|
820
|
ORDER BY A.CREATE_DT DESC
|
821
|
-- PAGING END
|
822
|
END--END @DEP_ID_LG = 'DEP000000000022'
|
823
|
ELSE
|
824
|
BEGIN
|
825
|
-- PAGING BEGIN
|
826
|
SELECT A.*,
|
827
|
--B.BRANCH_CODE, B.BRANCH_NAME,
|
828
|
CASE WHEN ( SELECT TOP 1 BRANCH_ID
|
829
|
FROM TR_CONTRACT
|
830
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
831
|
) <> 'DV0001'
|
832
|
THEN B.BRANCH_NAME + ISNULL ( ' - ' + ( SELECT TOP 1 BRANCH_NAME
|
833
|
FROM CM_BRANCH
|
834
|
WHERE BRANCH_ID = ( SELECT TOP 1 BRANCH_ID
|
835
|
FROM TR_CONTRACT
|
836
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
837
|
)
|
838
|
),''
|
839
|
)
|
840
|
ELSE B.BRANCH_NAME
|
841
|
END BRANCH_NAME,
|
842
|
C.DEP_CODE, C.DEP_NAME,
|
843
|
D.CONTRACT_CODE, D.[CONTRACT_NAME],
|
844
|
E.TLFullName AS MAKER_NAME,
|
845
|
F.TLFullName AS MAKER_NAME_KT,
|
846
|
G.TLFullName AS CHECKER_NAME_KT,
|
847
|
H.CONTENT AS REQ_PAY_AUTO_STATUS_NAME,
|
848
|
--I.CONTENT AS REQ_PAY_AUTO_TYPE_NAME,
|
849
|
CASE
|
850
|
WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN N.CONTENT
|
851
|
ELSE O.CONTENT
|
852
|
END REQ_PAY_AUTO_TYPE_NAME,
|
853
|
J.CONTENT AS AUTH_STATUS_NAME,
|
854
|
K.CONTENT AS AUTH_STATUS_KT_NAME,
|
855
|
L.TLFullName AS TRANSFER_USER_RECEIVE_NAME,
|
856
|
M.BRANCH_CODE AS BRANCH_MANAGE_CODE, M.BRANCH_NAME AS BRANCH_MANAGE_NAME
|
857
|
-- SELECT END
|
858
|
FROM TR_REQ_PAYMENT_AUTO A
|
859
|
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
|
860
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
861
|
LEFT JOIN TR_CONTRACT D ON A.CONTRACT_ID = D.CONTRACT_ID
|
862
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
863
|
LEFT JOIN TL_USER F ON A.MAKER_ID_KT = F.TLNANME
|
864
|
LEFT JOIN TL_USER G ON A.CHECKER_ID_KT = G.TLNANME
|
865
|
LEFT JOIN CM_ALLCODE H ON A.REQ_PAY_AUTO_STATUS = H.CDVAL AND H.CDNAME = 'PAY_AUTO_STATUS' AND H.CDTYPE = 'REQ_AUTO'
|
866
|
LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_TYPE = I.CDVAL AND I.CDNAME = 'PAY_TYPE_AUTO' AND I.CDTYPE = 'REQ_AUTO'
|
867
|
LEFT JOIN CM_ALLCODE J ON A.AUTH_STATUS = J.CDVAL AND J.CDNAME = 'AUTH_STATUS' AND J.CDTYPE = 'TR_REQ_PAYMENT'
|
868
|
LEFT JOIN CM_ALLCODE K ON A.AUTH_STATUS_KT = K.CDVAL AND K.CDNAME = 'AUTH_STATUS_KT' AND K.CDTYPE = 'TR_REQ_PAYMENT'
|
869
|
LEFT JOIN TL_USER L ON A.TRANSFER_USER_RECEIVE = L.TLNANME
|
870
|
LEFT JOIN CM_BRANCH M ON A.BRANCH_MANAGE_ID = M.BRANCH_ID
|
871
|
LEFT JOIN CM_ALLCODE N ON A.REQ_PAY_AUTO_SERVICE_TYPE = N.CDVAL AND N.CDNAME = 'PAY_SER_AUTO_TS' AND N.CDTYPE = 'REQ_AUTO'
|
872
|
LEFT JOIN CM_ALLCODE O ON A.REQ_PAY_AUTO_SERVICE_TYPE = O.CDVAL AND O.CDNAME = 'PAY_SER_AUTO' AND O.CDTYPE = 'REQ_AUTO'
|
873
|
WHERE 1=1
|
874
|
-- BEGIN FILTER
|
875
|
AND ( A.REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID OR ISNULL(@p_REQ_PAY_AUTO_ID, '') = '')
|
876
|
AND ( A.REQ_PAY_AUTO_CODE = @p_REQ_PAY_AUTO_CODE OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
|
877
|
--AND ( A.AUTH_STATUS = @p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS, '') = '')
|
878
|
AND ( (@p_AUTH_STATUS = A.AUTH_STATUS) -- dùng cho: lưu nháp, phiếu bị hủy
|
879
|
OR (@p_AUTH_STATUS = 'W' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ cấp trung gian xác nhận
|
880
|
OR (@p_AUTH_STATUS = 'G' AND A.PROCESS IN ('1', '7', '10', '16')) -- cấp trung gian xác nhận
|
881
|
OR (@p_AUTH_STATUS = 'U' AND @IS_TDV = 'N' AND A.PROCESS IN ('0', '6', '9', '15')) -- chờ duyệt CTG
|
882
|
OR (@p_AUTH_STATUS = 'U' AND @IS_TDV = 'Y' AND A.PROCESS IN ('0', '1', '6', '7', '9', '10', '15', '16')) -- chờ duyệt TDV
|
883
|
OR (@p_AUTH_STATUS = 'A' AND A.PROCESS IN ('1', '2', '7', '8', '10', '11', '16', '17')) -- đã duyệt
|
884
|
OR (@p_AUTH_STATUS = 'R' AND ISNULL(A.PROCESS, '') IN ('', '7.1', '8.1', '10.1', '11.1', '14.1', '16.1', '17.1', '20.1') AND ISNULL(A.AUTH_STATUS, '') <> 'E') -- từ chối
|
885
|
OR (ISNULL(@p_AUTH_STATUS, '') = '')
|
886
|
)
|
887
|
AND ( A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
|
888
|
AND ( A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
|
889
|
AND ( M.BRANCH_ID = @p_BRANCH_MANAGE_ID OR ISNULL(@p_BRANCH_MANAGE_ID, '') = '')
|
890
|
AND ( A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
|
891
|
AND ( A.REQ_PAY_AUTO_STATUS = @p_REQ_PAY_AUTO_STATUS OR ISNULL(@p_REQ_PAY_AUTO_STATUS, '') = '')
|
892
|
AND( CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
|
893
|
AND( CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
|
894
|
AND ( A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
|
895
|
AND ( A.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
|
896
|
-- END FILTER
|
897
|
-- BEGIN VALIDATE FLOW
|
898
|
AND (
|
899
|
(
|
900
|
( A.MAKER_ID = @p_USER_LOGIN)
|
901
|
)-- NGUOI TAO
|
902
|
OR (
|
903
|
( A.TRANSFER_USER_RECEIVE = @p_USER_LOGIN AND A.AUTH_STATUS IN ('U', 'R', 'A', 'N') AND PROCESS IN ('0', '6', '9', '15') )
|
904
|
)-- NGUOI DUYET TRUNG GIAN
|
905
|
OR (
|
906
|
( A.AUTH_STATUS IN ('R', 'A', 'N') AND @IS_TDV = 'Y')
|
907
|
OR ( A.AUTH_STATUS = 'U' AND ISNULL(A.TRANSFER_USER_RECEIVE, '') = '' AND @IS_TDV = 'Y')
|
908
|
OR ( A.AUTH_STATUS = 'U' AND ISNULL(A.TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(A.PROCESS, '') = '1' AND @IS_TDV = 'Y')
|
909
|
)-- TRUONG DON VI
|
910
|
OR (
|
911
|
A.AUTH_STATUS = 'A'
|
912
|
|
913
|
)-- VA NHUNG PHIEU DA DUYET
|
914
|
)
|
915
|
AND ( ( @p_LEVEL='ALL'
|
916
|
AND ( A.BRANCH_ID IN ( SELECT BRANCH_ID
|
917
|
FROM @tmp_branch
|
918
|
) -- PYC cua don vi minh va cac don vi con
|
919
|
OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PYC cua don vi kiem nhiem
|
920
|
)
|
921
|
)
|
922
|
OR ( @p_LEVEL='UNIT'
|
923
|
AND ( A.BRANCH_ID = @p_BRANCH_ID -- PYC cua don vi minh
|
924
|
OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PYC cua don vi kiem nhiem
|
925
|
)
|
926
|
)
|
927
|
)
|
928
|
AND ( A.DEP_ID = @p_DEP_ID
|
929
|
OR ISNULL(@p_DEP_ID, '') = ''
|
930
|
)
|
931
|
|
932
|
AND (
|
933
|
A.DEP_ID IN (
|
934
|
SELECT *
|
935
|
FROM @tmp_dep_auth
|
936
|
)
|
937
|
OR A.BRANCH_ID <> 'DV0001'
|
938
|
)
|
939
|
-- END VALIDATE FLOW
|
940
|
ORDER BY A.CREATE_DT DESC
|
941
|
-- PAGING END
|
942
|
END
|
943
|
END;
|
944
|
END
|
945
|
ELSE IF(@p_TYPE_SEARCH = 'KT')
|
946
|
BEGIN
|
947
|
IF(@p_TOP IS NULL OR @p_TOP = 0)
|
948
|
BEGIN
|
949
|
-- PAGING BEGIN
|
950
|
SELECT A.*,
|
951
|
--B.BRANCH_CODE, B.BRANCH_NAME,
|
952
|
CASE WHEN ( SELECT TOP 1 BRANCH_ID
|
953
|
FROM TR_CONTRACT
|
954
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
955
|
) <> 'DV0001'
|
956
|
THEN B.BRANCH_NAME + ISNULL ( ' - ' + ( SELECT TOP 1 BRANCH_NAME
|
957
|
FROM CM_BRANCH
|
958
|
WHERE BRANCH_ID = ( SELECT TOP 1 BRANCH_ID
|
959
|
FROM TR_CONTRACT
|
960
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
961
|
)
|
962
|
),''
|
963
|
)
|
964
|
ELSE B.BRANCH_NAME
|
965
|
END BRANCH_NAME,
|
966
|
C.DEP_CODE, C.DEP_NAME,
|
967
|
D.CONTRACT_CODE, D.[CONTRACT_NAME],
|
968
|
E.TLFullName AS MAKER_NAME,
|
969
|
F.TLFullName AS MAKER_NAME_KT,
|
970
|
G.TLFullName AS CHECKER_NAME_KT,
|
971
|
H.CONTENT AS REQ_PAY_AUTO_STATUS_NAME,
|
972
|
--I.CONTENT AS REQ_PAY_AUTO_TYPE_NAME,
|
973
|
CASE
|
974
|
WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN N.CONTENT
|
975
|
ELSE O.CONTENT
|
976
|
END REQ_PAY_AUTO_TYPE_NAME,
|
977
|
J.CONTENT AS AUTH_STATUS_NAME,
|
978
|
K.CONTENT AS AUTH_STATUS_KT_NAME,
|
979
|
L.TLFullName AS TRANSFER_USER_RECEIVE_NAME,
|
980
|
M.BRANCH_CODE AS BRANCH_MANAGE_CODE, M.BRANCH_NAME AS BRANCH_MANAGE_NAME
|
981
|
-- SELECT END
|
982
|
FROM TR_REQ_PAYMENT_AUTO A
|
983
|
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
|
984
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
985
|
LEFT JOIN TR_CONTRACT D ON A.CONTRACT_ID = D.CONTRACT_ID
|
986
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
987
|
LEFT JOIN TL_USER F ON A.MAKER_ID_KT = F.TLNANME
|
988
|
LEFT JOIN TL_USER G ON A.CHECKER_ID_KT = G.TLNANME
|
989
|
LEFT JOIN CM_ALLCODE H ON A.REQ_PAY_AUTO_STATUS = H.CDVAL AND H.CDNAME = 'PAY_AUTO_STATUS' AND H.CDTYPE = 'REQ_AUTO'
|
990
|
LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_TYPE = I.CDVAL AND I.CDNAME = 'PAY_TYPE_AUTO' AND I.CDTYPE = 'REQ_AUTO'
|
991
|
LEFT JOIN CM_ALLCODE J ON A.AUTH_STATUS = J.CDVAL AND J.CDNAME = 'AUTH_STATUS' AND J.CDTYPE = 'TR_REQ_PAYMENT'
|
992
|
LEFT JOIN CM_ALLCODE K ON A.AUTH_STATUS_KT = K.CDVAL AND K.CDNAME = 'AUTH_STATUS_KT' AND K.CDTYPE = 'TR_REQ_PAYMENT'
|
993
|
LEFT JOIN TL_USER L ON A.TRANSFER_USER_RECEIVE = L.TLNANME
|
994
|
LEFT JOIN CM_BRANCH M ON A.BRANCH_MANAGE_ID = M.BRANCH_ID
|
995
|
LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_AUTO_ID AND PC3.STATUS_JOB ='C'
|
996
|
LEFT JOIN CM_ALLCODE N ON A.REQ_PAY_AUTO_SERVICE_TYPE = N.CDVAL AND N.CDNAME = 'PAY_SER_AUTO_TS' AND N.CDTYPE = 'REQ_AUTO'
|
997
|
LEFT JOIN CM_ALLCODE O ON A.REQ_PAY_AUTO_SERVICE_TYPE = O.CDVAL AND O.CDNAME = 'PAY_SER_AUTO' AND O.CDTYPE = 'REQ_AUTO'
|
998
|
WHERE 1=1
|
999
|
-- BEGIN FILTER
|
1000
|
AND A.AUTH_STATUS IN ('A', 'N', 'D')
|
1001
|
AND ( A.REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID OR ISNULL(@p_REQ_PAY_AUTO_ID, '') = '')
|
1002
|
AND ( A.REQ_PAY_AUTO_CODE = @p_REQ_PAY_AUTO_CODE OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
|
1003
|
--AND ( A.AUTH_STATUS = @p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS, '') = '')
|
1004
|
AND ( (@p_AUTH_STATUS_KT = A.AUTH_STATUS_KT) -- dùng cho từ chối
|
1005
|
OR (@p_AUTH_STATUS_KT = 'U' AND A.PROCESS IN ('3', '12', '18')) -- chờ duyệt
|
1006
|
OR (@p_AUTH_STATUS_KT = 'P' AND A.PROCESS IN ('4', '13', '13.1', '19', '19.1')) -- đang xử lý
|
1007
|
OR (@p_AUTH_STATUS_KT = 'S' AND A.PROCESS IN ('4', '13.1', '19.1')) -- đề xuất từ chối
|
1008
|
OR (@p_AUTH_STATUS_KT = 'A' AND A.PROCESS IN ('5', '14', '20')) -- đã duyệt
|
1009
|
OR (@p_AUTH_STATUS_KT = 'R' AND A.PROCESS IN ('20.2', '14.2')) -- từ chối
|
1010
|
OR (ISNULL(@p_AUTH_STATUS_KT, '') = '' AND A.PROCESS IN ('2', '11', '17')) -- khi KSV chưa điều phối
|
1011
|
OR (ISNULL(@p_AUTH_STATUS_KT, '') = '')
|
1012
|
)
|
1013
|
AND ( A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
|
1014
|
--AND ( A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
|
1015
|
AND ( M.BRANCH_ID = @p_BRANCH_MANAGE_ID OR ISNULL(@p_BRANCH_MANAGE_ID, '') = '')
|
1016
|
AND ( A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
|
1017
|
AND ( A.REQ_PAY_AUTO_STATUS = @p_REQ_PAY_AUTO_STATUS OR ISNULL(@p_REQ_PAY_AUTO_STATUS, '') = '')
|
1018
|
AND( CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
|
1019
|
AND( CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
|
1020
|
AND ( ( @p_LEVEL='ALL'
|
1021
|
AND ( A.BRANCH_ID IN ( SELECT BRANCH_ID
|
1022
|
FROM @tmp_branch
|
1023
|
) -- PYC cua don vi minh
|
1024
|
OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PYC cua don vi kiem nhiem
|
1025
|
)
|
1026
|
)
|
1027
|
OR (
|
1028
|
@p_LEVEL='UNIT'
|
1029
|
AND A.BRANCH_ID = @p_BRANCH_ID
|
1030
|
)
|
1031
|
)
|
1032
|
AND ( A.DEP_ID = @p_DEP_ID
|
1033
|
OR ISNULL(@p_DEP_ID, '') = ''
|
1034
|
)
|
1035
|
AND ( A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
|
1036
|
AND ( A.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
|
1037
|
AND( PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL OR PC3.TLNAME = '' OR PC3.TLNAME IS NULL)
|
1038
|
AND (
|
1039
|
(
|
1040
|
EXISTS ( SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_AUTO_ID
|
1041
|
AND (
|
1042
|
X.TLNAME= @p_USER_LOGIN
|
1043
|
OR X.TLNAME =@p_EXEC_USER_KT
|
1044
|
)
|
1045
|
)
|
1046
|
)
|
1047
|
OR (A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
|
1048
|
OR (SELECT COUNT(*) FROM @TABLE_ROLE WHERE ROLE_AUTH = 'KSV') > 0
|
1049
|
OR ISNULL(@p_EXEC_USER_KT, '') = ''
|
1050
|
)
|
1051
|
AND ( ( A.MAKER_ID_KT IS NOT NULL
|
1052
|
AND @p_IS_UPDATE_KT='Y'
|
1053
|
)
|
1054
|
OR ( ( A.MAKER_ID_KT IS NULL
|
1055
|
AND @p_IS_UPDATE_KT='N'
|
1056
|
)
|
1057
|
)
|
1058
|
OR @p_IS_UPDATE_KT IS NULL
|
1059
|
OR @p_IS_UPDATE_KT=''
|
1060
|
)
|
1061
|
-- END FILTER
|
1062
|
ORDER BY A.CREATE_DT DESC
|
1063
|
-- PAGING END
|
1064
|
END;
|
1065
|
ELSE
|
1066
|
BEGIN
|
1067
|
-- PAGING BEGIN
|
1068
|
SELECT A.*,
|
1069
|
--B.BRANCH_CODE, B.BRANCH_NAME,
|
1070
|
CASE WHEN ( SELECT TOP 1 BRANCH_ID
|
1071
|
FROM TR_CONTRACT
|
1072
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
1073
|
) <> 'DV0001'
|
1074
|
THEN B.BRANCH_NAME + ISNULL ( ' - ' + ( SELECT TOP 1 BRANCH_NAME
|
1075
|
FROM CM_BRANCH
|
1076
|
WHERE BRANCH_ID = ( SELECT TOP 1 BRANCH_ID
|
1077
|
FROM TR_CONTRACT
|
1078
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
1079
|
)
|
1080
|
),''
|
1081
|
)
|
1082
|
ELSE B.BRANCH_NAME
|
1083
|
END BRANCH_NAME,
|
1084
|
C.DEP_CODE, C.DEP_NAME,
|
1085
|
D.CONTRACT_CODE, D.[CONTRACT_NAME],
|
1086
|
E.TLFullName AS MAKER_NAME,
|
1087
|
F.TLFullName AS MAKER_NAME_KT,
|
1088
|
G.TLFullName AS CHECKER_NAME_KT,
|
1089
|
H.CONTENT AS REQ_PAY_AUTO_STATUS_NAME,
|
1090
|
--I.CONTENT AS REQ_PAY_AUTO_TYPE_NAME,
|
1091
|
CASE
|
1092
|
WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN N.CONTENT
|
1093
|
ELSE O.CONTENT
|
1094
|
END REQ_PAY_AUTO_TYPE_NAME,
|
1095
|
J.CONTENT AS AUTH_STATUS_NAME,
|
1096
|
K.CONTENT AS AUTH_STATUS_KT_NAME,
|
1097
|
L.TLFullName AS TRANSFER_USER_RECEIVE_NAME,
|
1098
|
M.BRANCH_CODE AS BRANCH_MANAGE_CODE, M.BRANCH_NAME AS BRANCH_MANAGE_NAME
|
1099
|
-- SELECT END
|
1100
|
FROM TR_REQ_PAYMENT_AUTO A
|
1101
|
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
|
1102
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1103
|
LEFT JOIN TR_CONTRACT D ON A.CONTRACT_ID = D.CONTRACT_ID
|
1104
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
1105
|
LEFT JOIN TL_USER F ON A.MAKER_ID_KT = F.TLNANME
|
1106
|
LEFT JOIN TL_USER G ON A.CHECKER_ID_KT = G.TLNANME
|
1107
|
LEFT JOIN CM_ALLCODE H ON A.REQ_PAY_AUTO_STATUS = H.CDVAL AND H.CDNAME = 'PAY_AUTO_STATUS' AND H.CDTYPE = 'REQ_AUTO'
|
1108
|
LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_TYPE = I.CDVAL AND I.CDNAME = 'PAY_TYPE_AUTO' AND I.CDTYPE = 'REQ_AUTO'
|
1109
|
LEFT JOIN CM_ALLCODE J ON A.AUTH_STATUS = J.CDVAL AND J.CDNAME = 'AUTH_STATUS' AND J.CDTYPE = 'TR_REQ_PAYMENT'
|
1110
|
LEFT JOIN CM_ALLCODE K ON A.AUTH_STATUS_KT = K.CDVAL AND K.CDNAME = 'AUTH_STATUS_KT' AND K.CDTYPE = 'TR_REQ_PAYMENT'
|
1111
|
LEFT JOIN TL_USER L ON A.TRANSFER_USER_RECEIVE = L.TLNANME
|
1112
|
LEFT JOIN CM_BRANCH M ON A.BRANCH_MANAGE_ID = M.BRANCH_ID
|
1113
|
LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_AUTO_ID AND PC3.STATUS_JOB ='C'
|
1114
|
LEFT JOIN CM_ALLCODE N ON A.REQ_PAY_AUTO_SERVICE_TYPE = N.CDVAL AND N.CDNAME = 'PAY_SER_AUTO_TS' AND N.CDTYPE = 'REQ_AUTO'
|
1115
|
LEFT JOIN CM_ALLCODE O ON A.REQ_PAY_AUTO_SERVICE_TYPE = O.CDVAL AND O.CDNAME = 'PAY_SER_AUTO' AND O.CDTYPE = 'REQ_AUTO'
|
1116
|
WHERE 1=1
|
1117
|
-- BEGIN FILTER
|
1118
|
AND A.AUTH_STATUS IN ('A', 'N', 'D')
|
1119
|
AND ( A.REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID OR ISNULL(@p_REQ_PAY_AUTO_ID, '') = '')
|
1120
|
AND ( A.REQ_PAY_AUTO_CODE = @p_REQ_PAY_AUTO_CODE OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
|
1121
|
--AND ( A.AUTH_STATUS = @p_AUTH_STATUS OR ISNULL(@p_AUTH_STATUS, '') = '')
|
1122
|
AND ( (@p_AUTH_STATUS_KT = A.AUTH_STATUS_KT) -- dùng cho từ chối
|
1123
|
OR (@p_AUTH_STATUS_KT = 'U' AND A.PROCESS IN ('3', '12', '18')) -- chờ duyệt
|
1124
|
OR (@p_AUTH_STATUS_KT = 'P' AND A.PROCESS IN ('4', '13', '13.1', '19', '19.1')) -- đang xử lý
|
1125
|
OR (@p_AUTH_STATUS_KT = 'S' AND A.PROCESS IN ('4', '13.1', '19.1')) -- đề xuất từ chối
|
1126
|
OR (@p_AUTH_STATUS_KT = 'A' AND A.PROCESS IN ('5', '14', '20')) -- đã duyệt
|
1127
|
OR (@p_AUTH_STATUS_KT = 'R' AND A.PROCESS IN ('20.2', '14.2')) -- từ chối
|
1128
|
OR (ISNULL(@p_AUTH_STATUS_KT, '') = '' AND A.PROCESS IN ('2', '11', '17')) -- khi KSV chưa điều phối
|
1129
|
OR (ISNULL(@p_AUTH_STATUS_KT, '') = '')
|
1130
|
)
|
1131
|
AND ( A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
|
1132
|
--AND ( A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR ISNULL(@p_AUTH_STATUS_KT, '') = '')
|
1133
|
AND ( M.BRANCH_ID = @p_BRANCH_MANAGE_ID OR ISNULL(@p_BRANCH_MANAGE_ID, '') = '')
|
1134
|
AND ( A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
|
1135
|
AND ( A.REQ_PAY_AUTO_STATUS = @p_REQ_PAY_AUTO_STATUS OR ISNULL(@p_REQ_PAY_AUTO_STATUS, '') = '')
|
1136
|
AND( CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR ISNULL(@p_FRMDATE, '')= '' OR A.CREATE_DT IS NULL)
|
1137
|
AND( CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR ISNULL(@p_TODATE, '')= '' OR A.CREATE_DT IS NULL)
|
1138
|
AND ( ( @p_LEVEL='ALL'
|
1139
|
AND ( A.BRANCH_ID IN ( SELECT BRANCH_ID
|
1140
|
FROM @tmp_branch
|
1141
|
) -- PYC cua don vi minh
|
1142
|
OR A.BRANCH_ID IN (SELECT * FROM @tmp_branch_auth) -- PYC cua don vi kiem nhiem
|
1143
|
)
|
1144
|
)
|
1145
|
OR (
|
1146
|
@p_LEVEL='UNIT'
|
1147
|
AND A.BRANCH_ID = @p_BRANCH_ID
|
1148
|
)
|
1149
|
)
|
1150
|
AND ( A.DEP_ID = @p_DEP_ID
|
1151
|
OR ISNULL(@p_DEP_ID, '') = ''
|
1152
|
)
|
1153
|
AND ( A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
|
1154
|
AND ( A.MAKER_ID_KT = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
|
1155
|
AND( PC3.TLNAME = @p_EXEC_USER_KT OR @p_EXEC_USER_KT = '' OR @p_EXEC_USER_KT IS NULL OR PC3.TLNAME = '' OR PC3.TLNAME IS NULL)
|
1156
|
AND (
|
1157
|
(
|
1158
|
EXISTS ( SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD X WHERE REQ_ID = A.REQ_PAY_AUTO_ID
|
1159
|
AND (
|
1160
|
X.TLNAME= @p_USER_LOGIN
|
1161
|
OR X.TLNAME =@p_EXEC_USER_KT
|
1162
|
)
|
1163
|
)
|
1164
|
)
|
1165
|
OR (A.MAKER_ID_KT = @p_MAKER_ID_KT OR PC3.TLNAME = @p_MAKER_ID_KT)
|
1166
|
OR (SELECT COUNT(*) FROM @TABLE_ROLE WHERE ROLE_AUTH = 'KSV') > 0
|
1167
|
)
|
1168
|
AND ( ( A.MAKER_ID_KT IS NOT NULL
|
1169
|
AND @p_IS_UPDATE_KT='Y'
|
1170
|
)
|
1171
|
OR ( ( A.MAKER_ID_KT IS NULL
|
1172
|
AND @p_IS_UPDATE_KT='N'
|
1173
|
)
|
1174
|
)
|
1175
|
OR @p_IS_UPDATE_KT IS NULL
|
1176
|
OR @p_IS_UPDATE_KT=''
|
1177
|
)
|
1178
|
|
1179
|
-- END FILTER
|
1180
|
ORDER BY A.CREATE_DT DESC
|
1181
|
-- PAGING END
|
1182
|
END;
|
1183
|
END
|
1184
|
|
1185
|
END -- PAGING
|
1186
|
|
1187
|
GO
|
1188
|
|
1189
|
ALTER PROCEDURE [dbo].[TR_REQ_PAY_AUTO_CREATE_REQ_PAYMENT_FROM_SYSTEM_INVOICE]
|
1190
|
@p_XMP_RECURRING XML
|
1191
|
AS
|
1192
|
BEGIN TRANSACTION
|
1193
|
|
1194
|
DECLARE @list_req_payment NVARCHAR(MAX) = ''
|
1195
|
-- DS CAC KY DA THANH TOAN
|
1196
|
DECLARE @billRef VARCHAR(20), @billCode VARCHAR(20), @customerName NVARCHAR(MAX), @amount VARCHAR(20), @accountNo VARCHAR(20), @accountType VARCHAR(20),
|
1197
|
@createdTime VARCHAR(21), @partner VARCHAR(20), @resultCode VARCHAR(20), @resultDesc NVARCHAR(MAX), @transDesc NVARCHAR(MAX), @coreXref VARCHAR(20), @partnerAccount VARCHAR(20),
|
1198
|
@billCodeAlias VARCHAR(20), @prvCode VARCHAR(20), @sevCode VARCHAR(20), @year VARCHAR(20), @customerAddress VARCHAR(20), @month VARCHAR(20),
|
1199
|
@accountName VARCHAR(20), @accountNoRec VARCHAR(20), @accountNameRec VARCHAR(20), @billDate VARCHAR(20)
|
1200
|
|
1201
|
DECLARE @hDocRecurring INT EXEC sp_xml_preparedocument @hDocRecurring OUTPUT, @p_XMP_RECURRING;
|
1202
|
DECLARE XmlAutoRecurring CURSOR LOCAL FOR
|
1203
|
SELECT * FROM OPENXML(@hDocRecurring, 'Root/XmlAutoRecurring',2)
|
1204
|
WITH(billRef VARCHAR(20), billCode VARCHAR(20), customerName NVARCHAR(MAX), amount VARCHAR(20), accountNo VARCHAR(20), accountType VARCHAR(20), createdTime VARCHAR(30),
|
1205
|
[partner] VARCHAR(20), resultCode VARCHAR(20), resultDesc NVARCHAR(MAX), transDesc NVARCHAR(MAX), coreXref VARCHAR(20), partnerAccount VARCHAR(20), [month] VARCHAR(20))
|
1206
|
OPEN XmlAutoRecurring
|
1207
|
|
1208
|
--- DUYET QUA TUNG KY THANH TOAN
|
1209
|
FETCH NEXT FROM XmlAutoRecurring INTO @billRef, @billCode, @customerName, @amount, @accountNo, @accountType, @createdTime,
|
1210
|
@partner, @resultCode, @resultDesc, @transDesc, @coreXref, @partnerAccount, @month
|
1211
|
WHILE @@fetch_status=0
|
1212
|
BEGIN
|
1213
|
-- LUU LOG KY THANH TOAN
|
1214
|
INSERT INTO TR_REQ_PAY_AUTO_RECURRING_LOG(billRef, billCode, customerName, amount, accountNo, accountType, createdTime,
|
1215
|
[partner], resultCode, resultDesc, transDesc, coreXref, partnerAccount, MAKER_ID, CREATE_DT)
|
1216
|
VALUES (@billRef, @billCode, @customerName, @amount, @accountNo, @accountType, CONVERT(DATE, @createdTime, 103),
|
1217
|
@partner, @resultCode, @resultDesc, @transDesc, @coreXref, @partnerAccount, 'admin', GETDATE())
|
1218
|
|
1219
|
IF(@resultCode NOT IN ('00', '100'))
|
1220
|
BEGIN
|
1221
|
PRINT 'KY THANH TOAN KHONG HOP LE' + @billRef
|
1222
|
-- THEM VAO LOG CAC KY THANH TOAN LOI
|
1223
|
END
|
1224
|
ELSE IF(@accountType <> 'A')
|
1225
|
BEGIN
|
1226
|
PRINT 'KHONG PHAI THANH TOAN BANG THE' + @billRef
|
1227
|
END
|
1228
|
ELSE IF(EXISTS(SELECT * FROM TR_REQ_PAY_AUTO_RECURRING_HISTORY WHERE billRef = @billRef AND @billCode = billCode AND @coreXref = coreXref))
|
1229
|
BEGIN
|
1230
|
PRINT 'KY THANH TOAN DA TON TAI TRONG HE THONG - DA THUC HIEN THANH TOAN TREN AMS: ' + @billRef
|
1231
|
END
|
1232
|
ELSE IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_AUTO_RECURRING WHERE BILLCODE = @billCode))
|
1233
|
BEGIN
|
1234
|
PRINT 'KHONG CO BILLCODE TRONG HE THONG AMS: ' + @billCode
|
1235
|
END
|
1236
|
ELSE IF(NOT EXISTS (SELECT * FROM TR_REQ_PAY_AUTO_RECURRING A
|
1237
|
LEFT JOIN TR_REQ_PAYMENT_AUTO B ON A.REQ_PAY_AUTO_ID = B.REQ_PAY_AUTO_ID
|
1238
|
WHERE A.BILLCODE = @billCode
|
1239
|
)
|
1240
|
)
|
1241
|
BEGIN
|
1242
|
PRINT 'KHONG CO PHIEU YEU CAU THANH TOAN TU DONG TRONG HE THONG AMS: ' + @billCode
|
1243
|
END
|
1244
|
ELSE
|
1245
|
BEGIN
|
1246
|
DECLARE @REQ_PAY_ID VARCHAR(20), @REQ_PAY_CODE VARCHAR(20), @CONTRACT_ID VARCHAR(20), @CONTRACT_CODE VARCHAR(20), @CONTRACT_NAME NVARCHAR(500),
|
1247
|
@BRANCH_ID NVARCHAR(20), @REQ_PAY_AUTO_SERVICE_TYPE_NAME NVARCHAR(200), @DEP_ID VARCHAR(20), @BRANCH_CREATE VARCHAR(20),
|
1248
|
@REQ_PAY_AUTO_ID VARCHAR(20), @TRANSFER_USER_RECEIVE VARCHAR(20), @TRANS_GLCODE VARCHAR(20), @TRANS_GLNAME NVARCHAR(500)
|
1249
|
PRINT 'GET DATA BILLCODE'
|
1250
|
-- LAY DATA CUA BILLCODE DANG KY TRONG AMS
|
1251
|
SELECT TOP 1 @CONTRACT_ID = B.CONTRACT_ID, @CONTRACT_CODE = E.CONTRACT_CODE, @CONTRACT_NAME = E.[CONTRACT_NAME],
|
1252
|
@BRANCH_ID = B.BRANCH_ID, @REQ_PAY_AUTO_SERVICE_TYPE_NAME = D.CONTENT, @DEP_ID = B.DEP_ID, @BRANCH_CREATE = B.BRANCH_CREATE,
|
1253
|
@REQ_PAY_AUTO_ID = B.REQ_PAY_AUTO_ID, @TRANSFER_USER_RECEIVE = B.TRANSFER_USER_RECEIVE,
|
1254
|
@TRANS_GLCODE = A.TRANS_GLCODE, @TRANS_GLNAME = A.TRANS_GLNAME
|
1255
|
FROM TR_REQ_PAY_AUTO_RECURRING A
|
1256
|
LEFT JOIN TR_REQ_PAYMENT_AUTO B ON A.REQ_PAY_AUTO_ID = B.REQ_PAY_AUTO_ID
|
1257
|
LEFT JOIN CM_BRANCH C ON B.BRANCH_ID = C.BRANCH_ID
|
1258
|
LEFT JOIN CM_ALLCODE D ON B.REQ_PAY_AUTO_SERVICE_TYPE = D.CDVAL AND D.CDNAME = 'PAY_SER_AUTO' AND CDTYPE = 'REQ_AUTO'
|
1259
|
LEFT JOIN TR_CONTRACT E ON B.CONTRACT_ID = E.CONTRACT_ID
|
1260
|
WHERE BILLCODE = @billCode
|
1261
|
PRINT 'LUU LOG KY THANH TOAN'
|
1262
|
print @createdTime
|
1263
|
-- LUU LOG KY THANH TOAN
|
1264
|
INSERT INTO TR_REQ_PAY_AUTO_RECURRING_HISTORY(billRef, billCode, customerName, amount, accountNo, accountType, createdTime,
|
1265
|
[partner], resultCode, resultDesc, transDesc, coreXref, partnerAccount, MAKER_ID, CREATE_DT)
|
1266
|
VALUES (@billRef, @billCode, @customerName, @amount, @accountNo, @accountType, CONVERT(DATE, @createdTime, 103),
|
1267
|
@partner, @resultCode, @resultDesc, @transDesc, @coreXref, @partnerAccount, 'admin', GETDATE())
|
1268
|
|
1269
|
-------------------- BEGIN TAO PHIEU DE NGHI THANH TOAN TU DONG ----------------------------------
|
1270
|
|
1271
|
-- BEGIN KHOI TAO GIA TRI
|
1272
|
-- ID PDN THANH TOAN
|
1273
|
PRINT 'GEN ID PDN THANH TOAN'
|
1274
|
EXEC [dbo].[PAY_CODE_GenKey] 'TR_REQ_PAYMENT', '','', @REQ_PAY_CODE out
|
1275
|
IF EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_CODE = @REQ_PAY_CODE )
|
1276
|
BEGIN
|
1277
|
ROLLBACK TRANSACTION
|
1278
|
SELECT '-1' as Result, @list_req_payment LIST_REQ_PAYMENT, N'Số phiếu đề nghị thanh toán đã tồn tại trong hệ thống' ErrorDesc
|
1279
|
RETURN '-1'
|
1280
|
END
|
1281
|
PRINT 'GEN MA CODE PDN THANH TOAN'
|
1282
|
-- MA CODE PDN THANH TOAN
|
1283
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAYMENT', @REQ_PAY_ID out
|
1284
|
IF @REQ_PAY_ID='' OR @REQ_PAY_ID IS NULL GOTO ABORT
|
1285
|
PRINT 'GET DON VI QUAN LY HOP DONG'
|
1286
|
DECLARE @BRANCH_MANAGE_ID NVARCHAR(250) = ( SELECT TOP 1 BRANCH_ID
|
1287
|
FROM CM_BRANCH
|
1288
|
WHERE BRANCH_ID = ( SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @CONTRACT_ID)
|
1289
|
)
|
1290
|
|
1291
|
DECLARE @BRANCH_MANAGE_NAME NVARCHAR(250) = ( SELECT TOP 1 BRANCH_NAME
|
1292
|
FROM CM_BRANCH
|
1293
|
WHERE BRANCH_ID = ( SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @CONTRACT_ID)
|
1294
|
)
|
1295
|
|
1296
|
-- NOI DUNG THANH TOAN, DUNG CHO NHIEU TABLE
|
1297
|
DECLARE @PAY_AUTO_DESC_DETAIL NVARCHAR(1000) = ''
|
1298
|
DECLARE @PAY_AUTO_TRN_DESC_DETAIL VARCHAR(1000) = ''
|
1299
|
|
1300
|
DECLARE @l_Month VARCHAR(2), @l_Year VARCHAR(4)
|
1301
|
SET @l_Month = RIGHT('0' + CAST(DATEPART(MM, DATEADD(MONTH, -1, GETDATE())) AS VARCHAR(2)), 2);
|
1302
|
SET @l_Year = RIGHT(YEAR(GETDATE()), 4);
|
1303
|
|
1304
|
IF(ISNULL(@month, '') = '')
|
1305
|
BEGIN
|
1306
|
PRINT 'HOP DONG KHONG CO MA CODE: ' + @PAY_AUTO_DESC_DETAIL
|
1307
|
SET @month = @l_Month + '/' + @l_Year
|
1308
|
SET @PAY_AUTO_DESC_DETAIL = @BRANCH_MANAGE_NAME + N' thanh toán chi phí ' + @REQ_PAY_AUTO_SERVICE_TYPE_NAME + ' ' + @l_Month + '/' + @l_Year + N' theo GDNTT số ' + @REQ_PAY_CODE
|
1309
|
SET @PAY_AUTO_TRN_DESC_DETAIL = UPPER(dbo.fChuyenCoDauThanhKhongDau(@BRANCH_MANAGE_NAME + N' thanh toán chi phí ' + @REQ_PAY_AUTO_SERVICE_TYPE_NAME + ' ' + @l_Month + '/' + @l_Year + N' theo GDNTT số ' + @REQ_PAY_CODE))
|
1310
|
END
|
1311
|
ELSE
|
1312
|
BEGIN
|
1313
|
PRINT 'HOP DONG CO MA CODE: ' + @PAY_AUTO_DESC_DETAIL
|
1314
|
SET @PAY_AUTO_DESC_DETAIL = @BRANCH_MANAGE_NAME + N' thanh toán chi phí ' + @REQ_PAY_AUTO_SERVICE_TYPE_NAME + N', ' + @month + N' theo GDNTT số ' + @REQ_PAY_CODE
|
1315
|
SET @PAY_AUTO_TRN_DESC_DETAIL = UPPER(dbo.fChuyenCoDauThanhKhongDau(@BRANCH_MANAGE_NAME + N' thanh toán chi phí ' + @REQ_PAY_AUTO_SERVICE_TYPE_NAME + N', ' + @month + N' theo GDNTT số ' + @REQ_PAY_CODE))
|
1316
|
END
|
1317
|
|
1318
|
-- END KHOI TAO GIA TRI
|
1319
|
PRINT 'TAO PHIEU DE NGHI THANH TOAN'
|
1320
|
INSERT INTO [dbo].[TR_REQ_PAYMENT]
|
1321
|
(REQ_PAY_ID, REQ_PAY_CODE, BRANCH_ID, DEP_ID, REQ_REASON, REQ_TYPE,
|
1322
|
REQ_ENTRIES, REQ_DESCRIPTION, REF_ID, PAY_PHASE, RECEIVER_PO, --NULL
|
1323
|
REQ_PAY_TYPE, REQ_DT, REQ_TYPE_CURRENCY, REQ_AMT, REQ_TEMP_AMT,
|
1324
|
MAKER_ID, CREATE_DT, EDITOR_ID, AUTH_STATUS, CHECKER_ID, APPROVE_DT, --HC
|
1325
|
CREATE_DT_KT, MAKER_ID_KT, AUTH_STATUS_KT, CHECKER_ID_KT, APPROVE_DT_KT, CONFIRM_NOTE, --KT
|
1326
|
BRANCH_CREATE, NOTES, RECORD_STATUS, TRANSFER_MAKER, TRANSFER_DT, TRASFER_USER_RECIVE, PROCESS, RATE, IS_PERIOD, AMT_PAY, IS_CREATE_AUTO, TYPE_AUTO, SYSTEM_INVOICE_ID, IS_CREATE_AUTO_DONE)
|
1327
|
VALUES
|
1328
|
(@REQ_PAY_ID, @REQ_PAY_CODE, @BRANCH_ID, @DEP_ID, @PAY_AUTO_DESC_DETAIL, 'P',
|
1329
|
NULL, NULL, NULL, NULL, NULL, --NULL
|
1330
|
'1', GETDATE(), 'VND', @amount, NULL,
|
1331
|
'admin', GETDATE(), NULL, 'A', 'admin', GETDATE(), --HC
|
1332
|
GETDATE(), 'admin', 'A', 'admin', GETDATE(), NULL, --KT
|
1333
|
@BRANCH_CREATE, NULL, '1', 'admin', GETDATE(), NULL, '0', 1, 'Y', NULL, 'Y', 'B', @billRef, 'N')
|
1334
|
PRINT 'TAO LUOI PDN THANH TOAN CHO PYC TTTD'
|
1335
|
-- TẠO LƯỚI PHIEU DE NGHI THANH TOAN CHO PYC
|
1336
|
INSERT INTO [dbo].[TR_REQ_PAY_AUTO_PAYMENTS]
|
1337
|
(REQ_PAY_AUTO_ID, REQ_PAY_ID, REQ_PAY_CODE, BRANCH_ID, DEP_ID, REQ_REASON, REQ_TYPE,
|
1338
|
REQ_ENTRIES, REQ_DESCRIPTION, REF_ID, PAY_PHASE, RECEIVER_PO, --NULL
|
1339
|
REQ_PAY_TYPE, REQ_DT, REQ_TYPE_CURRENCY, REQ_AMT, REQ_TEMP_AMT,
|
1340
|
MAKER_ID, CREATE_DT, EDITOR_ID, AUTH_STATUS, CHECKER_ID, APPROVE_DT, --HC
|
1341
|
CREATE_DT_KT, MAKER_ID_KT, AUTH_STATUS_KT, CHECKER_ID_KT, APPROVE_DT_KT, CONFIRM_NOTE, --KT
|
1342
|
BRANCH_CREATE, NOTES, RECORD_STATUS, TRANSFER_MAKER, TRANSFER_DT, TRASFER_USER_RECIVE, PROCESS, RATE, IS_PERIOD, AMT_PAY)
|
1343
|
VALUES
|
1344
|
(@REQ_PAY_AUTO_ID ,@REQ_PAY_ID, @REQ_PAY_CODE, @BRANCH_ID, @DEP_ID, @PAY_AUTO_DESC_DETAIL, 'P',
|
1345
|
NULL, NULL, NULL, NULL, NULL, --NULL
|
1346
|
'1', GETDATE(), 'VND', @amount, NULL,
|
1347
|
'admin', GETDATE(), NULL, 'A', 'admin', GETDATE(), --HC
|
1348
|
GETDATE(), 'admin', 'A', 'admin', GETDATE(), NULL, --KT
|
1349
|
@BRANCH_CREATE, NULL, '1', 'admin', GETDATE(), NULL, '0', 1, 'Y', NULL)
|
1350
|
PRINT 'THEM LICH SU XU LY'
|
1351
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
1352
|
VALUES(@REQ_PAY_ID,'AUTO_APPR','admin',GETDATE(), N'Hệ thống tạo phiếu thanh toán tự động',N'Hệ thống tạo phiếu thanh toán tự động')
|
1353
|
|
1354
|
|
1355
|
-------------------- END TAO PHIEU DE NGHI THANH TOAN TU DONG ----------------------------------
|
1356
|
|
1357
|
-- TẠO LƯỚI THÔNG TIN HỢP ĐỒNG ĐỊNH KỲ
|
1358
|
PRINT 'TAO LUOI THONG TIN HDDK'
|
1359
|
DECLARE @REQ_PAYDTID_PERIOD VARCHAR(15);
|
1360
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_ADVANCE_DT', @REQ_PAYDTID_PERIOD OUT;
|
1361
|
IF @REQ_PAYDTID_PERIOD='' OR @REQ_PAYDTID_PERIOD IS NULL GOTO ABORT;
|
1362
|
INSERT INTO TR_REQ_ADVANCE_DT (REQ_PAYDTID, REQ_PAY_ID,REF_ID, [TYPE], MAKER_ID, CREATE_DT, IS_CLOSED, REF_TYPE, DELIVERY_DT)
|
1363
|
VALUES(@REQ_PAYDTID_PERIOD, @REQ_PAY_ID, @CONTRACT_ID, 'PAY', 'admin', GETDATE(), 'N', 'C', CONVERT(DATE,NULL,103))
|
1364
|
|
1365
|
-- TẠO LƯỚI THÔNG TIN THANH TOÁN HỢP ĐỒNG ĐỊNH KỲ
|
1366
|
PRINT 'TAO LUOI THONG TIN THANH TOAN HDDK'
|
1367
|
DECLARE @PERIOD_ID VARCHAR(15);
|
1368
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_PERIOD', @PERIOD_ID OUT;
|
1369
|
IF @PERIOD_ID='' OR @PERIOD_ID IS NULL GOTO ABORT;
|
1370
|
INSERT INTO TR_REQ_PAY_PERIOD(PERIOD_ID, REQ_PAY_ID, PAY_TYPE, CONTRACT_ID, PAY_DT_REAL ,OLD_INDEX, NEW_INDEX, AMT_PAY,
|
1371
|
AUTH_STATUS_KT, CURRENCY, RATE, FROM_DATE, TO_DATE,AD_PAY_ID, PROCESS, PARENT_ID, PAY_PHASE, REASON, TYPE_COST,FR_LEVEL , TO_LEVEL)
|
1372
|
VALUES (@PERIOD_ID, @REQ_PAY_ID,'PAY', @CONTRACT_ID, NULL, NULL , NULL , @amount,
|
1373
|
'A', 'VND', '1', NULL, NULL, NULL, '1', NULL, @month, @PAY_AUTO_DESC_DETAIL, NULL, NULL, NULL )
|
1374
|
|
1375
|
-- TẠO LƯỚI THÔNG TIN HẠCH TOÁN
|
1376
|
|
1377
|
-- BEGIN BUT TOAN CHI PHI
|
1378
|
PRINT 'BUT TOAN CHI PHI'
|
1379
|
DECLARE @FUNCTION_TYPE VARCHAR(15), @TRN_TYPE NVARCHAR(40), @REF_ID VARCHAR(15), @ENTRY_PAIR varchar(50), @DR_CR varchar(2), @DR_CR_NAME nvarchar(50),
|
1380
|
@ACCT varchar(100), @ACCT_NAME varchar(500), @AMT DECIMAL(18,2), @EXC_RATE DECIMAL(18,2), @TRN_DATE VARCHAR(20), @TRN_DESC nvarchar(1000), @AUTH_STATUS varchar(2), @APPROVE_DT varchar(20),
|
1381
|
@CREATE_DT_KT varchar(20), @APPROVE_DT_KT varchar(20), @IS_TRANSFER_EXTERNAL varchar(20), @DEP_ID_ENTRY varchar(20),
|
1382
|
@CURRENCY varchar(20), @MAKER_ID varchar(20), @CREATE_DT varchar(20), @CHECKER_ID varchar(20), @MAKER_ID_KT varchar(20), @AUTH_STATUS_KT varchar(2), @CHECKER_ID_KT varchar(20),
|
1383
|
@RECORD_STATUS varchar(20)
|
1384
|
DECLARE @l_TR_REQ_PAY_ENTRIES_D VARCHAR(15);
|
1385
|
|
1386
|
DECLARE @TYPE_BUDGET_ALLOCAITON_ENTRIES VARCHAR(20), @PERCENT_BUDGET_ALLOCAITON_ENTRIES DECIMAL(18,2), @AMT_BUDGET_ALLOCAITON_ENTRIES DECIMAL(18,2)
|
1387
|
|
1388
|
DECLARE @RES VARCHAR(10)
|
1389
|
DECLARE @TOTAL_CREDIT_AMT DECIMAL(18,0) = @amount;
|
1390
|
DECLARE @TAX DECIMAL(18,1) = 0.1
|
1391
|
DECLARE @TOTAL_PERCENT DECIMAL(18,2) = 0, @TOTAL_PERCENT_AMT DECIMAL(18,0) = 0;
|
1392
|
DECLARE @TOTAL_MONEY DECIMAL(18,2) = 0, @TOTAL_MONEY_AMT DECIMAL(18,0) = (SELECT SUM(ISNULL(AMT_BUDGET_ALLOCAITON, 0)) FROM TR_REQ_PAY_AUTO_ENTRIES);
|
1393
|
|
1394
|
-- KHAI BAO CONST
|
1395
|
DECLARE @PERCENT_VAT DECIMAL(18,2) = 1.1;
|
1396
|
-- NEU LA HOA DON DIEN THI THUE SE LA 8%. VIEC NAY CO HIEU LUC DEN HET NAM 2023
|
1397
|
IF ( ( SELECT TOP 1 ISNULL(B.REQ_PAY_AUTO_SERVICE_TYPE, '')
|
1398
|
FROM TR_REQ_PAY_AUTO_RECURRING A
|
1399
|
INNER JOIN TR_REQ_PAYMENT_AUTO B ON A.REQ_PAY_AUTO_ID = B.REQ_PAY_AUTO_ID
|
1400
|
WHERE A.BILLCODE = @billCode
|
1401
|
) = 'ELECTRIC'
|
1402
|
)
|
1403
|
BEGIN
|
1404
|
SET @PERCENT_VAT = 1.08;
|
1405
|
END
|
1406
|
|
1407
|
-- CO THUE
|
1408
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_AUTO_ENTRIES WHERE REQ_PAY_AUTO_ID = @REQ_PAY_AUTO_ID AND ACCT = '353200002'))
|
1409
|
BEGIN
|
1410
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_AUTO_BUDGET_ALLOCATION WHERE REQ_PAY_AUTO_ID = @REQ_PAY_AUTO_ID AND TYPE_BUDGET_ALLOCAITON = 'PERCENT' AND 1=2))-- THEM DIEU KIEN 1=2 VI CHUC NANG NAY CHUA HOAT DONG
|
1411
|
BEGIN
|
1412
|
PRINT 'CO THUE, CO PHAN CHIA'
|
1413
|
-- CREATE CURSOR CÁC ĐẦU CÓ --> LẤY ĐƯỢC CÁC CẶP BÚT TOÁN
|
1414
|
DECLARE cursorEntries_C CURSOR LOCAL FOR
|
1415
|
SELECT REQ_PAY_AUTO_ID, ENTRY_PAIR
|
1416
|
FROM TR_REQ_PAY_AUTO_ENTRIES
|
1417
|
WHERE REQ_PAY_AUTO_ID = @REQ_PAY_AUTO_ID AND DR_CR = 'C'
|
1418
|
|
1419
|
Open cursorEntries_C
|
1420
|
FETCH NEXT FROM cursorEntries_C INTO @REQ_PAY_AUTO_ID, @ENTRY_PAIR
|
1421
|
WHILE @@FETCH_STATUS = 0
|
1422
|
BEGIN
|
1423
|
-- BEGIN CHẠY TỪNG CẶP BÚT TOÁN
|
1424
|
DECLARE cursorEntries CURSOR LOCAL FOR
|
1425
|
SELECT REQ_PAY_AUTO_ID, FUNCTION_TYPE, TRN_TYPE, REF_ID, ENTRY_PAIR, DR_CR, DR_CR_NAME, ACCT, ACCT_NAME, BRANCH_ID, DEP_ID, AMT, CURRENCY, EXC_RATE,
|
1426
|
TRN_DATE, TRN_DESC, MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, MAKER_ID_KT, CREATE_DT_KT, AUTH_STATUS_KT, CHECKER_ID_KT, APPROVE_DT_KT, RECORD_STATUS,
|
1427
|
IS_TRANSFER_EXTERNAL, TYPE_BUDGET_ALLOCAITON, PERCENT_BUDGET_ALLOCAITON, AMT_BUDGET_ALLOCAITON
|
1428
|
FROM TR_REQ_PAY_AUTO_ENTRIES
|
1429
|
WHERE REQ_PAY_AUTO_ID = @REQ_PAY_AUTO_ID AND ENTRY_PAIR = @ENTRY_PAIR
|
1430
|
|
1431
|
Open cursorEntries
|
1432
|
FETCH NEXT FROM cursorEntries INTO @REQ_PAY_AUTO_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @AMT, @CURRENCY, @EXC_RATE,
|
1433
|
@TRN_DATE, @TRN_DESC, @MAKER_ID, @CREATE_DT, @AUTH_STATUS, @CHECKER_ID, @APPROVE_DT, @MAKER_ID_KT, @CREATE_DT_KT, @AUTH_STATUS_KT, @CHECKER_ID_KT, @APPROVE_DT_KT, @RECORD_STATUS,
|
1434
|
@IS_TRANSFER_EXTERNAL, @TYPE_BUDGET_ALLOCAITON_ENTRIES, @PERCENT_BUDGET_ALLOCAITON_ENTRIES, @AMT_BUDGET_ALLOCAITON_ENTRIES
|
1435
|
WHILE @@FETCH_STATUS = 0
|
1436
|
BEGIN
|
1437
|
|
1438
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ENTRIES', @l_TR_REQ_PAY_ENTRIES_D OUT;
|
1439
|
IF @l_TR_REQ_PAY_ENTRIES_D='' OR @l_TR_REQ_PAY_ENTRIES_D IS NULL GOTO ABORT;
|
1440
|
SET @PERCENT_BUDGET_ALLOCAITON_ENTRIES = (SELECT TOP 1 ISNULL(PERCENT_BUDGET_ALLOCAITON, 0) FROM TR_REQ_PAY_AUTO_ENTRIES WHERE REQ_PAY_AUTO_ID = @REQ_PAY_AUTO_ID AND ENTRY_PAIR = @ENTRY_PAIR AND ACCT <> '353200002')
|
1441
|
|
1442
|
IF(@DR_CR = 'D')
|
1443
|
BEGIN
|
1444
|
IF(ISNULL(@TOTAL_PERCENT, 0) + ISNULL(@PERCENT_BUDGET_ALLOCAITON_ENTRIES, 0) = 100)
|
1445
|
BEGIN
|
1446
|
PRINT 'DONG NO CUOI'
|
1447
|
DECLARE @A_CREDIT_AMT DECIMAL(18,0) = @amount - @TOTAL_PERCENT_AMT
|
1448
|
DECLARE @A_DEBIT_AMT DECIMAL(18,0) = @A_CREDIT_AMT/@PERCENT_VAT
|
1449
|
DECLARE @A_3532_AMT DECIMAL(18,0) = @A_CREDIT_AMT - @A_DEBIT_AMT
|
1450
|
print '@A_CREDIT_AMT: ' + CONVERT(VARCHAR(15),@A_CREDIT_AMT)
|
1451
|
print '@A_DEBIT_AMT: ' + CONVERT(VARCHAR(15),@A_DEBIT_AMT)
|
1452
|
print '@A_3532_AMT: ' + CONVERT(VARCHAR(15),@A_3532_AMT)
|
1453
|
|
1454
|
IF(ISNULL(@ACCT, '') = '353200002')
|
1455
|
BEGIN
|
1456
|
print '@ACCT 3532: ' + @ACCT
|
1457
|
print '@A_3532_AMT 3532: ' + CONVERT(VARCHAR(15),@A_3532_AMT)
|
1458
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1459
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1460
|
VALUES (@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @A_3532_AMT, @CURRENCY, @EXC_RATE,
|
1461
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', @CREATE_DT, @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', @CREATE_DT_KT, @AUTH_STATUS_KT, 'admin', @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL)
|
1462
|
END
|
1463
|
ELSE
|
1464
|
BEGIN
|
1465
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1466
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1467
|
VALUES (@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @A_DEBIT_AMT, @CURRENCY, @EXC_RATE,
|
1468
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', @CREATE_DT, @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', @CREATE_DT_KT, @AUTH_STATUS_KT, 'admin', @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL)
|
1469
|
END
|
1470
|
END
|
1471
|
ELSE
|
1472
|
BEGIN
|
1473
|
PRINT 'CHUA PHAI DONG NO CUOI'
|
1474
|
DECLARE @B_CREDIT_AMT DECIMAL(18,0) = CONVERT(DECIMAL, @amount*@PERCENT_BUDGET_ALLOCAITON_ENTRIES/100)
|
1475
|
DECLARE @B_DEBIT_AMT DECIMAL(18,0) = @B_CREDIT_AMT/@PERCENT_VAT
|
1476
|
DECLARE @B_3532_AMT DECIMAL(18,0) = @B_CREDIT_AMT - @B_DEBIT_AMT
|
1477
|
print '@B_CREDIT_AMT: ' + CONVERT(VARCHAR(15),@B_CREDIT_AMT)
|
1478
|
print '@B_DEBIT_AMT: ' + CONVERT(VARCHAR(15),@B_DEBIT_AMT)
|
1479
|
print '@B_3532_AMT: ' +CONVERT(VARCHAR(15),@B_3532_AMT)
|
1480
|
|
1481
|
IF(ISNULL(@ACCT, '') = '353200002')
|
1482
|
BEGIN
|
1483
|
print '@ACCT 3532: ' + @ACCT
|
1484
|
print '@B_3532_AMT hach toan: ' +CONVERT(VARCHAR(15),@B_3532_AMT)
|
1485
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1486
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1487
|
VALUES (@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @B_3532_AMT, @CURRENCY, @EXC_RATE,
|
1488
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', @CREATE_DT, @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', @CREATE_DT_KT, @AUTH_STATUS_KT, 'admin', @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL)
|
1489
|
END
|
1490
|
ELSE
|
1491
|
BEGIN
|
1492
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1493
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1494
|
VALUES (@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @B_DEBIT_AMT, @CURRENCY, @EXC_RATE,
|
1495
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', @CREATE_DT, @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', @CREATE_DT_KT, @AUTH_STATUS_KT, 'admin', @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL)
|
1496
|
END
|
1497
|
END
|
1498
|
END
|
1499
|
ELSE
|
1500
|
BEGIN
|
1501
|
IF(ISNULL(@TOTAL_PERCENT, 0) + ISNULL(@PERCENT_BUDGET_ALLOCAITON_ENTRIES, 0) = 100)
|
1502
|
BEGIN
|
1503
|
PRINT 'DONG CO CUOI'
|
1504
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1505
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1506
|
VALUES (@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @amount - @TOTAL_PERCENT_AMT, @CURRENCY, @EXC_RATE,
|
1507
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', @CREATE_DT, @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', @CREATE_DT_KT, @AUTH_STATUS_KT, 'admin', @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL)
|
1508
|
END
|
1509
|
ELSE
|
1510
|
BEGIN
|
1511
|
PRINT 'CHUA PHAI DONG CO CUOI'
|
1512
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1513
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1514
|
VALUES (@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, CONVERT(DECIMAL, @amount*@PERCENT_BUDGET_ALLOCAITON_ENTRIES/100), @CURRENCY, @EXC_RATE,
|
1515
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', @CREATE_DT, @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', @CREATE_DT_KT, @AUTH_STATUS_KT, 'admin', @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL)
|
1516
|
END
|
1517
|
|
1518
|
END
|
1519
|
|
1520
|
IF @@error<>0 GOTO ABORT;
|
1521
|
FETCH NEXT FROM cursorEntries INTO @REQ_PAY_AUTO_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @AMT, @CURRENCY, @EXC_RATE,
|
1522
|
@TRN_DATE, @TRN_DESC, @MAKER_ID, @CREATE_DT, @AUTH_STATUS, @CHECKER_ID, @APPROVE_DT, @MAKER_ID_KT, @CREATE_DT_KT, @AUTH_STATUS_KT, @CHECKER_ID_KT, @APPROVE_DT_KT, @RECORD_STATUS,
|
1523
|
@IS_TRANSFER_EXTERNAL, @TYPE_BUDGET_ALLOCAITON_ENTRIES, @PERCENT_BUDGET_ALLOCAITON_ENTRIES, @AMT_BUDGET_ALLOCAITON_ENTRIES
|
1524
|
END
|
1525
|
CLOSE cursorEntries
|
1526
|
DEALLOCATE cursorEntries
|
1527
|
-- END CHẠY TỪNG CẶP BÚT TOÁN
|
1528
|
|
1529
|
SET @TOTAL_PERCENT = @TOTAL_PERCENT + @PERCENT_BUDGET_ALLOCAITON_ENTRIES;
|
1530
|
SET @TOTAL_PERCENT_AMT = @TOTAL_PERCENT_AMT + @amount*@PERCENT_BUDGET_ALLOCAITON_ENTRIES/100
|
1531
|
|
1532
|
IF @@error<>0 GOTO ABORT;
|
1533
|
FETCH NEXT FROM cursorEntries_C INTO @REQ_PAY_AUTO_ID, @ENTRY_PAIR
|
1534
|
END
|
1535
|
CLOSE cursorEntries_C
|
1536
|
DEALLOCATE cursorEntries_C
|
1537
|
|
1538
|
|
1539
|
--- BAN BUT TOAN VAO CORE
|
1540
|
EXEC [dbo].[PAY_ENTRIES_POST_SetApp] @REQ_PAY_ID,'admin','admin', @RES OUT
|
1541
|
END
|
1542
|
ELSE
|
1543
|
BEGIN
|
1544
|
PRINT 'CO THUE, KHONG PHAN CHIA 2 NO - 1 CO'
|
1545
|
DECLARE @DEBIT_AMT_1 DECIMAL(18,0) = @TOTAL_CREDIT_AMT/@PERCENT_VAT
|
1546
|
DECLARE @3532_AMT DECIMAL(18,0) = @TOTAL_CREDIT_AMT - @DEBIT_AMT_1
|
1547
|
|
1548
|
DECLARE cursorEntries CURSOR LOCAL FOR
|
1549
|
SELECT REQ_PAY_AUTO_ID, FUNCTION_TYPE, TRN_TYPE, REF_ID, ENTRY_PAIR, DR_CR, DR_CR_NAME, ACCT, ACCT_NAME, BRANCH_ID, DEP_ID, AMT, CURRENCY, EXC_RATE,
|
1550
|
TRN_DATE, TRN_DESC, MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, MAKER_ID_KT, CREATE_DT_KT, AUTH_STATUS_KT, CHECKER_ID_KT, APPROVE_DT_KT, RECORD_STATUS, IS_TRANSFER_EXTERNAL
|
1551
|
FROM TR_REQ_PAY_AUTO_ENTRIES
|
1552
|
WHERE REQ_PAY_AUTO_ID = @REQ_PAY_AUTO_ID
|
1553
|
Open cursorEntries
|
1554
|
FETCH NEXT FROM cursorEntries INTO @REQ_PAY_AUTO_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @AMT, @CURRENCY, @EXC_RATE,
|
1555
|
@TRN_DATE, @TRN_DESC, @MAKER_ID, @CREATE_DT, @AUTH_STATUS, @CHECKER_ID, @APPROVE_DT, @MAKER_ID_KT, @CREATE_DT_KT, @AUTH_STATUS_KT, @CHECKER_ID_KT, @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL
|
1556
|
WHILE @@FETCH_STATUS = 0
|
1557
|
BEGIN
|
1558
|
|
1559
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ENTRIES', @l_TR_REQ_PAY_ENTRIES_D OUT;
|
1560
|
IF @l_TR_REQ_PAY_ENTRIES_D='' OR @l_TR_REQ_PAY_ENTRIES_D IS NULL GOTO ABORT;
|
1561
|
|
1562
|
IF(@DR_CR = 'D') -- Nợ
|
1563
|
BEGIN
|
1564
|
IF(@ACCT = '353200002')
|
1565
|
BEGIN
|
1566
|
print '3532'
|
1567
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1568
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1569
|
VALUES (@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, '1', @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @3532_AMT, @CURRENCY, @EXC_RATE,
|
1570
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', @CREATE_DT, @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', @CREATE_DT_KT, @AUTH_STATUS_KT, 'admin', @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL)
|
1571
|
END
|
1572
|
ELSE
|
1573
|
BEGIN
|
1574
|
print 'No TKCP'
|
1575
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1576
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1577
|
VALUES (@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, '1', @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @DEBIT_AMT_1, @CURRENCY, @EXC_RATE,
|
1578
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', @CREATE_DT, @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', @CREATE_DT_KT, @AUTH_STATUS_KT, 'admin', @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL)
|
1579
|
END
|
1580
|
END
|
1581
|
ELSE
|
1582
|
BEGIN
|
1583
|
print 'Co TKTT'
|
1584
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1585
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1586
|
VALUES (@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, '1', @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @amount, @CURRENCY, @EXC_RATE,
|
1587
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', @CREATE_DT, @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', @CREATE_DT_KT, @AUTH_STATUS_KT, 'admin', @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL)
|
1588
|
END
|
1589
|
|
1590
|
|
1591
|
IF @@error<>0 GOTO ABORT;
|
1592
|
FETCH NEXT FROM cursorEntries INTO @REQ_PAY_AUTO_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @AMT, @CURRENCY, @EXC_RATE,
|
1593
|
@TRN_DATE, @TRN_DESC, @MAKER_ID, @CREATE_DT, @AUTH_STATUS, @CHECKER_ID, @APPROVE_DT, @MAKER_ID_KT, @CREATE_DT_KT, @AUTH_STATUS_KT, @CHECKER_ID_KT, @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL
|
1594
|
END
|
1595
|
CLOSE cursorEntries
|
1596
|
DEALLOCATE cursorEntries
|
1597
|
--- BAN BUT TOAN VAO CORE
|
1598
|
EXEC [dbo].[PAY_ENTRIES_POST_SetApp] @REQ_PAY_ID,'admin','admin', @RES OUT
|
1599
|
END
|
1600
|
END
|
1601
|
-- KHONG THUE
|
1602
|
ELSE
|
1603
|
BEGIN
|
1604
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_AUTO_BUDGET_ALLOCATION WHERE REQ_PAY_AUTO_ID = @REQ_PAY_AUTO_ID))
|
1605
|
BEGIN
|
1606
|
PRINT 'KHONG THUE, CO PHAN CHIA'
|
1607
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_AUTO_BUDGET_ALLOCATION WHERE REQ_PAY_AUTO_ID = @REQ_PAY_AUTO_ID AND TYPE_BUDGET_ALLOCAITON = 'PERCENT'))
|
1608
|
BEGIN
|
1609
|
PRINT 'KHONG THUE, CO PHAN CHIA, PHAN CHIA THEO TY LE'
|
1610
|
-- CREATE CURSOR CÁC ĐẦU CÓ
|
1611
|
DECLARE cursorEntries_C CURSOR LOCAL FOR
|
1612
|
SELECT REQ_PAY_AUTO_ID, ENTRY_PAIR
|
1613
|
FROM TR_REQ_PAY_AUTO_ENTRIES
|
1614
|
WHERE REQ_PAY_AUTO_ID = @REQ_PAY_AUTO_ID AND DR_CR = 'C'
|
1615
|
|
1616
|
Open cursorEntries_C
|
1617
|
FETCH NEXT FROM cursorEntries_C INTO @REQ_PAY_AUTO_ID, @ENTRY_PAIR
|
1618
|
WHILE @@FETCH_STATUS = 0
|
1619
|
BEGIN
|
1620
|
-- BEGIN CHẠY TỪNG CẶP BÚT TOÁN
|
1621
|
DECLARE cursorEntries CURSOR LOCAL FOR
|
1622
|
SELECT REQ_PAY_AUTO_ID, FUNCTION_TYPE, TRN_TYPE, REF_ID, ENTRY_PAIR, DR_CR, DR_CR_NAME, ACCT, ACCT_NAME, BRANCH_ID, DEP_ID, AMT, CURRENCY, EXC_RATE,
|
1623
|
TRN_DATE, TRN_DESC, MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, MAKER_ID_KT, CREATE_DT_KT, AUTH_STATUS_KT, CHECKER_ID_KT, APPROVE_DT_KT, RECORD_STATUS,
|
1624
|
IS_TRANSFER_EXTERNAL, TYPE_BUDGET_ALLOCAITON, PERCENT_BUDGET_ALLOCAITON, AMT_BUDGET_ALLOCAITON
|
1625
|
FROM TR_REQ_PAY_AUTO_ENTRIES
|
1626
|
WHERE REQ_PAY_AUTO_ID = @REQ_PAY_AUTO_ID AND ENTRY_PAIR = @ENTRY_PAIR
|
1627
|
|
1628
|
Open cursorEntries
|
1629
|
FETCH NEXT FROM cursorEntries INTO @REQ_PAY_AUTO_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @AMT, @CURRENCY, @EXC_RATE,
|
1630
|
@TRN_DATE, @TRN_DESC, @MAKER_ID, @CREATE_DT, @AUTH_STATUS, @CHECKER_ID, @APPROVE_DT, @MAKER_ID_KT, @CREATE_DT_KT, @AUTH_STATUS_KT, @CHECKER_ID_KT, @APPROVE_DT_KT, @RECORD_STATUS,
|
1631
|
@IS_TRANSFER_EXTERNAL, @TYPE_BUDGET_ALLOCAITON_ENTRIES, @PERCENT_BUDGET_ALLOCAITON_ENTRIES, @AMT_BUDGET_ALLOCAITON_ENTRIES
|
1632
|
WHILE @@FETCH_STATUS = 0
|
1633
|
BEGIN
|
1634
|
|
1635
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ENTRIES', @l_TR_REQ_PAY_ENTRIES_D OUT;
|
1636
|
IF @l_TR_REQ_PAY_ENTRIES_D='' OR @l_TR_REQ_PAY_ENTRIES_D IS NULL GOTO ABORT;
|
1637
|
|
1638
|
IF(@DR_CR = 'D')
|
1639
|
BEGIN
|
1640
|
IF(ISNULL(@TOTAL_PERCENT, 0) + ISNULL(@PERCENT_BUDGET_ALLOCAITON_ENTRIES, 0) = 100)
|
1641
|
BEGIN
|
1642
|
PRINT 'DONG NO CUOI'
|
1643
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1644
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1645
|
VALUES (@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @amount - @TOTAL_PERCENT_AMT, @CURRENCY, @EXC_RATE,
|
1646
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', @CREATE_DT, @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', @CREATE_DT_KT, @AUTH_STATUS_KT, 'admin', @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL)
|
1647
|
END
|
1648
|
ELSE
|
1649
|
BEGIN
|
1650
|
PRINT 'CHUA PHAI DONG NO CUOI'
|
1651
|
|
1652
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1653
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1654
|
VALUES (@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, CONVERT(DECIMAL, @amount*@PERCENT_BUDGET_ALLOCAITON_ENTRIES/100), @CURRENCY, @EXC_RATE,
|
1655
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', @CREATE_DT, @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', @CREATE_DT_KT, @AUTH_STATUS_KT, 'admin', @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL)
|
1656
|
END
|
1657
|
END
|
1658
|
ELSE
|
1659
|
BEGIN
|
1660
|
IF(ISNULL(@TOTAL_PERCENT, 0) + ISNULL(@PERCENT_BUDGET_ALLOCAITON_ENTRIES, 0) = 100)
|
1661
|
BEGIN
|
1662
|
PRINT 'DONG CO CUOI'
|
1663
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1664
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1665
|
VALUES (@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @amount - @TOTAL_PERCENT_AMT, @CURRENCY, @EXC_RATE,
|
1666
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', @CREATE_DT, @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', @CREATE_DT_KT, @AUTH_STATUS_KT, 'admin', @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL)
|
1667
|
END
|
1668
|
ELSE
|
1669
|
BEGIN
|
1670
|
PRINT 'CHUA PHAI DONG CO CUOI'
|
1671
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1672
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1673
|
VALUES (@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, CONVERT(DECIMAL, @amount*@PERCENT_BUDGET_ALLOCAITON_ENTRIES/100), @CURRENCY, @EXC_RATE,
|
1674
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', @CREATE_DT, @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', @CREATE_DT_KT, @AUTH_STATUS_KT, 'admin', @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL)
|
1675
|
END
|
1676
|
|
1677
|
END
|
1678
|
|
1679
|
IF @@error<>0 GOTO ABORT;
|
1680
|
FETCH NEXT FROM cursorEntries INTO @REQ_PAY_AUTO_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @AMT, @CURRENCY, @EXC_RATE,
|
1681
|
@TRN_DATE, @TRN_DESC, @MAKER_ID, @CREATE_DT, @AUTH_STATUS, @CHECKER_ID, @APPROVE_DT, @MAKER_ID_KT, @CREATE_DT_KT, @AUTH_STATUS_KT, @CHECKER_ID_KT, @APPROVE_DT_KT, @RECORD_STATUS,
|
1682
|
@IS_TRANSFER_EXTERNAL, @TYPE_BUDGET_ALLOCAITON_ENTRIES, @PERCENT_BUDGET_ALLOCAITON_ENTRIES, @AMT_BUDGET_ALLOCAITON_ENTRIES
|
1683
|
END
|
1684
|
CLOSE cursorEntries
|
1685
|
DEALLOCATE cursorEntries
|
1686
|
-- END CHẠY TỪNG CẶP BÚT TOÁN
|
1687
|
|
1688
|
SET @TOTAL_PERCENT = @TOTAL_PERCENT + @PERCENT_BUDGET_ALLOCAITON_ENTRIES;
|
1689
|
SET @TOTAL_PERCENT_AMT = @TOTAL_PERCENT_AMT + @amount*@PERCENT_BUDGET_ALLOCAITON_ENTRIES/100
|
1690
|
|
1691
|
IF @@error<>0 GOTO ABORT;
|
1692
|
FETCH NEXT FROM cursorEntries_C INTO @REQ_PAY_AUTO_ID, @ENTRY_PAIR
|
1693
|
END
|
1694
|
CLOSE cursorEntries_C
|
1695
|
DEALLOCATE cursorEntries_C
|
1696
|
|
1697
|
|
1698
|
--- BAN BUT TOAN VAO CORE
|
1699
|
EXEC [dbo].[PAY_ENTRIES_POST_SetApp] @REQ_PAY_ID,'admin','admin', @RES OUT
|
1700
|
END
|
1701
|
ELSE
|
1702
|
BEGIN
|
1703
|
PRINT 'KHONG THUE, CO PHAN CHIA, PHAN CHIA THEO SO TIEN'
|
1704
|
END
|
1705
|
END
|
1706
|
ELSE
|
1707
|
BEGIN
|
1708
|
PRINT 'KHONG THUE, KHONG PHAN CHIA 1 NO - 1 CO'
|
1709
|
|
1710
|
DECLARE cursorEntries CURSOR LOCAL FOR
|
1711
|
SELECT REQ_PAY_AUTO_ID, FUNCTION_TYPE, TRN_TYPE, REF_ID, ENTRY_PAIR, DR_CR, DR_CR_NAME, ACCT, ACCT_NAME, BRANCH_ID, DEP_ID, AMT, CURRENCY, EXC_RATE,
|
1712
|
TRN_DATE, TRN_DESC, MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, MAKER_ID_KT, CREATE_DT_KT, AUTH_STATUS_KT, CHECKER_ID_KT, APPROVE_DT_KT, RECORD_STATUS, IS_TRANSFER_EXTERNAL
|
1713
|
FROM TR_REQ_PAY_AUTO_ENTRIES
|
1714
|
WHERE REQ_PAY_AUTO_ID = @REQ_PAY_AUTO_ID
|
1715
|
Open cursorEntries
|
1716
|
|
1717
|
FETCH NEXT FROM cursorEntries INTO @REQ_PAY_AUTO_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @AMT, @CURRENCY, @EXC_RATE,
|
1718
|
@TRN_DATE, @TRN_DESC, @MAKER_ID, @CREATE_DT, @AUTH_STATUS, @CHECKER_ID, @APPROVE_DT, @MAKER_ID_KT, @CREATE_DT_KT, @AUTH_STATUS_KT, @CHECKER_ID_KT, @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL
|
1719
|
WHILE @@FETCH_STATUS = 0
|
1720
|
BEGIN
|
1721
|
DECLARE @l_TR_REQ_PAY_ENTRIES VARCHAR(15);
|
1722
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ENTRIES', @l_TR_REQ_PAY_ENTRIES OUT;
|
1723
|
IF @l_TR_REQ_PAY_ENTRIES='' OR @l_TR_REQ_PAY_ENTRIES IS NULL GOTO ABORT;
|
1724
|
|
1725
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID], [AMT],[CURRENCY],[EXC_RATE],
|
1726
|
[TRN_DATE],[TRN_DESC],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1727
|
VALUES (@l_TR_REQ_PAY_ENTRIES, @REQ_PAY_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, CONVERT(DECIMAL(18,2), @amount), 'VND', @EXC_RATE,
|
1728
|
@TRN_DATE, @PAY_AUTO_TRN_DESC_DETAIL, 'admin', GETDATE(), @AUTH_STATUS, 'admin', @APPROVE_DT, 'admin', GETDATE(), 'A', 'admin', @APPROVE_DT_KT, '1', @IS_TRANSFER_EXTERNAL)
|
1729
|
|
1730
|
IF @@error<>0 GOTO ABORT;
|
1731
|
FETCH NEXT FROM cursorEntries INTO @REQ_PAY_AUTO_ID, @FUNCTION_TYPE, @TRN_TYPE, @REF_ID, @ENTRY_PAIR, @DR_CR, @DR_CR_NAME, @ACCT, @ACCT_NAME, @BRANCH_ID, @DEP_ID_ENTRY, @AMT, @CURRENCY, @EXC_RATE,
|
1732
|
@TRN_DATE, @TRN_DESC, @MAKER_ID, @CREATE_DT, @AUTH_STATUS, @CHECKER_ID, @APPROVE_DT, @MAKER_ID_KT, @CREATE_DT_KT, @AUTH_STATUS_KT, @CHECKER_ID_KT, @APPROVE_DT_KT, @RECORD_STATUS, @IS_TRANSFER_EXTERNAL
|
1733
|
END
|
1734
|
CLOSE cursorEntries
|
1735
|
DEALLOCATE cursorEntries
|
1736
|
|
1737
|
--- BAN BUT TOAN VAO CORE
|
1738
|
EXEC [dbo].[PAY_ENTRIES_POST_SetApp] @REQ_PAY_ID,'admin','admin', @RES OUT
|
1739
|
END
|
1740
|
END
|
1741
|
|
1742
|
-- END BUT TOAN CHI PHI
|
1743
|
|
1744
|
|
1745
|
|
1746
|
-- BEGIN BUT TOAN HE THONG: BUT TOAN SO 0
|
1747
|
-- NỢ
|
1748
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ENTRIES', @l_TR_REQ_PAY_ENTRIES_D OUT;
|
1749
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],
|
1750
|
[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],
|
1751
|
[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID],
|
1752
|
[AMT],[CURRENCY],[EXC_RATE],[TRN_DATE],[TRN_DESC],
|
1753
|
[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1754
|
VALUES(@l_TR_REQ_PAY_ENTRIES_D, @REQ_PAY_ID,NULL,'PAYMENT',NULL,
|
1755
|
'0', N'D', N'Nợ',
|
1756
|
@accountNo, @customerName, N'DV0001', N'',
|
1757
|
CONVERT(DECIMAL(18,2), @amount), N'VND', 1.00, GETDATE(), @PAY_AUTO_TRN_DESC_DETAIL,
|
1758
|
'admin',GETDATE(),'A','admin', GETDATE(),'admin',GETDATE(),'A','admin',GETDATE(),'1',NULL)
|
1759
|
|
1760
|
DECLARE @l_PAY_ENTRIES_POST_D VARCHAR(15);
|
1761
|
EXEC SYS_CodeMasters_Gen 'PAY_ENTRIES_POST', @l_PAY_ENTRIES_POST_D OUT;
|
1762
|
INSERT INTO [PAY_ENTRIES_POST] ([ET_ID],[REF_NO],[TRN_ID],[REF_ID],[TRN_TYPE],
|
1763
|
[ENTRY_PAIR],[DO_BRN],[DRCR],[ACCT],[BRN_ID],[DEPT_ID],
|
1764
|
[AMT],[CURRENCY],[EXC_RATE],[EXP_TO_CORE],[TRN_DATE],[TRN_DESC],[MAKER_ID],[CHECKER_ID])
|
1765
|
VALUES (@l_PAY_ENTRIES_POST_D, @coreXref, @REQ_PAY_ID, @l_TR_REQ_PAY_ENTRIES_D,'PAYMENT',
|
1766
|
'0',N'DV0001',N'D',
|
1767
|
@accountNo,N'DV0001',N'',
|
1768
|
CONVERT(DECIMAL(18,2), @amount),N'VND',1.00,N'1',GETDATE(),
|
1769
|
@PAY_AUTO_TRN_DESC_DETAIL,'admin','admin')
|
1770
|
|
1771
|
-- CÓ
|
1772
|
DECLARE @l_TR_REQ_PAY_ENTRIES_C VARCHAR(15);
|
1773
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ENTRIES', @l_TR_REQ_PAY_ENTRIES_C OUT;
|
1774
|
INSERT INTO [TR_REQ_PAY_ENTRIES] ([REQ_PAY_DT_ID],[REQ_PAY_ID],[FUNCTION_TYPE],[TRN_TYPE],[REF_ID],
|
1775
|
[ENTRY_PAIR],[DR_CR],[DR_CR_NAME],
|
1776
|
[ACCT],[ACCT_NAME],[BRANCH_ID],[DEP_ID],
|
1777
|
[AMT],[CURRENCY],[EXC_RATE],[TRN_DATE],[TRN_DESC],
|
1778
|
[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[MAKER_ID_KT],[CREATE_DT_KT],[AUTH_STATUS_KT],[CHECKER_ID_KT],[APPROVE_DT_KT],[RECORD_STATUS],[IS_TRANSFER_EXTERNAL])
|
1779
|
VALUES(@l_TR_REQ_PAY_ENTRIES_C, @REQ_PAY_ID,NULL,'PAYMENT',NULL,
|
1780
|
'0',N'C',N'Có',
|
1781
|
@partnerAccount, @partner,N'DV0001',N'',
|
1782
|
CONVERT(DECIMAL(18,2), @amount),N'VND',1.00,GETDATE(),@PAY_AUTO_TRN_DESC_DETAIL,
|
1783
|
'admin',GETDATE(),'A','admin', GETDATE(),'admin',GETDATE(),'A','admin',GETDATE(),'1',NULL)
|
1784
|
|
1785
|
DECLARE @l_PAY_ENTRIES_POST_C VARCHAR(15);
|
1786
|
EXEC SYS_CodeMasters_Gen 'PAY_ENTRIES_POST', @l_PAY_ENTRIES_POST_C OUT;
|
1787
|
INSERT INTO [PAY_ENTRIES_POST] ([ET_ID],[REF_NO],[TRN_ID],[REF_ID],[TRN_TYPE],
|
1788
|
[ENTRY_PAIR],[DO_BRN],[DRCR],[ACCT],[BRN_ID],[DEPT_ID],
|
1789
|
[AMT],[CURRENCY],[EXC_RATE],[EXP_TO_CORE],[TRN_DATE],[TRN_DESC],[MAKER_ID],[CHECKER_ID])
|
1790
|
VALUES (@l_PAY_ENTRIES_POST_C, @coreXref, @REQ_PAY_ID,@l_TR_REQ_PAY_ENTRIES_C,'PAYMENT',
|
1791
|
'0',N'DV0001',N'C',
|
1792
|
@partnerAccount,N'DV0001',N'',
|
1793
|
CONVERT(DECIMAL(18,2), @amount),N'VND',1.00,N'1',GETDATE(),
|
1794
|
@PAY_AUTO_TRN_DESC_DETAIL, 'admin', 'admin')
|
1795
|
-- END BUT TOAN HE THONG: BUT TOAN SO 0
|
1796
|
|
1797
|
-- Mỗi lần chỉ quét 1 bill hợp lệ
|
1798
|
CLOSE XmlAutoRecurring;
|
1799
|
DEALLOCATE XmlAutoRecurring;
|
1800
|
COMMIT TRANSACTION
|
1801
|
SELECT '0' as Result, @list_req_payment LIST_REQ_PAYMENT, N'Quét bill thành công!' ErrorDesc
|
1802
|
RETURN '0'
|
1803
|
|
1804
|
END
|
1805
|
|
1806
|
IF @@error<>0 GOTO ABORT;
|
1807
|
FETCH NEXT FROM XmlAutoRecurring INTO @billRef, @billCode, @customerName, @amount, @accountNo, @accountType, @createdTime,
|
1808
|
@partner, @resultCode, @resultDesc, @transDesc, @coreXref, @partnerAccount, @month
|
1809
|
END;
|
1810
|
CLOSE XmlAutoRecurring;
|
1811
|
DEALLOCATE XmlAutoRecurring;
|
1812
|
|
1813
|
COMMIT TRANSACTION
|
1814
|
|
1815
|
SELECT '0' as Result, @list_req_payment LIST_REQ_PAYMENT, N'Quét bill thành công!' ErrorDesc
|
1816
|
RETURN '0'
|
1817
|
|
1818
|
ABORT:
|
1819
|
BEGIN
|
1820
|
ROLLBACK TRANSACTION
|
1821
|
SELECT '-1' as Result, @list_req_payment LIST_REQ_PAYMENT, N'Lỗi không xác định' ErrorDesc
|
1822
|
RETURN '-1'
|
1823
|
End
|
1824
|
|
1825
|
GO
|
1826
|
|
1827
|
INSERT INTO [dbo].[SYS_PREFIX](ID,Prefix,Description) VALUES('TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES','PAEE',N'Chỉnh sửa hạch toán PYC TTTĐ')
|
1828
|
INSERT INTO [dbo].[SYS_PREFIX](ID,Prefix,Description) VALUES('TR_REQ_PAYMENT_AUTO_EDIT_ENTRIES_ENTRIEs','PAEEE',N'Chi tiết chỉnh sửa hạch toán PYC TTTĐ')
|
1829
|
|
1830
|
GO
|
1831
|
|
1832
|
--18072023_secretkey
|