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