1
|
ALTER PROCEDURE [dbo].[PAY_ENTRIES_POST_ByRefId]
|
2
|
@p_REF_ID VARCHAR(200) = NULL,
|
3
|
@p_BRANCH_ID VARCHAR(50) = NULL,
|
4
|
@RefNo VARCHAR(500) = NULL
|
5
|
AS
|
6
|
-- LUCTV 03062020 BO SUNG BANG MAP GL
|
7
|
DECLARE @TABLE_MAP_GL TABLE (ACCT VARCHAR(100), TL_GL VARCHAR(100), GL_NAME VARCHAR(1000))
|
8
|
INSERT INTO @TABLE_MAP_GL SELECT ACC_NO, TK_GL, TK_GL_NAME FROM CM_ACCOUNT
|
9
|
--INSERT INTO @TABLE_MAP_GL SELECT ACC_NUM, TK_GL, TK_GL_NAME FROM CM_ACCOUNT_PAY
|
10
|
--INSERT INTO @TABLE_MAP_GL SELECT ACC_NUM, (SELECT ParaValue FROM SYS_PARAMETERS WHERE ParaKey ='NCC_GL'), (SELECT Description FROM SYS_PARAMETERS WHERE ParaKey ='NCC_GL') FROM CM_SUPPLIER
|
11
|
--INSERT INTO @TABLE_MAP_GL SELECT ACC_NUM_OUT, (SELECT ParaValue FROM SYS_PARAMETERS WHERE ParaKey ='NCC_GL_O'), (SELECT Description FROM SYS_PARAMETERS WHERE ParaKey ='NCC_GL_O') FROM CM_SUPPLIER
|
12
|
---
|
13
|
SELECT A.REF_NO, MAX(A.DR_ACCT) AS DR_ACCT, MAX(A.DR_ACCT_NAME) AS DR_ACCT_NAME,
|
14
|
MAX(A.DR_BRN) AS DR_BRN,MAX(A.DR_D) AS DR_D, MAX(A.ACCT) AS ACCT, MAX(A.REF_ID) AS REF_ID, MAX(A.DR_D) AS DR_D, MAX(A.ENTRY_PAIR) AS ENTRY_PAIR,
|
15
|
MAX(A.DRCR) AS DRCR, REPLACE (FORMAT (SUM(A.AMT),'#,###'),',','.') +',00 VND' AS AMT
|
16
|
FROM
|
17
|
(
|
18
|
SELECT A.AMT, A.ACCT +' '+ BR.BRANCH_CODE AS DR_ACCT, [dbo].[FN_GET_ACC_NAME_PAY](A.ACCT) AS DR_ACCT_NAME, '' DR_BRN,
|
19
|
(CASE WHEN A.DRCR = 'D' THEN N'Nợ/Debit' ELSE N'Có/Credit' END) AS ACCT, '' AS REF_ID, ISNULL(DP.DEP_CODE,'') AS DR_D, A.ENTRY_PAIR,A.DRCR,A.REF_NO,A.DEPT_ID
|
20
|
FROM PAY_ENTRIES_POST A
|
21
|
LEFT JOIN CM_BRANCH BR ON A.BRN_ID = BR.BRANCH_ID
|
22
|
LEFT JOIN CM_DEPARTMENT DP ON A.DEPT_ID = DP.DEP_ID
|
23
|
WHERE A.TRN_ID = @p_REF_ID AND (A.REF_NO = @RefNo OR @RefNo IS NULL OR @RefNo = '')
|
24
|
AND LEN(A.ACCT) <= 9
|
25
|
--ORDER BY A.ENTRY_PAIR, A.DRCR DESC
|
26
|
|
27
|
UNION
|
28
|
|
29
|
SELECT A.AMT, GL.TL_GL +' '+ BR.BRANCH_CODE AS DR_ACCT, GL.GL_NAME AS DR_ACCT_NAME, '' DR_BRN,
|
30
|
(CASE WHEN A.DRCR = 'D' THEN N'Nợ/Debit' ELSE N'Có/Credit' END) AS ACCT, '' AS REF_ID, ISNULL(DP.DEP_CODE,'') AS DR_D,A.ENTRY_PAIR,A.DRCR,A.REF_NO,A.DEPT_ID
|
31
|
FROM PAY_ENTRIES_POST A
|
32
|
INNER JOIN @TABLE_MAP_GL GL ON A.ACCT = GL.ACCT
|
33
|
LEFT JOIN CM_BRANCH BR ON A.BRN_ID = BR.BRANCH_ID
|
34
|
LEFT JOIN CM_DEPARTMENT DP ON A.DEPT_ID = DP.DEP_ID
|
35
|
WHERE A.TRN_ID = @p_REF_ID AND (A.REF_NO = @RefNo OR @RefNo IS NULL OR @RefNo = '')
|
36
|
AND LEN(A.ACCT) > 9
|
37
|
) A
|
38
|
--ORDER BY A.ENTRY_PAIR, A.DRCR,A.REF_NO
|
39
|
GROUP BY A.REF_NO, A.DR_ACCT, A.DRCR, A.DR_BRN,A.DEPT_ID
|
40
|
ORDER BY A.DRCR DESC
|